Skip to content

KNOWNBUG test for a port connected to an interface in a generate block - #2325

Merged
kroening merged 1 commit into
mainfrom
kiro/knownbug-generate-interface-port
Nov 3, 2026
Merged

kroening merged 1 commit into
mainfrom
kiro/knownbug-generate-interface-port

Conversation

@tautschnig

Copy link
Copy Markdown
Collaborator

New KNOWNBUG interface/generate_block_port_connection1: an interface port connected to an interface instance inside a named generate block, leaf l(.p(G[0].a), ...), fails with "unknown identifier G".

To be tackled once both #2101 and #2186 have been merged. #2101 (hierarchical references into named generate blocks) alone makes G[0].a work in expressions, but not as a port connection: the interface port actuals that #2186 resolves are plain identifiers only, and the scope symbols of named generate blocks that #2101 adds are created after the module instances have been parameterized. Checked on main, main + #2101, and #2186/#2190 + #2101: the same error each time.

Copilot AI balanced review requested due to automatic review settings November 2, 2026 20:40

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No active review issues remain for this regression-test-only change documenting the named-generate interface connection bug.

No open issues 🎉

What changed in this PR

Adds a known-bug regression test for EBMC’s Verilog front end, documenting the failure to connect an interface port to an interface instance inside a named generate block. No production code changes are included.

Changes:

  • Adds a parameterized interface connected through G[0].a, with an assertion checking that the output matches the input.
  • Records the expected successful result and current “unknown identifier G” failure, explaining the dependencies on #2101 and #2186.
File Description
regression/​verilog/​interface/​generate_block_port_connection1.sv Reproduces the hierarchical interface port connection failure.
regression/​verilog/​interface/​generate_block_port_connection1.desc Marks the test as KNOWNBUG and documents expected behavior and prerequisites for a fix.

Review effort: Balanced

An interface port connected to an interface instance inside a named
generate block, .p(G[0].a), fails with "unknown identifier G".

This KNOWNBUG should be tackled once both #2101 (hierarchical references
into named generate blocks) and #2186 (interface ports take the
parameters of the bound instance) have been merged. #2101 alone makes
G[0].a work in expressions, but not as a port connection: the interface
port actuals that #2186 resolves are plain identifiers only, and the
scope symbols of named generate blocks that #2101 adds are created after
the module instances have been parameterized.

Co-authored-by: Kiro <kiro-agent@users.noreply.github.com>
@tautschnig
tautschnig force-pushed the kiro/knownbug-generate-interface-port branch from 40fa28c to 0d65c18 Compare November 3, 2026 09:59
@kroening
kroening merged commit 73ce9d6 into main Nov 3, 2026
11 checks passed
@kroening
kroening deleted the kiro/knownbug-generate-interface-port branch November 3, 2026 18:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants