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

Added ring control points usage.

parent 65d9f7dc
No related branches found
No related tags found
No related merge requests found
Pipeline #49830 passed
###############################################################################
# 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
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