summaryrefslogtreecommitdiff
path: root/src/main/scala/Chisel/Mem.scala
diff options
context:
space:
mode:
authorAndrew Waterman2016-01-28 12:25:17 -0800
committerAndrew Waterman2016-01-28 12:25:17 -0800
commita6cdcecb7920b661de09948609674b89f21b985f (patch)
tree11fb062f11c784287a0c63f933a0e3d9f863b702 /src/main/scala/Chisel/Mem.scala
parentccc88bbd9d462f04fe1dd39327349aeea8de9d3c (diff)
parentf9977fb4e5508032c3e17d201f747e71a32b9311 (diff)
Merge branch 'master' into modrefactor
Diffstat (limited to 'src/main/scala/Chisel/Mem.scala')
-rw-r--r--src/main/scala/Chisel/Mem.scala7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/main/scala/Chisel/Mem.scala b/src/main/scala/Chisel/Mem.scala
index 3bbb1151..21284607 100644
--- a/src/main/scala/Chisel/Mem.scala
+++ b/src/main/scala/Chisel/Mem.scala
@@ -113,6 +113,9 @@ object SeqMem {
* result is undefined (unlike Vec, where the last assignment wins)
*/
sealed class SeqMem[T <: Data](t: T, n: Int) extends MemBase[T](t, n) {
- def read(addr: UInt, enable: Bool): T =
- read(Mux(enable, addr, Poison(addr)))
+ def read(addr: UInt, enable: Bool): T = {
+ val a = Wire(UInt())
+ when (enable) { a := addr }
+ read(a)
+ }
}