0
我是VHDL的新手,我剛剛在Quartus II 9.0中搞砸了,並決定創建一個寄存器類型的組件。我認爲我的邏輯是正確的,但是當我運行模擬時我沒有得到任何輸出。我創建了一個波形來測試可能的情況(使用節點查找器列出所有的輸入和輸出,生成功能模擬網表),但是我沒有得到Q的任何輸出。即使是clr = 1且所有Q都應該是設置爲0。爲什麼我的代碼不生成輸出?
library ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_arith.ALL;
USE ieee.std_logic_unsigned.ALL;
ENTITY Register32 IS PORT (
d : IN STD_LOGIC_VECTOR(31 DOWNTO 0); -- input.
ld : IN STD_LOGIC; -- load/enable.
clr : IN STD_LOGIC; -- async. clear.
clk : IN STD_LOGIC; -- clock.
Q : OUT STD_LOGIC_VECTOR (31 DOWNTO 0)); -- output.
END Register32;
ARCHITECTURE description OF Register32 IS
BEGIN
process (clk) begin
if (clr = '1') then
Q <= (others => '0');
else
if (rising_edge(clk)) then
if (ld = '1') then
Q <= d;
end if;
end if;
end if;
end process;
END description;