DSP
Tile Beamformer
Description:
Tile beamformer error flag status.
The TPM FPGAs each channelize data for eight dual polarisation antennas. In addition to beam calibration and steering, the tile beamformer produces beams for sixteen dual polarisation antennas by exchanging data over the FPGA-to-FPGA interface. These error flags relate to this external interface of the tile beamformer.
The tile beamformer status is False if any of the below errors are detected:
Packet boundaries for the data received over the FPGA-to-FPGA interface are not aligned with the local data.
Local data FIFO buffer is written when full (overflow). Data from the FPGA-to-FPGA interface is arriving too slow or not at all.
Local data FIFO buffer is read when empty. Data from the FPGA-to-FPGA interface is arriving too fast.
Groups:
dsp,tile_beamfReported By: TPM FPGAs
Expected:
TrueCleared When Read: Yes
Developer info
Tile Method:
check_tile_beamformer_statusArguments:
fpga_id (int): Specify which FPGA, 0, 1, or None for both FPGAs
Returns: True when Status is OK, no errors (bool)
Tile Method to Clear:
clear_tile_beamformer_status
Station Beamformer
Status
Description:
Station beamformer error flag status.
Tiles in a station produce station beams by summing tile beams transmitted over a 40GbE network. Beams for sixteen dual polarisation antennas are summed into beams for 256 dual polarisation antennas.
The station beamformer status is False if any of the below errors are detected:
The Core RAM FIFO buffer is read when empty.
The Core RAM FIFO buffer is written when full (overflow).
The SPEAD RAM FIFO buffer is read when empty.
The SPEAD RAM FIFO buffer is written when full (overflow).
The SPEAD packet FIFO buffer receives packets that are too short.
The SPEAD packet FIFO buffer receives packets that are too long.
The Corner Turner RAM FIFO buffer is read when empty.
The Corner Turner RAM FIFO buffer is written when full (overflow).
Groups:
dsp,station_beamfReported By: TPM FPGAs
Expected:
TrueCleared When Read: Yes
Developer info
Tile Method:
check_station_beamformer_statusArguments:
fpga_id (int): Specify which FPGA, 0, 1, or None for both FPGAs
show_result (bool): prints error counts on logger
Returns: True when Status is OK, no errors (bool)
Tile Method to Clear:
clear_station_beamformer_status
Discarded Or Flagged Packet Count
Description:
Number of discarded or flagged packets reportd by the final tile in the station beamformering chain. This is in units of packets received by the last tile in the station, travelling station beam packets that are \( \frac{1}{8} \) of a CSP packet.
When station beam flagging is disabled the number of discarded packets is reported. This will always be a multiple of 8 as a full CSP packet is discarded if it is not complete.
When station beam flagging is enabled, the number of substituted (flagged) packets is reported.
NOTE: This should only be polled for the last tile in the station. For all other tiles the values will be 0.
Groups:
dsp,station_beamfReported By: TPM FPGAs
Expected:
{'FPGA0': 0, 'FPGA1': 0}Cleared When Read: Yes
Developer info
Tile Method:
check_station_beamformer_discarded_or_flagged_packet_countArguments:
fpga_id (int): Specify which FPGA, 0, 1, or None for both FPGAs
Returns: counter values (dict)
Tile Method to Clear:
clear_station_beamformer_status
DDR Parity Error Count
Description:
DDR parity error counter.
The TPM FPGA generates a basic parity which is used to detect errors in station beamformed samples read from the DDR memory during corner turning. This counter will increment for every error detected. Any errors suggests a hardware degredation of the TPM DDR4 SDRAM chips.
NOTE: For now, this is not full ECC (Error Correcting Code). A more complex parity alogorithm would be requires to provide automatic correction of parity errors as well as detection.
Groups:
dsp,station_beamfReported By: TPM FPGAs
Expected:
{'FPGA0': 0, 'FPGA1': 0}Cleared When Read: Yes
Developer info
Tile Method:
check_ddr_parity_error_counterArguments:
fpga_id (int): Specify which FPGA, 0, 1, or None for both FPGAs
Returns: counter values (dict)
Tile Method to Clear:
clear_station_beamformer_status
DSP Latency Error
Description:
Station signal processing chain latency status.
The final TPM in the station verifies the processing latency from ADC capture and time-tag to transmission in the final tile in the beamforming chain to CSP.
The DSP latency is calculated by measuring the difference between the SPEAD transmission timestamp in the station beamformer and the ADC sampling timestamp for the same packet.
The measured latency is compared to a threshold, typically 10 ms. The status
is False if the latency exceeds the threshold. The current latency can be
read using check_dsp_latency.
Check if the DSP latency has exceeded the allowed threshold. Returns Ture if the DSP latency is OK, else False.
NOTE: This should only be polled for the last tile in the station. For all
other tiles the measured latency will be 0 ms so latency status will be True.
Groups:
dsp,station_beamfReported By: TPM FPGAs
Expected:
TrueCleared When Read: Yes
Developer info
Tile Method:
check_dsp_latency_statusArguments:
fpga_id (int): Specify which FPGA, 0, 1, or None for both FPGAs
Returns: True if DSP latency is OK, else False. (bool)
Tile Method to Clear:
clear_dsp_latency_status
Max Broadband RFI
Description:
The maximum number of ADC frames containing broadband RFI across all antennas.
A count is maintained per dual polarisation antenna (and associated ADC) of broadband RFI-affected frames. The value returned is the highest of these counters.
A count of ADC frames containing broadband RFI for all dual polarisation
antennas can be read using read_broadband_rfi.
Groups:
dsp,max_broadband_rfiReported By: TPM FPGAs
Expected: up to 65535
Cleared When Read: Yes
Developer info
Tile Method:
max_broadband_rfiReturns: Maximum number of ADC frames containing broadband RFI (int)
Tile Method to Clear:
clear_broadband_rfi