------------------------------------------------------------
-- Copyright: 2010 Integrated Sytems Laboratory, ETH Zurich
--            http://www.iis.ee.ethz.ch/~sha3
------------------------------------------------------------
library ieee;
use ieee.numeric_std.all;
use ieee.std_logic_1164.all;
use work.luffapkg.all;

entity mixword is

  port (
    MxDI : in  mixdata;
    MxDO : out mixdata);

end mixword;

architecture rtl of mixword is

  signal T0xD, T1xD, T2xD, T3xD, T4xD, T5xD, T6xD : std_logic_vector(31 downto 0);

begin

  T1xD    <= MxDI(0) xor MxDI(1);
  T2xD    <= MxDI(0)(31-2 downto 0) & MxDI(0)(31 downto 30);
  T3xD    <= T2xD xor T1xD;
  T4xD    <= T1xD(31-14 downto 0) & T1xD(31 downto 31-14+1);
  T5xD    <= T4xD xor T3xD;
  T6xD    <= T3xD(31-10 downto 0) & T3xD(31 downto 31-10+1);
  MxDO(0) <= T6xD xor T5xD;
  MxDO(1) <= T5xD(31-1 downto 0) & T5xD(31);
    
end rtl;  

Generated on Fri Sep 24 10:39:12 CEST 2010
Home