学号_姓名_3-8译码器实验报告

合集下载

3-8译码器实验报告

3-8译码器实验报告

3-8译码器实验报告
班级:121 姓名:连森学号:02
1.实验目标与实验要求:
1.理解译码器的概念和意义
2.理解译码器在计算机电路里的作用。

2.实验器材:
Altair 80C31Small 教学实验平台杜邦线
3.实验原理(电路图):
74HC138 是集成3-8 线译码器,能将3 位二进制码转换为8 位输出信号,这8 位输出信号相对于输入的3 位二进制码的8 种编码,始终只有一位输出有效(低电平),其余7 位皆无效(高电平)
4.实验步骤
首先用杜邦线将A3实验区与逻辑开关K1~K6相连的JP1-1~JP1-6,连接到A7实验区与74HC138相连的JP9单号插针;接着在74HC138的输出端连接绿色LED显示器;然后用跳线连接JP39-1与JP39-2,即可接通电源。

5.实验结果(现象):
当K4、K5、K6 打到0、0、1时,译码器74HC138 的逻辑功能有效,相应引脚输出低电平,对应LED 熄灭。

否则,74HC138 始终输出高电平(无效电平),LED 全亮。

3 8译码器实验报告

3 8译码器实验报告

3 8译码器实验报告3 8译码器实验报告引言:在数字电路中,译码器是一种常见的逻辑电路,用于将输入的二进制编码转换为对应的输出信号。

本实验旨在通过搭建一个3 8译码器电路,并对其进行测试和分析,以加深对译码器工作原理的理解。

实验目的:1. 理解3 8译码器的基本原理和工作方式;2. 掌握搭建3 8译码器电路的方法;3. 进行实验测试并分析结果。

实验器材:1. 3 8译码器芯片;2. 逻辑门芯片(与门、非门等);3. 连线板、导线等。

实验步骤:1. 将3 8译码器芯片和逻辑门芯片连接到连线板上;2. 根据芯片引脚的连接要求,使用导线将各个芯片的输入和输出连接起来;3. 将输入信号接入3 8译码器芯片的输入端;4. 将输出信号接入逻辑门芯片的输入端;5. 将逻辑门芯片的输出信号连接到LED灯或其他输出设备上;6. 调整输入信号,观察输出信号的变化。

实验结果:通过实验,我们得到了以下结果:1. 当输入信号为000时,输出信号为00000001;2. 当输入信号为001时,输出信号为00000010;3. 当输入信号为010时,输出信号为00000100;4. 当输入信号为011时,输出信号为00001000;5. 当输入信号为100时,输出信号为00010000;6. 当输入信号为101时,输出信号为00100000;7. 当输入信号为110时,输出信号为01000000;8. 当输入信号为111时,输出信号为10000000。

结果分析:根据实验结果,我们可以看到,3 8译码器将输入的三位二进制编码转换为对应的八位输出信号。

每个输出信号代表一个特定的输入编码。

通过观察输出信号的变化,我们可以清晰地看到译码器的工作原理:根据输入编码的不同,译码器会激活对应的输出线路,将其输出为高电平信号,而其他输出线路则为低电平信号。

实验总结:通过本次实验,我们深入了解了3 8译码器的工作原理和应用场景。

译码器在数字电路中扮演着重要的角色,能够将复杂的二进制编码转换为易于理解和使用的信号输出。

实验三+3-8译码器仿真及实现

实验三+3-8译码器仿真及实现

实验三3-8译码器仿真及实现姓名:学号:班级:日期:一、实验目的和要求本次实验使用Verilog 硬件描述语言在DE1开发平台上设计一个基本组合逻辑电路3-8 译码器,并完成功能仿真和时序仿真。

二、实验环境1、PC机,Pentium 4 2.0G以上,内存1G以上,硬盘500G以上,1024×768彩显,USB接口,网络接口,串口。

2、友晶DE1开发板和相关配件。

3、软件:Windows XP或者Windows 7操作系统,DE1配套光盘。

三、实验内容1、编写3-8的Verilog程序。

2、构建仿真波形文件,实现QuartusII的功能仿真和时序仿真。

3、下载设计到DE1,观察译码输出。

四、实验步骤1、建立Quartus 工程:1)打开Quartus II 工作环境。

2)点击菜单项File->New Project Wizard 帮助新建工程。

3)输入工程目录、工程文件名以及顶层实体名。

