chipsalliance / chipsalliance/chisel
[chisel-circt] CIRCT phase incorrectly uses removed firtool option `-blackbox-memory`
- Dominant language
- Scala
- Stars
- 4.8k
- Forks
- 658
- Avg merge
- 18h 59m
- Merged PRs (30d)
- 14
Description
`chisel-circt` isn't doing the right thing when given a `RunFirrtlTransformAnnotation(firrtl.passes.memlib.ReplSeqMem)` annotation. Presently, this is converted to a removed `firtool` command line argument, `-blackbox-memory`.
This should either be updated to generate the appropriate cocktail of `-repl-seq-mem` options or this should just be removed and it is the responsibility of the user to use `FirtoolOption`s to get this correct.
This starts around here: https://github.com/chipsalliance/chisel3/blob/d1ff92fafd1dc12846d29a529b116fd627af4290/src/main/scala/circt/stage/phases/CIRCT.scala#L156
Contributor guide
Research direction
Start in src/main/scala/circt/stage/phases/CIRCT.scala around line 156, where RunFirrtlTransformAnnotation for ReplSeqMem is converted to firtool options. Determine whether the phase should emit the current -repl-seq-mem option set or leave configuration to FirtoolOptions. Done means the removed -blackbox-memory option is no longer generated and the chosen behavior is covered by the relevant phase checks.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- scala
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100