------------------------------------------------------------ -- Copyright: 2011 Integrated Sytems Laboratory, ETH Zurich -- http://www.iis.ee.ethz.ch/~sha3 ------------------------------------------------------------ ------------------------------------------------------------------------------- -- Title : Clock gate RTL description -- Project : ------------------------------------------------------------------------------- -- File : clockgate.vhd -- Author : Frank K. Guerkaynak -- Company : Integrated Systems Laboratory, ETH Zurich -- Created : 2011-08-25 -- Last update: 2011-08-25 -- Platform : ModelSim (simulation), Synopsys (synthesis) -- Standard : VHDL'87 ------------------------------------------------------------------------------- -- Description: This is an instance so that we can gate clock both in RTL and -- gatelevel ------------------------------------------------------------------------------- -- Copyright (c) 2011 Integrated Systems Laboratory, ETH Zurich ------------------------------------------------------------------------------- -- Revisions : -- Date Version Author Description -- 2011-08-25 1.0 kgf Created ------------------------------------------------------------------------------- library ieee; use ieee.std_logic_1164.all; entity clockgate is port ( ClkInxCI : in std_logic; EnxSI : in std_logic; ClkOutxCO : out std_logic); end clockgate; architecture rtl of clockgate is signal LatchOutxD : std_logic; begin -- rtl -- should compile to LAGCE in UMC65LL -- first a latch p_latch: process (EnxSI, ClkInxCI) begin -- process p_latch if ClkInxCI = '1' then -- rising clock edge LatchOutxD <= EnxSI; end if; end process p_latch; -- followed by an AND ClkOutxCO <= LatchOutxD and ClkInxCI; end rtl;