自己起名字,例如学号加38等。

注意:输入的顶层实体名必须与之后设计文件的顶层实体名相同,默认的顶层实体名与工程文件名相同,本类实验均采用这种命名方法以便于管理。

不要使用Quartus II的根目录作为工程目录。

4)添加设计文件。

如果用户之前已经有设计文件(比如.v 文件)。

那么直接添加相应文件,如果没有完成的设计文件,点击Next 之后添加并且编辑新的设计文件。

5)选择设计所用器件。

由于本次实验使用 Altera 公司提供的DE1 开发板,用户必须选择与之相对应的FPGA 器件型号,如下图:6)设置 EDA 工具。

设计中可能会用到的EDA 工具有综合工具、仿真工具以及时序分析工具。

本次实验中不使用这些工具,因此点击Next 直接跳过设置。

7)查看新建工程总结。

在基本设计完成后,Quartus II 会自动生成一个总结让用户核对之前的设计,确认后点击Finish 完成新建。

8)培养良好的文件布局。

Quartus II 默认把所有编译结果放在工程的根目录,为了让Quartus II 像Visual Studio 等IDE 一样把编译结果放在一个单独的目录中,需要指定编译结果输出路径。

3-8译码器和模13BCD码计数器实验报告

3-8译码器和模13BCD码计数器实验报告

成绩指导教师日期2011-4-8 XXX 大学实验报告实验课程名称:电子系统EDA院系名称:信息学院专业名称:通信工程实验项目名称:3-8译码器和模13BCD码计数器班级:XXXXX 学号:XXXX报告人:XXXX实验一 3-8译码器和模13BCD码计数器一、实验目的:1、练习使用QuartusⅡ软件进行设计输入、设计仿真;2、掌握基本组合逻辑电路和基本时序电路的实现方法。

二、实验原理:1、3-8译码器是常用的组合逻辑电路,其功能是对3位码进行译码,下面是74138的真值表。

表一:74138真值表2、模13BCD码计数器是基本时序电路,其功能是对输入脉冲进行计数,下面是其真值表。

表二:模13真值表输入输出CLK CLR Q1D Q1C Q1B Q1A Q0D Q0C Q0B Q0Ax 1 0 0 0 0 0 0 0 0↑0 0 0 0 0 0 0 0 1↑0 0 0 0 0 0 0 1 0↑0 0 0 0 0 0 0 1 1↑0 0 0 0 0 0 1 0 0↑0 0 0 0 0 0 1 0 1↑0 0 0 0 0 0 1 1 0↑0 0 0 0 0 0 1 1 1↑0 0 0 0 0 1 0 0 0↑0 0 0 0 0 1 0 0 1↑0 0 0 0 1 0 0 0 0↑0 0 0 0 1 0 0 0 1↑0 0 0 0 1 0 0 1 0↑0 0 0 0 0 0 0 0 0三、原理图:1、3-8译码器原理图图一:3-8译码器原理图2、模13计数器原理图图二:模13计数器原理图四、仿真结果:1、3-8译码器仿真结果图三:3-8译码器仿真结果图2、模13BCD码计数器仿真结果图四:模13BCD码计数器仿真结果图五、设计心得1、设计38译码器的时候要注意使能端G1接高电平,G2A、G2B接低电平,否则不会译码。

如果使用总线输出,原理图将更简便。

2、设计模13 计数器注意74160是异步清零,所以用总体清零法实现电路时要把与非门接在13对应的的3个1上,然后连接CLK。

3-8线译码器实验内容

3-8线译码器实验内容

实验五 3-8线译码器一、实验目的:1、熟悉常用译码器的功能逻辑。

2、掌握复杂译码器的设计方法。

二、实验原理:1、总体思路以EP2C5中的三个拨位开关,SW3,SW2,SW1为三个输入信号,可以代表8种不同的状态,该译码器对这8种状态译码,并把所译码的结果在七段LED数码管上显示出来。

2、3-8线译码器原理图如下图所示:三、实验连线:1、将EP2C5适配板左下角的JTAG用十芯排线和万用下载区左下角的SOPC JTAG 口连接起来,万用下载区右下角的电源开关拨到 SOPC下载的一边2、请将JPLED1短路帽右插,JPLED的短路帽全部上插。

3、请将JP103的短路帽全部插上。

四、实验步骤:按照步骤三正确连线,参考实验二步骤,完成项目的建立,文件的命名,文件的编辑,语法检查,引脚分配,编译,下载。

