Skip to content
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

Fix a bug where array port element naming collisions with port names caused misconnections #473

Merged
merged 1 commit into from
Mar 7, 2024

Conversation

mkorbel1
Copy link
Contributor

@mkorbel1 mkorbel1 commented Mar 7, 2024

Description & Motivation

In cases where a uniquified array element name (e.g. "ArrayX" element 0 would be "ArrayX_0" internally) collided with actual submodule port names (e.g. a non-array port named "ArrayX_0"), the SystemVerilog generated would misconnect the non-array-element port to an index of the array. This was because array element names were assumed to be port names if their parent was a port, which is a false assumption.

This PR fixes the bug for both inputs and outputs. It also adds more robust checking and assertions in the generation to catch any similar issue up-front.

Related Issue(s)

N/A

Testing

Added one new test, plus more assertions and safety in the implementation.

Backwards-compatibility

Is this a breaking change that will not be backwards-compatible? If yes, how so?

No

Documentation

Does the change require any updates to documentation? If so, where? Are they included?

No

@mkorbel1 mkorbel1 merged commit 6d54c25 into intel:main Mar 7, 2024
3 checks passed
@mkorbel1 mkorbel1 deleted the portarr_namecollision branch March 7, 2024 22:22
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.

1 participant