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

Expose an UHDM compatible API? #373

Open
mithro opened this issue Jul 24, 2020 · 2 comments
Open

Expose an UHDM compatible API? #373

mithro opened this issue Jul 24, 2020 · 2 comments

Comments

@mithro
Copy link
Collaborator

mithro commented Jul 24, 2020

As part of the Surelog project (a /potentially/ competing ANTLR4 based SystemVerilog parser) 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 and it would be good for Verible to be such a parser.

See https://github.com/alainmarcel/UHDM/issues/319

@mithro
Copy link
Collaborator Author

mithro commented Jul 24, 2020

This is a big task that I don't think we have the resources to tackle at the moment, but I wanted to log the issue incase someone did want to start exploring what this might look like.

@fangism
Copy link
Collaborator

fangism commented Jul 24, 2020

Noted.

There is quite a large gap between what Verible offers today and what is needed to intercept UHDM.
Isn't UHDM a elaborated representation?

Before we can even talk about elaboration, there is semantic analysis.

Before semantic analysis, we at least need a AST (see #184 ). We only have a CST today, and a rather fragile one.

Before we can deliver an AST, we need a preprocessor (preferably integrated, but could live with it being standalone), see #183 .

Both semantic analysis and elaboration require domain expertise which I(we?) lack, but should everything before that come to fruition (preprocessor, parser, AST) someday, we'd like to produce a quality front-end so that no one ever has to re-invent yet-another SV parser ever again.

And "AST" could really be any SV interchange representation (pre-elaboration). Getting the larger community to converge on this interchange form could be a challenge too.

nikhiljha pushed a commit to nikhiljha/verible that referenced this issue Sep 27, 2022
nikhiljha pushed a commit to nikhiljha/verible that referenced this issue Sep 27, 2022
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