1.实验目的和要求
本实验为综合性实验,综合了简单组合电路逻辑,QuartusII 的使用方法,多
层次电路设计、仿真和硬件测试等内容。其目的是熟悉QuartusII 的VHDL 文本
设计流程全过程。
2.实验原理
7 段数码是纯组合电路,通常的小规模专用IC,如74 或4000 系列的器件只
能作十进制BCD 码译码,然而数字系统中的数据处理和运算都是2 进制的,所以
输出表达都是16 进制的,为了满足16 进制数的译码显示,最方便的方法就是利
用译码程序在FPGA/CPLD 中来实现。7 段数码显示译码器的输出信号LED7S 的7
位分别接共阴7 段数码管的7 个段,高位在左,低位在右。例如当LED7S 输出为
“1101101”时,数码管的7 个段:g、f、e、d、c、b、a 分别接1、1、0、1、1、
0、1;接有高电平的段发亮,于是数码管显示“5”。注意,这里没有考虑表示小
数点的发光管,如果要考虑,需要增加段h,此时实体说明中的LED7S:OUT
STD_LOGIC_VECTOR(6 DOWNTO 0)应改为…(7 DOWNTO 0)。
3.主要仪器设备(实验用的软硬件环境)
实验的硬件环境是:
微机一台
GW48 EDA 实验开 发系统一套
电源 线 一根
十芯 JTAG 口 线 一根
USB 下 载 线 一根
USB 下 载 器一个
实验的软件环境是:
Quartus II 9.0 软件
4.操 作方法与 实验步 骤
利用QuartusII 完 成 7 段数码显示译码器的文本编 辑输入 (decl7s.vhd)和
仿真测试等步 骤 ,最后 在实验系统上 进行 硬件测试,实际 验证 本项 实验的功 能。
5.实验内容及 实验数据记 录
(1)程序设计
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
WHEN "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" ;
WHEN OTHERS => NULL ;
END CASE ;
END PROCESS ;
END ;