如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
实验三七段数码显示译码器设计实验目的学习7段数码显示译码器设计:学习VHDL的CASE语句应用及多层次设计方法。二实验原理7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的,为了满足十六进制的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中实现。例5-21作为7段译码器,输出信号LED7S的7位分别接图5-21中数码管的7个段,高位在左,低位在右。例如当LED7S输出为“1101101”时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;、接有高电平的段发亮,于是数码管显示“5”。注意,这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h,例5-21中的“LED7S:OUTSTD_LOGIC_VECTOR(6DOWNTO0)”应改为“...(7DOWNTO0)”。图6-17共阴数码管及其电路三实验内容说明例6-18中各语句的含义,以及该例的整体功能。在QuartusII上对该例进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形。最后进行引脚锁定及硬件测试,观察发光管的变化是否与程序所示一致。提示:用输入总线的方式给出输入信号仿真数据,仿真波形示例图如图6-17所示。图6-187段译码器仿真波形用第4章介绍的例化语句,按图6-19的方式连接成顶层设计电路(用VHDL表述),图中的CNT4B是一个4位二进制加法计数器,可以由例4-22修改获得;模块DECL7S即为例6-18实体元件,重复以上实验过程。注意图6-20中的tmp是4位总线,led是7位总线。根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和实验过程;设计程序、程序分析报告、仿真波形图及其分析报告。四实验程序、波形实验程序实验程序1:libraryieee;useieee.std_logic_1164.all;entitydecl7sisport(a:instd_logic_vector(3downto0);led7s:outstd_logic_vector(6downto0));end;architectureoneofdecl7sisbeginprocess(a)begincaseaiswhen"0000"=>led7s<="0111111";when"0001"=>led7s<="0000110";when"0010"=>led7s<="1011011";when"0011"=>led7s<="1001111";when"0100"=>led7s<="1100110";when"0101"=>led7s<="1101101";when"0110"=>led7s<="1111101";when"0111"=>led7s<="0000111";when"1000"=>led7s<="1111111";when"1001"=>led7s<="1101111";when"1010"=>led7s<="1110111";when"1011"=>led7s<="1111100";when"1100"=>led7s<="0111001";when"1101"=>led7s<="1011110";when"1110"=>led7s<="1111001";when"1111"=>led7s<="1110001";whenothers=>null;endcase;endprocess;end;实验程序2:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycnt4bisport(clk,rst,ena:instd_logic;outy:outstd_logic_vector(3downto0);cout:outstd_logic);endcnt4b;architecturebehavofcnt4bisbeginprocess(clk,rst,ena)variableoutyI:std_logic_vector(3downto0);beginifrst='1'thenoutyI:=(others=>'0');elsifclk'eventandclk='1'thenifena='1'thenifoutyI<15thenoutyI:=outyI+1;elseoutyI:=(others=>'0');