EDA实验 七段数码管
时间:2025-07-05
时间:2025-07-05
1. 实验名称:
十六进制7段数码显示译码器设计
2. 实验目的:
学习7段数码显示译码器的Verilog硬件设计。
3. 实验原理:
7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的,为了满足十六进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。例如6-18作为7段译码器,输出信号LED7S的7位分别接图6-17数码管的7个段,高位在左,低位在右。例如当LED7S输出为“1101101”时,数码管的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语言更加熟悉的掌握,明白其用法及格式。实验中遇到了困难,老师给我们认真、详细的讲解演示,我们小组在共同努力下完成了本次实验。我也决定以后实验要认真积极对待,做好预习工作及课下复习工作。希望能够真正学好本学科。