У меня возникли проблемы при проектировании 1-битного и 32-битного регистра в VHDL. Основные входы регистра включают в себя сигналы часов (clk), clear (clr), load/enable (ld) и n-битовые данные (d). n-разрядный вывод обозначается (q). До сих пор я считаю сделали 1-битный регистр, вот мой код:Регистрация дизайна в VHDL
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; -- output.
END register32;
ARCHITECTURE description OF register32 IS
BEGIN
process(clk, clr, ld)
begin
if clr = '1' then
q <= '0';
elsif d = '1' and ld = 1 and clk'event and clk='1' then
q <= '1';
elsif d = '0' and ld = 1 and clk'event and clk='1' then
q <= '0';
else
q <= '0';
end if;
end process;
END description;
Если это верно для 1-битового регистра, как бы я это сделать в 32-битном. Некоторая помощь будет принята с благодарностью.