Entity: Ad9249ReadoutGroup

Diagram

time TPD_G natural range 1 to 8 NUM_CHANNELS_G string IODELAY_GROUP_G boolean D_DELAY_CASCADE_G boolean F_DELAY_CASCADE_G real IDELAYCTRL_FREQ_G slv(8 downto 0) DEFAULT_DELAY_G slv(7 downto 0) ADC_INVERT_CH_G boolean USE_MMCME_G boolean SIM_SPEEDUP_G sl axilClk sl axilRst AxiLiteWriteMasterType axilWriteMaster AxiLiteReadMasterType axilReadMaster sl adcClkRst sl adcBitClkIn sl adcBitClkDiv4In sl adcBitRstIn sl adcBitRstDiv4In Ad9249SerialGroupType adcSerial sl adcStreamClk slv(NUM_CHANNELS_G-1 downto 0) adcReady AxiLiteWriteSlaveType axilWriteSlave AxiLiteReadSlaveType axilReadSlave AxiStreamMasterArray(NUM_CHANNELS_G-1 downto 0) adcStreams

Description


Company : SLAC National Accelerator Laboratory

Description: ADC Readout Controller Receives ADC Data from an AD9592 chip.

Designed specifically for Xilinx Ultrascale series FPGAs

This file is part of 'SLAC Firmware Standard Library'. It is subject to the license terms in the LICENSE.txt file found in the top-level directory of this distribution and at: https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. No part of 'SLAC Firmware Standard Library', including this file, may be copied, modified, propagated, or distributed except according to

the terms contained in the LICENSE.txt file.

Generics

Generic name Type Value Description
TPD_G time 1 ns
NUM_CHANNELS_G natural range 1 to 8 8
IODELAY_GROUP_G string "DEFAULT_GROUP"
D_DELAY_CASCADE_G boolean false
F_DELAY_CASCADE_G boolean false
IDELAYCTRL_FREQ_G real 200.0
DEFAULT_DELAY_G slv(8 downto 0) (others => '0')
ADC_INVERT_CH_G slv(7 downto 0) "00000000"
USE_MMCME_G boolean false
SIM_SPEEDUP_G boolean false

Ports

Port name Direction Type Description
axilClk in sl Master system clock, 125Mhz
axilRst in sl
axilWriteMaster in AxiLiteWriteMasterType Axi Interface
axilWriteSlave out AxiLiteWriteSlaveType
axilReadMaster in AxiLiteReadMasterType
axilReadSlave out AxiLiteReadSlaveType
adcClkRst in sl Reset for adc deserializer (axilClk domain)
adcBitClkIn in sl 350.0 MHz
adcBitClkDiv4In in sl 87.5 MHz
adcBitRstIn in sl
adcBitRstDiv4In in sl
adcSerial in Ad9249SerialGroupType Serial Data from ADC
adcStreamClk in sl Deserialized ADC Data
adcStreams out AxiStreamMasterArray(NUM_CHANNELS_G-1 downto 0)
adcReady in slv(NUM_CHANNELS_G-1 downto 0) optional ready to allow evenout samples readout in adcStreamClk

Signals

Name Type Description
lockedSync sl
lockedFallCount slv(15 downto 0)
axilR AxilRegType
axilRin AxilRegType
adcR AdcRegType
adcRin AdcRegType
adcDataValid slv(NUM_CHANNELS_G-1 downto 0)
adcFrameValid sl
adcDclk sl Local Signals
adcBitClk sl
adcBitClkDiv4 sl
adcBitRstDiv4 sl
adcBitRst sl
adcClkRstSync sl
adcFrame slv(13 downto 0)
adcFrameSync slv(13 downto 0)
adcData Slv14Array(NUM_CHANNELS_G-1 downto 0)
curDelayFrame slv(8 downto 0)
curDelayData slv9Array(NUM_CHANNELS_G-1 downto 0)
fifoDataValid slv(NUM_CHANNELS_G-1 downto 0)
fifoDataRdEn slv(NUM_CHANNELS_G-1 downto 0)
debugDataValid slv(NUM_CHANNELS_G-1 downto 0)
debugData slv16Array(NUM_CHANNELS_G-1 downto 0)
frameDelay slv(8 downto 0)
frameDelaySet sl
invertSync sl

Constants

Name Type Value Description
FRAME_PATTERN_C slv(13 downto 0) "11111110000000"
AXIL_REG_INIT_C AxilRegType ( axilWriteSlave => AXI_LITE_WRITE_SLAVE_INIT_C,
axilReadSlave => AXI_LITE_READ_SLAVE_INIT_C,
delay => DEFAULT_DELAY_G,
dataDelaySet => (others => '1'),
frameDelaySet => '1',
freezeDebug => '0',
readoutDebug0 => (others => (others => '0')),
readoutDebug1 => (others => (others => '0')),
lockedCountRst => '0',
invert => '0' )
ADC_REG_INIT_C AdcRegType ( slip => '0',
count => (others => '0'),
--loadDelay => '0',
--delayValue => (others => '0'),
locked => '0',
fifoWrData => (others => (others => '0')),
fifoWrDataEn => (others => '0') )

Types

Name Type Description
AxilRegType ----------------------------------------------------------------------------------------------- AXIL Registers -----------------------------------------------------------------------------------------------
AdcRegType ----------------------------------------------------------------------------------------------- ADC Readout Clocked Registers -----------------------------------------------------------------------------------------------

Processes

Description
----------------------------------------------------------------------------------------------- AXIL Interface -----------------------------------------------------------------------------------------------

Description
----------------------------------------------------------------------------------------------- ADC Bit Clocked Logic -----------------------------------------------------------------------------------------------

Instantiations

Description

Deserializers