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

随机数字生成器设计Verilog代码Quartus DE2开发板

09/14 11:10
303
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-2410151ZR94O.doc

共1个文件

名称:随机数字生成器设计Verilog代码Quartus? DE2开发板

软件:Quartus

语言:Verilog

代码功能:

开发一个随机显示的设计DE2板7段显示器上的十进制数。随机数范围由1到59。

具体操作:

1.操作员按key1开始这个序列。

2.然后操作员按key2键挑选出的随机数字显示在HEX32上8秒。

3.然后系统再次开始计数,重复第2阶段,但是无法再次选择以前选择的号码。

4.重复此过程,直到选定的数字数等于7。

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

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

DE2开发板.png

演示视频:

设计文档:

1.?工程文件

2.?程序文件

3.?程序编译

4.?RTL图

5.?Testbench

6.?仿真图

重复7次后停止

部分代码展示:

//随机1~59
module?Random_number(
input?clk_in,//50MHz
input?reset,//复位,低电平
input?key1,//开始,按下低电平
input?key2,//取随机数,按下低电平
output?[7:0]HEX3,//显示数码管3
output?[7:0]HEX2?//显示数码管2
);
wire?[5:0]?data_out;
wire?[3:0]?data_ten;//输出十位
wire?[3:0]?data_one;//输出个位
wire?clk_1Hz;
wire?[3:0]?BCD_10;//十位
wire?[3:0]?BCD_1;//个位
//分频模块,50M分频到1Hz
fenping?i_fenping(
.?clk_in(clk_in),
.?clk_1Hz(clk_1Hz)//输出1Hz
);
//随机数状态控制模块
random_state?i_random_state(
.?clk_in(clk_in),//50MHz
.?reset(reset),//复位
.?key1(key1),//开始
.?key2(key2),//取随机数
.?clk_1Hz(clk_1Hz),//1Hz信号,用于计1秒
.?data_out(data_out)//输出随机数
);
//二进制转BCD模块
BCD?i_BCD(
.?data_in(data_out),
.?BCD_10(BCD_10),//十位
.?BCD_1(BCD_1)//个位
);
//数码管译码
HEX_decode?i_HEX_decode(
.?BCD_10(BCD_10),//输出十位
.?BCD_1(BCD_1),//输出个位
.?HEX3(HEX3),//
.?HEX2(HEX2)?//
);

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

  • 2-2410151ZR94O.doc
    下载

相关推荐