class Memory extends SimpleLogger
provides a black box implementation of a circuit memory presenting read, write and read/write interfaces
Assumptions: Zero read_latency latches data straight to memory(address): IGNORES enable
- Source
- Memory.scala
- Alphabetic
- By Inheritance
- Memory
- SimpleLogger
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
Memory(info: Info, name: String, dataType: Type, depth: Int, writeLatency: Int, readLatency: Int, readers: Seq[String], writers: Seq[String], readWriters: Seq[String], readUnderWrite: String)
- info
source level information
- name
the name of this memory
- dataType
type of each memory element
- depth
number of elements
- writeLatency
how many cycles before write happens
- readLatency
how many cycles before read happens
- readers
a list of named reader ports
- writers
a list of named writer ports
- readWriters
list of named read/write ports
- readUnderWrite
behavior
Type Members
-
class
DataStore extends AnyRef
wrap underlying data storage array so indexing is automatically constrained at depth
- abstract class MemoryPort extends AnyRef
- trait PipeLineElement extends AnyRef
-
case class
ReadPort(portName: String, latency: Int) extends MemoryPort with Product with Serializable
implements a read port with memory defined latency
implements a read port with memory defined latency
- portName
name of this reader
- latency
the number of cycles between port and memory
- case class ReadWritePort(portName: String) extends MemoryPort with Product with Serializable
-
case class
WritePort(portName: String, latency: Int) extends MemoryPort with Product with Serializable
implements a write port with memory defined latency
implements a write port with memory defined latency
- portName
name of this writer
- latency
the number of cycles between port and memory
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val addressWidth: Int
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- val bigDepth: BigInt
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
def
cycle(): Unit
used to inform this memory that a cycle has passed
- val dataStore: DataStore
- val dataType: Type
- val dataWidth: Int
- val depth: Int
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def forceWrite(offset: Int, value: BigInt): Unit
- def getAllFieldDependencies: Seq[String]
- def getAllOutputFields: Seq[(String, Seq[String])]
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def getValue(key: String): Concrete
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- val info: Info
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
log(msg: ⇒ String): Unit
- Definition Classes
- SimpleLogger
- val maxMemoryInDefaultDisplay: Int
- var moduloIndex: Boolean
- val name: String
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- val ports: Map[String, MemoryPort]
- val readLatency: Int
- val readPorts: Array[ReadPort]
- val readUnderWrite: String
- val readWritePorts: Array[ReadWritePort]
- val readWriters: Seq[String]
- val readers: Seq[String]
-
def
setValue(key: String, concreteValue: Concrete): Unit
delegate the concrete value to a port various actions may ensue depending on the
delegate the concrete value to a port various actions may ensue depending on the
- key
full ram.port.field specifier
- concreteValue
current value
-
def
setVerbose(value: Boolean = true): Unit
- Definition Classes
- SimpleLogger
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- Memory → AnyRef → Any
-
val
verbose: Boolean
- Definition Classes
- SimpleLogger
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- val writeLatency: Int
- val writePorts: Array[WritePort]
- val writers: Seq[String]
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated @deprecated
- Deprecated
(Since version ) see corresponding Javadoc for more information.