1 ------------------------------------------------------------------------------- 2 -- File : AxiAd9467DeserBit.vhd 3 -- Company : SLAC National Accelerator Laboratory 4 -- Created : 2014-09-23 5 -- Last update: 2014-09-24 6 ------------------------------------------------------------------------------- 7 -- Description: AD9467 Deserializer Bit Module 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;
29 --! @ingroup devices_AnalogDevices_ad9467 36 -- ADC Data (clk domain) 41 -- IO_Delay (refClk200MHz domain) 48 end AxiAd9467DeserBit;
55 attribute IODELAY_GROUP : ;
66 IDELAYE2_inst : IDELAYE2
68 CINVCTRL_SEL =>
"FALSE",
-- Enable dynamic clock inversion (FALSE, TRUE) 69 DELAY_SRC =>
"IDATAIN",
-- Delay input (IDATAIN, DATAIN) 70 HIGH_PERFORMANCE_MODE =>
"FALSE",
-- Reduced jitter ("TRUE"), Reduced power ("FALSE") 71 IDELAY_TYPE =>
"VAR_LOAD",
-- FIXED, VARIABLE, VAR_LOAD, VAR_LOAD_PIPE 72 IDELAY_VALUE => conv_integer
(DELAY_INIT_G),
-- Input delay tap setting (0-31) 73 PIPE_SEL =>
"FALSE",
-- Select pipelined mode, FALSE, TRUE 74 REFCLK_FREQUENCY =>
200.0,
-- IDELAYCTRL clock input frequency in MHz (190.0-210.0, 290.0-310.0). 75 SIGNAL_PATTERN =>
"DATA") -- DATA, CLOCK input signal 77 CNTVALUEOUT =>
delayOutData,
-- 5-bit output: Counter value output 78 DATAOUT => dataDly,
-- 1-bit output: Delayed data output 80 CE => '0',
-- 1-bit input: Active high enable increment/decrement input 81 CINVCTRL => '0',
-- 1-bit input: Dynamic clock inversion input 82 CNTVALUEIN =>
delayInData,
-- 5-bit input: Counter value input 83 DATAIN => '0',
-- 1-bit input: Internal delay data input 84 IDATAIN => data,
-- 1-bit input: Data input from the I/O 85 INC => '0',
-- 1-bit input: Increment / Decrement tap delay input 86 LD => '1',
-- 1-bit input: Load IDELAY_VALUE input 87 LDPIPEEN => '0',
-- 1-bit input: Enable PIPELINE register to load data input 88 REGRST =>
delayInLoad);
-- 1-bit input: Active-high reset tap-delay input 92 DDR_CLK_EDGE =>
"SAME_EDGE_PIPELINED",
-- "OPPOSITE_EDGE", "SAME_EDGE", or "SAME_EDGE_PIPELINED" 93 INIT_Q1 => '0',
-- Initial value of Q1: '0' or '1' 94 INIT_Q2 => '0',
-- Initial value of Q2: '0' or '1' 95 SRTYPE =>
"SYNC") -- Set/Reset type: "SYNC" or "ASYNC" 97 D => dataDly,
-- 1-bit DDR data input 98 C =>
clk,
-- 1-bit clock input 99 CE => '1',
-- 1-bit clock enable input 100 R => '0',
-- 1-bit reset 101 S => '0',
-- 1-bit set 102 Q1 =>
Q1,
-- 1-bit output for positive edge of clock 103 Q2 =>
Q2);
-- 1-bit output for negative edge of clock
out delayOutDataslv( 4 downto 0)
in delayInDataslv( 4 downto 0)
DELAY_INIT_Gslv( 4 downto 0) :=( others => '0')
IODELAY_GROUP_Gstring := "AXI_AD9467_IODELAY_GRP"