-
Notifications
You must be signed in to change notification settings - Fork 48
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
Add Verilator #5
Comments
I have some rules I would be happy to contribute. See https://github.com/kkiningh/rules_verilator |
I think the first thing we need to get going is a VerilogInfo provider. The benefit of that is all rules can target it for physical processing. That's how I've been formatting it within Google. Possibly something based around https://github.com/alainmarcel/UHDM |
@QuantamHD, was that comment meant to be posted here? It seems to be related to Verilog (#15) and/or SystemVerilog (#16) rather than Verilator... |
For example the verible rule set in question defines a VerilogInfo as https://github.com/kkiningh/rules_verilator/blob/master/verilator/defs.bzl#L12 I think what I'd like to see is an authoritative provider other rules can target or consume; Verilog or not within this repo. HDLInfo or something related. We can provide the transitive src resolution etc. so that other rules don't need to deal with it as much. I just want a solid foundation so that we can add useful tools such that we can get solid compatibility with all the tools. |
@agoessling has been doing some work in this direction in his rules_verilog repo. The corresponding provider is VerilogModuleInfo and it should be supported in rules_verilator already. |
Awesome! I'm glad there's something out there we can build around. Thanks for the tip @kkiningh. |
@QuantamHD Currently it is quite basic and only provides sources and the top module name. The idea being this can be shared between many tools and users only need to define their module structure once. |
@agoessling - Would love to have your help in building this out. |
What is "this"? |
"this" is a project that is supposed to be a one stop shop for doing hardware dev with bazel. So that includes Having rules that take can RTL and be chained to emit GDSII (Sky130/FOSS-PDKs), but that can also be used to target FPGAs and soft CPUs. We want to take advantage of RBE to accelerate verification with massively parallel clusters. Using the open source community's tools like Yosys, OpenROAD, Verilator, Surelog etc. My vision of this is that we enable |
@QuantamHD I think it could be inspiring and generally useful if you added basically what you wrote in that last comment to the top level README.md :-) |
I think there is some stuff in https://github.com/google/xls/tree/main/xls/build_rules ?
The text was updated successfully, but these errors were encountered: