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 bugs related to module naming and instantiation #207

Merged
merged 3 commits into from
Nov 23, 2022

Conversation

mkorbel1
Copy link
Contributor

Description & Motivation

  • Fixed a bug where signal names and module instance names could conflict.
  • Fixed a bug where in some cases modules might not be properly detected as sub-modules.

Related Issue(s)

Fix #205

Testing

  • Added a new test to cover the sub-module bug
  • Added a new suite of tests covering combinations of names for input ports, output ports, internal signals, internal module instance names, internal module definition names, containing module definition names, and containing module instance names

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 3db9993 into intel:main Nov 23, 2022
@mkorbel1 mkorbel1 deleted the nameconflicts branch November 23, 2022 16:52
Copy link
Contributor

@chaparalas chaparalas left a comment

Choose a reason for hiding this comment

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

Does the dart static check flag an instance name = signal name ?

@mkorbel1
Copy link
Contributor Author

Does the dart static check flag an instance name = signal name ?

Variable names in Dart are statically analyzed. Signal name and instance names are uniquified automatically, where allowed, when generating SystemVerilog. If names cannot be successfully uniquified (e.g. port names are guaranteed to be the maintained; it is possible to "reserve" an instance name of a module), then an error will be flagged during generation.

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.

Module and signal names can collide in illegal ways in generated SystemVerilog
2 participants