十六进制7段数码显示译码器设计实验报告探究.docVIP

  • 53
  • 0
  • 约3.61千字
  • 约 13页
  • 2017-10-02 发布于湖北
  • 举报

十六进制7段数码显示译码器设计实验报告探究.doc

实验名称:十六进制7段数码显示译码器设计 实验目的: 设计七段显示译码器 学习Verilog HDL文本文件进行逻辑设计输入; 学习设计仿真工具的使用方法; 工作原理: 7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的,为了满足十六进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。例如6-18作为7段译码器,输出信号LED7S的7位分别接图6-17数码管的7个段,高位在左,低位在右。例如当LED7S输出为“1101101”时,数码管的7个段g,f,e,d,c,b,a分别接1,1,0,1,1,0,1;接有高电平的段发亮,于是数码管显示“5”。注意,这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h,例6-18中的LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)应改为…(7 DOWNTO 0)。 实验内容1:将设计好的VHDL译码器程序在Quartus II上进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形。 实验步骤: 步骤1:新建一个文件夹击打开vhdl文件; 步骤2:编写源程序并保存 步骤3:新建一个工程及进行工程设置 步骤4:调试程序至无误; 步骤5:接着新建一个VECTOR WAVEFOM文件及展出仿真波形设置 步骤6:输入数据并输出结果(时序仿真图) 步骤7:设置好这个模式 步骤8:生成RTL原理图 步骤9:引脚锁定及源代码 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY DECL7S IS PORT(A :IN STD_LOGIC_VECTOR(3 DOWNTO 0); LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END; ARCHITECTURE one OF DECL7S IS BEGIN PROCESS(A) BEGIN CASE A IS WHEN0000= LED7S=0111111; WHEN0001= LED7S=0000110; WHEN0010= LED7S=1011011; WHEN0011= LED7S=1001111; WHEN0100= LED7S=1100110; WHEN0101= LED7S=1101101; WHEN0110= LED7S=1111101; WHEN0111= LED7S=0000111; WHEN1000= LED7S=1111111; WHEN1001= LED7S=1101111; WHEN1010= LED7S=1110111; WHEN1011= LED7S=1111100; WHEN1100= LED7S=0111001; WHEN1101= LED7S=1011110; WHEN1110= LED7S=1111001; WHEN1111= LED7S=1110001; WHEN OTHERS =NULL; END CASE; END PROCESS; END; 实验内容二:1、硬件测试。 程序不一样,其他步骤相同操作 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT4B IS PORT (CLK,RST,ENA:IN STD_LOGIC; OUTY:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT:OUT STD_LOGIC); END CNT4B; ARCHITECTURE behav OF CNT4B IS BEGIN PROCESS(CLK,RST,ENA) VARIABLE Q:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF RST=0 THEN Q:=(OTHERS=0); ELSIF CLKEVENT AND CLK=1 THEN IF ENA=1 THEN Q:=Q+1; END IF; END IF; IF Q=1111 THEN C

文档评论(0)

1亿VIP精品文档

相关文档