-
Notifications
You must be signed in to change notification settings - Fork 194
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
Added support for additional Verilator modes #389
Conversation
Actually, now that I think about it, I should probably just add all the remaining modes: Existing:
New:
|
Should be all ready for review! This adds the following modes:
I also removed |
Actually, I just had a new idea for 3 additional Verilator fields:
This way, using the same run command on a single target, we could generate an XML file, and a DPI.h file. If gen-xml was enabled, verilator could just be run once more, except with the option --xml-only. If gen-dpi-hdr was enabled, verilator could just be run once more, except with the option --dpi-hdr-only. This could even potentially replace the dpi-hdr-only and xml-only modes. -E only prints to stdout, so I don't think this deserves its own field. |
I think this is great, but let's just think it through. As you say, there are different ways to accomplish this, so let's find something that has a good balance between complexity and user friendliness. I haven't really dug into this part of Verilator. Are all these modes mutually exclusive, or could some modes just be added as verilator_options instead? |
At least one of the following flags must be set [ref], and the documentation implies them to be mutually exclusive [ref]:
Selecting more than one leads to unexpected behavior. Examplecore snippet verilator:
verilator_options:
- --xml-only error
fixed core snippet verilator:
mode: lint-only
verilator_options:
- --xml-only With FuseSoC, to get XML output, you must specify Therefore, I feel like creating a mode for each makes a lot of sense. |
Small update: Wilson just merged my pull request that explicitly enforces the flags ( Now the
due to
|
Alright, @olofk. How does this look? I expanded the Verilator Makefile to include the modes as callable Makefile targets: Lines 37 to 47 in 2e30ad1
I also added the following fields Lines 78 to 92 in 2e30ad1
Lines 251 to 257 in 2e30ad1
I also added an additional mode "none" which when specified, will only do the additional builds specified with Lines 247 to 249 in 2e30ad1
|
from olofk@2a3db66 There seems to be a bug with newer versions of pandas that prevents kwargs from being passed through the apply function (specifically passing errors='ignore' to to_numeric in edalize/vivado_reporting.py).
…mming (olofk#392) Add --pgm flag to tools with programming capabilities
Took me a while longer than planned to get back to this, but I think it looks all fine now. Thank you for your contributions. Picked and pushed! |
Thanks, @olofk! |
Hello! I was having troubles getting Verilator XML dumps working with the existing Edalize version, so I added it as a verilator->mode option.
I'm not sure if better documentation should be provided for it, but I didn't want to be too verbose
Thanks!