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
Support primitive instantiations #468
Comments
Original Redmine Comment Primitives are not synthesizable and are very slow compared to writing good behavioral code and so are unlikely to be supported in the near term. However if you want to undertake this, there is a bit of code I started on to support them a while ago before I decided it was too nasty for performance. |
Original Redmine Comment BTW, the problem with the code above is that verilator can not parse anonymous primitive instantiation. If instance name is added, then at least verilator does not complain during parsing. |
Original Redmine Comment Added disabled test t_udp_noname. Anonymous UDPs will be a pain to support as removing the name results in a parser conflict, requiring a cascade of changes. |
could you point me at the code you started to write please? |
Attached. I just updated this to at least not have conflicts against the current git master, but didn't check if it compiled etc |
thanks! |
For the name, presumably can just generate a likely-unique name like (Edit: this doesnt mean I'm working on this btw, just vaguely pondering this) |
(well... at the time of usage. not at the time of declaration. but that's how module names work anyway I think?). |
Am attempting to look at this one - I see single file V3LinkResolve.cpp - is that all to it or is it the just the first step? Also, I see bulk/all of ComboUDP work is done in this patch.txt, would that be a start to see if it works? What is not very clear to me is "where is the actual look-up happening" (UDP --> a LookUpTable). Thanks |
The approach can likely all be done there, it converts the UDP to "normal" behavioral primitives. It won't work as is, you need to read the code and understand how to finish it off, sequential UDPs being probably the biggest missing piece. |
Author Name: Alex Solomatnikov
Original Redmine Issue: 468 from https://www.veripool.org
Original Date: 2012-03-23
Primitive definition:
Primitive instantiation:
error:
The text was updated successfully, but these errors were encountered: