
【实验目的】
1.设计七段显示译码器,并在实验板上验证
2.学习Verilog HDL文本文件进行逻辑设计输入;
3.学习设计仿真工具的使用方法;
【实验内容】
1.实现BCD/七段显示译码器的“ Verilog ”语言设计。
说明:7段显示译码器的输入为:IN0…IN3共5根, 7段译码器的逻辑表同学自行设计,要求实现功能为:输入“ 0…15 ”(二进制),输出“ 0…9…F ”(显示数码),输出结果应在数码管(共阴)上显示出来。
2.使用工具为译码器建立一个元件符号
3.设计仿真文件,进行验证。
4.编程下载并在实验箱上进行验证。
【实验原理】
7段数码是纯组合电路。通常的小规模专用IC,如74或4000系列的器件只能作十进制的BCD码译码,然而数字系统的数据处理和运算都是二进制的,所以输出表达式都是十六进制的。为了满足十六进制数的译码显示,最方便的方法就是利用Verilog译码程序在FPGA/CPLD中实现。首先要设计一段程序。该程序可按照例3-2的case语句表述方法,再根据表4-2的真值表写出程序。者输入的4位码为A【3:0】,输出控制7段共阴数码管的7位数据位LED7S【6:0】。输出信号LED7S的7位分别接图4-74的工银数码管的7个段,高位在左,低位在右。
【程序源代码】(加注释)
module LED (IN,led7);
input[3:0] IN;
output[6:0] led7; //定义输出信号
reg[6:0] led7; //定规输出信号位7位的寄存器变量
always@(IN) //IN为敏感性信号
begin //主块开始
case(IN) //使用了case语句
4'b0000: led7<=7'b0111111;
4'b0001: led7<=7'b0000110;
4'b0010: led7<=7'b1011011;
4'b0011: led7<=7'b1001111;
4'b0100: led7<=7'b1100110;
4'b0101: led7<=7'b1101101;
4'b0110: led7<=7'b1111101;
4'b0111: led7<=7'b0000111;
4'b1000: led7<=7'b1111111;
4'b1001: led7<=7'b1101111;
default: led7<=7'b0111111;
endcase
end //主块结束
endmodule
【仿真和测试结果】
【硬件仿真结果:】
【实验心得和体会】
通过这次的7段数码显示译码器实验,我对EDA有了进一步的了解,对QuartusII有了了解以及在QuartusII的使用上有了一些经验。我会在以后的实验中继续学习QuartusII的使用。
