aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjackkoenig2016-09-08 17:08:45 -0700
committerjackkoenig2016-09-08 17:15:13 -0700
commit5878c08b46b2520760800db73e0ef4b21f173f46 (patch)
tree3e849452a97548174cfc42a20c254ff949a7d1fc /src
parent2f5b6705eea1c56e9a92c1134265cad23eaa11b9 (diff)
Revert Expand Whens to process a set of connection lhs
Diffstat (limited to 'src')
-rw-r--r--src/main/scala/firrtl/passes/ExpandWhens.scala4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/main/scala/firrtl/passes/ExpandWhens.scala b/src/main/scala/firrtl/passes/ExpandWhens.scala
index 7c013b51..dcefb20f 100644
--- a/src/main/scala/firrtl/passes/ExpandWhens.scala
+++ b/src/main/scala/firrtl/passes/ExpandWhens.scala
@@ -114,7 +114,9 @@ object ExpandWhens extends Pass {
val conseqStmt = expandWhens(conseqNetlist, netlist +: defaults, AND(p, s.pred))(s.conseq)
val altStmt = expandWhens(altNetlist, netlist +: defaults, AND(p, NOT(s.pred)))(s.alt)
- val memos = (conseqNetlist.keys ++ altNetlist.keys) map { lvalue =>
+ // Process combined set of keys because we only want to create 1 mux for each node
+ // being connected to in the conseq and/or alt
+ val memos = (conseqNetlist.keySet ++ altNetlist.keySet) map { lvalue =>
// Defaults in netlist get priority over those in defaults
val default = netlist get lvalue match {
case Some(v) => Some(v)