• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

数码管移位循环显示数字verilog代码ego1开发板

05/29 14:32
685
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

1-23112H22215E7.doc

共1个文件

名称:数码管移位循环显示数字verilog代码ego1开发板(代码在文末下载)

软件:VIVADO

语言:Verilog

代码功能:

采用EGO1中的两组数码管,让该8个数码管循环显示:01234567,12345678,23456789....

电路的输入信号en进行启动或暂停;用按键控制循环,按一下显示下一组数。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

本代码已在ego1开发板验证,开发板如下,其他开发板可以修改管脚适配:

ego1开发板.png

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. Testbench

7. 仿真图

整体仿真图

按键消抖模块

显示模块

部分代码展示:

module?Numeric_Display(
input?clk,//标准时钟,100MHz
input?reset,//复位信号,低有效?
input?SW_en,//使能
input?shift_key_p,//移位
output?reg?[7:0]?segment_strobe_1,
output?reg?[3:0]?bit_strobe_1,??//高电平点亮,高电平选通
output?reg?[7:0]?segment_strobe_2,
output?reg?[3:0]?bit_strobe_2//高电平点亮,高电平选通
);
reg?[39:0]?data_in;//输入8位数据
???always?@(posedge?clk?or?negedge?reset)??
???if(reset==0)
?????????data_in<=40'h0123456789;
???else?if(SW_en==1)begin//使能
??????if?(shift_key_p)//按下移位
?????????data_in<={data_in[35:0],data_in[39:36]};//移位
???end
???reg?[15:0]?counter=16'd0;???
???always?@(posedge?clk)?????
??????begin
?????????if?(counter?==?16'hffff)
????????????counter?<=?16'h0000;
?????????else
????????????counter?<=?counter?+?1;//计数
??????end
??????
reg?[3:0]?display_data_1;?
reg?[3:0]?display_data_2;?
//数码管1位选控制
???always?@(posedge?clk)
??????case?(counter[15:14])
?????????2'd0?:?begin
????????????display_data_1?<=?data_in[31:28];
????????????bit_strobe_1?<=4'b1000;
????????????end
?????????2'd1?:begin
????????????display_data_1?<=?data_in[27:24];
????????????bit_strobe_1?<=4'b0100;
????????????end
?????????2'd2?:begin
????????????display_data_1?<=?data_in[23:20];
????????????bit_strobe_1?<=4'b0010;???????
????????????end
?????????2'd3?:begin
????????????display_data_1?<=?data_in[19:16];
????????????bit_strobe_1?<=4'b0001;????????????
????????????end
??????endcase

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=312

  • 1-23112H22215E7.doc
    下载

相关推荐