|
@ -62,7 +62,7 @@ architecture rtl of cbctdes is |
|
|
ready_o : out std_logic |
|
|
ready_o : out std_logic |
|
|
); |
|
|
); |
|
|
end component tdes; |
|
|
end component tdes; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
signal s_mode : std_logic; |
|
|
signal s_mode : std_logic; |
|
|
signal s_des_mode : std_logic; |
|
|
signal s_des_mode : std_logic; |
|
@ -83,8 +83,7 @@ architecture rtl of cbctdes is |
|
|
signal s_validout : std_logic; |
|
|
signal s_validout : std_logic; |
|
|
signal s_ready : std_logic; |
|
|
signal s_ready : std_logic; |
|
|
signal s_readyout : std_logic; |
|
|
signal s_readyout : std_logic; |
|
|
signal s_reset : std_logic; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
begin |
|
|
begin |
|
|
|
|
|
|
|
@ -107,7 +106,6 @@ begin |
|
|
inputregister : process(clk_i, reset_i) is |
|
|
inputregister : process(clk_i, reset_i) is |
|
|
begin |
|
|
begin |
|
|
if(reset_i = '0') then |
|
|
if(reset_i = '0') then |
|
|
s_reset <= '0'; |
|
|
|
|
|
s_mode <= '0'; |
|
|
s_mode <= '0'; |
|
|
s_start <= '0'; |
|
|
s_start <= '0'; |
|
|
s_key1 <= (others => '0'); |
|
|
s_key1 <= (others => '0'); |
|
@ -117,7 +115,6 @@ begin |
|
|
s_datain <= (others => '0'); |
|
|
s_datain <= (others => '0'); |
|
|
s_datain_d <= (others => '0'); |
|
|
s_datain_d <= (others => '0'); |
|
|
elsif(rising_edge(clk_i)) then |
|
|
elsif(rising_edge(clk_i)) then |
|
|
s_reset <= reset_i; |
|
|
|
|
|
if(valid_i = '1' and s_ready = '1') then |
|
|
if(valid_i = '1' and s_ready = '1') then |
|
|
s_start <= start_i; |
|
|
s_start <= start_i; |
|
|
s_datain <= data_i; |
|
|
s_datain <= data_i; |
|
@ -137,23 +134,23 @@ begin |
|
|
outputregister : process(clk_i, reset_i) is |
|
|
outputregister : process(clk_i, reset_i) is |
|
|
begin |
|
|
begin |
|
|
if(reset_i = '0') then |
|
|
if(reset_i = '0') then |
|
|
s_ready <= '0'; |
|
|
|
|
|
|
|
|
s_ready <= '1'; |
|
|
s_dataout <= (others => '0'); |
|
|
s_dataout <= (others => '0'); |
|
|
elsif(rising_edge(clk_i)) then |
|
|
elsif(rising_edge(clk_i)) then |
|
|
if(valid_i = '1' and s_ready = '1' and s_readyout = '1') then |
|
|
if(valid_i = '1' and s_ready = '1' and s_readyout = '1') then |
|
|
s_ready <= '0'; |
|
|
s_ready <= '0'; |
|
|
end if; |
|
|
end if; |
|
|
if(s_validout = '1' or (reset_i = '1' and s_reset = '0')) then |
|
|
|
|
|
|
|
|
if(s_validout = '1') then |
|
|
s_ready <= '1'; |
|
|
s_ready <= '1'; |
|
|
s_dataout <= s_des_dataout; |
|
|
s_dataout <= s_des_dataout; |
|
|
end if; |
|
|
end if; |
|
|
end if; |
|
|
end if; |
|
|
end process outputregister; |
|
|
end process outputregister; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i_tdes : tdes |
|
|
i_tdes : tdes |
|
|
port map ( |
|
|
port map ( |
|
|
reset_i => s_reset, |
|
|
|
|
|
|
|
|
reset_i => reset_i, |
|
|
clk_i => clk_i, |
|
|
clk_i => clk_i, |
|
|
mode_i => s_des_mode, |
|
|
mode_i => s_des_mode, |
|
|
key1_i => s_tdes_key1, |
|
|
key1_i => s_tdes_key1, |
|
|