Skip to content
Snippets Groups Projects
Commit 2fb67ea5 authored by Eric Kooistra's avatar Eric Kooistra
Browse files

Updated SDP timing description and BSN aligner selection to almost final...

Updated SDP timing description and BSN aligner selection to almost final state. Updated other txt files at some points.
parent d78945af
No related branches found
No related tags found
No related merge requests found
. Distinguish beteen state registers and pipeline registers. Idea / rule: Distinguish beteen state registers and pipeline registers.
The state registers keep the state of the function and the function itself is programmed in combinatorial logic.
. The state registers keep the state of the function and the function itself is programmed in combinatorial logic.
In this way the pipelining that is needed to achieve timing closure can be added independent of the function. In this way the pipelining that is needed to achieve timing closure can be added independent of the function.
This approach could be described in a paper, because it is quite significant and differs from the well known This approach could be described in a paper, because it is quite significant and differs from the well known
Gailser approach (that uses RL=1 and does not separate state from pipeline). AXI uses RL=0 but need to check Gailser approach (that uses RL=1 and does not separate state from pipeline). AXI uses RL=0 but need to check
...@@ -28,5 +29,5 @@ ...@@ -28,5 +29,5 @@
Ref: Ref:
tools/oneclick/doc/desp_firmware_dag_erko.txt : Secion 6) VHDL design $RADIOHDL/tools/oneclick/doc/desp_firmware_dag_erko.txt
tools/oneclick/doc/desp_firmware_overview.txt $RADIOHDL/tools/oneclick/doc/desp_firmware_overview.txt
\ No newline at end of file \ No newline at end of file
...@@ -22,25 +22,32 @@ UDP link control ...@@ -22,25 +22,32 @@ UDP link control
- UDP/IPv4 - UDP/IPv4
. UDP checksum (not used in LOFAR1) . UDP checksum (not used in LOFAR1)
> nslookup <hostname> # e.g. <astron.nl> to find IP address
> sudo arp
> ping <IP address> # to find MAC address for IP address ?
LFAA-CSP_Low : OSI (Open Systems Interconnection) layers LFAA-CSP_Low : OSI (Open Systems Interconnection) layers
7 Application : Not applicable, this is the level where the STAT and CEP products each perform their allocated functions. 7 Application : Not applicable, this is the level where the STAT and CEP products each perform their
allocated functions.
6 Presentation : 6 Presentation :
- SPEAD header - SPEAD header
header first word: header first word:
magic = 0x53 ='S' 8b, version = 0x4 8b, itemPointerWidth = 0x2 8b, HeapAddrWidth = 0x0 8b, rsvd=0 16b, number of items = 0x8 16b magic = 0x53 ='S' 8b, version = 0x4 8b, itemPointerWidth = 0x2 8b, HeapAddrWidth = 0x0 8b, rsvd=0 16b,
number of items = 0x8 16b
header items: header items:
heap_counter = coarse channel number (1-511) 16b, packet counter 32b # restart at 0 for new observation, 2k samples per packet --> packet counter wraps after few days heap_counter = coarse channel number (1-511) 16b, packet counter 32b # restart at 0 for new
observation, 2k samples per packet --> packet counter wraps after few days
pkt_len = packet payload length 48b pkt_len = packet payload length 48b
sync_time = unix_epoch_time [s] 48b # last time system was syncrhonised by PPS in seconds since 1 Jan 1970 sync_time = unix_epoch_time [s] 48b # last time system was syncrhonised by PPS in seconds since 1 Jan 1970
timestamp = timestamp [ns] 48b # time of center of first sample in packet since sync_time in ADC sample periods of 1.25 ns timestamp = timestamp [ns] 48b # time of center of first sample in packet since sync_time in
ADC sample periods of 1.25 ns
center_freq = frequency [Hz] 48b # center frequency of coarse channel (1-511) * 781250 in Hz center_freq = frequency [Hz] 48b # center frequency of coarse channel (1-511) * 781250 in Hz
csp_channel_info = rsvd 16b, beam_id 16b, freq_id 16b csp_channel_info = rsvd 16b, beam_id 16b, freq_id 16b
csp_antenna_info = substation_id (1-512) 8b, subarray_id (1-16) 8b, station_id 16b, nof_contributing_antenna (typ. 256) 16b csp_antenna_info = substation_id (1-512) 8b, subarray_id (1-16) 8b, station_id 16b, nof_contributing_antenna
(typ. 256) 16b
sample_offset = payload_offset = 0x0 sample_offset = payload_offset = 0x0
data data
...@@ -68,7 +75,10 @@ LFAA-CSP_Low : OSI (Open Systems Interconnection) layers ...@@ -68,7 +75,10 @@ LFAA-CSP_Low : OSI (Open Systems Interconnection) layers
L1 ICD 11109 : STAT - CEP L1 ICD 11109 : STAT - CEP
. Beamlet data . Beamlet data
. Transient buffer read out . Transient buffer read out
. Subband offload (for AARTFAAC)
Not included:
. SST, BST, XST, because these are for monitoring and calibration, not for science data
. Subband offload for AARTFAAC2.0 will have own EICD
STAT-CEP Beamlet data interface: STAT-CEP Beamlet data interface:
...@@ -82,10 +92,14 @@ STAT-CEP Beamlet data interface: ...@@ -82,10 +92,14 @@ STAT-CEP Beamlet data interface:
. 1b critically PFB, oversampled PFB (or p, q for R_os = p/q) . 1b critically PFB, oversampled PFB (or p, q for R_os = p/q)
. 4b beamlet width in number of bits (default 8 for W_beamlet = 8 bit, instead of BM = beamlet mode) . 4b beamlet width in number of bits (default 8 for W_beamlet = 8 bit, instead of BM = beamlet mode)
. 5b UniBoard2 FPGA id (16 FPGAs for LBA, 16 for HBA in International Station, instead of RSP ID) . 5b UniBoard2 FPGA id (16 FPGAs for LBA, 16 for HBA in International Station, instead of RSP ID)
. ==> Also beamlet scale setting
. ==> Number of antenna in beam (core, LBA, HBA inner to make HBA international look like HBA remote)
- CONFIGURATION_ID 8b (used in LOFAR1? intended to refer to the parset that defines this observation) - CONFIGURATION_ID 8b (used in LOFAR1? intended to refer to the parset that defines this observation)
==> observation ID 32b
- STATION_ID 16b (idem as LOFAR1) - STATION_ID 16b (idem as LOFAR1)
==> or 8b because there are only ~50 stations
- One packet per range of Station beamlets out of 488 beamlets - One packet per range of Station beamlets out of 488 beamlets
. Full band : S_sub_bf * W_beamlet * N_complex / W_byte = 488 * 8b * 2 / 8b = 976 octets . Full band : S_sub_bf * W_beamlet * N_complex / W_byte = 488 * 8b * 2 / 8b = 976 octets
...@@ -126,6 +140,9 @@ STAT-CEP Beamlet data interface: ...@@ -126,6 +140,9 @@ STAT-CEP Beamlet data interface:
- TX_PACKET_COUNT 32b - TX_PACKET_COUNT 32b
==> Not useful, because then CEP needs to count Rx packets. Better send filler packets to keep the
packet rate at the nominal rate, so that any packet loss is due to the Network and already
clear at OSI 2 layer using lower level tools like Wireshark.
. OSI transport layer 4 . OSI transport layer 4
. Per stream . Per stream
. Started at Station power up, increments by 1 for every transmitted packet. . Started at Station power up, increments by 1 for every transmitted packet.
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* Station Control software: * Station Control software:
******************************************************************************* *******************************************************************************
The Station contains hardware and software devices that deliver the funnctionality of the application The Station contains hardware and software devices that deliver the functionality of the application
[4.1.2.1]. The Station Control software consist of Control and M&C. The Control determines the behaviour [4.1.2.1]. The Station Control software consist of Control and M&C. The Control determines the behaviour
of the devices in time. Via the M&C the Control can control the devices and monitor them. The M&C uses of the devices in time. Via the M&C the Control can control the devices and monitor them. The M&C uses
a standard software interface for the Control to access the devices. For the Station M&C the M&C will a standard software interface for the Control to access the devices. For the Station M&C the M&C will
...@@ -48,8 +48,12 @@ FPGAs in parallel. The synchronous M&C can be for a single PPS instant or for ev ...@@ -48,8 +48,12 @@ FPGAs in parallel. The synchronous M&C can be for a single PPS instant or for ev
- Use fixed internal sync aligned to PPS - Use fixed internal sync aligned to PPS
. The disadvantage of a fixed interval is that it is inflexible and cannot be controlled by the SCU, . In LOFAR1 and APERTIF the sync period is used as fixed update interval for periodic monitoring,
This could also be considered an advantage, because it is well defined and does not need control. periodic control (the beamformer weights) and periodic integration intervals (AST, SST, BST and
XST).
. The advantage of a fixed update interval is that it is well defined and does not need control.
This can also be a disadvantage because a fixed interval is inflexible and cannot be controlled
by the SCU. Probably only for the XST this flexibility is nice to have.
. With a fixed interval the monitored information may only reflect what happened during the previous . With a fixed interval the monitored information may only reflect what happened during the previous
period. Therefore if the monitoring has to be without gaps in time then the SCU needs to monitor period. Therefore if the monitoring has to be without gaps in time then the SCU needs to monitor
and aggregate the information at every period. Using a configurable period this aggregation in the and aggregate the information at every period. Using a configurable period this aggregation in the
...@@ -167,4 +171,9 @@ Behaviour of the data points: ...@@ -167,4 +171,9 @@ Behaviour of the data points:
Conclusion:
- Identify casue of error preferrably via a single monitoring point
- With proper monitoring no test time is needed
- Support writing status fields in a test mpd for SW - FW interface testing
- Use 1 s sync interval of PPS to time period M&C events for all. Optionally support a local BSN scheduler
for the XST.
This diff is collapsed.
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment