Preliminary CDC support #374
Merged
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 PR includes many changes to add preliminary support for the CDCs that are being developed, in particular for FPGA1:
HLS
kMaxProchas been made into a function that takes in a clock multiplier. The default multiplier is 6, corresponding to a frequency of 240 MHz and 108 cycles per TMUX period. In the future, it will be set to 9 for the InputRouter, corresponding to a frequency of 360 MHz and 162 cycles per TMUX period.Core VHDL
clkbdomain fornent_o, in order to stabilize this output across a CDC. These are not enabled by default.dont_touchhas been replaced withkeep_hierarchyso that Vivado is free to optimize away certain modules during implementation, while maintaining the hierarchy for the remaining modules. Similarly,keepattributes have been added to internal signals so that they are kept during synthesis, but can be optimized away during implementation.regcebports have been removed from memory modules.EMP wrappers
payload_f1,tf1_wrapper, andtf2_wrapperso that both the 240-MHz and 360-MHz clocks can be plugged into theSectorProcessor. Only the 240-MHz clock is currently plugged in though.SectorProcessortest benchesDELAYparameter has been removed fromFileReaderandFileReaderFIFO, and replaced with aLOCKEDport. This is done so that reading starts when the two, in-phase clocks generated in the test benches are locked.MAX_ENTRIESparameter has been added toFileReaderFIFOandtf_mem, so that this can be configured differently for 240 MHz (MAX_ENTRIES= 108, the default) and 360 MHz (MAX_ENTRIES= 162).Constraints for OOC builds
SectorProcessor.Other changes