File: Memory_and_Register_Map.Txt Date: 19-DEC-1995 This file describes the Memory and Register usage for the L1.5 CalTrig DSPs --------------------------- Local DSPS --------------------------- Memory Usage: ------------ On-chip RAM Block #0: 002F F800 - 002F FBFF Address : Contains ------- -------- 002F F800 - 002F F81F : EM Et TT Data for Rack #1 (n+0..n+3) 002F F820 - 002F F83F : Unused 002F F840 - 002F F85F : Total Et TT Data for Rack #1 (n+0..n+3) 002F F860 - 002F F87F : Unused 002F F880 - 002F F89F : EM Et TT Data for Rack #2 (n+4..n+7) 002F F8A0 - 002F F8BF : Unused 002F F8C0 - 002F F8DF : Total Et TT Data for Rack #2 (n+4..n+7) 002F F8E0 - 002F FBFF : Unused On-chip RAM Block #1: 002F FC00 - 002F FFFF 002F FC00 : Local DSP Section Longwords to Follow Count 002F FC01 - 002F FC19 : List of Identified Objects for LDSP #A2 002F FC1A - 002F FC32 : List of Identified Objects for LDSP #A3 002F FC33 - 002F FC4B : List of Identified Objects for LDSP #A4 002F FC4C - 002F FC64 : List of Identified Objects for LDSP #A1 002F FC65 - 002F FC7D : List of Identified Objects for LDSP #B3 002F FC7E - 002F FC96 : List of Identified Objects for LDSP #B4 002F FC97 - 002F FCAF : List of Identified Objects for LDSP #B1 002F FCB0 - 002F FCC9 : List of Identified Objects for LDSP #C3 002F FCC9 - 002F FCE1 : List of Identified Objects for LDSP #C4 002F FCE2 - 002F FCFA : List of Identified Objects for LDSP #C1 002F FCFB - 002F FD13 : List of Identified Objects for LDSP #C2 002F FD14 : Global DSP Section Longwords to Follow Count 002F FD15 - 002F FD55 : List of Identified Objects for Global DSP Local SRAM: 4000 0000 - 4000 3FFF 4000 0000 - 4000 3FFF : Executable Code Global SRAM: C000 0000 - C000 3FFF C000 0000 - C000 01FF : Trap Vector Table C000 0200 - C000 023F : Interrupt Vector Table C000 0240 - C000 043F : Stack Space C000 0440 - C000 3FFF : Constants and Working Variables Dual Port SRAM: 8000 0000 - 8000 1FFF 8000 0000 - 8000 001f : Universal Parameter Block 8000 0020 - 8000 031f : Term Parameter Block for Frame, Local, and Global 8000 0320 - 8000 045f : Reference Set Block for eta -20..-19 (LDSP A2) 8000 0460 - 8000 059f : Reference Set Block for eta -18..-15 (LDSP A3) 8000 05a0 - 8000 06df : Reference Set Block for eta -14..-11 (LDSP A4) 8000 06e0 - 8000 081f : Reference Set Block for eta -10..-7 (LDSP A1) 8000 0820 - 8000 095f : Reference Set Block for eta -6..-3 (LDSP B3) 8000 0960 - 8000 0a9f : Reference Set Block for eta -2..+2 (LDSP B4) 8000 0aa0 - 8000 0bdf : Reference Set Block for eta +3..+6 (LDSP B1) 8000 0be0 - 8000 0d1f : Reference Set Block for eta +7..+10 (LDSP C3) 8000 0d20 - 8000 0e5f : Reference Set Block for eta +11..+14 (LDSP C4) 8000 0e60 - 8000 0f9f : Reference Set Block for eta +15..+18 (LDSP C1) 8000 0fa0 - 8000 10df : Reference Set Block for eta +19..+20 (LDSP C2) 8000 10e0 - 8000 1ebf : Unallocated for now 8000 1ec0 - 8000 1ec7 : Local DSP (LDSP A2) inter-DSP Status [8 lw] 8000 1ec8 - 8000 1ecf : Local DSP (LDSP A3) inter-DSP Status [8 lw] 8000 1ed0 - 8000 1ed7 : Local DSP (LDSP A4) inter-DSP Status [8 lw] 8000 1ed8 - 8000 1edf : Local DSP (LDSP A1) inter-DSP Status [8 lw] 8000 1ee0 - 8000 1ee7 : Local DSP (LDSP B3) inter-DSP Status [8 lw] 8000 1ee8 - 8000 1eef : Local DSP (LDSP B4) inter-DSP Status [8 lw] 8000 1ef0 - 8000 1ef7 : Local DSP (LDSP B1) inter-DSP Status [8 lw] 8000 1ef8 - 8000 1eff : Local DSP (LDSP C3) inter-DSP Status [8 lw] 8000 1f00 - 8000 1f07 : Local DSP (LDSP C4) inter-DSP Status [8 lw] 8000 1f08 - 8000 1f0f : Local DSP (LDSP C1) inter-DSP Status [8 lw] 8000 1f10 - 8000 1f17 : Local DSP (LDSP C2) inter-DSP Status [8 lw] 8000 1f18 - 8000 1f1f : Global DSP (GDSP B2) inter-DSP Status [8 lw] 8000 1f20 - 8000 1f27 : Local DSP (LDSP A2) Status to 68K [8 lw] 8000 1f28 - 8000 1f2f : Local DSP (LDSP A3) Status to 68K [8 lw] 8000 1f30 - 8000 1f37 : Local DSP (LDSP A4) Status to 68K [8 lw] 8000 1f38 - 8000 1f3f : Local DSP (LDSP A1) Status to 68K [8 lw] 8000 1f40 - 8000 1f47 : Local DSP (LDSP B3) Status to 68K [8 lw] 8000 1f48 - 8000 1f4f : Local DSP (LDSP B4) Status to 68K [8 lw] 8000 1f50 - 8000 1f57 : Local DSP (LDSP B1) Status to 68K [8 lw] 8000 1f58 - 8000 1f5f : Local DSP (LDSP C3) Status to 68K [8 lw] 8000 1f60 - 8000 1f67 : Local DSP (LDSP C4) Status to 68K [8 lw] 8000 1f68 - 8000 1f6f : Local DSP (LDSP C1) Status to 68K [8 lw] 8000 1f70 - 8000 1f77 : Local DSP (LDSP C2) Status to 68K [8 lw] 8000 1f78 - 8000 1f7f : Global DSP (GDSP B2) Status to 68K [8 lw] 8000 1f80 - 8000 1f8f : 68K Status (to all DSPs) [16 longwords] 8000 1f90 - 8000 1f97 : Local DSP (LDSP A2) Status to TCC [8 lw] 8000 1f98 - 8000 1f9f : Local DSP (LDSP A3) Status to TCC [8 lw] 8000 1fa0 - 8000 1fa7 : Local DSP (LDSP A4) Status to TCC [8 lw] 8000 1fa8 - 8000 1faf : Local DSP (LDSP A1) Status to TCC [8 lw] 8000 1fb0 - 8000 1fb7 : Local DSP (LDSP B3) Status to TCC [8 lw] 8000 1fb8 - 8000 1fbf : Local DSP (LDSP B4) Status to TCC [8 lw] 8000 1fc0 - 8000 1fc7 : Local DSP (LDSP B1) Status to TCC [8 lw] 8000 1fc8 - 8000 1fcf : Local DSP (LDSP C3) Status to TCC [8 lw] 8000 1fd0 - 8000 1fd7 : Local DSP (LDSP C4) Status to TCC [8 lw] 8000 1fd8 - 8000 1fdf : Local DSP (LDSP C1) Status to TCC [8 lw] 8000 1fe0 - 8000 1fe7 : Local DSP (LDSP C2) Status to TCC [8 lw] 8000 1fe8 - 8000 1fef : Global DSP (GDSP B2) Status to TCC [8 lw] 8000 1ff0 - 8000 1fff : TCC Status (to all DSPs) [16 longwords] Register Usage: -------------- Reg Contents Flags --- -------- ----- R0 : TT Tot Et for ETA = n+2, n+4 Variable, Global, Meaningful R1 : TT Tot Et for ETA = n+3, n+5 Variable, Global, Meaningful R2 : Valid Object Counter Variable, Global, Meaningful R3 : 1x2 EM Et Sum Variable, Global, Meaningful R4 : Accept vs. Reject flag Variable, Global, Meaningful R5 : 3x3 Total Et Sum Variable, Global, Meaningful R6 : Mask of Full TT Data Blocks (in Scan) Variable, Global, Meaningful 1x2 Total Et Sum (in Tools) Variable, Global, Meaningful R7 : DSP Wakeup Word (in Scan) Variable, Local, Meaningful 5x5 Total Et Sum (in Tools) Variable, Local, Meaningful R8 : Status to 68K Word Variable, Local, Meaningful R9 : Working Extended-Precision Register Destroyable R10 : Working Extended-Precision Register Destroyable R11 : Working Extended-Precision Register Destroyable AR0 : Pointer for Rack #1 EM TT Data Variable, Global, Meaningful AR1 : Pointer for Rack #2 EM TT Data Variable, Global, Meaningful AR2 : Pointer for Reference Set Data Variable, Local, Meaningful AR3 : Pointer to Object List Entry Variable, Global, Meaningful AR4 : Pointer to Internal Peripheral Base Constant, Global, Meaningful AR5 : Pointer to LDSP-to-68K Status Base Constant, Global, Meaningful AR6 : Working Auxiliary Register Destroyable AR7 : Working Auxiliary Register Destroyable DP : Pointer to Base of Global SRAM Constant, Global, Meaningful IR0 : IR1 : Working Index Register Destroyable BK : Length of a TT Data Block Constant, Global, Meaningful Key to Flags: Variable : This register may change as the program executes. Constant : This register should be set once after booting and then never be modified. Local : This register is not shared between modules (i.e. only used locally) Global : This register is shared between modules (i.e. used globally) Destroyable : This register can be destroyed by any module (i.e. it is a temporary, working register). All "Destroyable" registers are by definition "Local" and "Variable". Meaningful : This register should not be destroyed by any module. If the register is also Global, then a module may modify the register to return meaningful results to another module --------------------------- Global DSP --------------------------- Memory Usage: ------------ On-chip RAM Block #0: 002F F800 - 002F FBFF Address : Contains ------- -------- 002F F800 - 002F FBFF : Unused On-chip RAM Block #1: 002F FC00 - 002F FFFF 002F FC00 : Local DSP Section Longwords to Follow Count 002F FC01 - 002F FC19 : List of Identified Objects for LDSP #A2 002F FC1A - 002F FC32 : List of Identified Objects for LDSP #A3 002F FC33 - 002F FC4B : List of Identified Objects for LDSP #A4 002F FC4C - 002F FC64 : List of Identified Objects for LDSP #A1 002F FC65 - 002F FC7D : List of Identified Objects for LDSP #B3 002F FC7E - 002F FC96 : List of Identified Objects for LDSP #B4 002F FC97 - 002F FCAF : List of Identified Objects for LDSP #B1 002F FCB0 - 002F FCC9 : List of Identified Objects for LDSP #C3 002F FCC9 - 002F FCE1 : List of Identified Objects for LDSP #C4 002F FCE2 - 002F FCFA : List of Identified Objects for LDSP #C1 002F FCFB - 002F FD13 : List of Identified Objects for LDSP #C2 002F FD14 : Global DSP Section Longwords to Follow Count 002F FD15 - 002F FD55 : List of Identified Objects for Global DSP Local SRAM: 4000 0000 - 4000 3FFF 4000 0000 - 4000 3FFF : Executable Code Global SRAM: C000 0000 - C000 3FFF C000 0000 - C000 01FF : Trap Vector Table C000 0200 - C000 023F : Interrupt Vector Table C000 0240 - C000 043F : Stack Space C000 0440 - C000 3FFF : Constants and Working Variables (including temporary storage for Local DSP Mark and Force Pass Data) Dual Port SRAM: 8000 0000 - 8000 1FFF 8000 0000 - 8000 001f : Universal Parameter Block 8000 0020 - 8000 031f : Term Parameter Block for Frame, Local, and Global 8000 0320 - 8000 045f : Reference Set Block for eta -20..-19 (LDSP A2) 8000 0460 - 8000 059f : Reference Set Block for eta -18..-15 (LDSP A3) 8000 05a0 - 8000 06df : Reference Set Block for eta -14..-11 (LDSP A4) 8000 06e0 - 8000 081f : Reference Set Block for eta -10..-7 (LDSP A1) 8000 0820 - 8000 095f : Reference Set Block for eta -6..-3 (LDSP B3) 8000 0960 - 8000 0a9f : Reference Set Block for eta -2..+2 (LDSP B4) 8000 0aa0 - 8000 0bdf : Reference Set Block for eta +3..+6 (LDSP B1) 8000 0be0 - 8000 0d1f : Reference Set Block for eta +7..+10 (LDSP C3) 8000 0d20 - 8000 0e5f : Reference Set Block for eta +11..+14 (LDSP C4) 8000 0e60 - 8000 0f9f : Reference Set Block for eta +15..+18 (LDSP C1) 8000 0fa0 - 8000 10df : Reference Set Block for eta +19..+20 (LDSP C2) 8000 10e0 - 8000 1ebf : Unallocated for now 8000 1ec0 - 8000 1ec7 : Local DSP (LDSP A2) inter-DSP Status [8 lw] 8000 1ec8 - 8000 1ecf : Local DSP (LDSP A3) inter-DSP Status [8 lw] 8000 1ed0 - 8000 1ed7 : Local DSP (LDSP A4) inter-DSP Status [8 lw] 8000 1ed8 - 8000 1edf : Local DSP (LDSP A1) inter-DSP Status [8 lw] 8000 1ee0 - 8000 1ee7 : Local DSP (LDSP B3) inter-DSP Status [8 lw] 8000 1ee8 - 8000 1eef : Local DSP (LDSP B4) inter-DSP Status [8 lw] 8000 1ef0 - 8000 1ef7 : Local DSP (LDSP B1) inter-DSP Status [8 lw] 8000 1ef8 - 8000 1eff : Local DSP (LDSP C3) inter-DSP Status [8 lw] 8000 1f00 - 8000 1f07 : Local DSP (LDSP C4) inter-DSP Status [8 lw] 8000 1f08 - 8000 1f0f : Local DSP (LDSP C1) inter-DSP Status [8 lw] 8000 1f10 - 8000 1f17 : Local DSP (LDSP C2) inter-DSP Status [8 lw] 8000 1f18 - 8000 1f1f : Global DSP (GDSP B2) inter-DSP Status [8 lw] 8000 1f20 - 8000 1f27 : Local DSP (LDSP A2) Status to 68K [8 lw] 8000 1f28 - 8000 1f2f : Local DSP (LDSP A3) Status to 68K [8 lw] 8000 1f30 - 8000 1f37 : Local DSP (LDSP A4) Status to 68K [8 lw] 8000 1f38 - 8000 1f3f : Local DSP (LDSP A1) Status to 68K [8 lw] 8000 1f40 - 8000 1f47 : Local DSP (LDSP B3) Status to 68K [8 lw] 8000 1f48 - 8000 1f4f : Local DSP (LDSP B4) Status to 68K [8 lw] 8000 1f50 - 8000 1f57 : Local DSP (LDSP B1) Status to 68K [8 lw] 8000 1f58 - 8000 1f5f : Local DSP (LDSP C3) Status to 68K [8 lw] 8000 1f60 - 8000 1f67 : Local DSP (LDSP C4) Status to 68K [8 lw] 8000 1f68 - 8000 1f6f : Local DSP (LDSP C1) Status to 68K [8 lw] 8000 1f70 - 8000 1f77 : Local DSP (LDSP C2) Status to 68K [8 lw] 8000 1f78 - 8000 1f7f : Global DSP (GDSP B2) Status to 68K [8 lw] 8000 1f80 - 8000 1f8f : 68K Status (to all DSPs) [16 longwords] 8000 1f90 - 8000 1f97 : Local DSP (LDSP A2) Status to TCC [8 lw] 8000 1f98 - 8000 1f9f : Local DSP (LDSP A3) Status to TCC [8 lw] 8000 1fa0 - 8000 1fa7 : Local DSP (LDSP A4) Status to TCC [8 lw] 8000 1fa8 - 8000 1faf : Local DSP (LDSP A1) Status to TCC [8 lw] 8000 1fb0 - 8000 1fb7 : Local DSP (LDSP B3) Status to TCC [8 lw] 8000 1fb8 - 8000 1fbf : Local DSP (LDSP B4) Status to TCC [8 lw] 8000 1fc0 - 8000 1fc7 : Local DSP (LDSP B1) Status to TCC [8 lw] 8000 1fc8 - 8000 1fcf : Local DSP (LDSP C3) Status to TCC [8 lw] 8000 1fd0 - 8000 1fd7 : Local DSP (LDSP C4) Status to TCC [8 lw] 8000 1fd8 - 8000 1fdf : Local DSP (LDSP C1) Status to TCC [8 lw] 8000 1fe0 - 8000 1fe7 : Local DSP (LDSP C2) Status to TCC [8 lw] 8000 1fe8 - 8000 1fef : Global DSP (GDSP B2) Status to TCC [8 lw] 8000 1ff0 - 8000 1fff : TCC Status (to all DSPs) [16 longwords] MVME-214 Memory Card: 0040 0000 - 0040 7fff 0040 0000 : Crate Header Section Longwords to Follow Count 0040 0001 - 0040 0006 : Crate Header Section 0040 0007 : Frame Section Longwords to Follow Count 0040 0008 - 0040 000c : Frame Section 0040 000d : Frame Param Data Section LW to Follow Count 0040 000e - 0040 009e : Frame Param Data Section (space for everything reserved, but won't fill it all) 0040 009f : Tool Param Data Section LW to Follow Count 0040 00a0 - 0040 01a0 : Tool Param Data Section (space for everything reserved, but won't fill it all) 0040 01a1 : Local DSP Section Longwords to Follow Count 0040 01a2 - 0040 01ba : Local DSP Section for LDSP #A2 0040 01bb - 0040 01d3 : Local DSP Section for LDSP #A3 0040 01d4 - 0040 01ec : Local DSP Section for LDSP #A4 0040 01ed - 0040 0205 : Local DSP Section for LDSP #A1 0040 0206 - 0040 021e : Local DSP Section for LDSP #B3 0040 021f - 0040 0237 : Local DSP Section for LDSP #B4 0040 0238 - 0040 0250 : Local DSP Section for LDSP #B1 0040 0251 - 0040 0269 : Local DSP Section for LDSP #C3 0040 026a - 0040 0282 : Local DSP Section for LDSP #C4 0040 0283 - 0040 029b : Local DSP Section for LDSP #C1 0040 029c - 0040 02b4 : Local DSP Section for LDSP #C2 0040 02b5 : Global DSP Section Longwords to Follow Count 0040 02b6 - 0040 02f6 : Global DSP Section for GDSP (#B2) 0040 02f7 : Mark and Pass Section Longwords to Follow Count 0040 02f8 - 0040 02f9 : Mark and Force Pass Data for 68K 0040 02fa - 0040 0403 : Mark and Force Pass Data for LDSP #A2 \ 0040 041d - 0040 053f : Mark and Force Pass Data for LDSP #A3 | for 0040 0540 - 0040 0662 : Mark and Force Pass Data for LDSP #A4 | Mark 0040 0663 - 0040 0785 : Mark and Force Pass Data for LDSP #A1 | and 0040 0786 - 0040 08a8 : Mark and Force Pass Data for LDSP #B3 | Force 0040 08a9 - 0040 09cb : Mark and Force Pass Data for LDSP #B4 | Pass 0040 09cc - 0040 0aee : Mark and Force Pass Data for LDSP #B1 | Events 0040 0aef - 0040 0c11 : Mark and Force Pass Data for LDSP #C3 | 0040 0c12 - 0040 0d34 : Mark and Force Pass Data for LDSP #C4 | 0040 0d35 - 0040 0e57 : Mark and Force Pass Data for LDSP #C1 | 0040 0e58 - 0040 0f7a : Mark and Force Pass Data for LDSP #C2 | | 0040 0f7b - 0040 0f7c : MFP Entry Type #4 / 0040 02fa - 0040 02fb : MFP Entry Type #4 for NON Mark-Pass Events 0040 0f7c - 0040 7fff : Unused Register Usage: -------------- Reg Contents Flags --- -------- ----- R0 : Term 0/1 electron counts Variable, Local, Meaningful R1 : Term 2/3 electron counts Variable, Local, Meaningful R2 : Mask of Passed Terms Variable, Local, Meaningful R3 : Term 0 jet phi mask R4 : Term 1 jet phi mask R5 : Term 2 jet phi mask R6 : Mask of Loc-Globl Transfers Complete Variable, Global, Meaningful R7 : DSP Wakeup Word Variable, Local, Meaningful Term 3 jet phi mask (2 nonoverlapping uses) R8 : Status to EC Word Variable, Local, Meaningful R9 : Working Extended-Precision Register Destroyable R10 : Working Extended-Precision Register Destroyable R11 : Working Extended-Precision Register Destroyable AR0 : Pointer to Local Count Lists Variable, Local, Meaningful AR1 : Variable, Local, Meaningful AR2 : AR3 : AR4 : Pointer to Internal Peripheral Base Constant, Global, Meaningful AR5 : Pointer to GDSP-to-68K Status Base Constant, Global, Meaningful AR6 : Working Auxiliary Register Destroyable AR7 : Working Auxiliary Register Destroyable DP : Pointer to Base of Global SRAM Constant, Global, Meaningful IR0 : IR1 : Working Index Register Destroyable BK :