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
    @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 finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. def forceWrite(offset: Int, value: BigInt): Unit

    Permalink
  17. def getAllFieldDependencies: Seq[String]

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  20. def getValue(key: String): Concrete

    Permalink
  21. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  22. val info: Info

    Permalink

    source level information

  23. final def isInstanceOf[T0]: Boolean

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

    Permalink
    Definition Classes
    SimpleLogger
  25. val maxMemoryInDefaultDisplay: Int

    Permalink
  26. var moduloIndex: Boolean

    Permalink
  27. val name: String

    Permalink

    the name of this memory

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

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

    Permalink
    Definition Classes
    AnyRef
  30. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  31. val ports: Map[String, MemoryPort]

    Permalink
  32. val readLatency: Int

    Permalink

    how many cycles before read happens

  33. val readPorts: Array[ReadPort]

    Permalink
  34. val readUnderWrite: String

    Permalink

    behavior

  35. val readWritePorts: Array[ReadWritePort]

    Permalink
  36. val readWriters: Seq[String]

    Permalink

    list of named read/write ports

  37. val readers: Seq[String]

    Permalink

    a list of named reader ports

  38. 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

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

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

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

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

    Permalink
    Definition Classes
    SimpleLogger
  43. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  44. final def wait(arg0: Long, arg1: Int): Unit

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

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

    Permalink

    how many cycles before write happens

  47. val writePorts: Array[WritePort]

    Permalink
  48. val writers: Seq[String]

    Permalink

    a list of named writer ports

Inherited from SimpleLogger

Inherited from AnyRef

Inherited from Any

Ungrouped