forked from verilog-to-routing/vtr-verilog-to-routing
-
Notifications
You must be signed in to change notification settings - Fork 12
[pull] master from verilog-to-routing:master #565
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
pull
wants to merge
9,954
commits into
SymbiFlow:master
Choose a base branch
from
verilog-to-routing:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
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
…t-fix [STA] Updated Tutorial
…-task [CI] Added Quick Titanium S10 Tests
…cal_num" This reverts commit ffe3c7c.
…den_update Update golden results
The primitive vector class was assumed to be quite sparse, and as such used an unordered map as its internal data structure. Found through experimentation that most of the time in the partial legalizer was being spent in the operations of the primitive vector class. Also, while improving the mass abstraction, I found a need to separate logical models from the dimensions of the primitive vector to allow multiple models to point to the same dimension in the primitive vector. This PR kills two birds with one stone by turning the unordered map into a VTR vector map and creating a new PrimitiveVectorDim which can allow the models to be separate from the dimensions. Future PRs will make use of this feature to improve the mass abstraction.
…ctor [AP] Optimized Primitive Vector Class
[VPR][Utils] Add helper function to get RRNodeId from AtomPinId
…ered placement file formats.
vpr command line doc: add --read_initial_place_file and clarify file formats for place options
Removed duplicate items in GUI
Found that we were regressing on many features in VTR due to tasks being added to the appropriate test suite directory, but not being included in the necessary task list. As such, it appeared as though the tests were being run, but in reality they were not. Added a script which will be run by the CI which will verify that all of the test suites that we care about have all their tasks in the appropriate task list. From this tool, found many tasks which were not in the task lists. Marked these tasks as "ignored" for now. These should be handled in a separate PR.
…ecker [CI] Added Test Suite Verification to CI
The new test suite verifying tool showed that a few tasks from the strong tests were not actually being tests. Some of these tests worked without issue. Revived the tests which worked without issue.
Update ezgl to use submodules
Within the partial legalizer of the AP flow, a mass abstraction was used to abstract the complex logical block constraints of the device. Originally, this abstraction created a primitive vector which kept a count of each model used by the atom and the capacity of each model in a given tile. This worked well, but it was very innacurate due to not capturing differences between models with different numbers of inputs/outputs. Updated the mass abstraction in three ways: 1) Used the number of bits stored in a memory as the mass for memory primitives. 2) Used the number of pins used for all other types of primitives (clamped by the capacity of pins for the given logical block). 3) Created the concept of "one-hot" primitives to assign multiple models to the same dim if they are part of a primitive which can only every implement one of them. These changes improved the ability of the partial legalizer to understand the details of the complex blocks in the architecture such that it can better legalize during analytical placement. From experimentation, found that this greatly improved the post-FL quality of the placement with practically no cost in run time (since this does not change the complexity of the legalizer, just spends slightly more time deciding the mass of the atoms / tiles).
…ecker [CI] Revived Simple Missing Strong Tests
…tion [AP][Legalization] Updated the Mass Abstraction
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.
See Commits and Changes for more details.
Created by
pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )