chipsalliance / chipsalliance/chisel

[chisel-circt] CIRCT phase incorrectly uses removed firtool option `-blackbox-memory`

Open
#2,914 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.