Estoy tratando de construir un multiplicador de cabina de 4 bits usando VHDL. No sé por qué, pero el bloque de proceso se ejecuta una sola vez. El estado cambia de inactivo a ocupado, entonces no funciona.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_SIGNED.ALL;
entity booth_mult is
port(
clk : in std_logic;
start : in std_logic:='0';
n_reset : in std_logic:='0';
mcand : in std_logic_vector(3 downto 0):="0000";
mplier : in std_logic_vector(3 downto 0):="0000";
done : out std_logic :='0';
product : out std_logic_vector(7 downto 0) :="00000000"
);
end booth_mult;