实验参考代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY DECODE ISPORT(DATA_IN :IN STD_LOGIC_VECTOR(2 DOWNTO 0);LEDOUT,DATA_OUT :OUT STD_LOGIC_VECTOR(7 DOWNTO 0);LEDW :OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END DECODE;ARCHITECTURE ADO OF DECODE ISSIGNAL OUTA,D_OUT : STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINLEDW<="000";PROCESS (DATA_IN)VARIABLE DIN: STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINDIN:=DATA_IN;LEDOUT<=OUTA;DATA_OUT<=D_OUT;CASE DIN ISwhen "000" => OUTA<="00111111" ; --"0"when "001" => outa<="00000110" ; --"1"when "010" => outa<="01011011"; --"2"when "011" => outa<="01001111"; --"3"when "100" => outa<="01100110"; --"4"when "101" => outa<="01101101"; --"5"when "110" => outa<="01111101"; --"6"when "111" => outa<="00000111"; --"7"WHEN OTHERS => OUTA<="XXXXXXXX";END CASE;CASE DIN ISWHEN "000" => D_OUT<="00000000";WHEN "001" => D_OUT<="00000001";WHEN "010" => D_OUT<="00000010";WHEN "011" => D_OUT<="00000100";WHEN "100" => D_OUT<="00001000";WHEN "101" => D_OUT<="00010000";WHEN "110" => D_OUT<="00100000";WHEN "111" => D_OUT<="01000000";WHEN OTHERS=> D_OUT<="XXXXXXXX";END CASE;END PROCESS;END ADO;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY shiyan5 ISPORT(DATA_IN :IN STD_LOGIC_VECTOR(2 DOWNTO 0);LEDOUT,DATA_OUT :OUT STD_LOGIC_VECTOR(7 DOWNTO 0);LEDW :OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END shiyan5;ARCHITECTURE ADO OF shiyan5 ISSIGNAL OUTA,D_OUT : STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINLEDW<="000";PROCESS (DATA_IN)VARIABLE DIN: STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINDIN:=DATA_IN;LEDOUT<=OUTA;DATA_OUT<=D_OUT;IF(DIN="000") THEN OUTA<="00111111" ;D_OUT<="00000000"; --"0"ELSIF(DIN="001") THEN outa<="00000110" ;D_OUT<="00000001"; --"1" ELSIF(DIN="010") THEN outa<="01011011";D_OUT<="00000010"; --"2" ELSIF(DIN="011") THEN outa<="01001111";D_OUT<="00000100"; --"3" ELSIF(DIN="100") THEN outa<="01100110";D_OUT<="00001000"; --"4" ELSIF(DIN="101") THEN outa<="01101101";D_OUT<="00010000"; --"5" ELSIF(DIN="110") THEN outa<="01111101";D_OUT<="00100000"; --"6"ELSIF(DIN="111") THEN outa<="00000111";D_OUT<="01000000"; --"7"ELSE OUTA<="XXXXXXXX";D_OUT<="XXXXXXXX";END IF;END PROCESS;END ADO;五、实验现象:(程序:EP2C5\dencode\dencode.sof)3-8线译码器的三个输入C、B、A分别对应拨位开关SW3,SW2,SW1,改变SW3,SW2,SW1的位置,以改变C、B、A 的状态,于LED1上观察译码实验结果。

大学译码器设计实训报告

大学译码器设计实训报告

一、实训背景译码器是数字逻辑电路中的一种重要组件,它可以将输入的二进制代码转换成相应的输出信号。

在计算机科学和电子工程领域,译码器广泛应用于地址译码、数据译码、指令译码等场合。

为了加深对译码器原理和应用的理解,本次实训我们选择了Logisim软件进行译码器的设计与仿真。

二、实训目标1. 掌握译码器的原理和基本结构;2. 学会使用Logisim软件进行译码器的电路设计和仿真;3. 了解译码器在实际应用中的重要性;4. 培养动手能力和团队协作精神。

三、实训内容本次实训主要分为以下几个部分:1. 2-4译码器设计2. 3-8译码器设计3. 低电平译码器LS138设计4. 译码器应用设计四、实训过程1. 2-4译码器设计(1)原理分析:2-4译码器可以将2位二进制代码转换成4位输出信号,其中只有当输入代码为0000、0001、0010、0011时,对应的输出信号才为高电平,其他情况下输出信号均为低电平。

(2)电路设计:在Logisim软件中,我们首先绘制了2-4译码器的输入端和输出端,然后利用与门、或门和非门等基本逻辑门搭建电路。

具体电路图如下:```输入端:A、B输出端:Y0、Y1、Y2、Y3```(3)仿真测试:在Logisim软件中,我们对2-4译码器进行了仿真测试,验证了电路的正确性。

2. 3-8译码器设计(1)原理分析:3-8译码器可以将3位二进制代码转换成8位输出信号,其中只有当输入代码为000、001、010、011、100、101、110、111时,对应的输出信号才为高电平,其他情况下输出信号均为低电平。

(2)电路设计:在Logisim软件中,我们利用上一关中设计的2-4译码器,通过级联的方式搭建了3-8译码器。

具体电路图如下:```输入端:A、B、C输出端:Y0、Y1、Y2、Y3、Y4、Y5、Y6、Y7```(3)仿真测试:在Logisim软件中,我们对3-8译码器进行了仿真测试,验证了电路的正确性。

EDA实验一38译码器设计

EDA实验一38译码器设计

《电子设计自动化》实验报告实验一实验名称:3-8译码器的设计专业及班级:姓名:学号:一、实验目的:1.掌握组合逻辑电路的设计方法。

2.掌握 VHDL 语言的基本构造及设计的输入方法。

3.掌握 VHDL 语言的基本描绘语句的使用方法。

二、实验步骤(附源代码及仿真结果图):1.成立工程, Quartus II -- project wizard (注意工程目录中不可以出现中文字符,不可以成立在桌面上);弹出窗口如图 2-3 所示。

图 2-3 New Project Wizard 窗口2.点击next,在出现的对话框中输入以下项目信息:a.项目路径,如: D:\EDA experiment\decoder38; b.项目名称,如: decoder38。

如图 2-4 所示:图 2-4 项目路径和项目名称对话框3.点击 2 次 next 后,出现如图 2-5 所示的对话框:a.Device family 中选择 Cyclone IV E;b.Available devices 中选择 EP4CE115F29C7.图 2-5器件选择窗口4.点击next后,出现EDA工具设置对话框。

在Simulation一行中, Tool Name 选择ModelSim-Altera , Fomat(s)选择 VHDL ,如图 2-6 所示。

图 2-6 EDA 工具设置对话框5.点击 next,出现如图 2-7 所示的对话框:图 2-7 新建项目汇总对话框6. 点击 Finish 后,出现如图2-8 所示的界面:图 2-8 decoder38 项目界面7.点击 File->New->VHDL File ,如图 2-9 所示。

点击 ok 封闭对话框。

图 2-9 新建 VHDL 文件窗口8.在文本编写框内键入以下程序:LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY decoder38 ISPORT(A, B,C,G1,G2A,G2B: IN STD_LOGIC;Y: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END decoder38;ARCHITECTURE Behavior OF decoder38 ISSIGNAL indata: STD_LOGIC_VECTOR(2 DOWNTO 0); BEGINindata <= C&B&A;PROCESS (indata, G1, G2A,G2B)BEGINIF (G1='1' AND G2A='0' AND G2B='0') THENCASE indata ISWHEN "000"=>Y<="11111110";WHEN "001"=>Y<="11111101";WHEN "010"=>Y<="11111011";WHEN "011"=>Y<="11110111";WHEN "100"=>Y<="11101111";WHEN "101"=>Y<="11011111";WHEN "110"=>Y<="10111111";WHEN "111"=>Y<="01111111";WHEN OTHERS =>Y<="XXXXXXXX";END CASE;ELSEY<="11111111";END IF;END PROCESS;END Behavior;9. 将文件保留为decoder38.vhd 后,开始编译,点击Processing->Start Compilation ,编译成功后,出现如图2-10 所示界面:图 2-10 编译成功界面10.再次新建一个 vhdl 文件,键入以下的 modelsim 测试程序:LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY decoder38_tb ISEND decoder38_tb;ARCHITECTURE Behavior OF decoder38_tb ISCOMPONENT decoder38PORT (A,B,C,G1,G2A,G2B: IN STD_LOGIC;Y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END COMPONENT;SIGNAL A: STD_LOGIC:='0';SIGNAL B : STD_LOGIC:='0';SIGNAL C: STD_LOGIC:='0';SIGNAL G1: STD_LOGIC:='1';SIGNAL G2A: STD_LOGIC:='0';SIGNAL G2B: STD_LOGIC:='0';SIGNAL Y: STD_LOGIC_VECTOR(7 DOWNTO 0);CONSTANT CLK_PERIOD: TIME:=10ns;BEGINA<=not A after CLK_PERIOD;B<=not B after 20ns;C<=not C after 40ns;U1: decoder38 port map(A=>A,B=>B,C=>C,G1=>G1,G2A=>G2A,G2B=>G2B,Y=>Y);END behavior;11.将文件保留为 decoder38_tb.vhd ,编译经过。

3线8线译码器七段译码器实验报告

3线8线译码器七段译码器实验报告

实验报告数据选择器设计12传感网金涛1228403019一.实验目的1.熟悉硬件描述语言软件的使用2.熟悉译码器的工作原理和逻辑功能3.掌握译码器及七段显示译码器的设计方法二.实验原理译码器是数字系统中常用的组合逻辑电路。

译码器的逻辑功能是将每个输入的二进制代码译成对应的输出高、低电平信号或者另外一个代码。

译码是编码的反操作。

常用的译码电路有二进制译码器、二—十进制译码器和显示译码器。

三.实验内容1.设计一个3线—8线译码器。

程序代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY decoder3_8 ISPORT(a0,a1,a2,g1,g2a,g2b:IN STD_LOGIC;Y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END decoder3_8;ARCHITECTURE rtl of decoder3_8 isSIGNAL indata :STD_LOGIC_VECTOR(2 DOWNTO 0);BEGININdata <=a2&a1&a0;PROCESS(indata,g1,g2a,g2b)BEGINIF(g1='1' AND g2b='0' AND g2a='0')THENCASE INDA TA ISWHEN"000"=>Y<="11111110";WHEN"001"=>Y<="11111101";WHEN"010"=>Y<="11111001";WHEN"011"=>Y<="11110111";WHEN"100"=>Y<="11101111";WHEN"101"=>Y<="11011111";WHEN"110"=>Y<="10111111";WHEN"111"=>Y<="01111111";WHEN OTHERS=> NULL;END CASE;ELSEY<="11111111";END IF;END PROCESS;END rtl;仿真波形仿真波形分析g1g2ag2b为控制输入端,a2a1a0为数据输入端,y0y1y2y3y4y5y6y7为数据输出端。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电子科技大学




学生姓名:
学号:
指导教师:黄*
实验地点:主楼C2-514
实验时间:(1班)
一、实验室名称:虚拟仪器实验室
二、实验项目名称:3-8 译码器实验
三、实验学时:4学时
四、实验原理
开发板上共四个按键:SW3~SW6,其中SW3 为总开关;SW4、SW5、SW6 作为三个译码输入。

本实验3-8 译码器所有的接口如下。

input ext_clk_25m, //外部输入25MHz 时钟信号
input ext_rst_n, //外部输入复位信号,低电平有效
input[3:0] switch, //4个拨码开关接口,ON -- 低电平;OFF -- 高电平。

SW3 为总开关;SW4、SW5、SW6 的三个译码输入
output reg[7:0] led //8 个LED 指示灯接口
注:X 表示ON 或OFF,即任意状态。

五、实验目的
熟悉利用HDL代码输入方式进行电路的设计和仿真的流程,掌握Verilog语言的基本语法。

并通过一个3-8译码器的设计把握利用EDA软件(Quartus II 13.1)进行HDL代码输入方式的电子线路设计与仿真的详细流程。

六、实验内容
利用HDL代码输入方式在Quartus II 13.1平台上实现一个3-8译码器设计,并进行仿真,然后生成配置文件下载到开发板上进行验证。

七、实验器材(设备、元器件)
1. 计算机(安装Quartus II 13.1& ModelSim13.1软件平台);
2. Cyclone IV FPGA开发板一套(带Altera USB-Blaster下载器)。

八、实验步骤
(1)新建工程,设置器件属性:在Quartus II 13.1平台中,新建一个工程(注意命名规范),在“Family”中选择“Cyclone IV E”系列,“Available
device”中选择具体型号“EP4CE6E22C8”,设置好器件属性。

在EDA
Tool Settings 页面中,可以设置工程各个开发环节中需要用到的第三方
(Altera 公司以外)EDA 工具,我们只需要设置“Simulation”工具为
“ModelSim-Altera”,Format 为“Verilog HDL”即可,其他工具不涉及,
因此都默认为<None>。

(详见实验指导书)
(2)Verilog源码文件创建与编辑:点击菜单栏的“File→New…”,然后弹出如图所示的新建文件窗口,在这里我们可以选择各种需要的设计文
件格式。

可以作为工程顶层设计文件的格式主要在Design Files 类别下,
我们选择Verilog HDL File(或者VHDL File)并单击OK完成文件创
建。

将新建的文件保存后通过菜单栏“Project→Add/Remove Files in
Project”将刚刚创建的文件加入新建的工程中,点击“Add”加入后选
择OK按钮。

(详见实验指导书)
(3)Modelsim仿真验证:将工程编译,无误后,采用第三方EDA仿真工具Modelsim进行仿真。

1)设置路径:点击Tools →Options…”,进
入选项卡“General EDA Tool Options”,设置“Modelsim-Altera”后面
的路径,即我们安装Modelsim 时的路径;2)完成测试脚本创建与编
辑;3)测试脚本关联设置;4)调用Modelsim进行功能仿真和时序仿
真。

(详见实验指导书)
(4)管脚分配:根据文档“SF-CY4 FPGA学习板原理图Ver2.0”对3-8译码器的进行引脚分配。

(详见实验指导书)
(5)综合、实现与配置文件产生综合。

(详见实验指导书)
(6)FPGA在线下载配置:1)连接开发板并给开发板供电;2)开启Programmer 界面;3)识别USB-Blaster;4)执行在线下载操作。

