------------------------------------------------------------
-- 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; 

-- n-bits asynchonous register 


entity regna is
	generic (  
		RST_ACTIVE_VALUE : std_logic := '0';
		N : integer := 32;
		INIT : std_logic_vector
	);
	port ( 	  
	    clk 	: in std_logic;
		rst 	: in std_logic;
	    en 		: in std_logic; 
		input  	: in std_logic_vector(N-1 downto 0);
        output 	: out std_logic_vector(N-1 downto 0)
	);
end regna;

architecture struct of regna is

begin	
	gen : process( rst, clk )
	begin		
		if ( rst = RST_ACTIVE_VALUE ) then
			output <= INIT;
		elsif rising_edge( clk ) then
			if ( en = '1' ) then
				output <= input;
			end if;
		end if;
	end process;
end struct;

Generated on Tue Nov 22 15:16:34 CET 2011
Home