diff --git a/applications/lofar2/doc/prestudy/station2_sdp_transient_buffer.txt b/applications/lofar2/doc/prestudy/station2_sdp_transient_buffer.txt index a4cb531ccaee9ee75301ad238439c7552c93ad65..ee5e128aedf1d14955b295d21be0bd61057d125a 100644 --- a/applications/lofar2/doc/prestudy/station2_sdp_transient_buffer.txt +++ b/applications/lofar2/doc/prestudy/station2_sdp_transient_buffer.txt @@ -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 . 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 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] - 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] - 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 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, 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 reg_dump_nof_pages_RW = dump_nof_pages . reg_memory_read_nof_packets_R[ai] - amount of packets that have been read so far - reg_memory_read_nof_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 so far + reg_memory_read_nof_crc_errors_R[ai] + 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 - reg_memory_remaining_nof_packets_R[ai] - amount of packets that still need to be read, - = reg_dump_nof_pages_RW - reg_memory_read_nof_packets_R + reg_memory_read_nof_rsn_errors_R[ai] + Number of packets that have been read and were dropped because they had a RSN error, + 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] - amount 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 + Number of packets that have been read correctly and were passed on to ring + = 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] Use dp_strobe_total_count with MM clear register, rather than in_clr = revt(reg_dump_enable_RW) to clear all reg_memory_* counters. . 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_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 False = stop dumping packets immediately 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 True : pass on dumped packets from ring to 10GbE output 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 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. -* 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 size can be between 1 and 63. - * Using burstcount = 1 yields 512b / 14b = 36 * 14b samples + 8b not used per controller word. Burstcount > 4 is probably needed for sufficient efficiency. 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 @@ -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 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