Вам надо изучить конечные автоматы, тогда будет легко делать подобные вещи или более сложные
Во небольшой пример (могут быть синтаксические ошибки)
Код
.....
.....
entiny XXX is
port (
clk : in std_logic; -- тактовый сигнал с периодом в 10 нс
rst : in std_logic; -- сброс
ena : in std_logic; -- сигнал разрешения
byte1 : in std_logic_vector (7 downto 0);
byte2 : in std_logic_vector (7 downto 0);
byte_out : out std_logic_vector (7 downto 0)
);
end XXX;
architecture behav of XXX is
type tstate is (sm_Idle, sm_Byte2);
signal state : tstate;
sm_proc: process (clk, rst)
begin
if rst = '1' then
state <= sm_Idle;
elsif rising_edge(clk) then
case state of
when sm_Idle =>
if ena = '1' then
state <= sm_Byte2;
byte_out <= byte1;
end if;
when sm_Byte1 =>
byte_out <= byte2;
state <= sm_Idle;
end case;
end if;
end process;
end XXX;
надеюсь пример поможет понят работу, засуньте его в симулятор какой нибудь

, так нагляднее...