Generated by EASE/HDL for peterj on Mon Jul 02 10:55:24 2007

Documentation for architecture MGTEVB/MergeDST/a0

Contents Side Data Generated HDL

VHDL Contents

    1  -- EASE/HDL begin --------------------------------------------------------------
    2  -- 
    3  -- Architecture 'a0' of entity 'MergeDST'.
    4  -- 
    5  --------------------------------------------------------------------------------
    6  -- 
    7  -- Copy of the interface declaration:
    8  -- 
    9  --   port(
   10  --     ChanEn    : in     std_logic_vector(7 downto 0);
   11  --     ChanRst   : in     std_logic_vector(7 downto 0);
   12  --     ChanSts   : out    std_logic_vector(31 downto 0);
   13  --     FullD1A   : in     std_logic;
   14  --     FullD1B   : in     std_logic;
   15  --     FullD2A   : in     std_logic;
   16  --     FullD2B   : in     std_logic;
   17  --     FullD3A   : in     std_logic;
   18  --     FullD3B   : in     std_logic;
   19  --     FullD4A   : in     std_logic;
   20  --     FullD4B   : in     std_logic;
   21  --     LDown_n1A : in     std_logic;
   22  --     LDown_n1B : in     std_logic;
   23  --     LDown_n2A : in     std_logic;
   24  --     LDown_n2B : in     std_logic;
   25  --     LDown_n3A : in     std_logic;
   26  --     LDown_n3B : in     std_logic;
   27  --     LDown_n4A : in     std_logic;
   28  --     LDown_n4B : in     std_logic;
   29  --     LErr1A    : in     std_logic;
   30  --     LErr1B    : in     std_logic;
   31  --     LErr2A    : in     std_logic;
   32  --     LErr2B    : in     std_logic;
   33  --     LErr3A    : in     std_logic;
   34  --     LErr3B    : in     std_logic;
   35  --     LErr4A    : in     std_logic;
   36  --     LErr4B    : in     std_logic;
   37  --     LRD       : out    std_logic_v32array(7 downto 0);
   38  --     LRD1A     : in     std_logic_vector(31 downto 0);
   39  --     LRD1B     : in     std_logic_vector(31 downto 0);
   40  --     LRD2A     : in     std_logic_vector(31 downto 0);
   41  --     LRD2B     : in     std_logic_vector(31 downto 0);
   42  --     LRD3A     : in     std_logic_vector(31 downto 0);
   43  --     LRD3B     : in     std_logic_vector(31 downto 0);
   44  --     LRD4A     : in     std_logic_vector(31 downto 0);
   45  --     LRD4B     : in     std_logic_vector(31 downto 0);
   46  --     LRX       : out    std_logic_v32array(7 downto 0);
   47  --     LRX1A     : in     std_logic_vector(31 downto 0);
   48  --     LRX1B     : in     std_logic_vector(31 downto 0);
   49  --     LRX2A     : in     std_logic_vector(31 downto 0);
   50  --     LRX2B     : in     std_logic_vector(31 downto 0);
   51  --     LRX3A     : in     std_logic_vector(31 downto 0);
   52  --     LRX3B     : in     std_logic_vector(31 downto 0);
   53  --     LRX4A     : in     std_logic_vector(31 downto 0);
   54  --     LRX4B     : in     std_logic_vector(31 downto 0);
   55  --     RDE       : out    std_logic_vector(7 downto 0);
   56  --     RDE1A     : in     std_logic;
   57  --     RDE1B     : in     std_logic;
   58  --     RDE2A     : in     std_logic;
   59  --     RDE2B     : in     std_logic;
   60  --     RDE3A     : in     std_logic;
   61  --     RDE3B     : in     std_logic;
   62  --     RDE4A     : in     std_logic;
   63  --     RDE4B     : in     std_logic;
   64  --     RDV       : out    std_logic_vector(7 downto 0);
   65  --     RDV1A     : in     std_logic;
   66  --     RDV1B     : in     std_logic;
   67  --     RDV2A     : in     std_logic;
   68  --     RDV2B     : in     std_logic;
   69  --     RDV3A     : in     std_logic;
   70  --     RDV3B     : in     std_logic;
   71  --     RDV4A     : in     std_logic;
   72  --     RDV4B     : in     std_logic;
   73  --     RqRD      : in     std_logic_vector(7 downto 0);
   74  --     RqRD1A    : out    std_logic;
   75  --     RqRD1B    : out    std_logic;
   76  --     RqRD2A    : out    std_logic;
   77  --     RqRD2B    : out    std_logic;
   78  --     RqRD3A    : out    std_logic;
   79  --     RqRD3B    : out    std_logic;
   80  --     RqRD4A    : out    std_logic;
   81  --     RqRD4B    : out    std_logic;
   82  --     RqXD      : in     std_logic_vector(7 downto 0);
   83  --     RqXD1A    : out    std_logic;
   84  --     RqXD1B    : out    std_logic;
   85  --     RqXD2A    : out    std_logic;
   86  --     RqXD2B    : out    std_logic;
   87  --     RqXD3A    : out    std_logic;
   88  --     RqXD3B    : out    std_logic;
   89  --     RqXD4A    : out    std_logic;
   90  --     RqXD4B    : out    std_logic;
   91  --     RxRst1A   : out    std_logic;
   92  --     RxRst1B   : out    std_logic;
   93  --     RxRst2A   : out    std_logic;
   94  --     RxRst2B   : out    std_logic;
   95  --     RxRst3A   : out    std_logic;
   96  --     RxRst3B   : out    std_logic;
   97  --     RxRst4A   : out    std_logic;
   98  --     RxRst4B   : out    std_logic;
   99  --     RxSync1A  : in     std_logic;
  100  --     RxSync1B  : in     std_logic;
  101  --     RxSync2A  : in     std_logic;
  102  --     RxSync2B  : in     std_logic;
  103  --     RxSync3A  : in     std_logic;
  104  --     RxSync3B  : in     std_logic;
  105  --     RxSync4A  : in     std_logic;
  106  --     RxSync4B  : in     std_logic;
  107  --     XDE       : out    std_logic_vector(7 downto 0);
  108  --     XDE1A     : in     std_logic;
  109  --     XDE1B     : in     std_logic;
  110  --     XDE2A     : in     std_logic;
  111  --     XDE2B     : in     std_logic;
  112  --     XDE3A     : in     std_logic;
  113  --     XDE3B     : in     std_logic;
  114  --     XDE4A     : in     std_logic;
  115  --     XDE4B     : in     std_logic;
  116  --     XDV       : out    std_logic_vector(7 downto 0);
  117  --     XDV1A     : in     std_logic;
  118  --     XDV1B     : in     std_logic;
  119  --     XDV2A     : in     std_logic;
  120  --     XDV2B     : in     std_logic;
  121  --     XDV3A     : in     std_logic;
  122  --     XDV3B     : in     std_logic;
  123  --     XDV4A     : in     std_logic;
  124  --     XDV4B     : in     std_logic);
  125  -- 
  126  -- EASE/HDL end ----------------------------------------------------------------
  127  
  128  architecture a0 of MergeDST is
  129  
  130  begin
  131  
  132    ChanSts  <= FullD4B & FullD4A & FullD3B & FullD3A & FullD2B & FullD2A & FullD1B & FullD1A
  133             &  LErr4B  & LErr4A  & LErr3B  & LErr3A  & LErr2B  & LErr2A  & LErr1B  & LErr1A
  134             &  RxSync4B  & RxSync4A  & RxSync3B  & RxSync3A  & RxSync2B  & RxSync2A  & RxSync1B  & RxSync1A
  135             &  LDown_n4B & LDown_n4A & LDown_n3B & LDown_n3A & LDown_n2B & LDown_n2A & LDown_n1B & LDown_n1A;
  136  
  137    RDE      <= RDE4B & RDE4A & RDE3B & RDE3A & RDE2B & RDE2A & RDE1B & RDE1A;
  138    RDV      <= RDV4B & RDV4A & RDV3B & RDV3A & RDV2B & RDV2A & RDV1B & RDV1A;
  139  
  140    XDE      <= XDE4B & XDE4A & XDE3B & XDE3A & XDE2B & XDE2A & XDE1B & XDE1A;
  141    XDV      <= XDV4B & XDV4A & XDV3B & XDV3A & XDV2B & XDV2A & XDV1B & XDV1A;
  142  
  143    LRD(7)   <= LRD4B;
  144    LRD(6)   <= LRD4A;
  145    LRD(5)   <= LRD3B;
  146    LRD(4)   <= LRD3A;
  147    LRD(3)   <= LRD2B;
  148    LRD(2)   <= LRD2A;
  149    LRD(1)   <= LRD1B;
  150    LRD(0)   <= LRD1A;
  151  
  152    LRX(7)   <= LRX4B;
  153    LRX(6)   <= LRX4A;
  154    LRX(5)   <= LRX3B;
  155    LRX(4)   <= LRX3A;
  156    LRX(3)   <= LRX2B;
  157    LRX(2)   <= LRX2A;
  158    LRX(1)   <= LRX1B;
  159    LRX(0)   <= LRX1A;
  160  
  161    RxRst4B  <= ChanRst(7);
  162    RxRst4A  <= ChanRst(6);
  163    RxRst3B  <= ChanRst(5);
  164    RxRst3A  <= ChanRst(4);
  165    RxRst2B  <= ChanRst(3);
  166    RxRst2A  <= ChanRst(2);
  167    RxRst1B  <= ChanRst(1);
  168    RxRst1A  <= ChanRst(0);
  169  
  170    -- When a channel is not enabled, set the request bits to always empty the fifos.
  171    -- Thus, all data coming from the MGT Fifo will immmediately be flushed.
  172    -- The readout controller also checks the enable bits and will ignore
  173    -- all data present at the outputs of the fifos.
  174  
  175    RqRD4B   <= RqRD(7) when (ChanEn(7) = '1') else '1';
  176    RqRD4A   <= RqRD(6) when (ChanEn(6) = '1') else '1';
  177    RqRD3B   <= RqRD(5) when (ChanEn(5) = '1') else '1';
  178    RqRD3A   <= RqRD(4) when (ChanEn(4) = '1') else '1';
  179    RqRD2B   <= RqRD(3) when (ChanEn(3) = '1') else '1';
  180    RqRD2A   <= RqRD(2) when (ChanEn(2) = '1') else '1';
  181    RqRD1B   <= RqRD(1) when (ChanEn(1) = '1') else '1';
  182    RqRD1A   <= RqRD(0) when (ChanEn(0) = '1') else '1';
  183  
  184    RqXD4B   <= RqXD(7) when (ChanEn(7) = '1') else '1';
  185    RqXD4A   <= RqXD(6) when (ChanEn(6) = '1') else '1';
  186    RqXD3B   <= RqXD(5) when (ChanEn(5) = '1') else '1';
  187    RqXD3A   <= RqXD(4) when (ChanEn(4) = '1') else '1';
  188    RqXD2B   <= RqXD(3) when (ChanEn(3) = '1') else '1';
  189    RqXD2A   <= RqXD(2) when (ChanEn(2) = '1') else '1';
  190    RqXD1B   <= RqXD(1) when (ChanEn(1) = '1') else '1';
  191    RqXD1A   <= RqXD(0) when (ChanEn(0) = '1') else '1';
  192  
  193  end architecture a0 ; -- of MergeDST
  194  
  195