This repository has been archived by the owner on Aug 20, 2024. It is now read-only.
Interaction between Chisel._, DedupModules, and ExpandConnects can result in dropped connections #1703
Closed
5 tasks done
Checklist
What is the current behavior?
When connecting things with Chisel._, it's possible that DedupModules and ExpandConnects interact badly with eachother to result in dropped wires (wires tied off to 0 instead of being connected as specified by the user).
What is the expected behavior?
The Chisel user's intended connectivity should not be changed by DedupModules and wires should end up connected properly in the final verilog.
OR an error should be thrown by Chisel/FIRRTL alerting user that this is not going to work in this case.
Steps to Reproduce
This was originally discovered in implementing. chipsalliance/rocket-chip#2528
Thanks to @jackkoenig for getting this cut-down example coded up:
https://scastie.scala-lang.org/yJUyW088TVOPhQpLlSX1Ng
Code duplicated below:
Here is the bad result:
Your environment
* 21ea734 - (9 weeks ago) Merge branch 'master' into 3.3.x - Jim Lawson
| * e599dba - (10 days ago) delete usages of toSet for determinism (#1686) (#1688) - mergify[bot]
External Information
chipsalliance/rocket-chip#2528, chipsalliance/rocket-chip#2487
The text was updated successfully, but these errors were encountered: