abstract class SRAM[A, C[T]] extends Top[C[A]] with LocalMem[A, C]

Linear Supertypes
types.LocalMem[A, C], types.Mem[A, C], argon.lang.Top[C[A]], Ref[Any, C[A]], Exp[Any, C[A]], ExpType[Any, C[A] @scala.annotation.unchecked.uncheckedVariance], Equals, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SRAM
  2. LocalMem
  3. Mem
  4. Top
  5. Ref
  6. Exp
  7. ExpType
  8. Equals
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SRAM()(implicit arg0: lang.Bits[A], evMem: <:<[C[A], SRAM[A, C]])

Type Members

  1. type L = Any
    Definition Classes
    Ref → Exp → ExpType

Abstract Value Members

  1. abstract def rank: Int

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. def !==(that: Any): argon.lang.Bit
    Definition Classes
    Top
  3. final def ##(): Int
    Definition Classes
    AnyRef → Any
  4. def ++(that: Any): argon.lang.Text
    Definition Classes
    Top
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. def ===(that: Any): argon.lang.Bit
    Definition Classes
    Top
  7. val A: lang.Bits[A]
    Definition Classes
    SRAMMem
  8. def M1: Type[SRAM1[A]]
    Attributes
    protected
  9. def M2: Type[SRAM2[A]]
    Attributes
    protected
  10. def M3: Type[SRAM3[A]]
    Attributes
    protected
  11. def M4: Type[SRAM4[A]]
    Attributes
    protected
  12. def M5: Type[SRAM5[A]]
    Attributes
    protected
  13. val __neverMutable: Boolean
    Attributes
    protected
    Definition Classes
    Mem → ExpType
  14. def __read(addr: Seq[lang.Idx], ens: Set[lang.Bit]): A
    Definition Classes
    SRAMLocalMem
  15. def __reset(ens: Set[lang.Bit]): lang.Void
    Definition Classes
    SRAMLocalMem
  16. def __typeArgs: Seq[Type[_]]
    Attributes
    protected
    Definition Classes
    ExpType
  17. def __typeParams: Seq[Any]
    Attributes
    protected
    Definition Classes
    ExpType
  18. def __typePrefix: String
    Attributes
    protected
    Definition Classes
    ExpType
  19. def __write(data: A, addr: Seq[lang.Idx], ens: Set[lang.Bit]): lang.Void
    Definition Classes
    SRAMLocalMem
  20. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  21. def bank(N: Seq[Int], B: Seq[Int], alpha: Seq[Int]): C[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

  22. def blockcyclic_Bs(bs: Seq[Int]): C[A]

    Set search range bs to search for

  23. def buffer: C[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

  24. final def canEqual(that: Any): Boolean
    Definition Classes
    Ref → Equals
  25. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  26. def coalesce: C[A]
  27. def conflictable: C[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

  28. def dim0: lang.I32

    Returns dim0 of this DRAM, or else 1 if SRAM is lower dimensional

  29. def dim1: lang.I32

    Returns dim1 of this DRAM, or else 1 if SRAM is lower dimensional

  30. def dim2: lang.I32

    Returns dim2 of this DRAM, or else 1 if SRAM is lower dimensional

  31. def dim3: lang.I32

    Returns dim3 of this DRAM, or else 1 if SRAM is lower dimensional

  32. def dim4: lang.I32

    Returns dim4 of this DRAM, or else 1 if SRAM is lower dimensional

  33. def dims: Seq[lang.I32]

    Returns the dimensions of this SRAM as a Sequence.

  34. def duplicateaxes(opts: Seq[Seq[Int]])(implicit state: State): C[A]
  35. def effort(e: Int): C[A]

    Specify banking search effort for this memory

  36. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  37. def eql(that: C[A]): argon.lang.Bit
    Definition Classes
    Top
  38. final def equals(x: Any): Boolean
    Definition Classes
    Ref → Equals → AnyRef → Any
  39. implicit val evMem: <:<[C[A], SRAM[A, C]]
    Definition Classes
    SRAMLocalMemMem
  40. implicit val evRef: <:<[C[A] @scala.annotation.unchecked.uncheckedVariance, Ref[Any, C[A] @scala.annotation.unchecked.uncheckedVariance]]
    Attributes
    protected[argon]
    Definition Classes
    ExpType
  41. def extract: Option[Any]
    Attributes
    protected
    Definition Classes
    Exp
  42. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  43. def flat: C[A]

    Only attempt to bank memory in a flattened manner

  44. def forcebank(N: Seq[Int], B: Seq[Int], alpha: Seq[Int]): C[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

  45. def fresh: C[A] @scala.annotation.unchecked.uncheckedVariance
    Attributes
    protected
    Definition Classes
    ExpType
  46. final def from(c: Any, warnOnLoss: Boolean, errorOnLoss: Boolean, isParam: Boolean, saturating: Boolean, unbiased: Boolean): C[A] @scala.annotation.unchecked.uncheckedVariance
    Definition Classes
    ExpType
  47. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  48. def getFrom(c: Any, isParam: Boolean, saturating: Boolean, unbiased: Boolean): Option[(C[A] @scala.annotation.unchecked.uncheckedVariance, Boolean)]
    Definition Classes
    ExpType
  49. final def hashCode(): Int
    Definition Classes
    Ref → AnyRef → Any
  50. def hierarchical: C[A]

    Only attempt to bank memory hierarchically

  51. def infix_!=(that: Any): argon.lang.Bit
    Definition Classes
    Top
  52. def infix_==(that: Any): argon.lang.Bit
    Definition Classes
    Top
  53. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  54. def me: C[A] @scala.annotation.unchecked.uncheckedVariance
    Attributes
    protected
    Definition Classes
    ExpType
  55. def mustmerge: C[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!

  56. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  57. def neql(that: C[A]): argon.lang.Bit
    Definition Classes
    Top
  58. def nobank: C[A]
  59. def noblockcyclic: C[A]

    Do not attempt to bank memory with block-cyclic schemes

  60. def noduplicate: C[A]

    Do not attempt to bank memory by duplication

  61. def noflat: C[A]
  62. def nohierarchical: C[A]
  63. def nonbuffer: C[A]

    Do not buffer memory

  64. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  65. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  66. def onlyblockcyclic: C[A]

    Only attempt to bank memory with block-cyclic schemes

  67. def onlyduplicate: C[A]

    Do not attempt to bank memory at all, and only use bank-by-duplication for all lanes of all readers

  68. def par(p: lang.I32): C[A]

    Creates an alias of this SRAM with parallel access in the last dimension.

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

  70. def size: lang.I32

    Returns the total capacity (in elements) of this SRAM.

  71. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  72. final def toString(): String
    Definition Classes
    Ref → AnyRef → Any
  73. def toText: argon.lang.Text
    Definition Classes
    Top
  74. def unrelated(that: Any): Unit
    Attributes
    protected
    Definition Classes
    Top
  75. def value(c: Any): Option[(Any, Boolean)]
    Attributes
    protected
    Definition Classes
    ExpType
  76. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  77. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  78. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  79. final def withCheck[T](x: ⇒ T)(eql: (T) ⇒ Boolean): Option[(T, Boolean)]
    Attributes
    protected
    Definition Classes
    ExpType
  80. def write(data: A, addr: Seq[lang.Idx], ens: Set[lang.Bit] = Set.empty): lang.Void

    Updates the value at addr to data.

    Updates the value at addr to data. The number of indices should match the SRAM's rank. NOTE: Use the update method if the SRAM's rank is statically known.

Inherited from types.LocalMem[A, C]

Inherited from types.Mem[A, C]

Inherited from argon.lang.Top[C[A]]

Inherited from Ref[Any, C[A]]

Inherited from Exp[Any, C[A]]

Inherited from ExpType[Any, C[A] @scala.annotation.unchecked.uncheckedVariance]

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped