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
FPGA0
Description:
Number of discarded or flagged packets reportd by the final tile in the station beamformering chain for FPGA0.
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 None will be returned.
Groups:
dsp,station_beamfReported By: TPM FPGAs
Expected:
0Cleared When Read: Yes
Developer info
Tile Method:
check_station_beamformer_discarded_or_flagged_packet_count(fpga_id=0)Arguments:
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(fpga_id=0)
FPGA1
Description:
Number of discarded or flagged packets reportd by the final tile in the station beamformering chain for FPGA1.
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 None will be returned.
Groups:
dsp,station_beamfReported By: TPM FPGAs
Expected:
0Cleared When Read: Yes
Developer info
Tile Method:
check_station_beamformer_discarded_or_flagged_packet_count(fpga_id=1)Arguments:
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(fpga_id=1)
DDR Parity Error Count
FPGA0
Description:
DDR parity error counter for FPGA0.
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:
0Cleared When Read: Yes
Developer info
Tile Method:
check_ddr_parity_error_counter(fpga_id=0)Arguments:
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(fpga_id=0)
FPGA1
Description:
DDR parity error counter for FPGA1.
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:
0Cleared When Read: Yes
Developer info
Tile Method:
check_ddr_parity_error_counter(fpga_id=1)Arguments:
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(fpga_id=1)
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 None will be returned.
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