LArPix v2b ASIC Configuration Registers¶
-
class
larpix.configuration.configuration_v2b.
Configuration_v2b
[source]¶ Represents the desired configuration state of a LArPix v2b chip.
Each register name is available as its own attribute for inspecting and setting the value of the corresponding register.
Certain configuration values are set channel-by-channel. These are represented by a list of values. For example:
>>> conf.pixel_trim_dac[2:5] [16, 16, 16] >>> conf.channel_mask[20] = 1 >>> conf.external_trigger_mask = [0] * 64
Additionally, other configuration values take up more than or less than one complete register. These are still set by referencing the appropriate name. For example,
cross_trigger_mode
shares a register with a few other values, and adjusting the value of thecross_trigger_mode
attribute will leave the other values unchanged.Each register name can cover more than one ‘physical’ register depending on the size of the data it holds. You can see which physical registers a given register name corresponds to by using the register_map attribute, e.g.:
>>> conf.register_map['digital_threshold'] # 64 registers, 1 per channel range(173, 237) >>> conf.register_map['enable_dynamic_reset'] # Register 170 range(170, 171) >>> conf.register_map['enable_min_delta_adc'] # Shares register 170 range(170, 171)
-
RESERVED
¶ simple value property
registers:
range(237, 239)
valid types:
<class 'int'>
value range:
0
to0
-
adc_burst_length
¶ simple value property
registers:
range(130, 131)
valid types:
<class 'int'>
value range:
0
to255
-
adc_hold_delay
¶ simple value property
registers:
range(120, 122)
valid types:
<class 'int'>
value range:
0
to65535
-
bypass_caps_en
¶ compound property
registers:
range(65, 66)
bits:
[2]
valid types:
(<class 'int'>, <class 'bool'>)
value range:
0
to1
shares a register with:
['csa_gain', 'csa_bypass_enable']
-
channel_mask
¶ list-like property
list length:
64
registers:
range(131, 139)
element valid types:
<class 'int'>
element value range:
0
to1
-
chip_id
¶ simple value property
registers:
range(122, 123)
valid types:
<class 'int'>
value range:
0
to255
-
clk_ctrl
¶ compound property
registers:
range(123, 124)
bits:
[3, 4]
valid types:
(<class 'int'>, <class 'bool'>)
value range:
0
to3
shares a register with:
['enable_tx_dynamic_powerdown', 'load_config_defaults', 'enable_fifo_diagnostics', 'tx_dynamic_powerdown_cycles']
-
cross_trigger_mask
¶ list-like property
list length:
64
registers:
range(147, 155)
element valid types:
<class 'int'>
element value range:
0
to1
-
csa_bypass_enable
¶ compound property
registers:
range(65, 66)
bits:
[1]
valid types:
(<class 'int'>, <class 'bool'>)
value range:
0
to1
shares a register with:
['csa_gain', 'bypass_caps_en']
-
csa_bypass_select
¶ list-like property
list length:
64
registers:
range(84, 92)
element valid types:
(<class 'int'>, <class 'bool'>)
element value range:
0
to1
-
csa_enable
¶ list-like property
list length:
64
registers:
range(66, 74)
element valid types:
(<class 'int'>, <class 'bool'>)
element value range:
0
to1
-
csa_gain
¶ compound property
registers:
range(65, 66)
bits:
[0]
valid types:
(<class 'int'>, <class 'bool'>)
value range:
0
to1
shares a register with:
['csa_bypass_enable', 'bypass_caps_en']
-
csa_monitor_select
¶ list-like property
list length:
64
registers:
range(92, 100)
element valid types:
(<class 'int'>, <class 'bool'>)
element value range:
0
to1
-
csa_testpulse_dac
¶ simple value property
registers:
range(108, 109)
valid types:
<class 'int'>
value range:
0
to255
-
csa_testpulse_enable
¶ list-like property
list length:
64
registers:
range(100, 108)
element valid types:
(<class 'int'>, <class 'bool'>)
element value range:
0
to1
-
current_monitor_bank0
¶ list-like property
list length:
4
registers:
range(109, 110)
element valid types:
(<class 'int'>, <class 'bool'>)
element value range:
0
to1
-
current_monitor_bank1
¶ list-like property
list length:
4
registers:
range(110, 111)
element valid types:
(<class 'int'>, <class 'bool'>)
element value range:
0
to1
-
current_monitor_bank2
¶ list-like property
list length:
4
registers:
range(111, 112)
element valid types:
(<class 'int'>, <class 'bool'>)
element value range:
0
to1
-
current_monitor_bank3
¶ list-like property
list length:
4
registers:
range(112, 113)
element valid types:
(<class 'int'>, <class 'bool'>)
element value range:
0
to1
-
digital_monitor_chan
¶ simple value property
registers:
range(119, 120)
valid types:
<class 'int'>
value range:
0
to63
-
digital_monitor_enable
¶ compound property
registers:
range(118, 119)
bits:
[0]
valid types:
(<class 'int'>, <class 'bool'>)
value range:
0
to1
shares a register with:
['digital_monitor_select']
-
digital_monitor_select
¶ compound property
registers:
range(118, 119)
bits:
[1, 2, 3, 4]
valid types:
(<class 'int'>, <class 'bool'>)
value range:
0
to10
shares a register with:
['digital_monitor_enable']
-
digital_threshold
¶ list-like property
list length:
64
registers:
range(173, 237)
element valid types:
<class 'int'>
element value range:
0
to255
-
enable_cross_trigger
¶ compound property
registers:
range(128, 129)
bits:
[0]
valid types:
<class 'int'>
value range:
0
to1
shares a register with:
['enable_periodic_reset', 'enable_rolling_periodic_reset', 'enable_periodic_trigger', 'enable_rolling_periodic_trigger', 'enable_periodic_trigger_veto', 'enable_hit_veto']
-
enable_dynamic_reset
¶ compound property
registers:
range(170, 171)
bits:
[0]
valid types:
(<class 'int'>, <class 'bool'>)
value range:
0
to1
shares a register with:
['enable_min_delta_adc', 'threshold_polarity', 'reset_length', 'mark_first_packet']
-
enable_fifo_diagnostics
¶ compound property
registers:
range(123, 124)
bits:
[2]
valid types:
(<class 'int'>, <class 'bool'>)
value range:
0
to1
shares a register with:
['enable_tx_dynamic_powerdown', 'load_config_defaults', 'clk_ctrl', 'tx_dynamic_powerdown_cycles']
-
enable_hit_veto
¶ compound property
registers:
range(128, 129)
bits:
[6]
valid types:
<class 'int'>
value range:
0
to1
shares a register with:
['enable_cross_trigger', 'enable_periodic_reset', 'enable_rolling_periodic_reset', 'enable_periodic_trigger', 'enable_rolling_periodic_trigger', 'enable_periodic_trigger_veto']
-
enable_min_delta_adc
¶ compound property
registers:
range(170, 171)
bits:
[1]
valid types:
(<class 'int'>, <class 'bool'>)
value range:
0
to1
shares a register with:
['enable_dynamic_reset', 'threshold_polarity', 'reset_length', 'mark_first_packet']
-
enable_periodic_reset
¶ compound property
registers:
range(128, 129)
bits:
[1]
valid types:
<class 'int'>
value range:
0
to1
shares a register with:
['enable_cross_trigger', 'enable_rolling_periodic_reset', 'enable_periodic_trigger', 'enable_rolling_periodic_trigger', 'enable_periodic_trigger_veto', 'enable_hit_veto']
-
enable_periodic_trigger
¶ compound property
registers:
range(128, 129)
bits:
[3]
valid types:
<class 'int'>
value range:
0
to1
shares a register with:
['enable_cross_trigger', 'enable_periodic_reset', 'enable_rolling_periodic_reset', 'enable_rolling_periodic_trigger', 'enable_periodic_trigger_veto', 'enable_hit_veto']
-
enable_periodic_trigger_veto
¶ compound property
registers:
range(128, 129)
bits:
[5]
valid types:
<class 'int'>
value range:
0
to1
shares a register with:
['enable_cross_trigger', 'enable_periodic_reset', 'enable_rolling_periodic_reset', 'enable_periodic_trigger', 'enable_rolling_periodic_trigger', 'enable_hit_veto']
-
enable_piso_downstream
¶ list-like property
list length:
4
registers:
range(125, 126)
element valid types:
(<class 'int'>, <class 'bool'>)
element value range:
0
to1
-
enable_piso_upstream
¶ list-like property
list length:
4
registers:
range(124, 125)
element valid types:
(<class 'int'>, <class 'bool'>)
element value range:
0
to1
-
enable_posi
¶ list-like property
list length:
4
registers:
range(126, 127)
element valid types:
(<class 'int'>, <class 'bool'>)
element value range:
0
to1
-
enable_rolling_periodic_reset
¶ compound property
registers:
range(128, 129)
bits:
[2]
valid types:
<class 'int'>
value range:
0
to1
shares a register with:
['enable_cross_trigger', 'enable_periodic_reset', 'enable_periodic_trigger', 'enable_rolling_periodic_trigger', 'enable_periodic_trigger_veto', 'enable_hit_veto']
-
enable_rolling_periodic_trigger
¶ compound property
registers:
range(128, 129)
bits:
[4]
valid types:
<class 'int'>
value range:
0
to1
shares a register with:
['enable_cross_trigger', 'enable_periodic_reset', 'enable_rolling_periodic_reset', 'enable_periodic_trigger', 'enable_periodic_trigger_veto', 'enable_hit_veto']
-
enable_tx_dynamic_powerdown
¶ compound property
registers:
range(123, 124)
bits:
[0]
valid types:
(<class 'int'>, <class 'bool'>)
value range:
0
to1
shares a register with:
['load_config_defaults', 'enable_fifo_diagnostics', 'clk_ctrl', 'tx_dynamic_powerdown_cycles']
-
external_trigger_mask
¶ list-like property
list length:
64
registers:
range(139, 147)
element valid types:
<class 'int'>
element value range:
0
to1
-
i_rx0
¶ compound property
registers:
range(243, 244)
bits:
[0, 1, 2, 3]
valid types:
<class 'int'>
value range:
0
to15
shares a register with:
['i_rx1']
-
i_rx1
¶ compound property
registers:
range(243, 244)
bits:
[4, 5, 6, 7]
valid types:
<class 'int'>
value range:
0
to15
shares a register with:
['i_rx0']
-
i_rx2
¶ compound property
registers:
range(244, 245)
bits:
[0, 1, 2, 3]
valid types:
<class 'int'>
value range:
0
to15
shares a register with:
['i_rx3']
-
i_rx3
¶ compound property
registers:
range(244, 245)
bits:
[4, 5, 6, 7]
valid types:
<class 'int'>
value range:
0
to15
shares a register with:
['i_rx2']
-
i_rx_clk
¶ compound property
registers:
range(245, 246)
bits:
[0, 1, 2, 3]
valid types:
<class 'int'>
value range:
0
to15
shares a register with:
['i_rx_rst']
-
i_rx_ext_trig
¶ simple value property
registers:
range(246, 247)
valid types:
<class 'int'>
value range:
0
to15
-
i_rx_rst
¶ compound property
registers:
range(245, 246)
bits:
[4, 5, 6, 7]
valid types:
<class 'int'>
value range:
0
to15
shares a register with:
['i_rx_clk']
-
i_tx_diff0
¶ compound property
registers:
range(241, 242)
bits:
[0, 1, 2, 3]
valid types:
<class 'int'>
value range:
0
to15
shares a register with:
['i_tx_diff1']
-
i_tx_diff1
¶ compound property
registers:
range(241, 242)
bits:
[4, 5, 6, 7]
valid types:
<class 'int'>
value range:
0
to15
shares a register with:
['i_tx_diff0']
-
i_tx_diff2
¶ compound property
registers:
range(242, 243)
bits:
[0, 1, 2, 3]
valid types:
<class 'int'>
value range:
0
to15
shares a register with:
['i_tx_diff3']
-
i_tx_diff3
¶ compound property
registers:
range(242, 243)
bits:
[4, 5, 6, 7]
valid types:
<class 'int'>
value range:
0
to15
shares a register with:
['i_tx_diff2']
-
ibias_buffer
¶ simple value property
registers:
range(76, 77)
valid types:
<class 'int'>
value range:
0
to15
-
ibias_comp
¶ simple value property
registers:
range(75, 76)
valid types:
<class 'int'>
value range:
0
to15
-
ibias_csa
¶ simple value property
registers:
range(77, 78)
valid types:
<class 'int'>
value range:
0
to15
-
ibias_tdac
¶ simple value property
registers:
range(74, 75)
valid types:
<class 'int'>
value range:
0
to15
-
ibias_tpulse
¶ simple value property
registers:
range(80, 81)
valid types:
<class 'int'>
value range:
0
to15
-
ibias_vcm_buffer
¶ simple value property
registers:
range(79, 80)
valid types:
<class 'int'>
value range:
0
to15
-
ibias_vref_buffer
¶ simple value property
registers:
range(78, 79)
valid types:
<class 'int'>
value range:
0
to15
-
load_config_defaults
¶ compound property
registers:
range(123, 124)
bits:
[1]
valid types:
(<class 'int'>, <class 'bool'>)
value range:
0
to1
shares a register with:
['enable_tx_dynamic_powerdown', 'enable_fifo_diagnostics', 'clk_ctrl', 'tx_dynamic_powerdown_cycles']
-
mark_first_packet
¶ compound property
registers:
range(170, 171)
bits:
[6]
valid types:
(<class 'int'>, <class 'bool'>)
value range:
0
to1
shares a register with:
['enable_dynamic_reset', 'enable_min_delta_adc', 'threshold_polarity', 'reset_length']
-
min_delta_adc
¶ simple value property
registers:
range(172, 173)
valid types:
<class 'int'>
value range:
0
to255
-
override_ref
¶ compound property
registers:
range(81, 82)
bits:
[5]
valid types:
(<class 'int'>, <class 'bool'>)
value range:
0
to1
shares a register with:
['ref_current_trim', 'ref_kickstart']
-
periodic_reset_cycles
¶ simple value property
registers:
range(163, 166)
valid types:
<class 'int'>
value range:
0
to16777215
-
periodic_trigger_cycles
¶ simple value property
registers:
range(166, 170)
valid types:
<class 'int'>
value range:
0
to4294967295
-
periodic_trigger_mask
¶ list-like property
list length:
64
registers:
range(155, 163)
element valid types:
<class 'int'>
element value range:
0
to1
-
pixel_trim_dac
¶ list-like property
list length:
64
registers:
range(0, 64)
element valid types:
<class 'int'>
element value range:
0
to31
-
r_term0
¶ simple value property
registers:
range(247, 248)
valid types:
<class 'int'>
value range:
0
to31
-
r_term1
¶ simple value property
registers:
range(248, 249)
valid types:
<class 'int'>
value range:
0
to31
-
r_term2
¶ simple value property
registers:
range(249, 250)
valid types:
<class 'int'>
value range:
0
to31
-
r_term3
¶ simple value property
registers:
range(250, 251)
valid types:
<class 'int'>
value range:
0
to31
-
r_term_clk
¶ simple value property
registers:
range(251, 252)
valid types:
<class 'int'>
value range:
0
to31
-
r_term_ext_trig
¶ simple value property
registers:
range(253, 254)
valid types:
<class 'int'>
value range:
0
to31
-
r_term_reset
¶ simple value property
registers:
range(252, 253)
valid types:
<class 'int'>
value range:
0
to31
-
ref_current_trim
¶ compound property
registers:
range(81, 82)
bits:
[0, 1, 2, 3, 4]
valid types:
<class 'int'>
value range:
0
to31
shares a register with:
['override_ref', 'ref_kickstart']
-
ref_kickstart
¶ compound property
registers:
range(81, 82)
bits:
[6]
valid types:
(<class 'int'>, <class 'bool'>)
value range:
0
to1
shares a register with:
['ref_current_trim', 'override_ref']
-
reset_length
¶ compound property
registers:
range(170, 171)
bits:
[3, 4, 5]
valid types:
<class 'int'>
value range:
0
to7
shares a register with:
['enable_dynamic_reset', 'enable_min_delta_adc', 'threshold_polarity', 'mark_first_packet']
-
reset_threshold
¶ simple value property
registers:
range(171, 172)
valid types:
<class 'int'>
value range:
0
to255
-
shadow_reset_length
¶ simple value property
registers:
range(129, 130)
valid types:
<class 'int'>
value range:
0
to255
-
test_mode_uart0
¶ compound property
registers:
range(127, 128)
bits:
[0, 1]
valid types:
<class 'int'>
value range:
0
to3
shares a register with:
['test_mode_uart1', 'test_mode_uart2', 'test_mode_uart3']
-
test_mode_uart1
¶ compound property
registers:
range(127, 128)
bits:
[2, 3]
valid types:
<class 'int'>
value range:
0
to3
shares a register with:
['test_mode_uart0', 'test_mode_uart2', 'test_mode_uart3']
-
test_mode_uart2
¶ compound property
registers:
range(127, 128)
bits:
[4, 5]
valid types:
<class 'int'>
value range:
0
to3
shares a register with:
['test_mode_uart0', 'test_mode_uart1', 'test_mode_uart3']
-
test_mode_uart3
¶ compound property
registers:
range(127, 128)
bits:
[6, 7]
valid types:
<class 'int'>
value range:
0
to3
shares a register with:
['test_mode_uart0', 'test_mode_uart1', 'test_mode_uart2']
-
threshold_global
¶ simple value property
registers:
range(64, 65)
valid types:
<class 'int'>
value range:
0
to255
-
threshold_polarity
¶ compound property
registers:
range(170, 171)
bits:
[2]
valid types:
(<class 'int'>, <class 'bool'>)
value range:
0
to1
shares a register with:
['enable_dynamic_reset', 'enable_min_delta_adc', 'reset_length', 'mark_first_packet']
-
tx_dynamic_powerdown_cycles
¶ compound property
registers:
range(123, 124)
bits:
[5, 6, 7]
valid types:
(<class 'int'>, <class 'bool'>)
value range:
0
to7
shares a register with:
['enable_tx_dynamic_powerdown', 'load_config_defaults', 'enable_fifo_diagnostics', 'clk_ctrl']
-
tx_slices0
¶ compound property
registers:
range(239, 240)
bits:
[0, 1, 2, 3]
valid types:
<class 'int'>
value range:
0
to15
shares a register with:
['tx_slices1']
-
tx_slices1
¶ compound property
registers:
range(239, 240)
bits:
[4, 5, 6, 7]
valid types:
<class 'int'>
value range:
0
to15
shares a register with:
['tx_slices0']
-
tx_slices2
¶ compound property
registers:
range(240, 241)
bits:
[0, 1, 2, 3]
valid types:
<class 'int'>
value range:
0
to15
shares a register with:
['tx_slices3']
-
tx_slices3
¶ compound property
registers:
range(240, 241)
bits:
[4, 5, 6, 7]
valid types:
<class 'int'>
value range:
0
to15
shares a register with:
['tx_slices2']
-
v_cm_lvds_tx0
¶ compound property
registers:
range(254, 255)
bits:
[0, 1, 2]
valid types:
<class 'int'>
value range:
0
to7
shares a register with:
[]
-
v_cm_lvds_tx1
¶ compound property
registers:
range(254, 255)
bits:
[4, 5, 6]
valid types:
<class 'int'>
value range:
0
to7
shares a register with:
['v_cm_lvds_tx0', 'v_cm_lvds_tx0']
-
v_cm_lvds_tx2
¶ compound property
registers:
range(255, 256)
bits:
[0, 1, 2]
valid types:
<class 'int'>
value range:
0
to7
shares a register with:
['v_cm_lvds_tx3']
-
v_cm_lvds_tx3
¶ compound property
registers:
range(255, 256)
bits:
[4, 5, 6]
valid types:
<class 'int'>
value range:
0
to7
shares a register with:
['v_cm_lvds_tx2']
-
vcm_dac
¶ simple value property
registers:
range(83, 84)
valid types:
<class 'int'>
value range:
0
to255
-
voltage_monitor_bank0
¶ list-like property
list length:
3
registers:
range(113, 114)
element valid types:
(<class 'int'>, <class 'bool'>)
element value range:
0
to1
-
voltage_monitor_bank1
¶ list-like property
list length:
3
registers:
range(114, 115)
element valid types:
(<class 'int'>, <class 'bool'>)
element value range:
0
to1
-
voltage_monitor_bank2
¶ list-like property
list length:
3
registers:
range(115, 116)
element valid types:
(<class 'int'>, <class 'bool'>)
element value range:
0
to1
-
voltage_monitor_bank3
¶ list-like property
list length:
3
registers:
range(116, 117)
element valid types:
(<class 'int'>, <class 'bool'>)
element value range:
0
to1
-
voltage_monitor_refgen
¶ list-like property
list length:
8
registers:
range(117, 118)
element valid types:
(<class 'int'>, <class 'bool'>)
element value range:
0
to1
-
vref_dac
¶ simple value property
registers:
range(82, 83)
valid types:
<class 'int'>
value range:
0
to255
-