Skip to content
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

Consider creating a UHDM compatible binding for slang? #304

Open
mithro opened this issue Jul 24, 2020 · 1 comment
Open

Consider creating a UHDM compatible binding for slang? #304

mithro opened this issue Jul 24, 2020 · 1 comment

Comments

@mithro
Copy link

mithro commented Jul 24, 2020

As part of the Surelog project (a /potentially/ competing ANTLR4 based SystemVerilog parser) and Verible project (a /potentially/ Bison based SystemVerilog parser focused on code linting and formatting) we have been trying to create a system which allows different parsers be interfaced to multiple different tools (like Yosys, Verilator, Icarus, etc).

The attempt at doing this project is called Universal Hardware Data Model (UHDM) and structured kind of like this;
Screenshot from 2020-07-24 15-57-51

It would be awesome to see more parsers trying to support this API to make sure the API isn't over fitted to Surelog.

I understand this is potentially quite a huge task so don't expect you to /actually/ do this but thought it could hurt to propose the idea.

FYI the related UHDM issue is at https://github.com/alainmarcel/UHDM/issues/319

@MikePopoloski
Copy link
Owner

I'll definitely take a look, thanks for raising the issue.

Philosophically, slang is already designed to be the fastest (which it seems to be) and (eventually) the most complete parser (along with other front-end pieces) that all other tools can simply link to and do their backend work. Having a standard for the object model does seem (genuinely!) useful, but I'm also hoping people will ditch the auto-generated parsers and go with this one since it's faster and provides much nicer error messages, but I also realize that's not likely to make me friends in the short term. I'll look more into UHDM and see how I can incorporate it into that goal.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants