能给个VHDL的程序吗?最好是有注释的,我想知道究竟硬件描述语言是什么样子的?感激中!
这是一个完整的十进制计数器,编译完成后分配实体中的各个引脚,输入接按键,输出接led灯就可以看到bcd的十进制计数了。还可以用两个10进制组合成一个100进制只需将第一个co接到第二个十进制的clk即可。
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity count10 is
port(clk,reset:in std_logic;
co:out std_logic;
q:out std_logic_vector(3 downto 0)); ---定义实体引脚q包含3到0 共4各引脚
end count10;
architecture count of count10 is
begin
process(clk,reset,en)
variable qi:std_logic_vector(3 downto 0); --定义内部缓冲存储变量;最终将数据传递给q
begin
if reset='0'then qi:=(others=>'0'); --reset复位
elsif clk'event and clk='1'then --clk动作为高电平时即上升沿有效
if qi<9 then qi:=qi+1;
else qi:=(others=>'0');
end if;
end if;
if qi=9 then co<='0'; --co溢出
else co<='1';
end if;
q<=qi;
end process;
end count;
2022-03-17 广告
PORT
(
n0, n1, select: IN BIT;
q: OUT BIT;
bus: OUT BIT_VECTOR(7 DOWNTO 0)
);
本例中,n0, n1, select 是输入引脚,属于BIT型,q是输出引脚,BIT型,bus 是一组8位二进制总线,属于BIT_VECTOR
希望对你有不帮助。