summaryrefslogtreecommitdiff
path: root/src/main/scala/Chisel/Core.scala
diff options
context:
space:
mode:
authorAndrew Waterman2015-08-26 14:57:55 -0700
committerAndrew Waterman2015-08-26 15:21:46 -0700
commit794a1230e61a9a358fcb852fca3b84cab237dcf9 (patch)
tree119180a27685a781f844b6008245f3f56d75ff82 /src/main/scala/Chisel/Core.scala
parenta3af1ac0f11daf9d2f7a29a2f57b0fa99d81b277 (diff)
Remove Mem from Data hierarchy
Just like Reg, state elements are not Data.
Diffstat (limited to 'src/main/scala/Chisel/Core.scala')
-rw-r--r--src/main/scala/Chisel/Core.scala8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/main/scala/Chisel/Core.scala b/src/main/scala/Chisel/Core.scala
index 9500de69..987569e9 100644
--- a/src/main/scala/Chisel/Core.scala
+++ b/src/main/scala/Chisel/Core.scala
@@ -137,12 +137,12 @@ object Mem {
def apply[T <: Data](t: T, size: Int): Mem[T] = {
val mt = t.cloneType
val mem = new Mem(mt, size)
- pushCommand(DefMemory(mem, size, Alias(mt._parent.get.clock))) // TODO multi-clock
+ pushCommand(DefMemory(mem, mt, size, Alias(mt._parent.get.clock))) // TODO multi-clock
mem
}
}
-sealed class Mem[T <: Data](t: T, val length: Int) extends Aggregate(NO_DIR) with VecLike[T] {
+sealed class Mem[T <: Data](t: T, val length: Int) extends HasId with VecLike[T] {
def apply(idx: Int): T = apply(UInt(idx))
def apply(idx: UInt): T = {
val x = t.cloneType
@@ -157,10 +157,6 @@ sealed class Mem[T <: Data](t: T, val length: Int) extends Aggregate(NO_DIR) wit
val mask1 = mask.toBits
write(idx, t.fromBits((read(idx).toBits & ~mask1) | (data.toBits & mask1)))
}
-
- def cloneType = throwException("Mem.cloneType unimplemented")
- private[Chisel] def flatten = throwException("Mem.flatten unimplemented")
- private[Chisel] def toType = t.toType
}
object SeqMem {