Conversation
…onent to setup simulation
…hen DEBUG=3 is used. Created testbench to replicate demo notebook. Created test project with 1ch to speedup compilation
…o replicate the bug
…stall when processing overlapping PORT_WR instructions
…use-when-dispatcher-fifos-are-full
…use-when-dispatcher-fifos-are-full
…ull' of github.com:openquantumhardware/qick into PR-37-tproc-v2-doesnt-pause-when-dispatcher-fifos-are-full
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Closes #333.
The fix implements a Hazard control for when several writes to the dispatcher FIFOs are being processed in the pipeline and that could lead to a Full event, correctly pausing the core execution but was corrupting some instructions after the core resumes the processing.
As a side fix, it fixes a major issue in the qick_processor where enabling the Debug Output Ports was making the processor to stop working due to a type in one the debug bits mapping.
Fixed also some descriptions and minor wrong width assignments and indentations.
On the software side, created two functions -
print_pmem2hex()andprint_wmem2hex()- to print the assembly code generated from a jupyter notebook to replicate it in RTL simulations loading the memory contents using$readmemh()call