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

"reg" is invalid Verilog identifier #2

Closed
drom opened this issue Apr 30, 2020 · 2 comments
Closed

"reg" is invalid Verilog identifier #2

drom opened this issue Apr 30, 2020 · 2 comments
Labels
bug Something isn't working ExportVerilog
Milestone

Comments

@drom
Copy link
Contributor

drom commented Apr 30, 2020

Like many other Verilog keywords, reg is an invalid identifier.

https://github.com/sifive/clattner-experimental/blob/d231ef24235ce132fd93c313771c56888161e482/test/EmitVerilog/verilog-basic.fir#L343

lattner added a commit that referenced this issue May 1, 2020
words and other identifiers that cause problems.  This fixes
Issue #2.
@lattner
Copy link
Collaborator

lattner commented May 1, 2020

Fixed in bb7195b, thank you!

@lattner lattner closed this as completed May 1, 2020
@lattner
Copy link
Collaborator

lattner commented May 1, 2020

Sorry, I meant 2ae4d2c

@drom drom added the FIRRTL Involving the `firrtl` dialect label Jul 14, 2020
@drom drom modified the milestone: SiFive-1 Mar 23, 2021
@darthscsi darthscsi added this to the SiFive-1 milestone Apr 7, 2021
@darthscsi darthscsi added bug Something isn't working ExportVerilog and removed FIRRTL Involving the `firrtl` dialect labels Apr 7, 2021
mortbopet added a commit to mortbopet/circt that referenced this issue Sep 17, 2021
mortbopet added a commit that referenced this issue Sep 16, 2022
# This is the 1st commit message:

[Pipeline] Add pipeline stage register materialization pass

This commit adds an intermediate transformation to the Pipeline dialect
which is responsible for converting `pipeline.stage` to `pipeline.stage.register`
operations. The purpose of this transformation is to 'fix' where
registers needs to be placed in the pipeline, after all stages have been
defined and placed.

In short, the transformation will scan through the pipeline (in order,
top to bottom) and insert `pipeline.stage.register` operations in place
of `pipeline.stage` operations. Any operand used in any operation will
be analyzed to determine if it originates in between the last seen stage
and the operation itself. If not, this means that the operand crossed
a pipeline stage, and as such, the value will be routed through the
predecessor stage (`routeThroughStage`).

# This is the commit message #2:

Tidy up
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working ExportVerilog
Projects
None yet
Development

No branches or pull requests

3 participants