aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/scala/firrtl/Emitter.scala8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/main/scala/firrtl/Emitter.scala b/src/main/scala/firrtl/Emitter.scala
index 5414053a..17cb9d50 100644
--- a/src/main/scala/firrtl/Emitter.scala
+++ b/src/main/scala/firrtl/Emitter.scala
@@ -554,7 +554,13 @@ class VerilogEmitter extends Emitter {
val rmem_port = WSubAccess(mem,raddrx,s.data_type,UNKNOWNGENDER)
assign(rdata,rmem_port)
val wmem_port = WSubAccess(mem,waddrx,s.data_type,UNKNOWNGENDER)
- update(wmem_port,datax,clk,AND(AND(enx,maskx),wmode))
+
+ val tempName = namespace.newTemp
+ val tempExp = AND(enx,maskx)
+ declare("wire", tempName, tpe(tempExp))
+ val tempWRef = wref(tempName, tpe(tempExp))
+ assign(tempWRef, tempExp)
+ update(wmem_port,datax,clk,AND(tempWRef,wmode))
}
}
case (s:Begin) => s map (build_streams)