-
Notifications
You must be signed in to change notification settings - Fork 401
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
[WIP] Synlig, new system-verilog tool integration #2841
base: master
Are you sure you want to change the base?
Conversation
…mys + paths updated]
…mys + paths updated]
@vaughnbetz This branch is working on the local pc fine without any problem. but in the CI test, I am getting some errors related to JAVA dependency while making files. for Synlig we need some packages to be installed:
I tried to append some packages from this list that are missing from our flow. (like |
@AlexandreSinger @soheilshahrouz : any ideas? |
6cf731f
to
7e4632f
Compare
why hasn't the nightly test been launched? |
We had to turn off automatic launch of the nightly tests as we don't have the google cloud going. You should run some or all of the nightly tests manually if this code change could break them. @AlexandreSinger : not sure if you have a button that can launch the nightly tests on one of our SAVI servers or not yet. |
1- vtr_reg_system_verilog.log.txt The two tests from the nightly tests related to SystemVerilog were run successfully with Synlig enabled( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for handling this! I have some suggested changes to reduce code duplication and clarify some messages/comments.
@@ -0,0 +1,65 @@ | |||
""" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems like you have 3 copies of the make_sv_flattened.py script. Why not put it in the base f4pga directory instead and just call it from there (with ../../make_sv_flattened.py)? Or put it in the search path.
vtr_flow/misc/yosys/synthesis.tcl
Outdated
|
||
# Separate opt for Parmys execution(verilog or system-verilog) | ||
if {$env(PARSER) == "default"} { | ||
puts "Running Parmys with disables additional passes " |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure what this output means. Do you mean to say "Running parmys with no additional passes." ?
vtr_flow/misc/yosys/synthesis.tcl
Outdated
parmys -a QQQ -nopass -c CCC YYY | ||
|
||
} elseif {$env(PARSER) == "system-verilog" || $env(PARSER) == "surelog"} { | ||
puts "Running Parmys with Additional Passes Resolve Conflicts" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure what this output means. Wouldn't it be more clear to say "Running Parmys with additional passes to flatten all files and parse SystemVerilog" ?
.github/workflows/nightly_test.yml
Outdated
@@ -65,9 +65,9 @@ jobs: | |||
- {test: "vtr_reg_strong", cores: "16", options: "", cmake: "-DVTR_ASSERT_LEVEL=3", extra_pkgs: "libeigen3-dev"} | |||
- {test: "vtr_reg_strong_odin", cores: "16", options: "", cmake: "-DVTR_ASSERT_LEVEL=3 -DWITH_ODIN=ON", extra_pkgs: "libeigen3-dev"} | |||
- {test: "vtr_reg_strong_odin", cores: "16", options: "-skip_qor", cmake: "-DVTR_ASSERT_LEVEL=3 -DVTR_ENABLE_SANITIZE=ON -DWITH_ODIN=ON", extra_pkgs: "libeigen3-dev"} | |||
# - {test: "vtr_reg_system_verilog", cores: "16", options: "", cmake: "-DYOSYS_F4PGA_PLUGINS=ON", extra_pkgs: ""} # Test turned off -> F4PGA conflicts with Yosys (version 42) | |||
- {test: "vtr_reg_system_verilog", cores: "16", options: "", cmake: "-DYOSYS_F4PGA_PLUGINS=ON", extra_pkgs: ""} # Test turned off -> F4PGA conflicts with Yosys (version 42) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The comment looks out of date -- it says this test is turned off, but you are turning it back on. Delete the comment.
Also is synlig part of f4pga_plugins? If not, it would be better to change the name of the cmake variable to synlig for clarity.
I am aware of these comments and duplicates. I just want to ensure that we are technically finished with this update and the last commits. I will make the minor changes and let you know. |
Thanks! Do we have one copy of make_sv_flattened.py somewhere still? Or is it no longer needed? (It seems all 3 copies added in this PR have now been deleted). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for adding that back in. I'm not sure what our submodule update policy is for things like sockpp (not sure if we're trying to stay on a specific commit or not) ... it looks fine to me to update that submodule and catch2 but pinging @AlexandreSinger in case he has any thoughts.
@vaughnbetz SockPP is on a special branch made by Oleksander which resolves some warnings that were in the library. We need those changes to be warning clean (and pass CI). This is what, I think, is causing the CI to currently fail for this PR: Catch2 does not have this issue, and we just follow whatever the most recent version is. |
@amirarjmand93 : please revert the two submodule updates. The sockpp one is making CI fail the warning tests. I'm not sure if the libcatch one moved us to an older version or not and it doesn't seem to be causing problems, but since it is not an intended update for this PR I'd rather be safe and limit this PR to the code necessary to bring SV support back. |
Description
Related Issue
Motivation and Context
How Has This Been Tested?
Types of changes
Checklist: