class SRAM2[A] extends SRAM[A, SRAM2] with LocalMem2[A, SRAM2] with Mem2[A, SRAM1, SRAM2] with Ref[Array[Any], SRAM2[A]]
A 2-dimensional SRAM with elements of type A.
- Alphabetic
- By Inheritance
- SRAM2
- Mem2
- LocalMem2
- SRAM
- LocalMem
- Mem
- Top
- Ref
- Exp
- ExpType
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
type
L = Array[Any]
- Definition Classes
- Ref → Exp → ExpType
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
!==(that: Any): argon.lang.Bit
- Definition Classes
- Top
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
++(that: Any): argon.lang.Text
- Definition Classes
- Top
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
===(that: Any): argon.lang.Bit
- Definition Classes
- Top
- val A: lang.Bits[A]
-
def
M1: Type[SRAM1[A]]
- Attributes
- protected
- Definition Classes
- SRAM
-
def
M2: Type[SRAM2[A]]
- Attributes
- protected
- Definition Classes
- SRAM
-
def
M3: Type[SRAM3[A]]
- Attributes
- protected
- Definition Classes
- SRAM
-
def
M4: Type[SRAM4[A]]
- Attributes
- protected
- Definition Classes
- SRAM
-
def
M5: Type[SRAM5[A]]
- Attributes
- protected
- Definition Classes
- SRAM
-
val
__neverMutable: Boolean
- Attributes
- protected
- Definition Classes
- Mem → ExpType
- def __read(addr: Seq[lang.Idx], ens: Set[lang.Bit]): A
- def __reset(ens: Set[lang.Bit]): lang.Void
-
val
__typeArgs: Seq[Type[_]]
- Attributes
- protected
- Definition Classes
- SRAM2 → ExpType
-
val
__typeParams: Seq[lang.Bits[A]]
- Attributes
- protected
- Definition Classes
- SRAM2 → ExpType
-
val
__typePrefix: String
- Attributes
- protected
- Definition Classes
- SRAM2 → ExpType
- def __write(data: A, addr: Seq[lang.Idx], ens: Set[lang.Bit]): lang.Void
-
def
apply(row: lang.I32, col: lang.I32): A
Returns the value at (
row
,col
). -
def
apply(rows: lang.Rng, cols: lang.Rng): SRAM2[A]
Creates a view of a 2-dimensional, dense region of this memory.
Creates a view of a 2-dimensional, dense region of this memory.
- Definition Classes
- Mem2
-
def
apply(rows: lang.Rng, col: lang.Idx): SRAM1[A]
Creates a view of a dense slice of a column of this memory.
Creates a view of a dense slice of a column of this memory. Use the * wildcard to view the entire column.
- Definition Classes
- Mem2
-
def
apply(row: lang.Idx, cols: lang.Rng): SRAM1[A]
Creates a view of a dense slice of a row of this memory.
Creates a view of a dense slice of a row of this memory. Use the * wildcard to view the entire row.
- Definition Classes
- Mem2
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
bank(N: Seq[Int], B: Seq[Int], alpha: Seq[Int]): SRAM2[A]
Provide explicit banking scheme that you want to use.
Provide explicit banking scheme that you want to use. If this scheme is unsafe, it will crash. It will also assume only one duplicate
- Definition Classes
- SRAM
-
def
blockcyclic_Bs(bs: Seq[Int]): SRAM2[A]
Set search range bs to search for
Set search range bs to search for
- Definition Classes
- SRAM
-
def
buffer: SRAM2[A]
Indicate that the memory should be buffered and ignore potential situation where result from running sequentially does not match with resurt from running pipelined
Indicate that the memory should be buffered and ignore potential situation where result from running sequentially does not match with resurt from running pipelined
- Definition Classes
- SRAM
-
final
def
canEqual(that: Any): Boolean
- Definition Classes
- Ref → Equals
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
coalesce: SRAM2[A]
- Definition Classes
- SRAM
- def cols: lang.I32
-
def
conflictable: SRAM2[A]
Allow "unsafe" banking, where two writes can technically happen simultaneously and one will be dropped.
Allow "unsafe" banking, where two writes can technically happen simultaneously and one will be dropped. Use in cases where writes may happen in parallel but you are either sure that two writes won't happen simultaneously due to data-dependent control flow or that you don't care if one write gets dropped
- Definition Classes
- SRAM
-
def
dim0: lang.I32
Returns dim0 of this DRAM, or else 1 if SRAM is lower dimensional
Returns dim0 of this DRAM, or else 1 if SRAM is lower dimensional
- Definition Classes
- SRAM
-
def
dim1: lang.I32
Returns dim1 of this DRAM, or else 1 if SRAM is lower dimensional
Returns dim1 of this DRAM, or else 1 if SRAM is lower dimensional
- Definition Classes
- SRAM
-
def
dim2: lang.I32
Returns dim2 of this DRAM, or else 1 if SRAM is lower dimensional
Returns dim2 of this DRAM, or else 1 if SRAM is lower dimensional
- Definition Classes
- SRAM
-
def
dim3: lang.I32
Returns dim3 of this DRAM, or else 1 if SRAM is lower dimensional
Returns dim3 of this DRAM, or else 1 if SRAM is lower dimensional
- Definition Classes
- SRAM
-
def
dim4: lang.I32
Returns dim4 of this DRAM, or else 1 if SRAM is lower dimensional
Returns dim4 of this DRAM, or else 1 if SRAM is lower dimensional
- Definition Classes
- SRAM
-
def
dims: Seq[lang.I32]
Returns the dimensions of this SRAM as a Sequence.
Returns the dimensions of this SRAM as a Sequence.
- Definition Classes
- SRAM
-
def
duplicateaxes(opts: Seq[Seq[Int]])(implicit state: State): SRAM2[A]
- Definition Classes
- SRAM
-
def
effort(e: Int): SRAM2[A]
Specify banking search effort for this memory
Specify banking search effort for this memory
- Definition Classes
- SRAM
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
eql(that: SRAM2[A]): argon.lang.Bit
- Definition Classes
- Top
-
final
def
equals(x: Any): Boolean
- Definition Classes
- Ref → Equals → AnyRef → Any
- implicit val evMem: <:<[SRAM2[A], SRAM[A, SRAM2]]
-
implicit
val
evRef: <:<[spatial.lang.SRAM2[A] @scala.annotation.unchecked.uncheckedVariance, Ref[Array[Any], spatial.lang.SRAM2[A] @scala.annotation.unchecked.uncheckedVariance]]
- Attributes
- protected[argon]
- Definition Classes
- ExpType
-
def
extract: Option[Any]
- Attributes
- protected
- Definition Classes
- Exp
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
flat: SRAM2[A]
Only attempt to bank memory in a flattened manner
Only attempt to bank memory in a flattened manner
- Definition Classes
- SRAM
-
def
forcebank(N: Seq[Int], B: Seq[Int], alpha: Seq[Int]): SRAM2[A]
Provide explicit banking scheme that you want to use.
Provide explicit banking scheme that you want to use. If this scheme is unsafe, it will NOT crash. It will also assume only one duplicate
- Definition Classes
- SRAM
-
def
fresh: SRAM2[A]
- Attributes
- protected
- Definition Classes
- SRAM2 → ExpType
-
final
def
from(c: Any, warnOnLoss: Boolean, errorOnLoss: Boolean, isParam: Boolean, saturating: Boolean, unbiased: Boolean): spatial.lang.SRAM2[A] @scala.annotation.unchecked.uncheckedVariance
- Definition Classes
- ExpType
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getFrom(c: Any, isParam: Boolean, saturating: Boolean, unbiased: Boolean): Option[(spatial.lang.SRAM2[A] @scala.annotation.unchecked.uncheckedVariance, Boolean)]
- Definition Classes
- ExpType
-
final
def
hashCode(): Int
- Definition Classes
- Ref → AnyRef → Any
-
def
hierarchical: SRAM2[A]
Only attempt to bank memory hierarchically
Only attempt to bank memory hierarchically
- Definition Classes
- SRAM
-
def
infix_!=(that: Any): argon.lang.Bit
- Definition Classes
- Top
-
def
infix_==(that: Any): argon.lang.Bit
- Definition Classes
- Top
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
load(dram: DRAM2[A]): lang.Void
Create a dense burst load from the given region of DRAM to this on-chip memory.
Create a dense burst load from the given region of DRAM to this on-chip memory.
- Definition Classes
- LocalMem2
-
def
me: spatial.lang.SRAM2[A] @scala.annotation.unchecked.uncheckedVariance
- Attributes
- protected
- Definition Classes
- ExpType
-
def
mustmerge: SRAM2[A]
Guarantee that it is safe to merge different duplicates.
Guarantee that it is safe to merge different duplicates. Only use this if you know exactly what you are doing!
- Definition Classes
- SRAM
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
neql(that: SRAM2[A]): argon.lang.Bit
- Definition Classes
- Top
-
def
nobank: SRAM2[A]
- Definition Classes
- SRAM
-
def
noblockcyclic: SRAM2[A]
Do not attempt to bank memory with block-cyclic schemes
Do not attempt to bank memory with block-cyclic schemes
- Definition Classes
- SRAM
-
def
noduplicate: SRAM2[A]
Do not attempt to bank memory by duplication
Do not attempt to bank memory by duplication
- Definition Classes
- SRAM
-
def
noflat: SRAM2[A]
- Definition Classes
- SRAM
-
def
nohierarchical: SRAM2[A]
- Definition Classes
- SRAM
-
def
nonbuffer: SRAM2[A]
Do not buffer memory
Do not buffer memory
- Definition Classes
- SRAM
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
onlyblockcyclic: SRAM2[A]
Only attempt to bank memory with block-cyclic schemes
Only attempt to bank memory with block-cyclic schemes
- Definition Classes
- SRAM
-
def
onlyduplicate: SRAM2[A]
Do not attempt to bank memory at all, and only use bank-by-duplication for all lanes of all readers
Do not attempt to bank memory at all, and only use bank-by-duplication for all lanes of all readers
- Definition Classes
- SRAM
-
def
par(p: lang.I32): SRAM2[A]
Creates an alias of this SRAM with parallel access in the last dimension.
Creates an alias of this SRAM with parallel access in the last dimension.
- Definition Classes
- SRAM
- def rank: Int
-
def
read(addr: Seq[lang.Idx], ens: Set[lang.Bit] = Set.empty): A
Returns the value at
addr
.Returns the value at
addr
. The number of indices should match the SRAM's rank. NOTE: Use the apply method if the SRAM's rank is statically known.- Definition Classes
- SRAM
- def rows: lang.I32
-
def
size: lang.I32
Returns the total capacity (in elements) of this SRAM.
Returns the total capacity (in elements) of this SRAM.
- Definition Classes
- SRAM
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
final
def
toString(): String
- Definition Classes
- Ref → AnyRef → Any
-
def
toText: argon.lang.Text
- Definition Classes
- Top
-
def
unrelated(that: Any): Unit
- Attributes
- protected
- Definition Classes
- Top
-
def
update(row: lang.I32, col: lang.I32, data: A): lang.Void
Updates the value at (
row
,col
) todata
. -
def
value(c: Any): Option[(Array[Any], Boolean)]
- Attributes
- protected
- Definition Classes
- ExpType
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
withCheck[T](x: ⇒ T)(eql: (T) ⇒ Boolean): Option[(T, Boolean)]
- Attributes
- protected
- Definition Classes
- ExpType
-
def
write(data: A, addr: Seq[lang.Idx], ens: Set[lang.Bit] = Set.empty): lang.Void
Updates the value at
addr
todata
.Updates the value at
addr
todata
. The number of indices should match the SRAM's rank. NOTE: Use the update method if the SRAM's rank is statically known.- Definition Classes
- SRAM