名称:16路数显报警器设计VHDL代码Quartus DE2-115开发板
软件:Quartus
语言:VHDL
代码功能:
①做一个16路数显报警器的程序。
一个输入:输入信号用器件的拨码开关。
三个输出,一个用数码管显示故障的总路数,一个用数码管显示具体故障路数,一个用亮灯或者蜂鸣器报警。
②quartus
③VHDL
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在DE2-115开发板验证,DE2-115开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 管脚分配
6. Testbench
7. 仿真图
部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; --16路数显报警器 ENTITY Alarm_16 IS PORT ( data : IN STD_LOGIC_VECTOR(15 DOWNTO 0);--16路信号 HEX0 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管显示故障路数个位 HEX1 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管显示故障路数十位 HEX2 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管显示最高优先级故障个位 HEX3 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管显示最高优先级故障十位 LED : OUT STD_LOGIC--报警指示灯 ); END Alarm_16; ARCHITECTURE behave OF Alarm_16 IS --模块声明 COMPONENT mux16_1 IS PORT ( data : IN STD_LOGIC_VECTOR(15 DOWNTO 0); number : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); max_bit : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END COMPONENT; COMPONENT decode IS PORT ( number : IN STD_LOGIC_VECTOR(3 DOWNTO 0); max_bit : IN STD_LOGIC_VECTOR(3 DOWNTO 0); HEX0 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管显示故障路数个位 HEX1 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管显示故障路数十位 HEX2 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管显示最高优先级故障个位 HEX3 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管显示最高优先级故障十位 LED : OUT STD_LOGIC ); END COMPONENT; SIGNAL number : STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL max_bit : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN --16选1编码器 i_mux16_1 : mux16_1 PORT MAP ( data => data,--16路信号 number => number,--故障路数 max_bit => max_bit--最高优先级故障 );
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1182
阅读全文
619