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
XML output insufficiently qualified #1372
Comments
Original Redmine Comment I'm fine with this concept but can you instead please update the patch to add a method to VDirection and AstVarType class similar to the existing ones there that is called by V3EmitXml? (Or perhaps verilogKwd() is sufficient.) That gets rid of the internal-peeking switch statement. |
Original Redmine Comment This is a second attempt, which tries harder to dump the more interesting information, and also identifies interfaces. |
Original Redmine Comment That version failed in a rather obvious way, please find attached third, and hopefully final attempt. |
Original Redmine Comment Great, fixed in git towards 4.010. Note used empty() instead of length() as Google static lint tool will complain as empty is faster for some containers. |
Original Redmine Comment http://git.veripool.org/git/verilator seems to be down, so I can't see your final version. |
Original Redmine Comment Huh, I'll see what's up with git. Meantime attached. |
Original Redmine Comment Dear Wilson, I realized too late that the patch previously submitted does not cover dumping port directions for modports. The attached fix seems to be rather simple unless you know of undesirable side-effects. Sorry for the confusion over the previous message, I did not realise your repository is not browsable. Regards, |
Original Redmine Comment Patch 5 pushed, no worries! |
Original Redmine Comment interface modportnames are not mentioned in the typetable (which leaves direction of module interface ports ambiguous). |
Original Redmine Comment Patch 6 pushed. |
Original Redmine Comment Thanks. I'm hoping that's enough to get up and running. I am considering this patch provisionally closed. |
Original Redmine Comment That resolution didn't last long. It turns out AstVarXRef's are not qualified with the path |
Original Redmine Comment Applied. No worries, easy as long as you give patches! |
Original Redmine Comment It turns out the XML output does not include the display type for $display() and $write() statements and similar. As you know display has a newline at the end and write does not. This patch introduces a displaytype attribute in the XML which clarifies things and allows the original meaning to be (mostly) reconstructed. It looks like something weird is happening with the format specifiers as well, if I can figure that out a further patch might be required. |
Original Redmine Comment ... and have a happy Christmas and prosperous new year if you have already hung up your mouse for the year. |
Original Redmine Comment Thanks again, pushed. |
Original Redmine Comment Happy New Year, happy new patch. I notice extend and extends do not specify the width, and since using these functions could be used as part of an expression such as + or *, that introduces ambiguity, and should be explicit. |
Original Redmine Comment Thanks again, pushed. |
Original Redmine Comment The status says pushed but a fresh checkout of http://git.veripool.org/git/verilator |
Original Redmine Comment Sorry, pushed. |
Original Redmine Comment In 4.010. If you have more, please open a new bug, thanks for improving this. |
Author Name: Jonathan Kimmitt (@jrrk2)
Original Redmine Issue: 1372 from https://www.veripool.org
Original Assignee: Wilson Snyder (@wsnyder)
The xml output generated by the verilator --xmlonly command is insufficiently qualified when it comes to toplevel ports.
The attached patch addresses the issue but you need to check if it will break any of your regression tests.
The text was updated successfully, but these errors were encountered: