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

Support implicit signals in both branches of a generate(if..else) #201

Closed
veripoolbot opened this issue Jan 11, 2010 · 2 comments
Closed
Assignees
Labels
resolution: fixed Closed; fixed

Comments

@veripoolbot
Copy link
Contributor


Author Name: Byron Bradley (@bbradley)
Original Redmine Issue: 201 from https://www.veripool.org
Original Date: 2010-01-11
Original Assignee: Wilson Snyder (@wsnyder)


If an implicit signal appears in both branches of a generate(if...else), Verilator fails with:

%Error: t/t_gen_if.v:28: Duplicate declaration of signal: imp
%Error: t/t_gen_if.v:22: ... Location of original declaration

Attached is a patch to show this in t_gen_if although I wasn't sure how to fix this. I considered only creating a new symbol table if we aren't in a generate but this breaks explicit signals, we could probably keep track of the last symbol table outside a generate and add implicit signals there but this would still show the incorrect line numbers for the variable.

@veripoolbot
Copy link
Contributor Author


Original Redmine Comment
Author Name: Wilson Snyder (@wsnyder)
Original Date: 2010-01-11T17:36:21Z


It shouldn't have made the duplicate - it's a bug in the signal getting properly created under the module, but the symtable entry being under the generate rather than module.

Fixed in git for 3.800+.

@veripoolbot
Copy link
Contributor Author


Original Redmine Comment
Author Name: Wilson Snyder (@wsnyder)
Original Date: 2010-02-07T12:41:59Z


In 3.800.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
resolution: fixed Closed; fixed
Projects
None yet
Development

No branches or pull requests

2 participants