1 ------------------------------------------------------------------------------- 2 -- File : AxiAd9467Deser.vhd 3 -- Company : SLAC National Accelerator Laboratory 4 -- Created : 2014-09-23 5 -- Last update: 2014-09-24 6 ------------------------------------------------------------------------------- 7 -- Description: Wrapper for AxiAd9467DeserBit modules 8 ------------------------------------------------------------------------------- 9 -- This file is part of 'SLAC Firmware Standard Library'. 10 -- It is subject to the license terms in the LICENSE.txt file found in the 11 -- top-level directory of this distribution and at: 12 -- https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. 13 -- No part of 'SLAC Firmware Standard Library', including this file, 14 -- may be copied, modified, propagated, or distributed except according to 15 -- the terms contained in the LICENSE.txt file. 16 ------------------------------------------------------------------------------- 19 use ieee.std_logic_1164.
all;
20 use ieee.std_logic_unsigned.
all;
21 use ieee.std_logic_arith.
all;
27 use unisim.vcomponents.
all;
30 --! @ingroup devices_AnalogDevices_ad9467 60 adcDmuxB : slv(7 downto 0) := (others => '0');
62 attribute IODELAY_GROUP : ;
75 IDELAYCTRL_Inst : IDELAYCTRL
77 RDY => delayOut.rdy,
-- 1-bit output: Ready output 78 REFCLK => refClk200MHz,
-- 1-bit input: Reference clock input 79 RST => delayIn.rst
);
-- 1-bit input: Active high reset input 82 for i in 0 to 7 generate 90 -- ADC Data (clk domain) 95 -- IO_Delay (refClk200MHz domain) 103 end generate GEN_DAT;
108 if rising_edge(adcClk) then 109 adcDataP <= adcDataPs after TPD_G;
110 adcDataN <= adcDataNs after TPD_G;
111 adcDataNd <= adcDataN after TPD_G;
113 adcDmuxA <= adcDataN after TPD_G;
114 adcDmuxB <= adcDataP after TPD_G;
116 adcDmuxA <= adcDataP after TPD_G;
117 adcDmuxB <= adcDataNd after TPD_G;
119 for i in 7 downto 0 loop in adcDataInNslv( 7 downto 0)
out delayOutDataslv( 4 downto 0)
in adcDataInPslv( 7 downto 0)
in delayInDataslv( 4 downto 0)
DELAY_INIT_GSlv5Array( 0 to 7) :=( others => "00000")
IODELAY_GROUP_Gstring := "AXI_AD9467_IODELAY_GRP"
out delayOutAxiAd9467DelayOutType
DELAY_INIT_Gslv( 4 downto 0) :=( others => '0')
out adcDataslv( 15 downto 0)
IODELAY_GROUP_Gstring := "AXI_AD9467_IODELAY_GRP"
in delayinAxiAd9467DelayInType
array(natural range <> ) of slv( 4 downto 0) Slv5Array