(详
见实验指导书)
(7)拨动开发板对应按钮,观察输出是否符合预期。

(8)给开发板断电,清理器件,实验结束。

九、实验数据及结果分析
9.1 用Verilog HDL语言编写3-8译码器源码如下:
module txt1(
input ext_clk_25m,
input ext_rst_n,
input [3:0] switch,
output reg[7:0] led
);
always@(posedge ext_clk_25m or negedge ext_rst_n)
if(!ext_rst_n)
led<=8'hff;
else if(switch[0])
led<=8'hff;
else begin
case(switch[3:1])
3'b111:led<=8'b1111_1110;
3'b110:led<=8'b1111_1101;
3'b101:led<=8'b1111_1011;
3'b100:led<=8'b1111_0111;
3'b011:led<=8'b1110_1111;
3'b010:led<=8'b1101_1111;
3'b001:led<=8'b1011_1111;
3'b000:led<=8'b0111_1111;
default:;
endcase
end
endmodule
9.2 TestBench源码如下:
parameter PERIOD=40;
always begin
#(PERIOD/2) ext_clk_25m=0;
#(PERIOD/2) ext_clk_25m=1;
end
initial begin
ext_rst_n=0;
switch=4'b0000;
#10000;
ext_rst_n=1;
end
always #100 switch[0]=~switch[1];
always #40 switch[3:1]=switch[3:1]+1;
9.3 提供仿真波形并对波形进行文字说明:
9.3.1 功能仿真总体波形图1(波形上同时体现switch[0] = 1和switch[0]
= 0两种情况):
9.3.2 功能仿真波形图2(switch[0] = 1)
当switch[0] = 1时,无论输入switch[3:1]如何变化,输出led始终保持不变,即所有的灯不亮。

9.3.3 功能仿真波形图3(switch[0] = 0)
当switch[0] = 0时,输出状态随着switch[3:1]的变化而变化,需要覆盖到所有led都曾点亮的情况。

9.3.4 时序仿真总体波形图(波形上需要体现延时情况)9.4 根据原理图完成管脚分配(提供管脚分配截图)
输入端口:时钟复位/按键SW3~ SW6:➢输出端口:
图 1 管脚分配对应关系图
根据上面原理图对应关系,可以得到对应得到输入/输出端口对应的管脚,双击每个信号对应的Location部分,输入对应的管脚即可完成分配。

分配好的如下图所示:
图 2 管脚分配图
9.5 FPGA在线下载配置(在开发板上观察实验结果)
十、实验结论
通过本次实验设计并仿真了3-8译码器,且在板子上成功进行了验证!
十一、实验中遇到的问题及相应的解决办法
(1)程序BUG较多
答:写程序时应多注意细节
报告评分:
指导教师签字:。

相关文档
最新文档