用文本输入法设计7段数码显示译码器 EDA实验报告.docx
文本预览下载声明
用文本输入法设计7段数码显示译码器
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 ;
(2)时序编译
1)时序编译出错
2)修改后正确
(3)仿真波形图
(4)硬件测试流程及其结果
1)显示出现乱码
2)正确显示0~7
6.实验数据处理与分析
(1)程序分析
1)程序定义74位的输入端口A和7位的输出端口LED7S。
2)输入和输出的对应关系如下:
INPUT
OUTPUT
0000
0
0001
1
0010
2
0011
3
0100
4
0101
5
0110
6
0111
7
1000
8
1001
9
1010
A
1011
B
1100
C
1101
D
1110
E
1111
F
(2)仿真分析
由时序仿真的结果可以观察发现符合预期结果。
(3)硬件测试分析
引脚锁定:选择模式6
NODE Pin
A
LED7S
键8(A3)
键7(A2)
键6(A1)
键5(A0)
LED7S(0-7)
Pin
36
35
34
33
105、10
显示全部