chipsalliance / UHDM

Universal Hardware Data Model. A complete modeling of the IEEE SystemVerilog Object Model with VPI Interface, Elaborator, Serialization, Visitor and Listener. Used as a compiled interchange format in between SystemVerilog tools. Compiles on Linux gcc, Windows msys2-gcc & msvc, OsX

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bindAny should not look in the current instance for HighConn, only parent instance.

pieter3d opened this issue · comments

See
chipsalliance/Surelog#3958 (comment)

In ElaboratorListener.cpp when bindAny is called and it comes from a port HighConn in VpiListener.cpp, searching for the net by name should not start at the top of the stack. Doing so will cause the HighConn to incorrectly reference the port net inside the module, if the net connected to the port (the desired high conn) has the same name as the port itself.

Assuming I'm not missing something here, this seems like a real bug and makes me wonder how this was never seen before.

The instStack_ has to be popped temporarily while binding high_conn so is skips the current module scope.