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

Weekly commit.

parent e614af7b
No related branches found
No related tags found
1 merge request!100Removed text for XSub that is now written in Confluence Subband correlator...
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
* Quartus Qsys IP files in GIT * Quartus Qsys IP files in GIT
* Quartus version * Quartus version
* Linux * Linux
* ICT diensten
...@@ -340,7 +341,11 @@ for me it is an ok workaround, ...@@ -340,7 +341,11 @@ for me it is an ok workaround,
* Markdown * Markdown
******************************************************************************* *******************************************************************************
Use e.g. Linux 'retext' as markdown editor and previewer. Markdown is not well Use e.g.:
- Linux 'retext' as markdown editor and previewer.
- https://typora.io
Markdown is not well
defined, so it is not always sure that the text will appear as expected in defined, so it is not always sure that the text will appear as expected in
each viewer. For example retext and gitlab viewer differ. Therefore it is each viewer. For example retext and gitlab viewer differ. Therefore it is
important to keep the markdown simple and to accept that readable text is good important to keep the markdown simple and to accept that readable text is good
...@@ -367,6 +372,10 @@ __bold__ ...@@ -367,6 +372,10 @@ __bold__
`boxed` `boxed`
~~strike through~~ ~~strike through~~
```vhdl
Text in ascii VHDL style for GitLab
```
Block quotes (alinea with an indent bar): Block quotes (alinea with an indent bar):
> Block text will wrap > Block text will wrap
...@@ -656,6 +665,16 @@ Quartus version meeting minutes 13 may 2020 (RW, LH JH, EK): ...@@ -656,6 +665,16 @@ Quartus version meeting minutes 13 may 2020 (RW, LH JH, EK):
https://linuxize.com/ https://linuxize.com/
# Linux update via
# - system updates available icon and notifications icon in toolbar
# - of via command line:
> uname -a # linux info
> sudo -s # become root
> apt-get upgrade
> apt-get dist-upgrade
> apt autoremove
dop466 = SSD dop466 = SSD
dop466_0 = HDD dop466_0 = HDD
...@@ -693,3 +712,34 @@ ls -l filename # shows current user,group owners of the 'filena ...@@ -693,3 +712,34 @@ ls -l filename # shows current user,group owners of the 'filena
sudo chgrp software filename # change group of 'filename' to 'software' sudo chgrp software filename # change group of 'filename' to 'software'
sudo chgrp -R software dirname # recursively change group of 'dirname' to 'software' sudo chgrp -R software dirname # recursively change group of 'dirname' to 'software'
#chown # change user,group #chown # change user,group
*******************************************************************************
* ICT diensten
*******************************************************************************
Self Service Password Reset
Met Self Service Password Reset (SSPR) is het mogelijk voor gebruikers om zelf hun wachtwoord
opnieuw instellen voor diverse ldap-diensten zonder tussenkomst van ict, zoals bijvoorbeeld de
netwerkschijven (H en I), intranet, vpn, Confluence, Jira en Surfmarkt.
Door middel van uitdagingsvragen kan een gebruiker bevestigen wie hij/zij is voordat ze hun
wachtwoorden veilig kunnen resetten.
Link: https://sspr.astron.nl
SURFfilesender
SURFfilesender is een webgebaseerde applicatie waarmee geauthenticeerde gebruikers veilig en
gemakkelijk willekeurig grote bestanden naar andere gebruikers kunnen verzenden. Gebruikers zonder
een account kunnen een gastvoucher worden gestuurd door een geverifieerde gebruiker. SURFfilesender
is ontwikkeld volgens de eisen en wensen van onderwijs en onderzoek.
Link: https://filesender.surf.nl
edu.nl: privacy-vriendelijke URL-shortener
edu.nl is dé URL-shortener voor onderwijs en onderzoek. Veilig omdat gebruikers inloggen met
SURFconext. Privacy-vriendelijk omdat edu.nl geen persoonlijke gegevens van gebruikers opslaat en
bezoekers van links niet trackt. edu.nl is kosteloos voor alle bij SURF aangesloten instellingen.
Link: https://filesender.surf.nl
Een uitgebreide beschrijving van deze diensten (Home » Diensten » ICT » Manuals and Documents)
is te vinden op het intranet
https://intranet.astron.nl/diensten/ict/manuals-and-documents/manuals-and-documents
...@@ -29,6 +29,20 @@ Fsub ...@@ -29,6 +29,20 @@ Fsub
- use MM master mux to select between MM access and UDP offload, when UDP offload is enabled then do not do MM access. - use MM master mux to select between MM access and UDP offload, when UDP offload is enabled then do not do MM access.
Support for oversampled subband filterbank
The oversampling increases the processing rate and data rate by a factor R_os. Typical R_os are
32/28 = 1.142, 32/27 = 1.185, 32/26 = 1.231, 32/25 = 1.28, 32/24 = 1.333. Assume R_os <= 1.28.
Processing capacity per subband period:
Assume the processing for critically sampled filterbank runs at 200 MHz and for oversampled
subbands it will run at R_os * 200 MHz. For R_os = 1.28 this requires processing at >= 256 MHz.
This means that the processing has N_clk = N_fft = 1024 clock cycles avaiable per subband
period T_sub, independent of R_os. In this way if the processing for the critically sampled
subbands fits within N_clk = N_fft = 1024 clock cycles, then it will also fit for the
oversampled subbands.
******************************************************************************* *******************************************************************************
* Beamformer * Beamformer
******************************************************************************* *******************************************************************************
...@@ -68,7 +82,7 @@ M&C: ...@@ -68,7 +82,7 @@ M&C:
|wx 0| |x| |wx*x| |wx 0| |x| |wx*x|
| 0 wy| * |y| = |wy*y| | 0 wy| * |y| = |wy*y|
. Wsing cx = wx and cy = wy and wx /= wy allows making two independent unpolarized beams using all antenne elements: . Using cx = wx and cy = wy and wx /= wy allows making two independent unpolarized beams using all antenne elements:
|wx 0| |1 1| |x| |wx wx| |x| |wx * (x + y)| |wx 0| |1 1| |x| |wx wx| |x| |wx * (x + y)|
| 0 wy| * |1 1| * |y| = |wy wy| * |y| = |wy * (x + y)| | 0 wy| * |1 1| * |y| = |wy wy| * |y| = |wy * (x + y)|
...@@ -76,6 +90,60 @@ M&C: ...@@ -76,6 +90,60 @@ M&C:
The (x+y) could be implemented as first (x+y) and then *w, or as first weight and then add. The (x+y) could be implemented as first (x+y) and then *w, or as first weight and then add.
W_beamlet_sum
LOFAR 1.0 had 24 bit for 16 bit beamlet mode and 12 bit for 8 bit beamlet mode. LOFAR 2.0 will
only support 8 bit. Using W_beamlet_sum = 18 bit provides 5 bits more dynamic range for 8 bit
beamlet mode, which is sufficient to detect overflow. Using W_beamlet_sum = 18 bit also fits the
input data width of the FPGA hard core multipliers in the BST. Given that the SDP signal input
level is 4 bit the beamformer could round 2 LSbit to effectively achieve 20 bit dynamic range,
even for S = 1 signal input. However the same effect can also be achieved by reducing the beamlet
weights by a factor 2**2 = 4. Choose the same W_beamlet_sum = 18 bit for both the critically
sampled beamlet data and the oversampled beamlet data, to avoid differences in the design.
In the dp_clk domain:
Using 488 yields 512 / 488 = 4.9 % margin
Using 496 yields 512 / 496 = 3.2 % margin
Using 512 has no margin, so requires higher dp_clk rate to be able to insert headers.
On the Ring lane:
Using s_sub_bf = 488 yields 6.8625 Gbps, so 1 - 6.8625 / 7.8125 = 12.1% margin
Using s_sub_bf = 496 yields 6.975 Gbps, so 1 - 6.975 / 7.8125 = 10.7% margin
Using s_sub_bf = 512 yields 7.2 Gbps, so 1 - 7.2 / 7.8125 = 7.8% margin
Design decsision:
Use dp_clk = 200 MHz, so do not overclock to support S_sub_bf = 512. It may be feasible to
support S_sub_bf = 496, but assume 488 because that is required.
Design descision:
Use W_beamlet_sum = 18 bit for both critically sampled beamlet and oversampled beamlets.
Using W_beamlet_sum = 18 bit fits the on one 10GbE lane on the ring, fits the input data width
of the FPGA hard core multipliers and also provides sufficent dynamic range to scale the final
beamlet sum to W_beamlet = 8 bit for output.
W_beamlet_sum = 18 bit
The beamlet sum that is transported across the ring needs to fit on a 10GbE lane. For one beamset of
S_sub_bf = 488 beamlets the data rate is N_pol * S_sub_bf * f_sub * N_complex *
W_beamlet_sum = 2 * 488 * 195312.5 * 2 * 18 = 6.8625 Gbps. Using L_lane = 7.8125 Gbps this leaves
about 1 - 6.8625 / 7.8125 = 12% margin for packet overhead, which is sufficient.
What is the beamlet packet size?
The beamlet sum is passed on along the ring from start PN to end PN using ring access scheme 1. At
the end PN the final beamlet sum is scaled to W_beamlet = 8 bit and output to CEP. The intermediate
beamlet sum has W_beamlet = 18 bit and is complex. There are N_pol * S_sub_bf = 2 * 488 = 976
beamlets per packet. The payload size is N_pol * S_sub_bf * N_complex * W_beamlet_sum / W_byte =
2 * 488 * 2 * 18 / 8 = 4392 octets. The effective packet size is 60 + 4392 = 4452 octets. With
f_sub = 195312.5 Hz the data rate is 4452 * 195312.5 * 8 = 6.95625 Gbps < L_lane = 7.8125, so it
fits on a 10GbE lane.
RW:
De output van de beamlet subband select wordt gecopieerd binnen local BF = sdp_beamformer_local.vhd, dus het gaat naar een X polarizatie tak in de local BF en hetzelfde gaat naar de Y polarizatie tak. De BF weight waardes voor sdp_bf_weights.vhd zullen dan bepalen dat de ene tak X pol beamlets maakt en dat andere tak Y pol beamlets maakt. N_pol = 2 en pol 0 = X en pol 1 = Y. De subbanden en beamlets zijn complex (re/im), dat ze complex zijn heeft niks met polarizatie te maken.
Figuur 3.4 sdp_bf_weights als 1 plat 12 inputs block met gecopieerd aangesloten 2x 6 inputs tonen. Sectie 4.1 [N_pol] index is ok.
Elke antenne heeft een X pol en een Y pol. De BF maakt X pol beamlets (ene tak) en Y pol beamlets (andere tak). Bijzonder is dat we met de BF weights zowel X als Y pol antennes kunnen laten bijdragen aan de X pol beamlet en aan een Y pol beamlet. Hierdoor zou je cross-polarizatie correcties kunnen doen.
Text saved in case we do need time actived BF weigths using the BSN scheduler: Text saved in case we do need time actived BF weigths using the BSN scheduler:
......
...@@ -243,4 +243,17 @@ WP 5 SDP plan: --> https://support.astron.nl/confluence/display/STAT/WP-5+SDP ...@@ -243,4 +243,17 @@ WP 5 SDP plan: --> https://support.astron.nl/confluence/display/STAT/WP-5+SDP
Other: Other:
. tools/oneclick/doc/desp_firmware_dag_erko.txt . tools/oneclick/doc/desp_firmware_dag_erko.txt
. tools/oneclick/doc/desp_firmware_overview.txt . tools/oneclick/doc/desp_firmware_overview.txt
. desp_howtools_erko.txt . desp_howtools_erko.txt
\ No newline at end of file
*******************************************************************************
* Design decision document
*******************************************************************************
Opbouw:
- sectie 2.1 Wat is nodig, wat hebben we nu, randvoorwaarden
- sectie 3.1 Wat is optie A design
- sectie 3.2 Wat is optie B design
- ...
- sectie 3.3 Vergelijking vd opties A, B, ...
...@@ -26,12 +26,31 @@ ...@@ -26,12 +26,31 @@
. mon_bsn_first = BSN at first Rx sync --> not useful . mon_bsn_first = BSN at first Rx sync --> not useful
. mon_bsn_first_cycle_cnt = latency at first Rx sync --> should use every Rx sync like on RSP . mon_bsn_first_cycle_cnt = latency at first Rx sync --> should use every Rx sync like on RSP
==> Reuse dp_bsn_monitor with improvements: ==> Reuse dp_bsn_monitor_v2 with improvements:
. Monitor the packets per sync interval using Rx sync. This is more precise then using the PPS . Monitor the packets per sync interval using Rx sync. This is more precise then using the PPS sync, because
sync. The Rx sync based values are only valid if mon_sync_timeout = 0. with the Rx sync the number of packets does not depend on latency fluctuations. The packet with the Rx sync
. Remove mon_bsn_first and mon_bsn_first_cycle_cnt. can get lost, but this can be detected by Rx sync timeout (= mon_sync_timeout). Therefore the Rx sync based
. Add mon_latency, use PPS sync like in RSP to measure the latency between PPS sync and Rx values are only valid if mon_sync_timeout = 0.
sync in number of clock cycles. . Monitor the channel field at the Rx sync. The channel field identifies the source rn index and the destination
rn index of the packet.
--> Add mon_channel
. Monitor the hop latency of the packets (= mon_latency) with respect to the PPS sync like in RSP. The
hop latency is measured by countinf the number of clock cycles between PPS sync and Rx sync. Hence the hop
latency is measured for the first packet in the sync interval. This provides sufficient information on the
hop latency of all packets in the sync interval.
--> Add mon_latency.
. Remove mon_bsn_first and mon_bsn_first_cycle_cnt (so remove IN sync_in).
. Use a dp_bsn_monitor_v2 per channel source rn index
* One for the local channel
* Use a dp_bsn_monitor_v2 on Rx per channel source rn index, there are K channels/lane:
- combiner scheme : K = 1, for Rx from previous node
- end cast scheme : K <= N-1, for Rx from up to K nodes on the ring
- multi cast scheme : K <= N-1, for Rx from up to K nodes on the ring
* Use a dp_bsn_monitor_v2 on Tx per channel, there are K channels/lane:
- combiner scheme : K = 1, for Tx to next node
- end cast scheme : K <= N-1, for Tx to up to K nodes on the ring (transit packets and local packet)
- multi cast scheme : K <= N-1, for Tx to up to K nodes on the ring (transit packets and local packet)
...@@ -68,6 +87,7 @@ ...@@ -68,6 +87,7 @@
Therefore the application payload should also have a CRC to ensure that no false positive CRC Therefore the application payload should also have a CRC to ensure that no false positive CRC
will occur during the life time of LOFAR 2.0. will occur during the life time of LOFAR 2.0.
UniBoard2 BER < 1 * 10-14 for all 10G transceives https://www.worldscientific.com/doi/10.1142/S225117171950003X
Design decisions: Design decisions:
- Use CHAN (32b), Sync & BSN (64b), DATA (>= 1 b), ERR (32b), CRC (32b) to transport data between - Use CHAN (32b), Sync & BSN (64b), DATA (>= 1 b), ERR (32b), CRC (32b) to transport data between
......
...@@ -699,6 +699,7 @@ Enianess: ...@@ -699,6 +699,7 @@ Enianess:
The Nios II architecture uses little-endian byte ordering. Words and halfwords are stored inmemory with the more-significant bytes at higher addresses. The Nios II architecture uses little-endian byte ordering. Words and halfwords are stored inmemory with the more-significant bytes at higher addresses.
################################################################################################### ###################################################################################################
# L3 ICD 11423 SDPTR - SDPFW # L3 ICD 11423 SDPTR - SDPFW
......
This diff is collapsed.
...@@ -116,6 +116,8 @@ LOFAR2-4301 Start station beamlet output --> Output beamlets ...@@ -116,6 +116,8 @@ LOFAR2-4301 Start station beamlet output --> Output beamlets
LOFAR2-4300 Stop station beamlet output --> Output beamlets LOFAR2-4300 Stop station beamlet output --> Output beamlets
LOFAR2-3220 Examine data at each processing step --> DB LOFAR2-3220 Examine data at each processing step --> DB
LOFAR2-4392 Station coordinate systems
Transient buffer Transient buffer
LOFAR2-3420 Transient buffer --> Buffer LOFAR2-3420 Transient buffer --> Buffer
LOFAR2-2305 Buffer length >= 2.5 s --> Buffer LOFAR2-2305 Buffer length >= 2.5 s --> Buffer
...@@ -139,4 +141,4 @@ LOFAR2-3144 Transient detection mode ...@@ -139,4 +141,4 @@ LOFAR2-3144 Transient detection mode
LOFAR2-2310 Send trigger to TM --> Trigger to SC LOFAR2-2310 Send trigger to TM --> Trigger to SC
Subband offload Subband offload
None None
\ No newline at end of file
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