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
d26bb799
Commit
d26bb799
authored
2 years ago
by
Eric Kooistra
Browse files
Options
Downloads
Patches
Plain Diff
Some more notes.
parent
fc19d7c3
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
applications/lofar2/doc/prestudy/station2_sdp_transient_buffer.txt
+24
-15
24 additions, 15 deletions
...ons/lofar2/doc/prestudy/station2_sdp_transient_buffer.txt
with
24 additions
and
15 deletions
applications/lofar2/doc/prestudy/station2_sdp_transient_buffer.txt
+
24
−
15
View file @
d26bb799
...
...
@@ -281,6 +281,9 @@ The CP FPGA_beamlet_output_nof_beamlets_RW is not supported in SDPTR and SDPFW y
. FPGA_tbuf_signal_input_rsn_R = RSN at sync
FPGA_tbuf_signal_input_nof_blocks_R : expected value nof_block_per_sync = 100k or 80k
FPGA_tbuf_signal_input_nof_samples_R : expected value nof_clk_per_sync = 200M or 160M
If FPGA_tbuf_signal_input_rsn_R == -1 then either FPGA_processing_enable_R == False
or there is or was something wrong with the data path processing clock (dp_clk
= 200MHz or 160MHz).
* Record:
. FPGA_tbuf_record_all_RW[pn]
...
...
@@ -289,7 +292,7 @@ The CP FPGA_beamlet_output_nof_beamlets_RW is not supported in SDPTR and SDPFW y
. FPGA_tbuf_record_enable_RW[pn]
FPGA_tbuf_record_enable_R[pn]
True = start/continue recording, all ai or half of ai (dependent on FPGA_tbuf_record_all_RW)
False = stop/freeze recording immediately
False =
RW:
stop/freeze recording immediately
, R: recording has stopped
* Recording:
. FPGA_tbuf_recorded_last_timestamp_R[pn] = reg_recorded_last_rsn_R * T_adc
...
...
@@ -328,7 +331,7 @@ The CP FPGA_beamlet_output_nof_beamlets_RW is not supported in SDPTR and SDPFW y
- when busy then FPGA_tbuf_memory_read_nof_packets_R increments until it reaches value of
FPGA_tbuf_dump_nof_packets_R
- when finished then FPGA_tbuf_memory_remaining_nof_packets_R = 0
False = stop dumping packets immediately
False =
RW:
stop dumping packets immediately
, R: dumping has stopped
SDPFW:
- loops over one or multiple ai
SC / dump tool:
...
...
@@ -366,12 +369,12 @@ The CP FPGA_beamlet_output_nof_beamlets_RW is not supported in SDPTR and SDPFW y
Enable output on the pn at end of ring that has interface to CEP.
* 10GbE output monitor:
. FPGA_tbuf_output_nof_packets_R[pn]
Number of dump packets that have been output while FPGA_tbuf_output_enable_RW = True,
reset to 0 when FPGA_tbuf_output_clear_counts_RW = True event
. FPGA_tbuf_output_clear_counts_RW[pn]
Use dp_strobe_total_count with MM clear register rather than in_clr = revt(reg_output_enable_RW) and
rather then dp_bsn_monitor with sync = revt(reg_output_enable_RW).
. FPGA_tbuf_output_nof_packets_R[pn]
Number of dump packets that have been output while FPGA_tbuf_output_enable_RW = True,
reset to 0 when FPGA_tbuf_output_clear_counts_RW = True event
* Memory DDR4:
With streaming use of io_ddr then the dvr_wr_flush_en = '0' (so ctlr_wr_flush_en = 0 in MP), because
...
...
@@ -416,9 +419,12 @@ The CP FPGA_beamlet_output_nof_beamlets_RW is not supported in SDPTR and SDPFW y
True = pn is recording, all ai or half of ai (dependent on reg_record_all_RW)
False = pn is frozen
. c_tbuf_nof_samples_per_page = c_tbuf_nof_samples_per_packet = 2000
. reg_nof_ddr_words_per_page_R = 657 or 329, depends on reg_record_enable_RW
SDPTR: ddr_nof_pages = floor(ddr_gigabytes * 1024**3 / (reg_nof_ddr_words_per_page_R * ctrl_nof_bytes_per_ddr_word)
Constants, signals:
. c_tbuf_nof_samples_per_page = c_tbuf_nof_samples_per_packet = 2000
. nof_ddr_words_per_page = 657 or 329, depends on reg_record_enable_RW
SDPTR: ddr_nof_pages = floor(ddr_gigabytes * 1024**3 / (nof_ddr_words_per_page * ctrl_nof_bytes_per_ddr_word)
. Moet SDPTR dit weten, heeft SDPTR dit nodig? --> Nee want SPDTR hoeft alleen pages/blocks/packets
te kennen, omdat SDPFW conversie van page/address doet.
. reg_recorded_first_page_R
freezes when recording stops by reg_record_enable_RW = False,
...
...
@@ -478,14 +484,14 @@ The CP FPGA_beamlet_output_nof_beamlets_RW is not supported in SDPTR and SDPFW y
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
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_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_clear_counts[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)
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_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
. reg_dump_enable_RW[ai]
True = start / keep dumping packets for the requested ai,
...
...
@@ -514,6 +520,9 @@ The CP FPGA_beamlet_output_nof_beamlets_RW is not supported in SDPTR and SDPFW y
* Enable output:
. write FPGA_tbuf_output_enable_RW = True for pn that has the 10GbE interface to CEP
* Prepare dumping:
. write FPGA_tbuf_dump_inter_packet_time_RW
* Prepare recording:
. write FPGA_tbuf_reg_record_all_RW
...
...
@@ -538,7 +547,7 @@ The CP FPGA_beamlet_output_nof_beamlets_RW is not supported in SDPTR and SDPFW y
* Clear counts:
. write FPGA_tbuf_output_clear_counts_RW = True to clear FPGA_tbuf_output_nof_packets_R
. write FPGA_tbuf_memory_clear_counts = True to clear FPGA_tbuf_memory_*_R counts
. write FPGA_tbuf_memory_clear_counts
_RW
= True to clear FPGA_tbuf_memory_*_R counts
* Prepare dump:
. write FPGA_tbuf_dump_start_timestamp_RW to request start time of dump interval
...
...
@@ -564,7 +573,7 @@ The CP FPGA_beamlet_output_nof_beamlets_RW is not supported in SDPTR and SDPFW y
. write FPGA_tbuf_dump_enable_RW = False to force stop dumping from pn
* Monitor dump results:
. read packet counts:
. read packet counts
(or use for ai loop instead of sum)
:
N_remaining = sum(FPGA_tbuf_memory_remaining_nof_packets_R[pn][ai])
N_read = sum(FPGA_tbuf_memory_read_nof_packets_R[pn][ai])
N_dropped = sum(FPGA_tbuf_memory_dropped_nof_packets_R[pn][ai])
...
...
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