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

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

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

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
    下载

相关推荐