-
Made antenne_band_index RW in sdp_info. Removed O_si, N_si from sdp_info because not used. Moved O_rn, N_rn to ring_info.
Made antenne_band_index RW in sdp_info. Removed O_si, N_si from sdp_info because not used. Moved O_rn, N_rn to ring_info.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
sdp.peripheral.yaml 39.03 KiB
schema_name: args
schema_version: 1.0
schema_type: peripheral
hdl_library_name: sdp
hdl_library_description: "Station Digital Processor (SDP) for LOFAR2.0"
peripherals:
- peripheral_name: sdp_info # pi_sdp_info.py
peripheral_description: "SDP info."
mm_ports:
# MM port for sdp_info.vhd
- mm_port_name: REG_SDP_INFO
mm_port_type: REG
mm_port_span: 16 * MM_BUS_SIZE
mm_port_description: |
"The SDP info contains central SDP information. The station_id applies to the entire station.
The other info fields apply per antenna band (low band or high band). An FPGA node only
participates in one band."
fields:
- - { field_name: station_id, mm_width: 16, access_mode: RW, address_offset: 0x1C }
- - { field_name: antenna_band_index, mm_width: 1, access_mode: RW, address_offset: 0x18 }
- - { field_name: observation_id, mm_width: 32, access_mode: RW, address_offset: 0x14 }
- - { field_name: nyquist_zone_index, mm_width: 2, access_mode: RW, address_offset: 0x10 }
- - { field_name: f_adc, mm_width: 1, access_mode: RO, address_offset: 0xC }
- - { field_name: fsub_type, mm_width: 1, access_mode: RO, address_offset: 0x8 }
- - { field_name: beam_repositioning_flag, mm_width: 1, access_mode: RW, address_offset: 0x4 }
- - { field_name: block_period, mm_width: 16, access_mode: RO, address_offset: 0x0 }
- peripheral_name: sdp_crosslets_subband_select # pi_sdp_crosslets_info.py
peripheral_description: "SDP crosslets info."
mm_ports:
# MM port for sdp_info.vhd
- mm_port_name: REG_CROSSLETS_INFO
mm_port_type: REG
mm_port_span: 16 * MM_BUS_SIZE
mm_port_description: |
"The SDP crosslets info contains the step size and 15 offsets, that are used to select a new
crosslet subband for every integration interval"
fields:
- - { field_name: step, access_mode: RW, address_offset: 0x3C }
- - field_name: offset
number_of_fields: 15
address_offset: 0x0
- peripheral_name: sdp_nof_crosslets # pi_sdp_nof_crosslets.py
peripheral_description: "SDP nof crosslets."
mm_ports:
- mm_port_name: REG_NOF_CROSSLETS
mm_port_type: REG
mm_port_span: 2 * MM_BUS_SIZE
mm_port_description: |
"The SDP nof crosslets contains the number of crosslets that are being sent out the UDP offload
where 1 <= nof_crosslets <= N_crosslets_max"
fields:
- - { field_name: nof_crosslets, access_mode: RW, address_offset: 0x0 }
- - { field_name: unused, access_mode: RW, address_offset: 0x4 }
- peripheral_name: sdp_subband_equalizer # pi_sdp_subband_equalizer.py
peripheral_description: "SDP Subband equalizer coefficients."
parameters:
# Parameters of pi_sdp_subband_equalizer.py, fixed in sdp_subband_equalizer.vhd / sdp_pkg.vhd
- { name: P_pfb, value: 6 } # P_pfb = S_pn / Q_fft = 12 / 2 = 6
- { name: Q_fft, value: 2 }
- { name: N_sub, value: 512 }
mm_ports:
# MM port for sdp_subband_equalizer.vhd
- mm_port_name: RAM_EQUALIZER_GAINS
mm_port_type: RAM