eFEX firmware  1.7.3
ATLAS l1-calo - electron and tau feature extraction firmware for eFEX boards

Back to eFEX documentation
Functions
AlgoDataTypes Package Body Reference

External data-types and functions. More...

Package >> AlgoDataTypes

Functions

AlgoInput   to_AlgoInput ( X: in Algo2DInput )
 Converts from 2d array to array of arrays.
Algo2DInput   to_Algo2DInput ( Y: in AlgoInput )
 Converts from array of arrays to 2d array.
std_logic_vector   to_LogicVector ( Y: in AlgoInput , Z: in std_logic_vector( 11 downto 0) )
 Converts AlgoInput format into a 128-bit std_logic vector with padding zeroes.
AlgoInput   to_AlgoInput ( X: in std_logic_vector )
 Converts a 128-bit std_logic vector with padding 0 into AlgoInput format.
std_logic_vector   to_BCN ( X: in std_logic_vector )
std_logic_vector   to_LogicVector ( Y: in AlgoOutput )
 Converts from AlgoOutput (array of AlgoTowers) to std_logic_vector.
AlgoOutput   to_AlgoOutput ( X: in std_logic_vector )
 Converts from std_logic_vector to AlgoOutput (array of TOBs)
AlgoXOutput   to_AlgoXOutput ( X: in std_logic_vector )
 Converts from std_logic_vector to XAlgoOutput (array of XTOBs)
std_logic_vector   to_LogicVector ( Y: in AlgoTriggerObject )
 Converts from AlgoTriggerObject (external TOB format) to std_logic_vector.
std_logic_vector   to_LogicVector2 ( Y: in AlgoXTriggerObject )
 Converts from AlgoXTriggerObject (external TOB format) to std_logic_vector.
AlgoTriggerObject   to_AlgoTriggerObject ( X: in std_logic_vector )
 Converts from std_logic_vector to AlgoTriggerObject (external TOB format)
AlgoTriggerObjects   to_AlgoTriggerObjects ( X: in AlgoOutput )

Detailed Description

External data-types and functions.

This file/package contains all types, constants, and functions used to interface from/to the Algorithm and Sorting module.

Internal data types and functions are defined in DataTypes.vhd

Definition at line 156 of file AlgoDataTypes.vhd.

Member Function Documentation

◆ to_AlgoInput()

AlgoInput to_AlgoInput (   X in std_logic_vector  
)
Function

Converts a 128-bit std_logic vector with padding 0 into AlgoInput format.

This function is used to read data out of the ipbus_inputRAM. This functions ignores padding zeroes added by to_LogicVector() function.

Definition at line 227 of file AlgoDataTypes.vhd.

◆ to_LogicVector()

std_logic_vector to_LogicVector (   Y in AlgoInput ,
  Z in std_logic_vector( 11 downto 0 )  
)
Function

Converts AlgoInput format into a 128-bit std_logic vector with padding zeroes.

This function is used to write data into the ipbus_inputRAM. The AlgoInput data structure contains 60 Trigger Towers (TT) organised in column 0-5 (Eta) and rows (Phi) 0-9. They are sorted according to the following table:

Eta0 Eta1 Eta2 Eta3 Eta4 Eta5
Phi9 09 19 29 39 49 59
Phi8 08 18 28 38 48 58
Phi7 07 17 27 37 47 57
Phi6 06 16 26 36 46 56
Phi5 05 15 25 35 45 55
Phi4 04 14 24 34 44 54
Phi3 03 13 23 33 43 53
Phi2 02 12 22 32 42 52
Phi1 01 11 21 31 41 51
Phi0 00 10 20 30 40 50

Every TT data structure is converted into a 128-bit std_logic vector with padding zeroes as follows:

0-9 10-19 20-29 30-31 32-41 42-51 52-61 62-63 64-73 74-83 84-93 94-95 96-105 106-115 116-125 126-127
L0 L1.0 L1.1 "00" L1.2 L1.3 L2.0 "01" L2.1 L2.2 L2.3 "10" L3 HAD BCID(9:0) "11"

Definition at line 208 of file AlgoDataTypes.vhd.


The documentation for this class was generated from the following file: