aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/passes/memlib/InferReadWrite.scala
diff options
context:
space:
mode:
authorAngie2017-02-22 20:03:27 -0800
committerAdam Izraelevitz2017-02-23 14:55:00 -0800
commit1f9fd2f9b9e9a0117b0dd65524c9dcb767c02778 (patch)
treeb4ef1d8fdadd89e942e321cf4495a127cb9bfe59 /src/main/scala/firrtl/passes/memlib/InferReadWrite.scala
parent1d652352b752502dd6d130aeb85981df214d7021 (diff)
move more general utils out of memutils, mov WIR helpers to WIR.scala and update uses
Diffstat (limited to 'src/main/scala/firrtl/passes/memlib/InferReadWrite.scala')
-rw-r--r--src/main/scala/firrtl/passes/memlib/InferReadWrite.scala16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/main/scala/firrtl/passes/memlib/InferReadWrite.scala b/src/main/scala/firrtl/passes/memlib/InferReadWrite.scala
index 2501ba04..554c1f0d 100644
--- a/src/main/scala/firrtl/passes/memlib/InferReadWrite.scala
+++ b/src/main/scala/firrtl/passes/memlib/InferReadWrite.scala
@@ -101,24 +101,24 @@ object InferReadWritePass extends Pass {
val rclk = getOrigin(connects)(memPortField(mem, r, "clk"))
if (weq(wclk, rclk) && (wp exists (a => rp exists (b => checkComplement(a, b))))) {
val rw = namespace newName "rw"
- val rwExp = createSubField(createRef(mem.name), rw)
+ val rwExp = WSubField(WRef(mem.name), rw)
readwriters += rw
readers += r
writers += w
repl(memPortField(mem, r, "clk")) = EmptyExpression
repl(memPortField(mem, r, "en")) = EmptyExpression
repl(memPortField(mem, r, "addr")) = EmptyExpression
- repl(memPortField(mem, r, "data")) = createSubField(rwExp, "rdata")
+ repl(memPortField(mem, r, "data")) = WSubField(rwExp, "rdata")
repl(memPortField(mem, w, "clk")) = EmptyExpression
- repl(memPortField(mem, w, "en")) = createSubField(rwExp, "wmode")
+ repl(memPortField(mem, w, "en")) = WSubField(rwExp, "wmode")
repl(memPortField(mem, w, "addr")) = EmptyExpression
- repl(memPortField(mem, w, "data")) = createSubField(rwExp, "wdata")
- repl(memPortField(mem, w, "mask")) = createSubField(rwExp, "wmask")
- stmts += Connect(NoInfo, createSubField(rwExp, "clk"), wclk)
- stmts += Connect(NoInfo, createSubField(rwExp, "en"),
+ repl(memPortField(mem, w, "data")) = WSubField(rwExp, "wdata")
+ repl(memPortField(mem, w, "mask")) = WSubField(rwExp, "wmask")
+ stmts += Connect(NoInfo, WSubField(rwExp, "clk"), wclk)
+ stmts += Connect(NoInfo, WSubField(rwExp, "en"),
DoPrim(Or, Seq(connects(memPortField(mem, r, "en")),
connects(memPortField(mem, w, "en"))), Nil, BoolType))
- stmts += Connect(NoInfo, createSubField(rwExp, "addr"),
+ stmts += Connect(NoInfo, WSubField(rwExp, "addr"),
Mux(connects(memPortField(mem, w, "en")),
connects(memPortField(mem, w, "addr")),
connects(memPortField(mem, r, "addr")), UnknownType))