十六进制七段数码显示译码器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
十六进制七段数码显示译码器
十六进制七段数码显示译码器
一、实验目的:学习7段数码显示器的Verilog硬件设计。
二、实验原理:7段数码显示器是纯组合电路。通常的小规模专用IC,如74
或4000系列的器件只能做十进制BCD码译码器(其真值表如图(1)所示),然而数字系统中的数据处理和运算都是二进制的,所以输出表达式都是十六进制的,为了满足十六进制的译码显示,最方便的方法就是利用Verilog译码程序在FPGA/CPLD中来实现。所以首先要设计一段程序。设输入的4位码为A[3:0],输出控制7段共阴数码管(如图(2)所示)的7位数据为LED7S[6:0]。输出信号LED7S的7位接共阴数码管的7个段,高位在左,低位在右。例如当LED7S 输出为“1101101”时,数码管7个段g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h,然后将LED7S改为8位输出。
图(1) 7段译码器真值表
输入码输入码代表
数据输入码输入
码
代表
数据
0000 0111111 0 1000 1111111 8 0001 0000110 1 1001 1101111 9 0010 1011011 2 1010 1110111 A 0011 1001111 3 1011 1111100 B 0100 1100110 4 1100 0111001 C 0101 1101101 5 1101 1011110 D 0110 1111101 6 1110 1111001 E 0111 0000111 7 1111 1110001 F 图(2)7段共阴数码管
三、实验任务:将设计好的Verilog译码器程序在Quartus II上进行编辑、
编译、综合、适配、仿真,给出其所有信号的时序仿真波形图(注意仿真波形输入激励信号的设置)。提示:设定仿真激励信号是用输入总线的方式给出输入信号的仿真数据。
四、实验步骤:
(一)、建立工作库文件和编辑设计文文件
任何一项设计都是一项Project(工程),而把一个工程下的所有文件放在一个文件夹内是一个非常好的习惯,以便于我们整理,利用和提取不同工程下的文件,而此文件夹将被EDA软件默认为Work Library(工作库),所以第一步先根据自己的习惯,建立个新的文件夹。
(1)新建文件夹:我的习惯在D盘建立并保存工程,我将文件夹取名Test,(2)输入源程序:打开Quartus II,选择菜单File-->New-->Design Files-->VerilogHDL File-->OK(如图1所示)
代码如下:
module DECL7S(A,LED7S);
input[3:0] A;
output[6:0] LED7S;
reg[6:0] LED7S;
always@(A )
case(A)
4'b0000 :LED7S<=7'b0111111; 4'b0001 :LED7S<=7'b0000110; 4'b0010 :LED7S<=7'b1011011; 4'b0011 :LED7S<=7'b1001111; 4'b0100 :LED7S<=7'b1100110; 4'b0101 :LED7S<=7'b1101101; 4'b0110 :LED7S<=7'b1111101; 4'b0111 :LED7S<=7'b0000111; 4'b1000 :LED7S<=7'b1111111; 4'b1001 :LED7S<=7'b1101111; 4'b1010 :LED7S<=7'b1110111; 4'b1011 :LED7S<=7'b1111100; 4'b1100 :LED7S<=7'b0111001; 4'b1101 :LED7S<=7'b1011110; 4'b1110 :LED7S<=7'b1111001; 4'b1111 :LED7S<=7'b1110001; default :LED7S<=7'b0111111;
endcase
endmodule
(3)保存文件:完成一步就保存一步是一个好习惯,这样即使出现意外情
况,也不至于以前的努力付诸东流。选择File-->Save as,选择保存路径,即刚才新建的文件夹Test,文件名应与实体名保持一致,即DECL7S,点击保存后会跳出“Do you want to create a new project with this file?”选择“是”,则进入如下界面
点击Next,进入“工程设置”对话框,如图所示
持一致,也可以另取别的名字,第三行为当前工程顶层文件的实体名。
点击next,进入ADD FILE对话框,如图所示,单击Add All 按钮,将工程相关的所有VHDL文件加进工程,也可以单击“Add...”选择性加入,按此步骤建立工程,工程已经自动将所有文件加进去了,可以直接点击next,当先直接建立工程时,需要自己添加
(4)选择目标芯片:我们选用的是CycloneIII系列的EP3C55F484C8,在Family栏选择芯片系列——CycloneIII,在窗口右边的三个下拉列表框选择过滤条件,分别选择Package为FBGA、Pin count为484和Speed grade为8,点击Next,如图所示
(5)工具设置:进入EDA工具设置窗口,有三个选项,分别是选择输入的HDL 类型和综合工具、选择仿真工具、选择时序分析工具,这是除Quartus II自含的所有设计工具以外的外加的工具,如果不作选择的,表示仅选择Quartus II 自含的所有设计工具,本次不需要其他的设计工具,可以直接点击Next
(6)结束设置:进入“工程设置统计”窗口,列出了与此工程相关的设置情况,
设置完成,点击Finish
(二)、编译
配置好后就可以进行编译了,点击Processing Start Compilation命令启动全程编译
编译成功后的界面如图所示