object RAMStyles
Some rough guidance, based on Ultrascale+, is provided in the scala doc for each hint. Consult the Xilinx UGs for your target architecture and the synthesis UG (UG901).
- Alphabetic
- By Inheritance
- RAMStyles
- 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
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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])
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- case object BRAM extends RAMStyle with Product with Serializable
From UG901 (v2020.2): Instructs the tool to infer RAMB type components
From UG901 (v2020.2): Instructs the tool to infer RAMB type components
In Ultrascale+ (and older families), BRAMs are 36Kb, and have flexible aspect ratio: 1b x 64K to 72b x 512
- case object DISTRIBUTED extends RAMStyle with Product with Serializable
From UG901 (v2020.2): Instructs the tool to infer the LUT RAMs.
- case object MIXED extends RAMStyle with Product with Serializable
Introduced in v2020.2.
Introduced in v2020.2. From UG901 (v2020.2):
Instructs the tool to infer a combination of RAM types designed to minimize the amount of space that is unused.
Note: This should probably be avoided for non-emulation-class FPGAs (e.g., VU19P), which tend to have rich embedded memory resources, as these designs tend to be under heavy LUT pressure. Here sparsely using BRAM / URAM resources insead of a space-optimal hybrid is desirable.
- case object REGISTERS extends RAMStyle with Product with Serializable
From UG901 (v2020.2): Instructs the tool to infer registers instead of RAMs.
- case object ULTRA extends RAMStyle with Product with Serializable
From UG901 (v2020.2): Instructs the tool to use the UltraScale+ URAM primitives.
From UG901 (v2020.2): Instructs the tool to use the UltraScale+ URAM primitives.
URAMs are 288Kb, 72b wide, 4096 deep.