Conversation
… LHS
IEEE 1800-2017 6.10 declares an undeclared identifier used on the LHS of a
continuous assignment as an implicit net of the default net type.
convert_continuous_assign already did this for a bare-identifier LHS but not
when the identifier appeared as a member of a concatenation, e.g.
assign {carry, sum} = a + b; // carry is undeclared
which was rejected with "unknown identifier". Declare each undeclared
bare-identifier member as a scalar net before converting the concatenation.
Fixes LogikBench arithmetic/sub.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Split out from #2052 (root cause 2 of the LogikBench type-checker triage).
IEEE 1800-2017 6.10 declares an undeclared identifier used on the LHS of a continuous assignment as an implicit net of the default net type.
convert_continuous_assignalready handled this for a bare-identifier LHS but not when the identifier appeared as a member of a concatenation, e.g.which was rejected with "unknown identifier". Each undeclared bare-identifier member is now declared as a scalar net of the default net type before the concatenation is converted.
Fixes LogikBench arithmetic/sub. Adds regression test
continuous_assign_implicit_net1.make -C regression/verilog testpasses.🤖 Generated with Claude Code