aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-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)