随机数生成电路设计VHDL代码Quartus仿真
名称:随机数生成电路设计VHDL代码Quartus仿真
软件:Quartus
语言:VHDL
代码功能:
(1)设计并实现一个随机数生成电路,每2秒随机生成一个0~999之间的数字并在数码管上显示生成的随机数
(2)数码管选通序列cat统一为1:“11111101“111101”,“1111”,即使用第一,第二,第三数码管显示;
(3)为系统设置一个复位键,复位后数码管显示自己学好的后三位,2秒后再开始每2秒生成并显示随机数,可以不需要防抖

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
Quartus9.0软件版本

2. 程序文件

3. 程序编译

4. RTL图

5. 仿真图
整体仿真图



M序列随机数仿真图


10位2进制转换为3位十进制仿真图


数码管显示模块仿真图


部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; --数码管显示模块 ENTITY display IS PORT ( clock : IN STD_LOGIC; ran_hun : IN STD_LOGIC_VECTOR(3 DOWNTO 0); ran_ten : IN STD_LOGIC_VECTOR(3 DOWNTO 0); ran_one : IN STD_LOGIC_VECTOR(3 DOWNTO 0); bit_select : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); seg_select : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END display; ARCHITECTURE behave OF display IS SIGNAL geshu : STD_LOGIC_VECTOR(1 DOWNTO 0) := "00"; SIGNAL display_data : STD_LOGIC_VECTOR(3 DOWNTO 0) := "0000"; BEGIN --个数0~2,因为只需要显示3个数 PROCESS (clock) BEGIN IF (clock'EVENT AND clock = '1') THEN IF (geshu = "10") THEN--0~2 geshu <= "00"; ELSE geshu --百位 bit_select <= "11111110";--数码管选中序列 display_data --十位 bit_select <= "11111101";--数码管选中序列 display_data --个位 bit_select <= "11111011";--数码管选中序列 display_data END CASE; END PROCESS;
代码文件(付费下载):
![]()
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 随机数生成电路设计VHDL代码Quartus仿真
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 随机数生成电路设计VHDL代码Quartus仿真