EDA实验--七段数码管

更新时间:2023-04-05 11:14:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1. 实验名称:

十六进制7段数码显示译码器设计

2. 实验目的:

学习7段数码显示译码器的Verilog硬件设计。

3. 实验原理:

7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD 码译码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的,为了满足十六进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。例如6-18作为7段译码器,输出信号LED7S的7位分别接图6-17数码管的7个段,高位在左,低位在右。例如当LED7S输出为“”时,数码管的7个段g,f,e,d,c,b,a分别接1,1,0,1,1,0,1;接有高电平的段发亮,于是数码管显示“5”。这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h,然后将LED7S改为8位输出。

4. 实验内容:

1、编辑和输入设计文件

新建文件夹——输入源程序——文件存盘

源程序:

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

2、创建工程

打开并建立新工程管理窗口——将设计文件加入工程中——选择目标芯片——工具设置——结束设置

3、全程编译前约束项目设置

选择FPGA目标芯片——选择配置器件的工作方式——选择配置器件和编程方式——选择目标器件引脚端口状态——选择Verilog语言版本

4、全程综合与编译

Processing——Start Compilation启动全程编译

5、仿真测试

时序分析:

延时分析及结果:

生成RTL原理图:

该实验的配置模式:

适配板布局图及实验仪IO脚与芯片的管脚对应关系和其详细放大图片:

十六进制逻辑分析:

计数器和译码器连接电路的顶层文件原理图:

6. 总结与体会

本次实验让我学会了很多知识。首先,对Quartus II有了清晰、深入的理解;其次,学会了7段数码显示译码器的Verilog硬件设计;再次,对Verilog语言更加熟悉的掌握,明白其用法及格式。实验中遇到了困难,老师给我们认真、详细的讲解演示,我们小组在共同努力下完成了本次实验。我也决定以后实验要认真积极对待,做好预习工作及课下复习工作。希望能够真正学好本学科。

本文来源:https://www.bwwdw.com/article/bydl.html

Top