##// END OF EJS Templates
FINETIME_PER_SM_x constants added
paul -
r63:f97721719ddb R3++
parent child
Show More
@@ -1,108 +1,111
1 #ifndef FSW_PARAMS_PROCESSING_H
1 #ifndef FSW_PARAMS_PROCESSING_H
2 #define FSW_PARAMS_PROCESSING_H
2 #define FSW_PARAMS_PROCESSING_H
3
3
4 #define CHANNELF0 0
4 #define CHANNELF0 0
5 #define CHANNELF1 1
5 #define CHANNELF1 1
6 #define CHANNELF2 2
6 #define CHANNELF2 2
7 #define CHANNELF3 3
7 #define CHANNELF3 3
8
8
9 #define FINETIME_PER_SM_F0 683 // 65536 / 96 = 682.6667
10 #define FINETIME_PER_SM_F1 4096 // 65536 / 16
11 #define FINETIME_PER_SM_F2 65536 // 65536 / 1
9 #define NB_SM_PER_S_F0 96
12 #define NB_SM_PER_S_F0 96
10 #define NB_SM_PER_S_F1 16
13 #define NB_SM_PER_S_F1 16
11 #define NB_SM_PER_S_F2 1
14 #define NB_SM_PER_S_F2 1
12 #define NB_SM_PER_S1_BP_P0 24
15 #define NB_SM_PER_S1_BP_P0 24
13
16
14 #define ASM_COMP_B1B2 1
17 #define ASM_COMP_B1B2 1
15 #define ASM_COMP_B1B3 3
18 #define ASM_COMP_B1B3 3
16 #define ASM_COMP_B1E1 5
19 #define ASM_COMP_B1E1 5
17 #define ASM_COMP_B1E2 7
20 #define ASM_COMP_B1E2 7
18 #define ASM_COMP_B2B3 10
21 #define ASM_COMP_B2B3 10
19 #define ASM_COMP_B2E1 12
22 #define ASM_COMP_B2E1 12
20 #define ASM_COMP_B2E2 14
23 #define ASM_COMP_B2E2 14
21 #define ASM_COMP_B3E1 17
24 #define ASM_COMP_B3E1 17
22 #define ASM_COMP_B3E2 19
25 #define ASM_COMP_B3E2 19
23 #define ASM_COMP_E1E2 22
26 #define ASM_COMP_E1E2 22
24 #define ASM_COMP_B1B1 0
27 #define ASM_COMP_B1B1 0
25 #define ASM_COMP_B2B2 9
28 #define ASM_COMP_B2B2 9
26 #define ASM_COMP_B3B3 16
29 #define ASM_COMP_B3B3 16
27 #define ASM_COMP_E1E1 21
30 #define ASM_COMP_E1E1 21
28 #define ASM_COMP_E2E2 24
31 #define ASM_COMP_E2E2 24
29
32
30 #define SM_BYTES_PER_VAL 2
33 #define SM_BYTES_PER_VAL 2
31 #define NB_BINS_PER_SM 128
34 #define NB_BINS_PER_SM 128
32 #define NB_VALUES_PER_SM 25
35 #define NB_VALUES_PER_SM 25
33 #define TOTAL_SIZE_SM 3200 // 25 * 128 = 0xC80
36 #define TOTAL_SIZE_SM 3200 // 25 * 128 = 0xC80
34 #define TOTAL_SIZE_NORM_BP1_F0 99 // 11 * 9 = 99
37 #define TOTAL_SIZE_NORM_BP1_F0 99 // 11 * 9 = 99
35 #define TOTAL_SIZE_NORM_BP1_F1 117 // 13 * 9 = 117
38 #define TOTAL_SIZE_NORM_BP1_F1 117 // 13 * 9 = 117
36 #define TOTAL_SIZE_NORM_BP1_F2 108 // 12 * 9 = 108
39 #define TOTAL_SIZE_NORM_BP1_F2 108 // 12 * 9 = 108
37 #define TOTAL_SIZE_SBM1_BP1_F0 198 // 22 * 9 = 198
40 #define TOTAL_SIZE_SBM1_BP1_F0 198 // 22 * 9 = 198
38 // F0
41 // F0
39 #define NB_RING_NODES_SM_F0 20 // AT LEAST 8 due to the way the averaging is done
42 #define NB_RING_NODES_SM_F0 20 // AT LEAST 8 due to the way the averaging is done
40 #define NB_RING_NODES_ASM_BURST_SBM_F0 10 // AT LEAST 3
43 #define NB_RING_NODES_ASM_BURST_SBM_F0 10 // AT LEAST 3
41 #define NB_RING_NODES_ASM_NORM_F0 10 // AT LEAST 3
44 #define NB_RING_NODES_ASM_NORM_F0 10 // AT LEAST 3
42 #define NB_RING_NODES_ASM_F0 3 // AT LEAST 3
45 #define NB_RING_NODES_ASM_F0 3 // AT LEAST 3
43 // F1
46 // F1
44 #define NB_RING_NODES_SM_F1 12 // AT LEAST 8 due to the way the averaging is done
47 #define NB_RING_NODES_SM_F1 12 // AT LEAST 8 due to the way the averaging is done
45 #define NB_RING_NODES_ASM_BURST_SBM_F1 5 // AT LEAST 3
48 #define NB_RING_NODES_ASM_BURST_SBM_F1 5 // AT LEAST 3
46 #define NB_RING_NODES_ASM_NORM_F1 5 // AT LEAST 3
49 #define NB_RING_NODES_ASM_NORM_F1 5 // AT LEAST 3
47 #define NB_RING_NODES_ASM_F1 3 // AT LEAST 3
50 #define NB_RING_NODES_ASM_F1 3 // AT LEAST 3
48 // F2
51 // F2
49 #define NB_RING_NODES_SM_F2 5 // AT LEAST 3
52 #define NB_RING_NODES_SM_F2 5 // AT LEAST 3
50 #define NB_RING_NODES_ASM_NORM_F2 3 // AT LEAST 3
53 #define NB_RING_NODES_ASM_NORM_F2 3 // AT LEAST 3
51 #define NB_RING_NODES_ASM_F2 3 // AT LEAST 3
54 #define NB_RING_NODES_ASM_F2 3 // AT LEAST 3
52 //
55 //
53 #define NB_BINS_PER_ASM_F0 88
56 #define NB_BINS_PER_ASM_F0 88
54 #define NB_BINS_PER_PKT_ASM_F0_1 32
57 #define NB_BINS_PER_PKT_ASM_F0_1 32
55 #define NB_BINS_PER_PKT_ASM_F0_2 24
58 #define NB_BINS_PER_PKT_ASM_F0_2 24
56 #define DLEN_ASM_F0_PKT_1 3200 // 32 * 25 * 4, 25 components per matrix, 4 bytes per float
59 #define DLEN_ASM_F0_PKT_1 3200 // 32 * 25 * 4, 25 components per matrix, 4 bytes per float
57 #define DLEN_ASM_F0_PKT_2 2400 // 24 * 25 * 4, 25 components per matrix, 4 bytes per float
60 #define DLEN_ASM_F0_PKT_2 2400 // 24 * 25 * 4, 25 components per matrix, 4 bytes per float
58 #define ASM_F0_INDICE_START 16 // 17 - 1, (-1) due to the VHDL behaviour
61 #define ASM_F0_INDICE_START 16 // 17 - 1, (-1) due to the VHDL behaviour
59 #define ASM_F0_INDICE_STOP 103 // 104 - 1, 2 packets of 44 bins
62 #define ASM_F0_INDICE_STOP 103 // 104 - 1, 2 packets of 44 bins
60 //
63 //
61 #define NB_BINS_PER_ASM_F1 104
64 #define NB_BINS_PER_ASM_F1 104
62 #define NB_BINS_PER_PKT_ASM_F1_1 36
65 #define NB_BINS_PER_PKT_ASM_F1_1 36
63 #define NB_BINS_PER_PKT_ASM_F1_2 32
66 #define NB_BINS_PER_PKT_ASM_F1_2 32
64 #define DLEN_ASM_F1_PKT_1 3600 // 36 * 25 * 4, 25 components per matrix, 4 bytes per float
67 #define DLEN_ASM_F1_PKT_1 3600 // 36 * 25 * 4, 25 components per matrix, 4 bytes per float
65 #define DLEN_ASM_F1_PKT_2 3200 // 32 * 25 * 4, 25 components per matrix, 4 bytes per float
68 #define DLEN_ASM_F1_PKT_2 3200 // 32 * 25 * 4, 25 components per matrix, 4 bytes per float
66 #define ASM_F1_INDICE_START 5 // 6 - 1, (-1) due to the VHDL behaviour
69 #define ASM_F1_INDICE_START 5 // 6 - 1, (-1) due to the VHDL behaviour
67 #define ASM_F1_INDICE_STOP 108 // 109 - 1, 2 packets of 52 bins
70 #define ASM_F1_INDICE_STOP 108 // 109 - 1, 2 packets of 52 bins
68 //
71 //
69 #define NB_BINS_PER_ASM_F2 96
72 #define NB_BINS_PER_ASM_F2 96
70 #define NB_BINS_PER_PKT_ASM_F2 32
73 #define NB_BINS_PER_PKT_ASM_F2 32
71 #define DLEN_ASM_F2_PKT 3200 // 32 * 25 * 4, 25 components per matrix, 4 bytes per float
74 #define DLEN_ASM_F2_PKT 3200 // 32 * 25 * 4, 25 components per matrix, 4 bytes per float
72 #define ASM_F2_INDICE_START 6 // 7 - 1, (-1) due to the VHDL behaviour
75 #define ASM_F2_INDICE_START 6 // 7 - 1, (-1) due to the VHDL behaviour
73 #define ASM_F2_INDICE_STOP 101 // 102 - 1, 2 packets of 48 bins
76 #define ASM_F2_INDICE_STOP 101 // 102 - 1, 2 packets of 48 bins
74 //
77 //
75 #define KCOEFF_BLK_SIZE 130
78 #define KCOEFF_BLK_SIZE 130
76 #define KCOEFF_FREQ 2
79 #define KCOEFF_FREQ 2
77 #define NB_BINS_COMPRESSED_SM_F0 11
80 #define NB_BINS_COMPRESSED_SM_F0 11
78 #define NB_BINS_COMPRESSED_SM_F1 13
81 #define NB_BINS_COMPRESSED_SM_F1 13
79 #define NB_BINS_COMPRESSED_SM_F2 12
82 #define NB_BINS_COMPRESSED_SM_F2 12
80 #define NB_BINS_COMPRESSED_SM 36 // 11 + 12 + 13
83 #define NB_BINS_COMPRESSED_SM 36 // 11 + 12 + 13
81 #define NB_BINS_COMPRESSED_SM_SBM_F0 22
84 #define NB_BINS_COMPRESSED_SM_SBM_F0 22
82 #define NB_BINS_COMPRESSED_SM_SBM_F1 26
85 #define NB_BINS_COMPRESSED_SM_SBM_F1 26
83 #define NB_BINS_COMPRESSED_SM_SBM_F2 24
86 #define NB_BINS_COMPRESSED_SM_SBM_F2 24
84 //
87 //
85 #define NB_BYTES_PER_BP1 9
88 #define NB_BYTES_PER_BP1 9
86 #define NB_BYTES_PER_BP2 30
89 #define NB_BYTES_PER_BP2 30
87 //
90 //
88 #define NB_BINS_TO_AVERAGE_ASM_F0 8
91 #define NB_BINS_TO_AVERAGE_ASM_F0 8
89 #define NB_BINS_TO_AVERAGE_ASM_F1 8
92 #define NB_BINS_TO_AVERAGE_ASM_F1 8
90 #define NB_BINS_TO_AVERAGE_ASM_F2 8
93 #define NB_BINS_TO_AVERAGE_ASM_F2 8
91 #define NB_BINS_TO_AVERAGE_ASM_SBM_F0 4
94 #define NB_BINS_TO_AVERAGE_ASM_SBM_F0 4
92 #define NB_BINS_TO_AVERAGE_ASM_SBM_F1 4
95 #define NB_BINS_TO_AVERAGE_ASM_SBM_F1 4
93 #define NB_BINS_TO_AVERAGE_ASM_SBM_F2 4
96 #define NB_BINS_TO_AVERAGE_ASM_SBM_F2 4
94 //
97 //
95 #define TOTAL_SIZE_COMPRESSED_ASM_NORM_F0 275 // 11 * 25 WORDS
98 #define TOTAL_SIZE_COMPRESSED_ASM_NORM_F0 275 // 11 * 25 WORDS
96 #define TOTAL_SIZE_COMPRESSED_ASM_NORM_F1 325 // 13 * 25 WORDS
99 #define TOTAL_SIZE_COMPRESSED_ASM_NORM_F1 325 // 13 * 25 WORDS
97 #define TOTAL_SIZE_COMPRESSED_ASM_NORM_F2 300 // 12 * 25 WORDS
100 #define TOTAL_SIZE_COMPRESSED_ASM_NORM_F2 300 // 12 * 25 WORDS
98 #define TOTAL_SIZE_COMPRESSED_ASM_SBM_F0 550 // 22 * 25 WORDS
101 #define TOTAL_SIZE_COMPRESSED_ASM_SBM_F0 550 // 22 * 25 WORDS
99 #define TOTAL_SIZE_COMPRESSED_ASM_SBM_F1 650 // 26 * 25 WORDS
102 #define TOTAL_SIZE_COMPRESSED_ASM_SBM_F1 650 // 26 * 25 WORDS
100 #define TOTAL_SIZE_BP1_NORM_F0 99 // 9 * 11 UNSIGNED CHAR
103 #define TOTAL_SIZE_BP1_NORM_F0 99 // 9 * 11 UNSIGNED CHAR
101 #define TOTAL_SIZE_BP2_NORM_F0 330 // 30 * 11 UNSIGNED CHAR
104 #define TOTAL_SIZE_BP2_NORM_F0 330 // 30 * 11 UNSIGNED CHAR
102 #define TOTAL_SIZE_BP1_SBM_F0 198 // 9 * 22 UNSIGNED CHAR
105 #define TOTAL_SIZE_BP1_SBM_F0 198 // 9 * 22 UNSIGNED CHAR
103 // GENERAL
106 // GENERAL
104 #define NB_SM_BEFORE_AVF0_F1 8 // must be 8 due to the SM_average() function
107 #define NB_SM_BEFORE_AVF0_F1 8 // must be 8 due to the SM_average() function
105 #define NB_SM_BEFORE_AVF2 1 // must be 1 due to the SM_average_f2() function
108 #define NB_SM_BEFORE_AVF2 1 // must be 1 due to the SM_average_f2() function
106
109
107 #endif // FSW_PARAMS_PROCESSING_H
110 #endif // FSW_PARAMS_PROCESSING_H
108
111
General Comments 0
You need to be logged in to leave comments. Login now