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

assign doesn't handle implicitely created wires in the LHS #89

Open
smunaut opened this issue May 20, 2024 · 0 comments · May be fixed by #90
Open

assign doesn't handle implicitely created wires in the LHS #89

smunaut opened this issue May 20, 2024 · 0 comments · May be fixed by #90

Comments

@smunaut
Copy link

smunaut commented May 20, 2024

I'm not 100% sure from the LRM but when cross-checking the vehavior of a couple of verilog parsers, the LHS of an assign statement doesn't have to be pre-declared using a wire statement. That doesn't work for the bracket notation.

So :

wire x;
assign test = x;

is valid, but

wire x;
assign test[1] = x;

is not for instance.

Currently netgen doesn't accept that. See included reproducer that ends up with 'pin matching failed'.

netgen_bug.tar.gz

I'll open a PR with a proposed fix that basically creates the node as needed.
I'm not 100% sure it's the correct fix, but it seems to fix this particular reproducer, but please double check it's actually the right thing to do.

smunaut added a commit to smunaut/netgen that referenced this issue May 20, 2024
Fixes RTimothyEdwards#89

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
@smunaut smunaut linked a pull request May 20, 2024 that will close this issue
smunaut added a commit to smunaut/openlane2 that referenced this issue May 20, 2024
htfab pushed a commit to htfab/openlane2 that referenced this issue May 23, 2024
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 a pull request may close this issue.

1 participant