object SRAM
- Source
- SRAM.scala
- Alphabetic
- By Inheritance
- SRAM
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
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
- def apply[T <: Data](size: BigInt, tpe: T, readPortClocks: Seq[Clock], writePortClocks: Seq[Clock], readwritePortClocks: Seq[Clock], memoryFile: MemoryFile)(implicit sourceInfo: SourceInfo): SRAMInterface[T]
Generates a SyncReadMem within the current module, connected to an explicit number of read, write, and read/write ports.
Generates a SyncReadMem within the current module, connected to an explicit number of read, write, and read/write ports. This SRAM abstraction has both read and write capabilities: that is, it contains at least one read accessor (a read-only or read-write port), and at least one write accessor (a write-only or read-write port).
- T
The data type of the memory element
- size
The desired size of the inner
SyncReadMem
- memoryFile
A memory file whose path is emitted as Verilog directives to initialize the inner
SyncReadMem
- returns
A new
SRAMInterface
wire containing the control signals for each instantiated port
- Note
This does *not* return the
,SyncReadMem
itself, you must interact with it using the returned bundleRead-only memories (R >= 1, W === 0, RW === 0) and write-only memories (R === 0, W >= 1, RW === 0) are not supported by this API, and will result in an error if declared.
- def apply[T <: Data](size: BigInt, tpe: T, readPortClocks: Seq[Clock], writePortClocks: Seq[Clock], readwritePortClocks: Seq[Clock])(implicit sourceInfo: SourceInfo): SRAMInterface[T]
Generates a SyncReadMem within the current module, connected to an explicit number of read, write, and read/write ports.
Generates a SyncReadMem within the current module, connected to an explicit number of read, write, and read/write ports. This SRAM abstraction has both read and write capabilities: that is, it contains at least one read accessor (a read-only or read-write port), and at least one write accessor (a write-only or read-write port).
- T
The data type of the memory element
- size
The desired size of the inner
SyncReadMem
- returns
A new
SRAMInterface
wire containing the control signals for each instantiated port
- Note
This does *not* return the
,SyncReadMem
itself, you must interact with it using the returned bundleRead-only memories (R >= 1, W === 0, RW === 0) and write-only memories (R === 0, W >= 1, RW === 0) are not supported by this API, and will result in an error if declared.
- def apply[T <: Data](size: BigInt, tpe: T, numReadPorts: Int, numWritePorts: Int, numReadwritePorts: Int, memoryFile: MemoryFile)(implicit sourceInfo: SourceInfo): SRAMInterface[T]
Generates a SyncReadMem within the current module, connected to an explicit number of read, write, and read/write ports.
Generates a SyncReadMem within the current module, connected to an explicit number of read, write, and read/write ports. This SRAM abstraction has both read and write capabilities: that is, it contains at least one read accessor (a read-only or read-write port), and at least one write accessor (a write-only or read-write port).
- T
The data type of the memory element
- size
The desired size of the inner
SyncReadMem
- numReadPorts
The number of desired read ports >= 0, and (numReadPorts + numReadwritePorts) > 0
- numWritePorts
The number of desired write ports >= 0, and (numWritePorts + numReadwritePorts) > 0
- numReadwritePorts
The number of desired read/write ports >= 0, and the above two conditions must hold
- memoryFile
A memory file whose path is emitted as Verilog directives to initialize the inner
SyncReadMem
- returns
A new
SRAMInterface
wire containing the control signals for each instantiated port
- Note
This does *not* return the
,SyncReadMem
itself, you must interact with it using the returned bundleRead-only memories (R >= 1, W === 0, RW === 0) and write-only memories (R === 0, W >= 1, RW === 0) are not supported by this API, and will result in an error if declared.
- def apply[T <: Data](size: BigInt, tpe: T, numReadPorts: Int, numWritePorts: Int, numReadwritePorts: Int)(implicit sourceInfo: SourceInfo): SRAMInterface[T]
Generates a SyncReadMem within the current module, connected to an explicit number of read, write, and read/write ports.
Generates a SyncReadMem within the current module, connected to an explicit number of read, write, and read/write ports. This SRAM abstraction has both read and write capabilities: that is, it contains at least one read accessor (a read-only or read-write port), and at least one write accessor (a write-only or read-write port).
- T
The data type of the memory element
- size
The desired size of the inner
SyncReadMem
- numReadPorts
The number of desired read ports >= 0, and (numReadPorts + numReadwritePorts) > 0
- numWritePorts
The number of desired write ports >= 0, and (numWritePorts + numReadwritePorts) > 0
- numReadwritePorts
The number of desired read/write ports >= 0, and the above two conditions must hold
- returns
A new
SRAMInterface
wire containing the control signals for each instantiated port
- Note
This does *not* return the
,SyncReadMem
itself, you must interact with it using the returned bundleRead-only memories (R >= 1, W === 0, RW === 0) and write-only memories (R === 0, W >= 1, RW === 0) are not supported by this API, and will result in an error if declared.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def masked[T <: Data](size: BigInt, tpe: T, readPortClocks: Seq[Clock], writePortClocks: Seq[Clock], readwritePortClocks: Seq[Clock], memoryFile: MemoryFile)(implicit evidence: <:<[T, Vec[_]], sourceInfo: SourceInfo): SRAMInterface[T]
Generates a SyncReadMem within the current module, connected to an explicit number of read, write, and read/write ports, with masking capability on all write and read/write ports.
Generates a SyncReadMem within the current module, connected to an explicit number of read, write, and read/write ports, with masking capability on all write and read/write ports. Each port is clocked with its own explicit
Clock
, rather than being given the implicit clock.- T
The data type of the memory element
- size
The desired size of the inner
SyncReadMem
- readPortClocks
A sequence of clocks for each read port; and (numReadPorts + numReadwritePorts) > 0
- writePortClocks
A sequence of clocks for each write port; and (numWritePorts + numReadwritePorts) > 0
- readwritePortClocks
A sequence of clocks for each read-write port; and the above two conditions must hold
- memoryFile
A memory file whose path is emitted as Verilog directives to initialize the inner
SyncReadMem
- returns
A new
SRAMInterface
wire containing the control signals for each instantiated port
- Note
The size of each
,Clock
sequence determines the corresponding number of read, write, and read-write portsThis does *not* return the
,SyncReadMem
itself, you must interact with it using the returned bundleRead-only memories (R >= 1, W === 0, RW === 0) and write-only memories (R === 0, W >= 1, RW === 0) are not supported by this API, and will result in an error if declared.
- def masked[T <: Data](size: BigInt, tpe: T, readPortClocks: Seq[Clock], writePortClocks: Seq[Clock], readwritePortClocks: Seq[Clock])(implicit evidence: <:<[T, Vec[_]], sourceInfo: SourceInfo): SRAMInterface[T]
Generates a SyncReadMem within the current module, connected to an explicit number of read, write, and read/write ports, with masking capability on all write and read/write ports.
Generates a SyncReadMem within the current module, connected to an explicit number of read, write, and read/write ports, with masking capability on all write and read/write ports. Each port is clocked with its own explicit
Clock
, rather than being given the implicit clock.- T
The data type of the memory element
- size
The desired size of the inner
SyncReadMem
- readPortClocks
A sequence of clocks for each read port; and (numReadPorts + numReadwritePorts) > 0
- writePortClocks
A sequence of clocks for each write port; and (numWritePorts + numReadwritePorts) > 0
- readwritePortClocks
A sequence of clocks for each read-write port; and the above two conditions must hold
- returns
A new
SRAMInterface
wire containing the control signals for each instantiated port
- Note
The size of each
,Clock
sequence determines the corresponding number of read, write, and read-write portsThis does *not* return the
,SyncReadMem
itself, you must interact with it using the returned bundleRead-only memories (R >= 1, W === 0, RW === 0) and write-only memories (R === 0, W >= 1, RW === 0) are not supported by this API, and will result in an error if declared.
- def masked[T <: Data](size: BigInt, tpe: T, numReadPorts: Int, numWritePorts: Int, numReadwritePorts: Int, memoryFile: MemoryFile)(implicit evidence: <:<[T, Vec[_]], sourceInfo: SourceInfo): SRAMInterface[T]
Generates a SyncReadMem within the current module, connected to an explicit number of read, write, and read/write ports, with masking capability on all write and read/write ports.
Generates a SyncReadMem within the current module, connected to an explicit number of read, write, and read/write ports, with masking capability on all write and read/write ports. This SRAM abstraction has both read and write capabilities: that is, it contains at least one read accessor (a read-only or read-write port), and at least one write accessor (a write-only or read-write port).
- T
The data type of the memory element
- size
The desired size of the inner
SyncReadMem
- numReadPorts
The number of desired read ports >= 0, and (numReadPorts + numReadwritePorts) > 0
- numWritePorts
The number of desired write ports >= 0, and (numWritePorts + numReadwritePorts) > 0
- numReadwritePorts
The number of desired read/write ports >= 0, and the above two conditions must hold
- memoryFile
A memory file whose path is emitted as Verilog directives to initialize the inner
SyncReadMem
- returns
A new
SRAMInterface
wire containing the control signals for each instantiated port
- Note
This does *not* return the
,SyncReadMem
itself, you must interact with it using the returned bundleRead-only memories (R >= 1, W === 0, RW === 0) and write-only memories (R === 0, W >= 1, RW === 0) are not supported by this API, and will result in an error if declared.
- def masked[T <: Data](size: BigInt, tpe: T, numReadPorts: Int, numWritePorts: Int, numReadwritePorts: Int)(implicit evidence: <:<[T, Vec[_]], sourceInfo: SourceInfo): SRAMInterface[T]
Generates a SyncReadMem within the current module, connected to an explicit number of read, write, and read/write ports, with masking capability on all write and read/write ports.
Generates a SyncReadMem within the current module, connected to an explicit number of read, write, and read/write ports, with masking capability on all write and read/write ports. This SRAM abstraction has both read and write capabilities: that is, it contains at least one read accessor (a read-only or read-write port), and at least one write accessor (a write-only or read-write port).
- T
The data type of the memory element
- size
The desired size of the inner
SyncReadMem
- numReadPorts
The number of desired read ports >= 0, and (numReadPorts + numReadwritePorts) > 0
- numWritePorts
The number of desired write ports >= 0, and (numWritePorts + numReadwritePorts) > 0
- numReadwritePorts
The number of desired read/write ports >= 0, and the above two conditions must hold
- returns
A new
SRAMInterface
wire containing the control signals for each instantiated port
- Note
This does *not* return the
,SyncReadMem
itself, you must interact with it using the returned bundleRead-only memories (R >= 1, W === 0, RW === 0) and write-only memories (R === 0, W >= 1, RW === 0) are not supported by this API, and will result in an error if declared.
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()