chipsalliance / chisel

Chisel: A Modern Hardware Design Language
https://www.chisel-lang.org/
Apache License 2.0
3.91k stars 588 forks source link

[info] Running CIRCT: 'firtool ...' is not a command that can be copied and pasted locally to iterate quickly #3086

Open oharboe opened 1 year ago

oharboe commented 1 year ago

Type of issue: Feature Request

Is your feature request related to a problem? Please describe.

The logging line below is not a command line that I can copy and paste into bash shell to quickly iterate on variations since it takes $input

[info] Running CIRCT: 'firtool -format=fir -warn-on-unprocessed-annotations -dedup -output-annotation-file circt.anno.json --lowering-options=disallowPackedArrays --split-verilog --dedup --strip-debug-info --extract-test-code -o=.../foo -verbose-pass-executions -disable-infer-rw -annotation-file  foo.anno.json < $input'

Describe the solution you'd like

  1. I would like to know which folder the command above is run from
  2. I should be able to change to that folder, then copy and paste that command line to quickly iterate on variations of the firtool command line.

What is the use case for implementing this feature?

Faster, easier debugging of problems with firtool command line.

seldridge commented 1 year ago

This is totally fair... with https://github.com/chipsalliance/chisel/commit/a8f2ce7fe08c8461d89d54a584d278b476471439 landed, we're much closer to having a single file that needs to be passed as opposed to .fir and annotations.

We should merge all annotations into the .fir and then add an option to ChiselStage that will do the communication either via stdin/stdout or via a file. You can then select the file option and the command line will be copy-pastable.