diff --git a/applications/lofar2/libraries/sdp/sdp.peripheral.yaml b/applications/lofar2/libraries/sdp/sdp.peripheral.yaml index 84edc25bb7e34e21b5e66ba063f4b5d6fad2fce5..a7ddc81ca91dcae8845c27f9a4023be784c9320f 100644 --- a/applications/lofar2/libraries/sdp/sdp.peripheral.yaml +++ b/applications/lofar2/libraries/sdp/sdp.peripheral.yaml @@ -6,33 +6,6 @@ hdl_library_name: sdp hdl_library_description: "Station Digital Processor (SDP) for LOFAR2.0" peripherals: - - peripheral_name: sdp_subband_equalizer # pi_sdp_subband_equalizer.py - peripheral_description: "Subband equalizer coefficients." - parameters: - # Parameters of pi_sdp_subband_equalizer.py, fixed in sdp_subband_equalizer.vhd / sdp_pkg.vhd - - { name: g_nof_instances, value: 6 } # P_pfb = S_pn / Q_fft = 12 / 2 = 6 - slave_ports: - # MM port for sdp_subband_equalizer.vhd - - slave_name: RAM_EQUALIZER_GAINS - slave_description: | - "The subband weigths per PN are stored in g_nof_instances = P_pfb = S_pn / Q_fft = 6 blocks of - Q_fft * N_sub = 2 * 512 = 1024 complex coefficients as: - - (cint16)subband_weights[S_pn/Q_fft]_[Q_fft][N_sub] - - where S_pn = 12, Q_fft = 2 and N_sub = 512 are defined in sdp_pkg.vhd." - slave_type: RAM - number_of_slaves: g_nof_instances - fields: - - - field_name: coef - field_description: | - "Complex coefficient to calibrate the gain and phase per subband. Packed as imaginary in high part, - real in low part of width = N_complex * W_sub_weight = 2 * 16 = 32 bit." - width: 32 # = N_complex * W_sub_weight - address_offset: 0x0 - number_of_fields: 1024 # = Q_fft * N_sub = 2 signal inputs * 512 subbands - radix: complx - - peripheral_name: sdp_info # pi_sdp_info.py ? peripheral_description: "SDP info." slave_ports: @@ -58,3 +31,32 @@ peripherals: - - { field_name: N_rn, width: 8, access_mode: RW, address_offset: 0x2C } - - { field_name: block_period, width: 16, access_mode: RO, address_offset: 0x30 } - - { field_name: beamlet_scale, width: 16, access_mode: RW, address_offset: 0x34 } + + - peripheral_name: sdp_subband_equalizer # pi_sdp_subband_equalizer.py + peripheral_description: "Subband equalizer coefficients." + parameters: + # Parameters of pi_sdp_subband_equalizer.py, fixed in sdp_subband_equalizer.vhd / sdp_pkg.vhd + - { name: g_nof_instances, value: 6 } # P_pfb = S_pn / Q_fft = 12 / 2 = 6 + slave_ports: + # MM port for sdp_subband_equalizer.vhd + - slave_name: RAM_EQUALIZER_GAINS + slave_description: | + "The subband weigths per PN are stored in g_nof_instances = P_pfb = S_pn / Q_fft = 6 blocks of + Q_fft * N_sub = 2 * 512 = 1024 complex coefficients as: + + (cint16)subband_weights[S_pn/Q_fft]_[Q_fft][N_sub] + + where S_pn = 12, Q_fft = 2 and N_sub = 512 are defined in sdp_pkg.vhd." + slave_type: RAM + number_of_slaves: g_nof_instances + fields: + - - field_name: coef + field_description: | + "Complex coefficient to calibrate the gain and phase per subband. Packed as imaginary in high part, + real in low part of width = N_complex * W_sub_weight = 2 * 16 = 32 bit." + width: 32 # = N_complex * W_sub_weight + address_offset: 0x0 + number_of_fields: 1024 # = Q_fft * N_sub = 2 signal inputs * 512 subbands + radix: complx + +