1 ------------------------------------------------------------------------------- 2 -- File : JesdSysrefDly.vhd 3 -- Company : SLAC National Accelerator Laboratory 4 -- Created : 2015-04-15 5 -- Last update: 2015-04-15 6 ------------------------------------------------------------------------------- 7 -- Description: Delay sysref signal to align timing on two different receiver devices (FPGA, DAC). 8 -- The receiver devices in this core are already aligned and separate delay for separate 9 -- RX modules is not necessary. 11 -- Delays the sysref for 1 to 2^DLY_WIDTH_G clock cycles. 13 ------------------------------------------------------------------------------- 14 -- This file is part of 'SLAC Firmware Standard Library'. 15 -- It is subject to the license terms in the LICENSE.txt file found in the 16 -- top-level directory of this distribution and at: 17 -- https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. 18 -- No part of 'SLAC Firmware Standard Library', including this file, 19 -- may be copied, modified, propagated, or distributed except according to 20 -- the terms contained in the LICENSE.txt file. 21 ------------------------------------------------------------------------------- 24 use ieee.std_logic_1164.
all;
25 use ieee.std_logic_unsigned.
all;
26 use ieee.std_logic_arith.
all;
32 --! @ingroup protocols_jesd204b 36 DLY_WIDTH_G : positive := 5 -- number of bits in the delay setting (2**DLY_WIDTH_G is the max size of delay) 44 -- Synchronization input 47 -- Synchronization delayed input 50 end entity JesdSysrefDly;
54 type RegType is record 58 constant REG_INIT_C : RegType := ( 59 shft => (others => '0') 62 signal r : RegType := REG_INIT_C;
72 -- Delay sysref for one clock cycle 83 seq :
process (
clk)
is 85 if (rising_edge(clk)) then
in dly_islv( DLY_WIDTH_G- 1 downto 0)