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
Verilator mis-searches for modules with double underscores with __05F #631
Comments
Original Redmine Comment This isn't a sufficient fix, because for example section__5F, which is a legal identifier will be mishandled and reported as section___, and worse anything in DOT or other special stuff will be very wrong; all the internals assume all double underscores are made safe for internal use even not at the beginning. Sorry. You should be able to make all verilator-internal __ into ___, but there's probably a lot. |
Original Redmine Comment Agreed on all counts, I just thought it was strange that verilator would insist on a filename that didn't match the model name. Would a better solution be to demangle the verilator name when doing the path search? |
Original Redmine Comment Wait, what? No you should never see a _5F needed anywhere but in the C structure and class names. So if you create a model the output .c file will have a _5F, but nothing in Verilog never should; if that's not the case please describe what is needing it. |
Original Redmine Comment Simple example where verilator fails to find a module with double underscores in the -y search path: find__me.v
testcase.v
|
Original Redmine Comment Surprised no one noticed that until now. Fixed along with a bunch of warnings that also mis-used the __5F. Fixed in git towards 3.847. |
Original Redmine Comment In 3.847. |
I'm also curious why file name should match module name in order to make directory searching work. |
Author Name: Jason McMullan (@ezrec)
Original Redmine Issue: 631 from https://www.veripool.org
Original Date: 2013-03-11
Original Assignee: Wilson Snyder (@wsnyder)
I am working with a codebase with a number of models of the form of
section__module.v, and the default name mangling of Verilator would necessitate that I rename them all to section__05Fmodule.v
With the following change, verilator now only mangles a double underscore if it is at the start of a name:
ie:
The text was updated successfully, but these errors were encountered: