****************************************************************************** * * * File: Inner_DT.A40 Rev. 2-DEC-1993 * * * * This is a File which holds both the Trigger Tower data from two L1 * * racks and a Reference Set. This file includes the EM Et and Tot Et * * Trigger Tower data from these racks. There is one byte of data per * * Trigger Tower. For now, all of the Trigger Towers are set to $08, * * i.e. the Zero-Energy-Response. * * * * For now all of the Reference Set data is set to $30 i.e. 48 counts or * * 10 GeV above the Zero-Energy-Response. The Ref Set data is stored as * * one C40 word per Ref Set per Trigger Tower. For now there is only one * * L15 Cal Trig Ref Set built in C40 memory. * * * * For this test we think of the L1 data coming from the "first" L1 rack * * i.e. eta's n,n+1,n+2,n+3 and the "second" rack i.e. eta's n+4, * * n+5,n+6,n+7. The L1 rack data is layed out is a feasible way that it * * could arrive on the C40 Com Ports from the L1 rack ERPB cards. * * * * The Ref Set data is loaded into memory in a different layout than the * * rack data. The Ref Set data is loaded one Trigger Tower per C40 word. * * * * Ref Set data is stored in bits D0 through D7 of a C40 word with bits * * D8 through D31 all set to zero. The word order in which the Ref Set data * * stored matches the order in which Trig Towers are scanned to see if they * * are over the Ref Set Threshold. This is: at a given phi, eta's n+2, * * n+3, n+4, and n+5 then the next higher phi and the eta's repeat. Thus, * * it requires 128 C40 words to hold one Ref Set for a Local DSP. * * * * * * Recall that this DSP Node would be responsible for L15 Cal Trigger * * processing for eta's n+2, n+3, n+4, n+5 and that in addition this * * node has the L1 rack data eta's n, n+1, n+6, and n+7. * * * * Recall the arrangement of eta's in the racks: * * * * Rack Rack #1 Rack #2 * * Signal -------------------- --------------------- * * Names n n+1 n+2 n+3 n+4 n+5 n+6 n+7 * * * * This DSP Node -------------------------- * * is Responsible n+2 n+3 n+4 n+5 * * for these eta's * * * * * * The Trigger Tower data is stored in the on-chip C40 RAM. There is one * * block of data for the EM Et's from the rack that covers eta's = n:n+3, * * a second block of data for the Tot Et's from this rack, a third * * block of data for the EM Et's from the rack that covers eta's = n+4:n+7 * * and finally a fourth block of data for the Tot Et's from this rack. * * * * A block of Trigger Tower data is organized as follows: * * * * * * * * D31 D24 D23 D16 D15 D8 D7 D0 Lower C40 * * . . . . . Address * * +-------------+-------------+-------------+-------------+ * * | |eta| + 3 | |eta| + 2 | |eta| + 1 | |eta| | phi = 1 * * +-------------+-------------+-------------+-------------+ * * | |eta| + 3 | |eta| + 2 | |eta| + 1 | |eta| | phi = 2 * * +-------------+-------------+-------------+-------------+ * * | |eta| + 3 | |eta| + 2 | |eta| + 1 | |eta| | phi = 3 * * . . . . . * * . . . . . * * . . . . . * * | |eta| + 3 | |eta| + 2 | |eta| + 1 | |eta| | phi = 30 * * +-------------+-------------+-------------+-------------+ * * | |eta| + 3 | |eta| + 2 | |eta| + 1 | |eta| | phi = 31 * * +-------------+-------------+-------------+-------------+ * * | |eta| + 3 | |eta| + 2 | |eta| + 1 | |eta| | phi = 32 * * +-------------+-------------+-------------+-------------+ * * Higher C40 * * Address * * * * * * NOTES: While scanning for Trig Towers over the Ref Set Threshold we * * will scan from phi 1 through phi 32. * * * * The pointer symbol to Trig Tower data from a rack points to the * * phi 1 data. * * * * The bytes of a C40 word are numbered in two different ways in * * the Texas Instruments documentation: * * * * Data Bits "Comm Port Byte" LBUb C40 Instruction * * ----------- ---------------- ---------------------- * * D0:D7 1 0 * * D8:D15 2 1 * * D16:D23 3 2 * * D24:D31 4 3 * * * * * * * * 002F F800h : 002F F81Fh this is the EM Et Trigger Tower data from * * the first rack i.e. eta's = n:n+3 * * * * 002F F820h : 002F F83Fh this is empty space. This space is needed * * to allow the circular addressing to work * * correctly. * * * * 002F F840h : 002F F85Fh this is the Tot Et Trigger Tower data from * * the first rack i.e. eta's = n:n+3 * * * * 002F F860h : 002F F87Fh this is empty space. This space is needed * * to allow the circular addressing to work * * correctly. * * * * 002F F880h : 002F F89Fh this is the EM Et Trigger Tower data from * * the second rack i.e. eta's = n+4:n+7 * * * * 002F F8A0h : 002F F8BFh this is empty space. This space is needed * * to allow the circular addressing to work * * correctly. * * * * 002F F8C0h : 002F F8DFh this is the EM Et Trigger Tower data from * * the second rack i.e. eta's = n+4:n+7 * * * * * * * * The Trigger Tower data is not stored in the C40 with "repeated phi's", * * i.e. phi 1 and phi 2 are NOT repeated after phi 32; and phi 31 and * * phi 32 are NOT repeated in front of phi 1. These 4 repeated phi's might * * have been used for Tool Code but the C40 circular addressing mode is * * used in the Tool Code instead. * * * * The Reference Set data is stored starting near the bottom of Global * * SRAM i.e. 0C000 0000h. This DSP only stores the Reference Set * * values for the Trigger Towers that it is responsibile for. These * * Ref Set values are arranged in memory in the following order: * * At a given phi, eta's n+2, n+3, n+4, and n+5 then the next higher * * phi and the eta's repeat. * * * * The executable code is stored starting at the bottom of the Local * * SRAM i.e. 4000 0000h * * * ****************************************************************************** **************************************************************************** ***** This is the Trigger Tower Data Section for Rack #1 and Rack #2 ***** **************************************************************************** .sect "TT_Data" Rack_1_EM_Et_TT_Data_Loc: ; Storage location for the ; EM Et Trigger Tower data .eval 0,x ; from rack #1 i.e. eta's .loop ; n, n+1, n+2, and n+3. .word Zero_Energy_Response ; Stored at the base of .eval x+1,x ; on-chip RAM i.e. .break x=32 ; starting at 002F F800h .endloop First_Empty_Block_Loc: ; This empty space between ; the Rack 1 EM Data and .space 20h ; the Rack 1 Total Data is ; necessary to allow the ; C40 circular addressing ; mode to operate. Rack_1_Tot_Et_TT_Data_Loc: ; Storage location for the ; Tot Et Trigger Tower data .eval 0,x ; from rack #1 i.e. eta's .loop ; n, n+1, n+2, and n+3. .word Zero_Energy_Response ; Stored near the base of .eval x+1,x ; on-chip RAM i.e. .break x=32 ; starting at 002F F840h .endloop Second_Empty_Block_Loc: ; This empty space between ; the Rack 1 Total Data .space 20h ; the Rack 1 EM Data is ; necessary to allow the ; C40 circular addressing ; mode to operate. Rack_2_EM_Et_TT_Data_Loc: ; Storage location for the ; EM Et Trigger Tower data .eval 0,x ; from rack #2 i.e. eta's .loop ; n+4, n+5, n+6, and n+7. .word Zero_Energy_Response ; Stored near the base of .eval x+1,x ; on-chip RAM i.e. .break x=32 ; starting at 002F F880h .endloop Third_Empty_Block_Loc: ; This empty space between ; the Rack 2 EM Data and .space 20h ; the Rack 2 Total Data is ; necessary to allow the ; C40 circular addressing ; mode to operate. Rack_2_Tot_Et_TT_Data_Loc: ; Storage location for the ; Tot Et Trigger Tower data .eval 0,x ; from rack #2 i.e. eta's .loop ; n+4, n+5, n+6, and n+7. .word Zero_Energy_Response ; Stored near the base of .eval x+1,x ; on-chip RAM i.e. .break x=32 ; starting at 002F F8C0h .endloop Zero_Energy_Response .set 08080808h ; For this test, the zero ; energy response is 8 ADC ; counts for all Trigger ; Towers, i.e. there is ; no eta,phi dependents. ****************************************************************************** * Cross-References * ****************************************************************************** .def Rack_1_EM_Et_TT_Data_Loc ; Define these symbols in this .def Rack_1_Tot_Et_TT_Data_Loc ; module and make them global to .def Rack_2_EM_Et_TT_Data_Loc ; reference from other modules. .def Rack_2_Tot_Et_TT_Data_Loc **************************************************************************** ***** This is the Reference Set Data Section ***** **************************************************************************** .sect "Ref_Data" Ref_Set_Data_Loc: ; Storage location of the ; Reference Set data. .eval 0,x ; This is located at the .loop ; base of Hydra-II Global .word Ref_Set_Value_Default ; memory i.e. near (but not .eval x+1,x ; starting at) 0C0000000h. .break x=128 .endloop Ref_Set_Value_Default .set 00000030h ; 40 decimal counts above the ; Zero Energy Response i.e. ; 10 GeV. ****************************************************************************** * Cross-References * ****************************************************************************** .def Ref_Set_Data_Loc ; Define these symbols in this ; module and make them global to ; reference from other modules. .end