diff --git a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_fsub/tb_lofar2_unb2b_sdp_station_fsub_sst_offload.vhd b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_fsub/tb_lofar2_unb2b_sdp_station_fsub_sst_offload.vhd index ac3bffbe3e31ee2d4815f4d42c2d7bb2279103ec..725e9cc20df2788c6b317c0a017871e203e12187 100644 --- a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_fsub/tb_lofar2_unb2b_sdp_station_fsub_sst_offload.vhd +++ b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_fsub/tb_lofar2_unb2b_sdp_station_fsub_sst_offload.vhd @@ -77,7 +77,7 @@ ARCHITECTURE tb OF tb_lofar2_unb2b_sdp_station_fsub_sst_offload IS -- MM CONSTANT c_mm_file_reg_bsn_source_v2 : STRING := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_BSN_SOURCE_V2"; - CONSTANT c_mm_file_reg_stat_enable : STRING := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_STAT_ENABLE"; + CONSTANT c_mm_file_reg_stat_enable : STRING := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_STAT_ENABLE_SST"; -- Tb SIGNAL tb_end : STD_LOGIC := '0'; diff --git a/applications/lofar2/images/images.txt b/applications/lofar2/images/images.txt index a80f153a04742cd1c6e9448b0047d683a1d0689c..3c8a0afc27b593e950e1317c00009a12a2842b57 100644 --- a/applications/lofar2/images/images.txt +++ b/applications/lofar2/images/images.txt @@ -3,6 +3,6 @@ Image name | Date | Author unb2b_minimal-r03350b9b9 | 2021-03-19 | | lofar2_unb2b_filterbank_full-r8a75c955b | 2021-03-01 | R vd Walle | Deprecated, better use lofar2_unb2b_sdp_station_fsub-rc125dfd6d lofar2_unb2b_sdp_station_adc-rc125dfd6d | 2021-04-21 | J. Hargreaves | - -lofar2_unb2b_sdp_station_fsub-rc125dfd6d | 2021-04-21 | R vd Walle | See $UPE_GEAR/peripherals/tc_lofar2_unb2b_filterbank.py +lofar2_unb2b_sdp_station_fsub-ra75155e53 | 2021-06-09 | R vd Walle | See $UPE_GEAR/peripherals/tc_lofar2_unb2b_filterbank.py lofar2_unb2b_sdp_station_bf-rc125dfd6d | 2021-04-21 | R vd Walle | See $UPE_GEAR/peripherals/tc_lofar2_unb2b_beamformer.py diff --git a/applications/lofar2/images/lofar2_unb2b_sdp_station_fsub-rc125dfd6d.tar.gz b/applications/lofar2/images/lofar2_unb2b_sdp_station_fsub-ra75155e53.tar.gz similarity index 53% rename from applications/lofar2/images/lofar2_unb2b_sdp_station_fsub-rc125dfd6d.tar.gz rename to applications/lofar2/images/lofar2_unb2b_sdp_station_fsub-ra75155e53.tar.gz index 657af6ad73180869fb7708af746ed327b6005cd8..b717c6caadd010d992ed748e5ee47df2a901b34c 100644 Binary files a/applications/lofar2/images/lofar2_unb2b_sdp_station_fsub-rc125dfd6d.tar.gz and b/applications/lofar2/images/lofar2_unb2b_sdp_station_fsub-ra75155e53.tar.gz differ diff --git a/applications/lofar2/libraries/sdp/sdp.peripheral.yaml b/applications/lofar2/libraries/sdp/sdp.peripheral.yaml index 0b5da7eda85b1ce312f2720313fa315772f28c7b..67eef47dc7e3f47dbb1558b2b6cfac89b0c9593f 100644 --- a/applications/lofar2/libraries/sdp/sdp.peripheral.yaml +++ b/applications/lofar2/libraries/sdp/sdp.peripheral.yaml @@ -17,19 +17,19 @@ peripherals: 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: 0x0 } - - - { field_name: antenna_band_index, mm_width: 1, access_mode: RO, address_offset: 0x4 } - - - { field_name: observation_id, mm_width: 32, access_mode: RW, address_offset: 0x8 } - - - { field_name: nyquist_zone_index, mm_width: 2, access_mode: RW, address_offset: 0xC } - - - { field_name: f_adc, mm_width: 1, access_mode: RO, address_offset: 0x10 } - - - { field_name: fsub_type, mm_width: 1, access_mode: RO, address_offset: 0x14 } + - - { field_name: station_id, mm_width: 16, access_mode: RW, address_offset: 0x30 } + - - { field_name: antenna_band_index, mm_width: 1, access_mode: RO, address_offset: 0x2C } + - - { field_name: observation_id, mm_width: 32, access_mode: RW, address_offset: 0x28 } + - - { field_name: nyquist_zone_index, mm_width: 2, access_mode: RW, address_offset: 0x24 } + - - { field_name: f_adc, mm_width: 1, access_mode: RO, address_offset: 0x20 } + - - { field_name: fsub_type, mm_width: 1, access_mode: RO, address_offset: 0x1C } - - { field_name: beam_repositioning_flag, mm_width: 1, access_mode: RW, address_offset: 0x18 } - - - { field_name: O_si, mm_width: 8, access_mode: RW, address_offset: 0x1C } - - - { field_name: N_si, mm_width: 8, access_mode: RW, address_offset: 0x20 } - - - { field_name: O_rn, mm_width: 8, access_mode: RW, address_offset: 0x24 } - - - { field_name: N_rn, mm_width: 8, access_mode: RW, address_offset: 0x28 } - - - { field_name: block_period, mm_width: 16, access_mode: RO, address_offset: 0x2C } - - - { field_name: beamlet_scale, mm_width: 16, access_mode: RW, address_offset: 0x30 } + - - { field_name: O_si, mm_width: 8, access_mode: RW, address_offset: 0x14 } + - - { field_name: N_si, mm_width: 8, access_mode: RW, address_offset: 0x10 } + - - { field_name: O_rn, mm_width: 8, access_mode: RW, address_offset: 0xC } + - - { field_name: N_rn, mm_width: 8, access_mode: RW, address_offset: 0x8 } + - - { field_name: block_period, mm_width: 16, access_mode: RO, address_offset: 0x4 } + - - { field_name: beamlet_scale, mm_width: 16, access_mode: RW, address_offset: 0x0 } - peripheral_name: sdp_subband_equalizer # pi_sdp_subband_equalizer.py peripheral_description: "SDP Subband equalizer coefficients." diff --git a/libraries/io/eth/src/vhdl/eth_checksum.vhd b/libraries/io/eth/src/vhdl/eth_checksum.vhd index bfe6208f70468f77e50c6310d951bb0b882de2d1..aead4db3f1fa2b1d8d07ca5f448bef5d9b97d09c 100644 --- a/libraries/io/eth/src/vhdl/eth_checksum.vhd +++ b/libraries/io/eth/src/vhdl/eth_checksum.vhd @@ -150,7 +150,7 @@ BEGIN sum; -- Accumulate the last carry - last_dat <= sum(c_halfword_w-1 DOWNTO 0) + sum_cin; + last_dat <= sum(c_halfword_w-1 DOWNTO 0) + sum_cin + word_sum_cin; -- Also add word_sum_cin in the case that the last word has a carry. -- Checksum is 1-complement of the sum nxt_checksum <= NOT(STD_LOGIC_VECTOR(last_dat)) WHEN prev_in_eop_dly='1' ELSE i_checksum;