七段数码显示译码器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一七段数码显示译码器

1.实验目的:

设计七段显示译码器;学习Verilog HDL文本文件进行逻辑设计输入。

2.实验原理:

7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的。为了满足16进制数的译码显示,利用Verilog译码程序在FPGA/CPLD中来实现。首先要设计一段程序,该程序可用case语句表述方法,根据真值表写出程序。首先完成7段BCD码译码器的设计。本实验中的7段译码管输出信号led7的7位分别接数码管的7个段,高位在左,低位在右。如当LED7输出为“1101111”时,数码管的7个段:a,b,c,d,e,f,g分别接1、1、1、1、0、1、1;接有高电平的段发亮,于是数码管显示“9”。

共阴数码管

七段译码器真值表

3.源程序:

module LED(A,LED7S);

input [3:0]A;

output [6:0]LED7S;

reg [6:0]LED7S;

always @ (A)

begin: LED

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

end

endmodule

4.实验内容

4.1创建工程

file→New Project Wizard

4.2 file→New→Verilog HDL File

4.3输入代码→start Compilation

4.4 file→New→Other Files→Vector Waveform File

View→Utility windows→node finder

对输入A进行赋值,在Edit里设置end time,对A进行clock里的设置。

4.5时序仿真

Start Simulation

4.6功能仿真

Setting→simulator setting→simulation node→Functional

Processing→Generate Functional simulation Netlist→Start Simulation

4.7生成RTL原理图:

Tools→Netlist Viewers→RTL Viewer

4.8指定管脚

在EDA6000中装入模式4

Assignments→Pins 输入相应管脚

4.9连接实验箱下载,进行实验

5.实验心得和体会

这次实验在一开始做的时候感觉很困难,感觉上课的时候看老师操作演示,等自己真正动手做的时候就把很多步骤跟注意事项都忘了,因此我还要继续对Quartus II进行练习。还有就是对编写verilog代码我也需要继续努力,需要多分析一下电路,对课本上讲的东西灵活运用。还有就是在做时序仿真时出现了时延,而在功能仿真时时延又会消失,这些问题也需要我继续探究。

相关文档
最新文档