From d4e6c8309b4ec187df17df2d72641948d5ee04aa Mon Sep 17 00:00:00 2001
From: Eric Kooistra <kooistra@astron.nl>
Date: Tue, 16 Mar 2021 16:39:57 +0100
Subject: [PATCH] Added peripheral st_bst_for_sdp.

---
 libraries/dsp/st/st.peripheral.yaml | 30 +++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/libraries/dsp/st/st.peripheral.yaml b/libraries/dsp/st/st.peripheral.yaml
index 47eb5a504d..346577aa51 100644
--- a/libraries/dsp/st/st.peripheral.yaml
+++ b/libraries/dsp/st/st.peripheral.yaml
@@ -67,3 +67,33 @@ peripherals:
               address_offset: 0x0
               number_of_fields: g_nof_stat * g_stat_data_sz
               radix_width: g_stat_data_w
+
+
+  - peripheral_name: st_bst_for_sdp  # pi_st_bst.py
+    peripheral_description: |
+       "Accumulate the beamlet auto power values during a sync interval for the beamlet statistics (BST) in LOFAR2.0 SDP"
+    parameters:
+      # Parameters of pi_st_bst.py, fixed in node_sdp_beamformer.vhd / sdp_pkg.vhd
+      - { name: g_nof_instances, value: 6 }
+      # Parameters of st_sst.vhd, fixed in node_sdp_filterbank.vhd / sdp_pkg.vhd
+      - { name: g_nof_stat, value: 976 }  # nof accumulators:  S_sub_bf * N_pol_bf = 488 * 2 = 976
+      - { name: g_stat_data_w, value: 54 }  # statistics accumulator width in bits: W_statistic = 64
+      - { name: g_stat_data_sz, value: 2 }  # statistics accumulator width in 32b MM words: W_statistic_sz = 2
+    slave_ports:
+      # MM port for st_sst.vhd
+      - slave_name: RAM_ST_SST
+        slave_description: |
+          "The beamlet statistics per PN are stored in 1 block of S_sub_bf * N_pol_bf = 488 * 2 = 976 real values as:
+
+           (uint64)BST[g_nof_stat] = (uint64)BST[S_sub_bf][N_pol_bf]
+
+           where N_pol_bf = 2 and S_sub_bf = 488 are defined in sdp_pkg.vhd."
+        slave_type: RAM
+        number_of_slaves: 1
+        fields:
+          - - field_name: power
+              field_description: ""
+              width: 32
+              address_offset: 0x0
+              number_of_fields: g_nof_stat * g_stat_data_sz
+              radix_width: g_stat_data_w
-- 
GitLab