-
Notifications
You must be signed in to change notification settings - Fork 311
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
synth: Add yosys-slang option; demonstrate on Ibex #2875
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: Martin Povišer <povik@cutebit.org>
export VERILOG_INCLUDE_DIRS = \ | ||
$(DESIGN_HOME)/src/$(DESIGN_NICKNAME)/vendor/lowrisc_ip/prim/rtl/ | ||
|
||
export USE_YOSYS_SLANG = 1 |
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've converted nangate45/ibex to use this option. I've kept Ibex at the same version (from Nov 2020) but replaced the pre-processed Verilog sources with the SystemVerilog originals
Leaving a note to update the bazel file for Ibex, I'm guessing it will now be
which will pick up both |
@oharboe see note about bazel |
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.
Nice!
Requests for change:
- rename variable to use SYNTH_ prefix, e.g. SYNTH_SLANG, for consistency
- add SYNTH_SLANG to flow/scripts/variables.yaml
Once this is in master, I'll do a round to clean up the bazel BUILD scripts.
For now, I maintain the ORFS bazel scripts outside of CI, we'll see what happens down the road.
@maliberty @povik Has it been decided to ship the slang binary in the ORFS docker image? If ORFS is to contain a test-case for slang and to offer a way to test slang, then I'm thinking that ./build_openroad.sh would need to support building slang for docker and local. |
Yes, if we go ahead with this we need to add yosys-slang to |
I was thinking it would be a dependency installer addition. Do you think we need to put it in the ORFS build? |
Will it get into the official ORFS docker image? |
I haven't realized it until now but we need to because it depends on Yosys, and Yosys is built as part of ORFS |
Is slang separate from yosys-slang? Wondering if slang would be a dependency. |
Yosys-slang compiles against a specific slang vesion and sometimes I have to do patches. It's a pinned submodule somewhat like openroad and opensta |
To get a sense of the compilation runtime I compared it against Yosys just now: Yosys
yosys-slang (inclusive of slang)
|
@povik , how do I pass additional options to yosys-slang? When I ran it standalone, I included -Wno-index-oob --ignore-assertions to get mempool_group to go through. |
Demonstrate integrating yosys-slang for direct read-in of SV sources
Cc @jeffng-or