Class/Object

firrtl_interpreter

Memory

Related Docs: object Memory | package firrtl_interpreter

Permalink

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
Linear Supertypes
SimpleLogger, AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Memory
  2. SimpleLogger
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. 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)

    Permalink

    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

  1. class DataStore extends AnyRef

    Permalink

    wrap underlying data storage array so indexing is automatically constrained at depth

  2. abstract class MemoryPort extends AnyRef

    Permalink
  3. trait PipeLineElement extends AnyRef

    Permalink
  4. case class ReadPort(portName: String, latency: Int) extends MemoryPort with Product with Serializable

    Permalink

    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

  5. case class ReadWritePort(portName: String) extends MemoryPort with Product with Serializable

    Permalink
  6. case class WritePort(portName: String, latency: Int) extends MemoryPort with Product with Serializable

    Permalink

    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

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. val addressWidth: Int

    Permalink
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. val bigDepth: BigInt

    Permalink
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @throws( ... )
  8. def cycle(): Unit

    Permalink

    used to inform this memory that a cycle has passed

  9. val dataStore: DataStore

    Permalink
  10. val dataType: Type

    Permalink

    type of each memory element

  11. val dataWidth: Int

    Permalink
  12. val depth: Int

    Permalink

    number of elements

  13. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  15. def forceWrite(offset: Int, value: BigInt): Unit

    Permalink
  16. def getAllFieldDependencies: Seq[String]

    Permalink
  17. def getAllOutputFields: Seq[(String, Seq[String])]

    Permalink
  18. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  19. def getValue(key: String): Concrete

    Permalink
  20. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  21. val info: Info

    Permalink

    source level information

  22. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  23. def log(msg: ⇒ String): Unit

    Permalink
    Definition Classes
    SimpleLogger
  24. val maxMemoryInDefaultDisplay: Int

    Permalink
  25. var moduloIndex: Boolean

    Permalink
  26. val name: String

    Permalink

    the name of this memory

  27. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  28. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  29. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  30. val ports: Map[String, MemoryPort]

    Permalink
  31. val readLatency: Int

    Permalink

    how many cycles before read happens

  32. val readPorts: Array[ReadPort]

    Permalink
  33. val readUnderWrite: String

    Permalink

    behavior

  34. val readWritePorts: Array[ReadWritePort]

    Permalink
  35. val readWriters: Seq[String]

    Permalink

    list of named read/write ports

  36. val readers: Seq[String]

    Permalink

    a list of named reader ports

  37. def setValue(key: String, concreteValue: Concrete): Unit

    Permalink

    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

  38. def setVerbose(value: Boolean = true): Unit

    Permalink
    Definition Classes
    SimpleLogger
  39. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  40. def toString(): String

    Permalink
    Definition Classes
    Memory → AnyRef → Any
  41. var verbose: Boolean

    Permalink
    Definition Classes
    SimpleLogger
  42. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  43. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  44. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  45. val writeLatency: Int

    Permalink

    how many cycles before write happens

  46. val writePorts: Array[WritePort]

    Permalink
  47. val writers: Seq[String]

    Permalink

    a list of named writer ports

Deprecated Value Members

  1. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from SimpleLogger

Inherited from AnyRef

Inherited from Any

Ungrouped