[circt] LowerMemory might not update module hierarchy properly
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 2.2k
- Forks
- 524
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 46
Description
When running the latest firtool with both `--export-module-hierarchy` and `--repl-seq-mem` flags, the sram names transformation might only happen in one place.
This manifests as in the smems.conf, there is only `name rob_debug_inst_mem_ext ...`, but in the model hierarchy json, the module only exists as `rob_debug_inst_mem`.
This can be verified as running the following commands in the chipyard repo at main branch after initializing the repo with https://chipyard.readthedocs.io/en/main/Chipyard-Basics/Initial-Repo-Setup.html.
```
make verilog USE_CHISEL7=1 CONFIG=MediumBoomV3Config
```
Note the curious thing is that this works for the first 17 sram transformation, just not for the last one. Let me know what I can help to diagnose this issue.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the mismatch with the chipyard command using --export-module-hierarchy and --repl-seq-mem, then inspect LowerMemory's SRAM-name transformation. Compare the name in smems.conf with the corresponding model hierarchy JSON entry, including the final transformation that differs from the first 17. Done means both outputs use the same transformed module name.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100