You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The fix works fine for my simple example, but breaks a lot of other tests like so:
%Error: t/t_interface_gen.v:26: Expected ifc interface but got ifc interface instead
The problem seems to be that the point at which I've added the check, interfaces are being de-parameterized. This means that the port's interface reference is pointing at the general interface while the pin is pointing at the specialized interface.
I just tried changing the test to compare ifaceName() instead of ifacep(). This works (all tests pass), but with the additional string compare. Is this the preferable way to go, or can this be caught at some earlier stage (without reproducing a lot of V3Param logic) so we can avoid the string compare?
The text was updated successfully, but these errors were encountered:
Original Redmine Comment
Author Name: Wilson Snyder (@wsnyder)
Original Date: 2018-03-28T22:59:21Z
Seems an OK spot, I'd still compare the pointers as you do to speed things up, but then add an "&& " check on the names being different
Nits: Rename the test t_interface_wrong_bad.pl/v, put single quotes around the error names, and call AstNode::prettyName (so that a \escaped name will print right).
I think something like this makes the error clearer:
Also not sure why you need a return - that will just make it miss reporting other possible errors if there's more than one interface. Think just remove it.
Author Name: Todd Strader (@toddstrader)
Original Redmine Issue: 1294 from https://www.veripool.org
Original Assignee: Todd Strader (@toddstrader)
Please see the GitHub branch for a test and a not-quite-there-yet fix:
https://github.com/toddstrader/verilator-dev/tree/wrong_intf
The fix works fine for my simple example, but breaks a lot of other tests like so:
The problem seems to be that the point at which I've added the check, interfaces are being de-parameterized. This means that the port's interface reference is pointing at the general interface while the pin is pointing at the specialized interface.
I just tried changing the test to compare ifaceName() instead of ifacep(). This works (all tests pass), but with the additional string compare. Is this the preferable way to go, or can this be caught at some earlier stage (without reproducing a lot of V3Param logic) so we can avoid the string compare?
The text was updated successfully, but these errors were encountered: