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

Switch to firrtl.stage.FirrtlMain #1984

Closed
wants to merge 2 commits into from

Conversation

seldridge
Copy link
Member

This changes the underlying FIRRTL app from firrtl.Driver to firrtl.stage.FirrtlStage. For the purposes of Rocket Chip, these should be equivalent. The only things that I think could affect Rocket Chip is the removal of --top-name and --split-modules. Top name was really a convoluted way to specify an output file which Rocket Chip never used publicly as far as I'm aware. Use explicit options (as Rocket Chip does) to do that going forward:

  -faf, --annotation-file <file>
                           An input annotation file
  -foaf, --output-annotation-file <file>
                           An output annotation file
  -i, --input-file <file>  An input FIRRTL file
  -o, --output-file <file>
                           The output FIRRTL file

For the emitters, you get a default single-file emitter derived from the compiler. If you want a one-file-per-module emitter, use an explicit -e/--emit-modules emitter. In summary:

  -E, --emit-circuit <chirrtl|high|middle|low|verilog|mverilog|sverilog>
                           Run the specified circuit emitter (all modules in one file)
  -e, --emit-modules <chirrtl|high|middle|low|verilog|mverilog|sverilog>
                           Run the specified module emitter (one file per module)

Related Issue: chipsalliance/firrtl#1005

Type of change: other enhancement

Impact: no functional change

Development Phase: implementation

Release Notes

  • Switch from firrtl.Driver to firrtl.stage.FirrtlMain

This changes the top-level FIRRTL stage from the old Driver
compatibility layer (firrtl.Driver) to the new
stage (firrtl.stage.FirrtlMain). This removes a run-time deprecation
warning during builds.

Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
@hcook hcook requested a review from jackkoenig June 18, 2019 01:44
@seldridge
Copy link
Member Author

@debs-sifive: You may want to look at this as a follow-up to the Stage/Phase merge.

@azidar
Copy link
Contributor

azidar commented Oct 13, 2020

Subsumed

@azidar azidar closed this Oct 13, 2020
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.

None yet

3 participants