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

Small updates.

parent e0f67d83
No related branches found
No related tags found
No related merge requests found
Pipeline #48520 passed
...@@ -339,18 +339,18 @@ The CP FPGA_beamlet_output_nof_beamlets_RW is not supported in SDPTR and SDPFW y ...@@ -339,18 +339,18 @@ The CP FPGA_beamlet_output_nof_beamlets_RW is not supported in SDPTR and SDPFW y
- loops global pn, ai via FPGA_tbuf_dump_enable_RW - loops global pn, ai via FPGA_tbuf_dump_enable_RW
. FPGA_tbuf_memory_remaining_nof_packets_R[pn][ai] . FPGA_tbuf_memory_remaining_nof_packets_R[pn][ai]
amount of packets that still need to be dumped, Number of packets that still need to be dumped,
starting at reg_dump_nof_pages_RW and then decrementing down to 0, when starting at reg_dump_nof_pages_RW and then decrementing down to 0, when
FPGA_tbuf_dump_enable_RW is True. If it does not reach 0 then there is something wrong in SDPFW. FPGA_tbuf_dump_enable_RW is True. If it does not reach 0 then there is something wrong in SDPFW.
FPGA_tbuf_memory_read_nof_packets_R[pn][ai] FPGA_tbuf_memory_read_nof_packets_R[pn][ai]
amount of packets that have been read so far Number of packets that have been read so far
FPGA_tbuf_memory_dropped_nof_packets_R[pn][ai] FPGA_tbuf_memory_dropped_nof_packets_R[pn][ai]
amount of packets that have been read and had a CRC error, Number of packets that have been read and had a CRC error,
count per ai, because each ai has own CRC count per ai, because each ai has own CRC
FPGA_tbuf_memory_dumped_nof_packets_R[pn][ai] FPGA_tbuf_memory_dumped_nof_packets_R[pn][ai]
amount of packets that have been dumped, packets with a read error are not passed on for dump Number of packets that have been dumped, packets with a read error are not passed on for dump
= FPGA_tbuf_memory_read_nof_packets_R - FPGA_tbuf_memory_dropped_nof_packets_R, = FPGA_tbuf_memory_read_nof_packets_R - FPGA_tbuf_memory_dropped_nof_packets_R,
Not: FPGA_tbuf_clear_total_counts_RW[pn] --> clear all TBuf total counts in pn, Not: FPGA_tbuf_clear_total_counts_RW[pn] --> clear all TBuf total counts in pn,
...@@ -473,23 +473,26 @@ The CP FPGA_beamlet_output_nof_beamlets_RW is not supported in SDPTR and SDPFW y ...@@ -473,23 +473,26 @@ The CP FPGA_beamlet_output_nof_beamlets_RW is not supported in SDPTR and SDPFW y
reg_dump_nof_pages_RW = dump_nof_pages reg_dump_nof_pages_RW = dump_nof_pages
. reg_memory_read_nof_packets_R[ai] . reg_memory_read_nof_packets_R[ai]
amount of packets that have been read so far Number of packets that have been read so far
reg_memory_read_nof_errors_R[ai] reg_memory_read_nof_crc_errors_R[ai]
amount of packets that have been read and were dropped because they had a CRC error, Number of packets that have been read and were dropped because they had a CRC error,
count per ai, because each ai has own CRC count per ai, because each ai has own CRC
reg_memory_remaining_nof_packets_R[ai] reg_memory_read_nof_rsn_errors_R[ai]
amount of packets that still need to be read, Number of packets that have been read and were dropped because they had a RSN error,
= reg_dump_nof_pages_RW - reg_memory_read_nof_packets_R count per ai, because RSN is reread for each ai
#reg_memory_remaining_nof_packets_R[ai]
# Number of packets that still need to be read,
# = reg_dump_nof_pages_RW - reg_memory_read_nof_packets_R --> Daarom niet nodig
reg_memory_dumped_nof_packets_R[ai] reg_memory_dumped_nof_packets_R[ai]
amount of packets that have been read correctly and were passed on to ring Number of packets that have been read correctly and were passed on to ring
= reg_memory_read_nof_packets_R - reg_memory_read_nof_errors_R = reg_memory_read_nof_packets_R - reg_memory_read_nof_crc_errors_R - reg_memory_read_nof_rsn_errors_R
FPGA_tbuf_memory_clear_counts_RW[pn] FPGA_tbuf_memory_clear_counts_RW[pn]
Use dp_strobe_total_count with MM clear register, rather than in_clr = revt(reg_dump_enable_RW) Use dp_strobe_total_count with MM clear register, rather than in_clr = revt(reg_dump_enable_RW)
to clear all reg_memory_* counters. to clear all reg_memory_* counters.
. FPGA_tbuf_memory_read_nof_packets_R[pn][ai] = reg_memory_read_nof_packets_R . FPGA_tbuf_memory_read_nof_packets_R[pn][ai] = reg_memory_read_nof_packets_R
. FPGA_tbuf_memory_dropped_nof_packets_R[pn][ai] = reg_memory_read_nof_errors_R . FPGA_tbuf_memory_dropped_nof_packets_R[pn][ai] = reg_memory_read_nof_crc_errors_R + reg_memory_read_nof_rsn_errors_R
. FPGA_tbuf_memory_remaining_nof_packets_R[pn][ai] = reg_memory_remaining_nof_packets_R . FPGA_tbuf_memory_remaining_nof_packets_R[pn][ai] = reg_memory_remaining_nof_packets_R
. FPGA_tbuf_memory_dumped_nof_packets_R[pn][ai] = reg_memory_dumped_nof_packets_R . FPGA_tbuf_memory_dumped_nof_packets_R[pn][ai] = reg_memory_dumped_nof_packets_R
...@@ -498,6 +501,10 @@ The CP FPGA_beamlet_output_nof_beamlets_RW is not supported in SDPTR and SDPFW y ...@@ -498,6 +501,10 @@ The CP FPGA_beamlet_output_nof_beamlets_RW is not supported in SDPTR and SDPFW y
False = stop dumping packets immediately False = stop dumping packets immediately
When True maintain reg_memory counters, when False clear reg_memory counters to 0. When True maintain reg_memory counters, when False clear reg_memory counters to 0.
. reg_dump_done_R
True when all blocks in current dump have been read. False when dumping is
disabled or still ongoing.
. reg_output_enable_RW . reg_output_enable_RW
True : pass on dumped packets from ring to 10GbE output True : pass on dumped packets from ring to 10GbE output
False : stop 10GbE output immediately, any packets that still arrive from the ring will False : stop 10GbE output immediately, any packets that still arrive from the ring will
...@@ -657,15 +664,19 @@ Het is gewoon een json-bestandje dat je naast een databestand met alleen complex ...@@ -657,15 +664,19 @@ Het is gewoon een json-bestandje dat je naast een databestand met alleen complex
it is not possible to multiplex all signal inputs per controller word. Instead each it is not possible to multiplex all signal inputs per controller word. Instead each
controller word should contain only write data from one signal input. controller word should contain only write data from one signal input.
* Each burst of controller word also shoul contain write data from one signal input. The * Each burst of controller word also should contain write data from one signal input. The
maximum burst size is 64 (= 2**7 - 1 = 63) controller words 64 * 512b / 8b = 4kB. Actual burst maximum burst size is 64 (= 2**7 - 1 = 63) controller words 64 * 512b / 8b = 4kB. Actual burst
size can be between 1 and 63. size can be between 1 and 63.
* Using burstcount = 1 yields 512b / 14b = 36 * 14b samples + 8b not used per controller word. * Using burstcount = 1 yields 512b / 14b = 36 * 14b samples + 8b not used per controller word.
Burstcount > 4 is probably needed for sufficient efficiency. Burstcount > 4 is probably needed for sufficient efficiency.
efficiency = n / (n + CAS + command latency) = n / (n + 1.5 + 9), n = burstcount for read efficiency = n / (n + CAS + command latency) = n / (n + 1.5 + 9), n = burstcount for read
* Crossbar can use wr_channel (e.g. 4 bit) to create a mux for write data and read data.
Replace wr_fifo in io_ddr by wr_fifo_arr[] + wr mux.
Do one wr or rd at a time and wait for drv_done. For wr first set wr_channel put the
mux right, then apply drv_copi with wr_not_rd and burstbegin.
10) Planning 10) Planning
...@@ -708,4 +719,15 @@ Het is gewoon een json-bestandje dat je naast een databestand met alleen complex ...@@ -708,4 +719,15 @@ Het is gewoon een json-bestandje dat je naast een databestand met alleen complex
bandwidths. So for odd length filters the useful bandwidth is limited to bandwidths. So for odd length filters the useful bandwidth is limited to
0 < w < π. 0 < w < π.
- https://en.wikipedia.org/wiki/Analytic_signal --> Smith, J.O. "Analytic Signals and Hilbert Transform Filters", in Mathematics of the Discrete Fourier Transform (DFT) with Audio Applications, Second Edition
- https://nl.mathworks.com/help/dsp/ug/envelope-detection.html
- forced trigger message every 30 s, for logging of default radio environment --> send to LCU2
radio triggered message once per hour
Hoi Reinier, kun je deze voor L2SDP-18 voor mij reviewen: https://git.astron.nl/desp/hdl/-/merge_requests/324
en ook dit doc al een keer doorlezen. Het is nog niet af dat doe ik in L2SDP-942, maar misschien heb je al een opmerking:
https://support.astron.nl/confluence/pages/viewpage.action?spaceKey=L2M&title=L5+SDPFW+Design+Document%3A+Transient+buffer+raw+data
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