![]() |
eFEX firmware
1.7.3
ATLAS l1-calo - electron and tau feature extraction firmware for eFEX boards
|
TOB/XTOB data readout slave registers. More...
Entities | |
| Behavioral | architecture |
| TOB/XTOB data readout slave registers. More... | |
Libraries | |
| IEEE | |
| ipbus_lib | |
| TOB_rdout_lib | |
Use Clauses | |
| STD_LOGIC_1164 | |
| ipbus | |
| data_type_pkg | Package <data_type_pkg> |
| TOB_rdout_ip_pkg | Package <TOB_rdout_ip_pkg> |
| ipbus_decode_efex_tob_readout | |
Ports | ||
| ipb_rst | in | std_logic |
| IPBus Reset input. | ||
| ipb_clk | in | std_logic |
| IPBus Clock input. | ||
| IPb_in | in | ipb_wbus |
| IPBus input bus going from master to slaves. | ||
| IPb_out | out | ipb_rbus |
| IPBus output bus going from slaves to master. | ||
| L1A_ID_Event | in | std_logic_vector ( 31 downto 0 ) |
| 8b Ext L1A ID from TTC input + 24b L1A ID of counter from TTC FIFO - inserted in the event header | ||
| L1A_ID | in | std_logic_vector ( 31 downto 0 ) |
| 8b Extended L1A ID + 24b L1A ID of counter | ||
| BCN_in | in | std_logic_vector ( 11 downto 0 ) |
| Bunch Crossing number input. | ||
| TOB_WR_ADDR_OFFSET | out | std_logic_vector ( 8 downto 0 ) |
| The write address offset pre load for TOB Circular DRPAM. | ||
| XTOB_EG_WR_ADDR_OFFSET | out | std_logic_vector ( 8 downto 0 ) |
| The write address offset pre load for XTOB e/g Circular DRPAM. | ||
| XTOB_TAU_WR_ADDR_OFFSET | out | std_logic_vector ( 8 downto 0 ) |
| The write address offset pre load for XTOB tau Circular DRPAM. | ||
| TOB_SLICES_TO_RD | out | std_logic_vector ( 2 downto 0 ) |
| number of DRP locations (Slices) to read 1 to 5 | ||
| trigger_slice | out | STD_LOGIC_VECTOR ( 3 downto 0 ) |
| Trigger slice number - on L1A. | ||
| BCN_FIFO_pFULL_THRESH_assert | out | std_logic_vector ( 8 downto 0 ) |
| BCN FIFO partial full flag assert threshold. | ||
| BCN_FIFO_pFULL_THRESH_negate | out | std_logic_vector ( 8 downto 0 ) |
| BCN FIFO partial full flag negate threshold. | ||
| BCN_FIFO_TOB_rd_data_count | in | STD_LOGIC_VECTOR ( 31 downto 0 ) |
| BCN & L1A FIFO occupancy for TOB Readout. | ||
| TOB_FIFO_pFULL_THRESH_ASSERT | out | std_logic_vector ( 8 downto 0 ) |
| TOB Derandomisation FIFO partial full flag assert threshold. | ||
| TOB_FIFO_pFULL_THRESH_NEGATE | out | std_logic_vector ( 8 downto 0 ) |
| TOB Derandomisation FIFO partial full flag negate threshold. | ||
| TOB_FIFO_DATA_COUNT | in | std_logic_vector ( 31 downto 0 ) |
| TOB Derandomisation FIFO FIFO occupancy data count. | ||
| tob_busy_thresh_assert | out | STD_LOGIC_VECTOR ( 8 downto 0 ) |
| sorted TOB BUSY flag threshold assert | ||
| tob_busy_thresh_negate | out | STD_LOGIC_VECTOR ( 8 downto 0 ) |
| sorted TOB BUSY flag threshold de-assert | ||
| XTOB_EG_FIFO_pFULL_THRESH_ASSERT | out | std_logic_vector ( 8 downto 0 ) |
| XTOB e/g Derandomisation FIFO partial full flag assert threshold. | ||
| XTOB_EG_FIFO_pFULL_THRESH_NEGATE | out | std_logic_vector ( 8 downto 0 ) |
| XTOB e/g Derandomisation FIFO partial full flag negate threshold. | ||
| XTOB_EG_FIFO_DATA_COUNT | in | std_logic_vector ( 31 downto 0 ) |
| XTOB e/g Derandomisation FIFO FIFO occupancy data count. | ||
| XTOB_TAU_FIFO_pFULL_THRESH_ASSERT | out | std_logic_vector ( 8 downto 0 ) |
| XTOB tau Derandomisation FIFO partial full flag assert threshold. | ||
| XTOB_TAU_FIFO_pFULL_THRESH_NEGATE | out | std_logic_vector ( 8 downto 0 ) |
| XTOB tau Derandomisation FIFO partial full flag negate threshold. | ||
| XTOB_TAU_FIFO_DATA_COUNT | in | std_logic_vector ( 31 downto 0 ) |
| XTOB tau Derandomisation FIFO FIFO occupancy data count. | ||
| TOB_Link_output_FIFO_pFULL_THRESH_ASSERT | out | std_logic_vector ( 12 downto 0 ) |
| Link output FIFO (before MGT) partial full flag assert threshold. | ||
| TOB_Link_output_FIFO_pFULL_THRESH_NEGATE | out | std_logic_vector ( 12 downto 0 ) |
| Link output FIFO (before MGT) partial full flag negate threshold. | ||
| TOB_LINK_OUTPUT_FIFO_RD_DATA_COUNT | in | std_logic_vector ( 31 downto 0 ) |
| Link output FIFO (before MGT) occupancy data count. | ||
| TOB_data_FIFO_flags | in | std_logic_vector ( 31 downto 0 ) |
| Read only register containing all Empty pFull and Full of TOB/XTOB data block. | ||
| SPY_TOB_mem_wr_addr | in | std_logic_vector ( 10 downto 0 ) |
| TOB/XTOB SPY Memory write address (read only register) | ||
| ipbus_out_tob_dpram | out | ipb_wbus |
| IPBus signal going to TOB/XTOB SPY DPRAM. | ||
| ipbus_in_tob_dpram | in | ipb_rbus |
| IPBus signal coming from TOB/XTOB SPY DPRAM. | ||
| tob_fsm_monitor | in | std_logic_vector ( 39 downto 0 ) |
| Monitor TOB Readout state machines. | ||
TOB/XTOB data readout slave registers.
This module provides IPBus access for all Read Only and Read/Write reigster withing the TOB/XTOB data readout block. Function of modules/registers are listed in the same order as VHDL code.
The IPBus bus fabric, which also has address select logic and data multiplexers. This version selects the addressed slave depending on the state of incoming control lines.
The TRIGGER_SLICE register is used to correctly address the DPRAM scrolling memory. In a multi-slice readout, the Read Address of DPRAM, is generated from the Write Address minus the TRIGGER_SLICE so if the TRIGGER_SLICE is the middle slice of a 3 slices readout, the first slice to be read, is the slice before the L1A, then the slice at L1A, and last slice is the slice after L1A.
Definition at line 54 of file slave_TOB_readout.vhd.
1.9.1