steveicarus / iverilog

Icarus Verilog

Home Page:https://steveicarus.github.io/iverilog/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

vpiFullName does not include :: for packages

toddstrader opened this issue · comments

See 37.10:

vpiFullName for a package shall be the name of the package and should end with “::”; this syntax disambiguates between a module and a package of the same name.

I'm iterating over vpiInstance with v12.0 and can see packages but their names do not include the ::.

Related to:
cocotb/cocotb#3536

Likely a bug since the VPI has not been updated much and lots of changes have happened in language constructs that are supported.

We should also check that we can have a package and module with the same name. It's possible we are actually using a common namespace.

The "::" is specified as "should" so it is not required though I agree it should be included for the reason given in the standard.

I have pushed a fix that now emits a :: after a package name whenever vpiFullName is used.