------------------------------------------------------------
-- Copyright: 2011 George Mason University, Virginia USA
-- http://www.iis.ee.ethz.ch/~sha3
------------------------------------------------------------
-- =====================================================================
-- Copyright © 2010-2011 by Cryptographic Engineering Research Group (CERG),
-- ECE Department, George Mason University
-- Fairfax, VA, U.S.A.
-- =====================================================================
library ieee;
use ieee.std_logic_1164.all;
use work.sha3_pkg.all;
use work.keccak_pkg.all;
entity gmu_keccak_top is
port (
ClkxCI : in std_logic; -- Rising Edge Triggered Clock
ScanInxTI : in std_logic;
ScanOutxTO : out std_logic;
ScanEnxTI : in std_logic;
RstxRBI : in std_logic; -- Active-low, asynchronous Reset Signal
InEnxSI : in std_logic; -- Input Enable
FinBlockxSI : in std_logic; -- Final Block
DataxDI : in std_logic_vector(1087 downto 0); -- Input Data
OutEnxSO : out std_logic; -- Output Enable
PenUltCyclexSO : out std_logic; -- Penultimate Cycle
DataxDO : out std_logic_vector(255 downto 0) -- Output Data
);
end gmu_keccak_top;
architecture structure of gmu_keccak_top is
signal sel_xor, sel_final, wr_state :std_logic;
signal ld_rdctr, en_rdctr : std_logic;
signal rd_ctr : std_logic_vector(4 downto 0);
begin
control_gen : entity work.gmu_keccak_control(struct)
port map (clk => ClkxCI, rst => RstxRBI,
InEnxSI => InEnxSI, FinBlockxSI => FinBlockxSI, OutEnxSO => OutEnxSO, PenUltCyclexSO => PenUltCyclexSO,
sel_xor=>sel_xor, sel_final=>sel_final, wr_state=>wr_state, rd_ctr=>rd_ctr );
datapath_gen : entity work.gmu_keccak_datapath(struct)
port map (
clk => ClkxCI, rst => RstxRBI, din => DataxDI, dout => DataxDO,
sel_xor=>sel_xor, sel_final=>sel_final, wr_state=>wr_state, rd_ctr=>rd_ctr
);
end structure;