Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
H
HDL
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Jira
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
RTSD
HDL
Commits
28c53930
Commit
28c53930
authored
1 year ago
by
Eric Kooistra
Browse files
Options
Downloads
Patches
Plain Diff
Added ring control points usage.
parent
65d9f7dc
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Pipeline
#49830
passed
1 year ago
Stage: linting
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
applications/lofar2/doc/prestudy/sdp_ring_settings_per_station.txt
+228
-0
228 additions, 0 deletions
...ons/lofar2/doc/prestudy/sdp_ring_settings_per_station.txt
with
228 additions
and
0 deletions
applications/lofar2/doc/prestudy/sdp_ring_settings_per_station.txt
0 → 100644
+
228
−
0
View file @
28c53930
###############################################################################
# Title: Ring settings per station
#
# Author: Eric Kooistra
# Date: 17 May 2023
#
###############################################################################
Contents:
1) SDP parameter definitions
2) Ring configurations
3) Ring setup control points
4) Verify ring setup
References:
[1] https://support.astron.nl/confluence/display/L2M/L3+Station+Digital+Processor+Design+Document
[2] https://support.astron.nl/confluence/display/L2M/L3+SDP+Decision%3A+SDP+Parameter+definitions
[3] https://support.astron.nl/confluence/display/L2M/L2+STAT+Decision%3A+SC+-+SDP+OPC-UA+interface
[4] https://support.astron.nl/confluence/display/L2M/L2+STAT+Decision%3A+SC+-+SDP+OPC-UA+interface+presentation
1) SDP parameter definitions [2]:
LB = Low Band
HB = High Band
UniBoard2 has 4 nodes (FPGAs)
RN = Ring Node index (range 0:15)
GN = Global Node index (range 0:255)
O_rn is GN index of first node in ring
N_rn is number of nodes in the ring
P_sq = N_rn // 2 + 1 , is number of XST cells per node
N_hop = P_sq - 1, is number of transport hops along the ring for XST packets
2) Ring configurations
The ring settings define where the cable connections between UniBoard2 are and
depend on the station type and antenna band [1]:
a) LB: same in all stations:
* SDPTR instance with:
. O_rn = 0
. N_rn = 16
. P_sq = 9
. RN 0:15 = GN 0:15
. RN: 0 1 2 3 cable 4 5 6 7 cable 8 9 10 11 cable 12 13 14 15 cable back to 0
b) HB: different per station
- International station:
* SDPTR instance with:
. O_rn = 16
. N_rn = 16
. P_sq = 9
. RN 0:15 = GN 16:31
. RN: 0 1 2 3 cable 4 5 6 7 cable 8 9 10 11 cable 12 13 14 15 cable back to 0
- Remote station
* SDPTR instance with:
. O_rn = 16
. N_rn = 8
. P_sq = 5
. RN 0:7 = GN 16:23
. RN: 0 1 2 3 cable 4 5 6 7 cable back to 0
- Core station
* HB ear 0: SDPTR instance with
. O_rn = 0
. N_rn = 4
. P_sq = 3
. RN 0:3 = GN 16:19
. RN: 0 1 2 3 cable back to 0
* HB ear 1: SDPTR instance with:
. O_rn = 20
. N_rn = 4
. P_sq = 3
. RN 0:3 = GN 20:23
. RN: 0 1 2 3 cable back to 0
3) Ring setup control points
In general form:
# Ring common:
FPGA_ring_node_offset_RW = [O_rn]*N_rn
FPGA_ring_nof_nodes = [N_rn]*N_rn
# XST setup:
FPGA_xst_ring_nof_transport_hops = [N_hops]*N_rn
Specified per ring configuration:
a) LB all stations
# Ring common:
FPGA_ring_node_offset_RW = [0]*16
FPGA_ring_nof_nodes = [16]*16
FPGA_ring_use_cable_to_next_rn = [False,False,False,True,False,False,False,True,False,False,False,True,False,False,False,True]
FPGA_ring_use_cable_to_previous_rn = [True,False,False,False,True,False,False,False,True,False,False,False,True,False,False,False]
# XST setup:
FPGA_xst_ring_nof_transport_hops = [8]*16
# BF setup:
FPGA_xst_ring_nof_transport_hops [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0]
b1) HB international station
# Ring common:
FPGA_ring_node_offset_RW = [16]*16
FPGA_ring_nof_nodes = [16]*16
FPGA_ring_use_cable_to_next_rn = [False,False,False,True,False,False,False,True,False,False,False,True,False,False,False,True]
FPGA_ring_use_cable_to_previous_rn = [True,False,False,False,True,False,False,False,True,False,False,False,True,False,False,False]
# XST setup:
FPGA_xst_ring_nof_transport_hops = [8]*16
# BF setup:
FPGA_xst_ring_nof_transport_hops [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0]
b2) HB remote station
# Ring common:
FPGA_ring_node_offset_RW = [16]*8
FPGA_ring_nof_nodes = [8]*8
FPGA_ring_use_cable_to_next_rn = [False,False,False,True,False,False,False,True]
FPGA_ring_use_cable_to_previous_rn = [True,False,False,False,True,False,False,False]
# XST setup:
FPGA_xst_ring_nof_transport_hops = [4]*16
# BF setup:
FPGA_xst_ring_nof_transport_hops [1,1,1,1,1,1,1,0]
b3) HB core station
HB ear-0:
# Ring common:
FPGA_ring_node_offset_RW = [16]*4
FPGA_ring_nof_nodes = [4]*4
FPGA_ring_use_cable_to_next_rn = [False,False,False,True]
FPGA_ring_use_cable_to_previous_rn = [True,False,False,False]
# XST setup:
FPGA_xst_ring_nof_transport_hops = [2]*4
# BF setup:
FPGA_xst_ring_nof_transport_hops [1,1,1,0]
HB ear-1:
# Ring common:
FPGA_ring_node_offset_RW = [20]*4
FPGA_ring_nof_nodes = [4]*4
FPGA_ring_use_cable_to_next_rn = [False,False,False,True]
FPGA_ring_use_cable_to_previous_rn = [True,False,False,False]
# XST setup:
FPGA_xst_ring_nof_transport_hops = [2]*4
# BF setup:
FPGA_xst_ring_nof_transport_hops [1,1,1,0]
4) Verify ring setup
SDP processing enable:
FPGA_processing_enable [True]*N_rn
XST processing enable/restart:
FPGA_processing_enable [True]*N_rn
Then check packet arrival latencies along the ring via:
FPGA_xst_ring_rx_latency_RW for XST packets
FPGA_bf_ring_rx_latency_RW for beamlet packets
Expected XST crosslet packet arrival latencies (unit 5 ns) for LB with N_rn = 16:
kooistra@dop386:~/git/sdptr$ sdp_rw.py --host 10.99.0.250 --port 4842 -r xst_ring_rx_latency
read xst_ring_rx_latency:
node 64: -1 -1 -1 -1 -1 -1 -1 -1 1791 1569 1349 1150 927 661 462 264
node 65: 257 -1 -1 -1 -1 -1 -1 -1 -1 1786 1566 1365 1142 876 680 479
node 66: 471 248 -1 -1 -1 -1 -1 -1 -1 -1 1777 1579 1357 1090 890 694
node 67: 694 468 262 -1 -1 -1 -1 -1 -1 -1 -1 1798 1569 1341 1103 920
node 68: 921 679 479 256 -1 -1 -1 -1 -1 -1 -1 -1 1785 1566 1339 1142
node 69: 1129 899 699 472 251 -1 -1 -1 -1 -1 -1 -1 -1 1787 1563 1356
node 70: 1346 1122 921 697 469 263 -1 -1 -1 -1 -1 -1 -1 -1 1772 1570
node 71: 1574 1347 1128 906 682 481 257 -1 -1 -1 -1 -1 -1 -1 -1 1793
node 72: 1815 1589 1370 1151 908 707 484 287 -1 -1 -1 -1 -1 -1 -1 -1
node 73: -1 1804 1581 1363 1119 918 696 493 246 -1 -1 -1 -1 -1 -1 -1
node 74: -1 -1 1800 1579 1352 1134 909 707 460 255 -1 -1 -1 -1 -1 -1
node 75: -1 -1 -1 1794 1569 1345 1121 919 674 479 256 -1 -1 -1 -1 -1
node 76: -1 -1 -1 -1 1810 1589 1367 1145 901 705 484 283 -1 -1 -1 -1
node 77: -1 -1 -1 -1 -1 1795 1594 1352 1108 929 707 511 266 -1 -1 -1
node 78: -1 -1 -1 -1 -1 -1 1800 1576 1347 1147 919 718 489 247 -1 -1
node 79: -1 -1 -1 -1 -1 -1 -1 1801 1570 1353 1124 927 703 452 248 -1
Expected beamlet packet arrival latencies (unit 5 ns) for LB with N_rn = 16:
kooistra@dop386:~/git/sdptr$ sdp_rw.py --host 10.99.0.250 --port 4842 -r bf_ring_rx_latency
read bf_ring_rx_latency:
node 64: -1
node 65: 4884
node 66: 6932
node 67: 9000
node 68: 11041
node 69: 13094
node 70: 15126
node 71: 17178
node 72: 19251
node 73: 21269
node 74: 23319
node 75: 25366
node 76: 27442
node 77: 29471
node 78: 31514
node 79: 33574
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment