Verilog实现二位十进制数字的显示
Posted hhh江月
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Verilog实现二位十进制数字的显示相关的知识,希望对你有一定的参考价值。
Verilog实现二位十进制数字的显示
一、简介
我们这里使用Verilog来实现二位十进制数字的显示。
二、代码
/*
这个是显示数字的模块,用了两个数码管来显示00-59的60个数字
*/
module number(seg_data_1,seg_data_2,seg_led_1,seg_led_2);
input [3:0] seg_data_1;
//数码管需要显示0~9十个数字,所以最少需要4位输入做译码
input [3:0] seg_data_2;
//小脚丫上第二个数码管
output [8:0] seg_led_1;
//在小脚丫上控制一个数码管需要9个信号 MSB~LSB=DIG、DP、G、F、E、D、C、B、A
output [8:0] seg_led_2;
//在小脚丫上第二个数码管的控制信号 MSB~LSB=DIG、DP、G、F、E、D、C、B、A
reg [8:0] seg [9:0];
//定义了一个reg型的数组变量,相当于一个10*9的存储器,存储器一共有10个数,每个数有9位宽
initial
//在过程块中只能给reg型变量赋值,Verilog中有两种过程块always和initial
begin
seg[0] = 9'h3f;
//对存储器中第一个数赋值9'b00_0011_1111,相当于共阴极接地,DP点变低不亮,7段显示数字 0
seg[1] = 9'h06;
//7段显示数字 1
seg[2] = 9'h5b;
//7段显示数字 2
seg[3] = 9'h4f;
//7段显示数字 3
seg[4] = 9'h66;
//7段显示数字 4
seg[5] = 9'h6d;
//7段显示数字 5
seg[6] = 9'h7d;
//7段显示数字 6
seg[7] = 9'h07;
//7段显示数字 7
seg[8] = 9'h7f;
//7段显示数字 8
seg[9] = 9'h6f;
//7段显示数字 9
end
assign seg_led_1 = seg[seg_data_1];
assign seg_led_2 = seg[seg_data_2];
endmodule
之后编译:
以及设置引脚:
然后进行烧录:
三、效果展示
我们使用视频来展示这个实验的效果:
https://www.bilibili.com/video/BV1p44y1Y7t9?spm_id_from=333.999.0.0
Verilog实现二位十进制数字的显示
最后谢谢大家的阅读与支持了啦。
以上是关于Verilog实现二位十进制数字的显示的主要内容,如果未能解决你的问题,请参考以下文章
各位大家好,我在fpga上用verilog实现vga字符显示,将字符的十六进制存放在ram里面,读出并显示在vga上