1 -------------------------------------------------------------------------------     2 -- File       : Ad9249Deserializer.vhd     3 -- Company    : SLAC National Accelerator Laboratory     4 -- Created    : 2013-02-22     5 -- Last update: 2016-06-10     6 -------------------------------------------------------------------------------     7 -- Description: 14 bit DDR deserializer using 7 series IDELAYE2 and ISERDESE2.     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 -------------------------------------------------------------------------------    20 use ieee.std_logic_1164.
all;
    23 use UNISIM.vcomponents.
all;
    26  --! @ingroup devices_AnalogDevices_ad9249    48 end entity Ad9249Deserializer;
    56    attribute IODELAY_GROUP : ;
    64          DELAY_SRC             => 
"IDATAIN",
    65          HIGH_PERFORMANCE_MODE => 
"TRUE",
    66          IDELAY_TYPE           => 
"VAR_LOAD",
    67          IDELAY_VALUE          => 
0,
    -- Here    69          SIGNAL_PATTERN        => 
"DATA"    85    U_ISERDES_MASTER : ISERDESE2
    89          INTERFACE_TYPE    => 
"NETWORKING",
    90          DYN_CLKDIV_INV_EN => 
"FALSE",
    91          DYN_CLK_INV_EN    => 
"FALSE",
    94          IOBDELAY          => 
"IFD",
    -- Use input at DDLY to output the data on Q1-Q6    95          SERDES_MODE       => 
"MASTER")   105          SHIFTOUT1    => shift1,
        -- Cascade connection to Slave ISERDES   106          SHIFTOUT2    => shift2,
        -- Cascade connection to Slave ISERDES   107          BITSLIP      => 
slip,
          -- 1-bit Invoke Bitslip. This can be used with any    108                                         -- DATA_WIDTH, cascaded or not.   109          CE1          => '1',
           -- 1-bit Clock enable input   110          CE2          => '1',
           -- 1-bit Clock enable input   111          CLK          => 
clkIo,
         -- Fast Source Synchronous SERDES clock from BUFIO   112          CLKB         => 
clkIoInv,
      -- Locally inverted clock   113          CLKDIV       => 
clkR,
          -- Slow clock driven by BUFR   116          DDLY         => dlyData,
       -- 1-bit Input signal from IODELAYE1.   117          RST          => 
rst,
           -- 1-bit Asynchronous reset only.   120          -- unused connections   126          O            => 
open);
         -- unregistered output of ISERDESE1   128    U_ISERDES_SLAVE : ISERDESE2
   132          INTERFACE_TYPE    => 
"NETWORKING",
   133          DYN_CLKDIV_INV_EN => 
"FALSE",
   134          DYN_CLK_INV_EN    => 
"FALSE",
   137          IOBDELAY          => 
"IFD",
    -- Use input at DDLY to output the data on Q1-Q6   138          SERDES_MODE       => 
"SLAVE")   150          SHIFTIN1     => shift1,
        -- Cascade connections from Master ISERDES   151          SHIFTIN2     => shift2,
        -- Cascade connections from Master ISERDES   152          BITSLIP      => 
slip,
          -- 1-bit Invoke Bitslip. This can be used with any    153                                         -- DATA_WIDTH, cascaded or not.   154          CE1          => '1',
           -- 1-bit Clock enable input   155          CE2          => '1',
           -- 1-bit Clock enable input   156          CLK          => 
clkIo,
         -- Fast source synchronous serdes clock   157          CLKB         => 
clkIoInv,
      -- locally inverted clock   158          CLKDIV       => 
clkR,
          -- Slow clock driven by BUFR.   160          D            => '0',
           -- Slave ISERDES module. No need to connect D, DDLY   162          RST          => 
rst,
           -- 1-bit Asynchronous reset only.   163          -- unused connections   169          O            => 
open);
         -- unregistered output of ISERDESE1   171 end architecture rtl;
 
IDELAYCTRL_FREQ_Greal  := 200.0
 
out curDelayslv( 4 downto  0)  
 
out oDataslv( 13 downto  0)  
 
in setDelayslv( 4 downto  0)