Fix binmask not being reset when sync_nent goes high #375
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes a bug in the
tf_mem_binmodule that can occur when a value is written on the same clock cycle thatsync_nentgoes high. This first occurred when testing within_fpga1_2.txt, where event 19 (the 2nd event in that file) hadTPAR_L1L2FandTPAR_L1L2Esignals stored at incorrect memory addresses.The root cause was the valid bin-mask register (
validbinmasktmp) was not being completely reset on the first BX transition. Instead, it is possible for one bit to remain set. On a normal BX transition, this is prevented by settingnew_bx=true. However, this was not done for the first BX transition, whensync_nentgoes high. This fix addresses that issue.Also included is a script to run the EMP simulation for FPGA1 over all input files and an update to the latency of the FPGA1 payload. This new latency properly aligns the outgoing metadata and data.