pflib v3.0.0-rc1-29-g3a901ac
Pretty Fine HGCROC Interaction Library
All Classes Namespaces Files Functions Variables Typedefs Pages
sipm_rocv2.h
Go to the documentation of this file.
1
12
13namespace sipm_rocv2 {
14
20 {"ON_DAC_TRIM", Parameter(0,0,1,1)},
21 {"ON_INPUT_DAC", Parameter(0,1,1,1)},
22 {"ON_CONV", Parameter(0,2,1,1)},
23 {"ON_PA", Parameter(0,3,1,1)},
24 {"GAIN_CONV", Parameter(0,4,4,0b0100)},
25 {"ON_RTR", Parameter(1,0,1,1)},
26 {"SW_SUPER_CONV", Parameter(1,1,1,1)},
27 {"DACB_VB_CONV", Parameter(1,2,6,0b110011)},
28 {"ON_TOA", Parameter(2,0,1,1)},
29 {"ON_TOT", Parameter(2,1,1,1)},
30 {"DACB_VBI_PA", Parameter(2,2,6,0b011111)},
31 {"IBI_SK", Parameter(3,0,2,0)},
32 {"IBO_SK", Parameter(3,2,6,0b001010)},
33 {"IBI_INV", Parameter(4,0,2,0)},
34 {"IBO_INV", Parameter(4,2,6,0b001010)},
35 {"IBI_NOINV", Parameter(5,0,2,0)},
36 {"IBO_NOINV", Parameter(5,2,6,0b001010)},
37 {"IBI_INV_BUF", Parameter(6,0,2,0b11)},
38 {"IBO_INV_BUF", Parameter(6,2,6,0b100110)},
39 {"IBI_NOINV_BUF", Parameter(7,0,2,0b11)},
40 {"IBO_NOINV_BUF", Parameter(7,2,6,0b100110)},
41 {"SW_CD", Parameter(8,0,3,0b111)},
42 {"EN_HYST_TOT", Parameter(8,3,1,0)},
43 {"SW_CF_COMP", Parameter(8,4,4,0b1010)},
44 {"SW_CF", Parameter(9,0,4,0b1010)},
45 {"SW_RF", Parameter(9,4,4,0b1000)},
46 {"CLR_SHAPERTAIL", Parameter(10,1,1,0)},
47 {"SELRISINGEDGE", Parameter(10,2,1,1)},
48 {"SELEXTADC", Parameter(10,3,1,0)},
49 {"CLR_ADC", Parameter(10,4,1,0)},
50 {"S_SK", Parameter(10,5,3,0b010)},
51 {"S_INV", Parameter(11,2,3,0b010)},
52 {"S_NOINV", Parameter(11,5,3,0b010)},
53 {"S_INV_BUF", Parameter(12,2,3,0b110)},
54 {"S_NOINV_BUF", Parameter(12,5,3,0b110)},
55 {"REF_ADC", Parameter(13,0,2,0)},
56 {"DELAY40", Parameter(13,2,3,0)},
57 {"DELAY65", Parameter(13,5,3,0)},
58 {"ON_REF_ADC", Parameter(14,0,1,1)},
59 {"POL_ADC", Parameter(14,1,1,1)},
60 {"DELAY87", Parameter(14,2,3,0)},
61 {"DELAY9", Parameter(14,5,3,0)}
62});
63
69 {"PROBE_VREF_PA", Parameter(0,0,1,0)},
70 {"PROBE_VREF_TIME", Parameter(0,1,1,0)},
71 {"REFI", Parameter(0,2,2,0b11)},
72 {"VBG_1V", Parameter(0,4,3,0b111)},
73 {"ON_DAC", Parameter(0,7,1,1)},
74 {"NOINV_VREF", Parameter({RegisterLocation(1,0,2),RegisterLocation(5,0,8)},0b0100111100)},
75 {"INV_VREF", Parameter({RegisterLocation(1,2,2),RegisterLocation(4,0,8)},0b0110000000)},
76 {"TOA_VREF", Parameter({RegisterLocation(1,4,2),RegisterLocation(3,0,8)},0b0001110000)},
77 {"TOT_VREF", Parameter({RegisterLocation(1,6,2),RegisterLocation(2,0,8)},0b0110110000)},
78 {"CALIB_DAC", Parameter({RegisterLocation(6,0,8),RegisterLocation(7,0,4)},0)},
79 {"INTCTEST", Parameter(7,6,1,0)},
80 {"EXTCTEST", Parameter(7,7,1,0)},
81 {"PROBE_DC", Parameter(8,0,8,0)}
82});
83
89 {"GLOBAL_TA_SELECT_GAIN_TOA", Parameter(0,0,4,0b0011)},
90 {"GLOBAL_TA_SELECT_GAIN_TOT", Parameter(0,4,4,0b0011)},
91 {"GLOBAL_MODE_NO_TOT_SUB", Parameter(1,0,1,0)},
92 {"GLOBAL_LATENCY_TIME", Parameter(1,1,4,0b1010)},
93 {"GLOBAL_MODE_FTDC_TOA_S0", Parameter(1,5,1,0)},
94 {"GLOBAL_MODE_FTDC_TOA_S1", Parameter(1,6,1,1)},
95 {"GLOBAL_SEU_TIME_OUT", Parameter(1,7,1,1)},
96 {"BIAS_FOLLOWER_CAL_P_D", Parameter(2,0,4,0)},
97 {"BIAS_FOLLOWER_CAL_P_EN", Parameter(2,4,1,0)},
98 {"INV_FRONT_40MHZ", Parameter(2,5,1,0)},
99 {"START_COUNTER", Parameter(2,6,1,1)},
100 {"CALIB_CHANNEL_DLL", Parameter(2,7,1,0)},
101 {"VD_CTDC_P_D", Parameter(3,0,5,0)},
102 {"VD_CTDC_P_DAC_EN", Parameter(3,5,1,0)},
103 {"EN_MASTER_CTDC_VOUT_INIT", Parameter(3,6,1,0)},
104 {"EN_MASTER_CTDC_DLL", Parameter(3,7,1,1)},
105 {"BIAS_CAL_DAC_CTDC_P_D", Parameter({RegisterLocation(4,0,2),RegisterLocation(7,6,2)},0b0000)},
106 {"CTDC_CALIB_FREQUENCY", Parameter(4,2,6,0b000010)},
107 {"GLOBAL_MODE_TOA_DIRECT_OUTPUT", Parameter(5,0,1,0)},
108 {"BIAS_I_CTDC_D", Parameter(5,1,6,0b011000)},
109 {"FOLLOWER_CTDC_EN", Parameter(5,7,1,1)},
110 {"GLOBAL_EN_BUFFER_CTDC", Parameter(6,0,1,0)},
111 {"VD_CTDC_N_FORCE_MAX", Parameter(6,1,1,1)},
112 {"VD_CTDC_N_D", Parameter(6,2,5,0)},
113 {"VD_CTDC_N_DAC_EN", Parameter(6,7,1,0)},
114 {"CTRL_IN_REF_CTDC_P_D", Parameter(7,0,5,0)},
115 {"CTRL_IN_REF_CTDC_P_EN", Parameter(7,5,1,0)},
116 {"CTRL_IN_SIG_CTDC_P_D", Parameter(8,0,5,0)},
117 {"CTRL_IN_SIG_CTDC_P_EN", Parameter(8,5,1,0)},
118 {"GLOBAL_INIT_DAC_B_CTDC", Parameter(8,6,1,0)},
119 {"BIAS_CAL_DAC_CTDC_P_EN", Parameter(8,7,1,0)},
120 {"VD_FTDC_P_D", Parameter(9,0,5,0)},
121 {"VD_FTDC_P_DAC_EN", Parameter(9,5,1,0)},
122 {"EN_MASTER_FTDC_VOUT_INIT", Parameter(9,6,1,0)},
123 {"EN_MASTER_FTDC_DLL", Parameter(9,7,1,1)},
124 {"BIAS_CAL_DAC_FTDC_P_D", Parameter({RegisterLocation(10,0,2),RegisterLocation(14,6,2)},0b0000)},
125 {"FTDC_CALIB_FREQUENCY", Parameter(10,2,6,0b000010)},
126 {"EN_REF_BG", Parameter(11,0,1,1)},
127 {"BIAS_I_FTDC_D", Parameter(11,1,6,0b011000)},
128 {"FOLLOWER_FTDC_EN", Parameter(11,7,1,1)},
129 {"GLOBAL_EN_BUFFER_FTDC", Parameter(12,0,1,0)},
130 {"VD_FTDC_N_FORCE_MAX", Parameter(12,1,1,1)},
131 {"VD_FTDC_N_D", Parameter(12,2,5,0)},
132 {"VD_FTDC_N_DAC_EN", Parameter(12,7,1,0)},
133 {"CTRL_IN_SIG_FTDC_P_D", Parameter(13,0,5,0)},
134 {"CTRL_IN_SIG_FTDC_P_EN", Parameter(13,5,1,0)},
135 {"GLOBAL_INIT_DAC_B_FTDC", Parameter(13,6,1,0)},
136 {"BIAS_CAL_DAC_FTDC_P_EN", Parameter(13,7,1,0)},
137 {"CTRL_IN_REF_FTDC_P_D", Parameter(14,0,5,0)},
138 {"CTRL_IN_REF_FTDC_P_EN", Parameter(14,5,1,0)},
139 {"GLOBAL_DISABLE_TOT_LIMIT", Parameter(15,0,1,0)},
140 {"GLOBAL_FORCE_EN_CLK", Parameter(15,1,1,0)},
141 {"GLOBAL_FORCE_EN_OUTPUT_DATA", Parameter(15,2,1,0)},
142 {"GLOBAL_FORCE_EN_TOT", Parameter(15,3,1,0)}
143});
144
150 {"INPUTDAC", Parameter(0,0,6,0b011111)},
151 {"DACB", Parameter({RegisterLocation(2,6,2),RegisterLocation(1,6,2),RegisterLocation(0,6,2)},0b111111)},
152 {"SIGN_DAC", Parameter(1,0,1,0)},
153 {"REF_DAC_TOA", Parameter(1,1,5,0)},
154 {"PROBE_NOINV", Parameter(2,0,1,0)},
155 {"REF_DAC_TOT", Parameter(2,1,5,0)},
156 {"MASK_TOA", Parameter(3,0,1,0)},
157 {"REF_DAC_INV", Parameter(3,1,5,0)},
158 {"SEL_TRIGGER_TOA", Parameter(3,6,1,0)},
159 {"PROBE_INV", Parameter(3,7,1,0)},
160 {"PROBE_PA", Parameter(4,0,1,0)},
161 {"LOWRANGE", Parameter(4,1,1,0)},
162 {"HIGHRANGE", Parameter(4,2,1,0)},
163 {"CHANNEL_OFF", Parameter(4,3,1,0)},
164 {"SEL_TRIGGER_TOT", Parameter(4,4,1,0)},
165 {"MASK_TOT", Parameter(4,5,1,0)},
166 {"PROBE_TOT", Parameter(4,6,1,0)},
167 {"PROBE_TOA", Parameter(4,7,1,0)},
168 {"DAC_CAL_FTDC_TOA", Parameter(5,0,6,0)},
169 {"MASK_ADC", Parameter(5,7,1,0)},
170 {"DAC_CAL_CTDC_TOA", Parameter(6,0,6,0)},
171 {"DAC_CAL_FTDC_TOT", Parameter(7,0,6,0)},
172 {"DAC_CAL_CTDC_TOT", Parameter(8,0,6,0)},
173 {"IN_FTDC_ENCODER_TOA", Parameter(9,0,6,0)},
174 {"IN_FTDC_ENCODER_TOT", Parameter(10,0,6,0)},
175 {"DIS_TDC", Parameter(10,7,1,0)},
176 {"EXTDATA", Parameter({RegisterLocation(13,0,8),RegisterLocation(11,0,2)},0)},
177 {"MASK_ALIGNBUFFER", Parameter(11,7,1,0)},
178 {"ADC_PEDESTAL", Parameter(12,0,8,0)}
179});
180
186 {"SELRAWDATA", Parameter(0,0,1,1)},
187 {"SELTC4" , Parameter(0,1,1,1)},
188 {"CMDSELEDGE", Parameter(0,2,1,1)},
189 {"ADC_TH" , Parameter(0,4,4,0)},
190 {"MULTFACTOR", Parameter(1,0,5,0b11001)},
191 {"L1OFFSET" , Parameter({RegisterLocation(2,0,8),RegisterLocation(1,7,1)},0b000001000)},
192 {"IDLEFRAME" , Parameter({RegisterLocation(3,0,8),RegisterLocation(4,0,8),RegisterLocation(5,0,8),RegisterLocation(6,0,4)},0b1100110011001100110011001100)},
193 {"BYPASSCH0" , Parameter(6,4,1,0)},
194 {"BYPASSCH17", Parameter(6,5,1,0)},
195 {"BYPASSCH35", Parameter(6,6,1,0)},
196 {"TOT_TH0" , Parameter(7,0,8,0)},
197 {"TOT_TH1" , Parameter(8,0,8,0)},
198 {"TOT_TH2" , Parameter(9,0,8,0)},
199 {"TOT_TH3" , Parameter(10,0,8,0)},
200 {"TOT_P0" , Parameter(11,0,7,0)},
201 {"TOT_P1" , Parameter(12,0,7,0)},
202 {"TOT_P2" , Parameter(13,0,7,0)},
203 {"TOT_P3" , Parameter(14,0,7,0)}
204});
205
211 {"EN_LOCK_CONTROL", Parameter(0,0,1,1)},
212 {"ERROR_LIMIT_SC" , Parameter(0,1,3,0b010)},
213 {"SEL_PLL_LOCKED" , Parameter(0,4,1,1)},
214 {"PLLLOCKEDSC" , Parameter(0,5,1,1)},
215 {"ORBITSYNC_SC" , Parameter(0,7,1,0)},
216 {"EN_PLL" , Parameter(1,0,1,1)},
217 {"DIV_PLL" , Parameter(1,1,2,0)},
218 {"EN_HIGH_CAPA" , Parameter(1,3,1,0)},
219 {"EN_REF_BG" , Parameter(1,4,1,1)},
220 {"VOUT_INIT_EN" , Parameter(1,5,1,0)},
221 {"VOUT_INIT_EXT_EN", Parameter(2,0,1,0)},
222 {"VOUT_INIT_EXT_D" , Parameter(2,1,5,0)},
223 {"FOLLOWER_PLL_EN" , Parameter(3,0,1,1)},
224 {"BIAS_I_PLL_D" , Parameter(3,1,6,0b011000)},
225 {"SEL_40M_EXT" , Parameter(3,7,1,0)},
226 {"PLL_PROBE_AMPLITUDE" , Parameter(4,0,3,0b011)},
227 {"PLL_PROBE_PRE_SCALE" , Parameter(4,3,3,0)},
228 {"PLL_PROBE_PRE_PHASE" , Parameter(4,6,2,0)},
229 {"ET_AMPLITUDE" , Parameter(5,0,3,0b011)},
230 {"ET_PRE_SCALE" , Parameter(5,3,3,0)},
231 {"ET_PRE_PHASE" , Parameter(5,6,2,0)},
232 {"SEL_RESYNC_FCMD" , Parameter(6,0,1,1)},
233 {"SEL_L1_FCMD" , Parameter(6,1,1,1)},
234 {"SEL_STROBE_FCMD" , Parameter(6,2,1,1)},
235 {"SEL_ORBITSYNC_FCMD", Parameter(6,3,1,1)},
236 {"EN_PHASESHIFT" , Parameter(7,0,1,1)},
237 {"PHASE" , Parameter(7,1,4,0)},
238 {"EN_PLL_EXT" , Parameter(7,7,1,0)}
239});
240
241const PageLUT PAGE_LUT = PageLUT::Mapping({
242 {"GLOBAL_ANALOG", GLOBAL_ANALOG_LUT},
243 {"REFERENCE_VOLTAGE", REFERENCE_VOLTAGE_LUT},
244 {"MASTER_TDC", MASTER_TDC_LUT},
245 {"DIGITAL_HALF", DIGITAL_HALF_LUT},
246 {"TOP", TOP_LUT},
247 {"CHANNEL_WISE", CHANNEL_WISE_LUT}
248});
249
254 {"GLOBAL_ANALOG_0", { 297, GLOBAL_ANALOG_LUT }},
255 {"REFERENCE_VOLTAGE_0", {296, REFERENCE_VOLTAGE_LUT}},
256 {"GLOBAL_ANALOG_0", {297, GLOBAL_ANALOG_LUT}},
257 {"MASTER_TDC_0", {298, MASTER_TDC_LUT}},
258 {"DIGITAL_HALF_0", {299, DIGITAL_HALF_LUT}},
259 {"REFERENCE_VOLTAGE_1", {40, REFERENCE_VOLTAGE_LUT}},
260 {"GLOBAL_ANALOG_1", {41, GLOBAL_ANALOG_LUT}},
261 {"MASTER_TDC_1", {42, MASTER_TDC_LUT}},
262 {"DIGITAL_HALF_1", {43, DIGITAL_HALF_LUT}},
263 {"TOP", {44,TOP_LUT}},
264 {"CM0", {275, CHANNEL_WISE_LUT}},
265 {"CM1", {276, CHANNEL_WISE_LUT}},
266 {"CALIB0", {274, CHANNEL_WISE_LUT}},
267 {"CM2", {19, CHANNEL_WISE_LUT}},
268 {"CM3", {20, CHANNEL_WISE_LUT}},
269 {"CALIB1", {18, CHANNEL_WISE_LUT}},
270 {"CHANNEL_0", {261, CHANNEL_WISE_LUT}},
271 {"CHANNEL_1", {260, CHANNEL_WISE_LUT}},
272 {"CHANNEL_2", {259, CHANNEL_WISE_LUT}},
273 {"CHANNEL_3", {258, CHANNEL_WISE_LUT}},
274 {"CHANNEL_4", {265, CHANNEL_WISE_LUT}},
275 {"CHANNEL_5", {264, CHANNEL_WISE_LUT}},
276 {"CHANNEL_6", {263, CHANNEL_WISE_LUT}},
277 {"CHANNEL_7", {262, CHANNEL_WISE_LUT}},
278 {"CHANNEL_8", {269, CHANNEL_WISE_LUT}},
279 {"CHANNEL_9", {268, CHANNEL_WISE_LUT}},
280 {"CHANNEL_10", {267, CHANNEL_WISE_LUT}},
281 {"CHANNEL_11", {266, CHANNEL_WISE_LUT}},
282 {"CHANNEL_12", {273, CHANNEL_WISE_LUT}},
283 {"CHANNEL_13", {272, CHANNEL_WISE_LUT}},
284 {"CHANNEL_14", {271, CHANNEL_WISE_LUT}},
285 {"CHANNEL_15", {270, CHANNEL_WISE_LUT}},
286 {"CHANNEL_16", {294, CHANNEL_WISE_LUT}},
287 {"CHANNEL_17", {256, CHANNEL_WISE_LUT}},
288 {"CHANNEL_18", {277, CHANNEL_WISE_LUT}},
289 {"CHANNEL_19", {295, CHANNEL_WISE_LUT}},
290 {"CHANNEL_20", {278, CHANNEL_WISE_LUT}},
291 {"CHANNEL_21", {279, CHANNEL_WISE_LUT}},
292 {"CHANNEL_22", {280, CHANNEL_WISE_LUT}},
293 {"CHANNEL_23", {281, CHANNEL_WISE_LUT}},
294 {"CHANNEL_24", {282, CHANNEL_WISE_LUT}},
295 {"CHANNEL_25", {283, CHANNEL_WISE_LUT}},
296 {"CHANNEL_26", {284, CHANNEL_WISE_LUT}},
297 {"CHANNEL_27", {285, CHANNEL_WISE_LUT}},
298 {"CHANNEL_28", {286, CHANNEL_WISE_LUT}},
299 {"CHANNEL_29", {287, CHANNEL_WISE_LUT}},
300 {"CHANNEL_30", {288, CHANNEL_WISE_LUT}},
301 {"CHANNEL_31", {289, CHANNEL_WISE_LUT}},
302 {"CHANNEL_32", {290, CHANNEL_WISE_LUT}},
303 {"CHANNEL_33", {291, CHANNEL_WISE_LUT}},
304 {"CHANNEL_34", {292, CHANNEL_WISE_LUT}},
305 {"CHANNEL_35", {293, CHANNEL_WISE_LUT}},
306 {"CHANNEL_36", {5, CHANNEL_WISE_LUT}},
307 {"CHANNEL_37", {4, CHANNEL_WISE_LUT}},
308 {"CHANNEL_38", {3, CHANNEL_WISE_LUT}},
309 {"CHANNEL_39", {2, CHANNEL_WISE_LUT}},
310 {"CHANNEL_40", {9, CHANNEL_WISE_LUT}},
311 {"CHANNEL_41", {8, CHANNEL_WISE_LUT}},
312 {"CHANNEL_42", {7, CHANNEL_WISE_LUT}},
313 {"CHANNEL_43", {6, CHANNEL_WISE_LUT}},
314 {"CHANNEL_44", {13, CHANNEL_WISE_LUT}},
315 {"CHANNEL_45", {12, CHANNEL_WISE_LUT}},
316 {"CHANNEL_46", {11, CHANNEL_WISE_LUT}},
317 {"CHANNEL_47", {10, CHANNEL_WISE_LUT}},
318 {"CHANNEL_48", {17, CHANNEL_WISE_LUT}},
319 {"CHANNEL_49", {16, CHANNEL_WISE_LUT}},
320 {"CHANNEL_50", {15, CHANNEL_WISE_LUT}},
321 {"CHANNEL_51", {14, CHANNEL_WISE_LUT}},
322 {"CHANNEL_52", {38, CHANNEL_WISE_LUT}},
323 {"CHANNEL_53", {0, CHANNEL_WISE_LUT}},
324 {"CHANNEL_54", {21, CHANNEL_WISE_LUT}},
325 {"CHANNEL_55", {39, CHANNEL_WISE_LUT}},
326 {"CHANNEL_56", {22, CHANNEL_WISE_LUT}},
327 {"CHANNEL_57", {23, CHANNEL_WISE_LUT}},
328 {"CHANNEL_58", {24, CHANNEL_WISE_LUT}},
329 {"CHANNEL_59", {25, CHANNEL_WISE_LUT}},
330 {"CHANNEL_60", {26, CHANNEL_WISE_LUT}},
331 {"CHANNEL_61", {27, CHANNEL_WISE_LUT}},
332 {"CHANNEL_62", {28, CHANNEL_WISE_LUT}},
333 {"CHANNEL_63", {29, CHANNEL_WISE_LUT}},
334 {"CHANNEL_64", {30, CHANNEL_WISE_LUT}},
335 {"CHANNEL_65", {31, CHANNEL_WISE_LUT}},
336 {"CHANNEL_66", {32, CHANNEL_WISE_LUT}},
337 {"CHANNEL_67", {33, CHANNEL_WISE_LUT}},
338 {"CHANNEL_68", {34, CHANNEL_WISE_LUT}},
339 {"CHANNEL_69", {35, CHANNEL_WISE_LUT}},
340 {"CHANNEL_70", {36, CHANNEL_WISE_LUT}},
341 {"CHANNEL_71", {37, CHANNEL_WISE_LUT}}
342});
343
344}
A non-copyable mapping.
Definition register_maps_types.h:91
Header defining types stored within the parameter to register mappings.
const Page TOP_LUT
The Look Up Table of for the Top sub-block of an HGC ROC.
Definition sipm_rocv2.h:210
const ParameterLUT PARAMETER_LUT
Entire parameter Look Up Table.
Definition sipm_rocv2.h:253
const Page GLOBAL_ANALOG_LUT
The Look Up Table of for the Global Analog sub-blocks of an HGC ROC.
Definition sipm_rocv2.h:19
const Page MASTER_TDC_LUT
The Look Up Table of for the Master TDC sub-blocks` of an HGC ROC.
Definition sipm_rocv2.h:88
const Page DIGITAL_HALF_LUT
The Look Up Table of for the Digital Half sub-blocks` of an HGC ROC.
Definition sipm_rocv2.h:185
const Page CHANNEL_WISE_LUT
The Look Up Table of for the individual channel sub-blocks` of an HGC ROC.
Definition sipm_rocv2.h:149
const Page REFERENCE_VOLTAGE_LUT
The Look Up Table of for the Reference Voltage sub-blocks of an HGC ROC.
Definition sipm_rocv2.h:68
A parameter for the HGC ROC includes one or more register locations and a default value defined in th...
Definition register_maps_types.h:45
Structure holding a location in the registers.
Definition register_maps_types.h:20