Roadmap for Yosys verilog frontend? #207
Replies: 3 comments 8 replies
-
There's no concrete plan. I agree it would make sense to fold yosys-slang into Yosys. I think it'd need an amount of rework of Yosys and a bit of will to break user workflows in order to retire the existing frontend. I'm also interested in expanding the code in yosys-slang to be a generic netlist elaboration component usable beyond Yosys, e.g. with https://github.com/prjunnamed/prjunnamed or a different project. I'd say this is orthogonal to integration into Yosys. If it grows into a generic component this component can be a submodule of the Yosys repository.
Thanks for reaching out on this. I can think of this module header syntax with omitted port list accepted by Yosys. I think it's non-standard, and is used throughout the Yosys technology library. I can do more testing on the technology library to find potential incompatibilities. Cc @nakengelhardt @KrystalDelusion @Ravenslofty @widlarizer and the rest of the Yosys team. Please leave thoughts regarding non-standard Yosys syntax and the prospect of integrating yosys-slang. |
Beta Was this translation helpful? Give feedback.
-
It would be nice to be able to get rid of read_verilog, but it's unfortunately baked pretty deep into Yosys currently. More so than small non-standard syntax features like the omitted headers (which would be a bunch of busywork to modify and makes a few scripts that autogenerate them a bit more complex, but is ultimately not a difficult change), I think the biggest roadblock right now is the ability to request to re-derive a module for new parameter values from anywhere in the flow. I guess @povik this is mostly a question for you, can yosys-slang provide something that works like On an adjacent topic, I've had a chat with Tristan from GHDL at a conference recently about how to support mixed-language desgins, and since then I have this vague half-baked idea that we should really all sit down sometime and figure out an API that all frontends could implement that would let them work together... |
Beta Was this translation helpful? Give feedback.
-
@MikePopoloski an interesting case of non-standard Yosys feature are the If you write
the attribute is meant to ensure the port has zero width when |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Is there a plan or a roadmap for moving yosys-slang into the upstream Yosys repo and getting rid of the old Verilog parser? I've seen PRs like this one going by and it seems kind of a shame for people to be doing lots of work on something like this when they could instead be focusing on synthesis logic or whatever. Is there anything I should be adding to slang to increase compatibility to make it easier to achieve this?
Beta Was this translation helpful? Give feedback.
All reactions