abstract class BitVector extends BaseType with Widthable
BitVector
is a family of types for storing multiple bits of information in a single value.
This type has three subtypes that can be used to model different behaviors:
Bits
UInt
(unsigned integer)SInt
(signed integer)
- See also
- Alphabetic
- By Inheritance
- BitVector
- Widthable
- WidthProvider
- BaseType
- Expression
- StatementDoubleLinkedContainer
- DoubleLinkedContainer
- DeclarationStatement
- LeafStatement
- Statement
- BaseNode
- ExpressionContainer
- Data
- InComponent
- OverridedEqualsHashCode
- SpinalTagReady
- Assignable
- NameableByComponent
- Nameable
- OwnableRef
- ContextUser
- ScalaLocated
- GlobalDataUser
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new BitVector()
Type Members
-
abstract
type
RefOwnerType
- Definition Classes
- OwnableRef
-
abstract
type
T <: BitVector
Used to know the data type of the children class of BitVector
Abstract Value Members
-
abstract
def
apply(offset: UInt, bitCount: BitCount): BitVector.this.type
Return a range of bits at offset and of width bitCount
Return a range of bits at offset and of width bitCount
val myBool = myBits(myUInt, 2 bits)
Example: -
abstract
def
apply(offset: Int, bitCount: BitCount): BitVector.this.type
Return a range of bits at offset and of width bitCount
Return a range of bits at offset and of width bitCount
val myBool = myBits(3, 2 bits)
Example: -
abstract
def
apply(bitId: UInt): Bool
Return the bit at index bitId
Return the bit at index bitId
val myBool = myBits(myUInt)
Example: -
abstract
def
apply(bitId: Int): Bool
Return the bit at index bitId
Return the bit at index bitId
val myBool = myBits(3)
Example: -
abstract
def
asBits: Bits
Cast signal to Bits
Cast signal to Bits
- Definition Classes
- Data
-
abstract
def
assignFromBits(bits: Bits, hi: Int, low: Int): Unit
- Definition Classes
- Data
-
abstract
def
assignFromBits(bits: Bits): Unit
- Definition Classes
- Data
- abstract def getAllTrue: BitVector.this.type
-
abstract
def
getTypeObject: Any
- Definition Classes
- Expression
-
abstract
def
getZero: BitVector.this.type
Create a signal set to 0
Create a signal set to 0
- Definition Classes
- Data
- abstract def getZeroUnconstrained: BitVector.this.type
-
abstract
def
opName: String
- Definition Classes
- Expression
- abstract def resize(width: BitCount): BitVector
-
abstract
def
resize(width: Int): BitVector
Resize the bitVector to width
Resize the bitVector to width
- returns
a resized bitVector
val res = myBits.resize(10)
Example: - abstract def reversed: BitVector.this.type
-
abstract
def
rotateLeft(that: Int): T
Left rotation of that bits
-
abstract
def
rotateRight(that: Int): T
Right rotation of that bits
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
##(right: Data): Bits
Concatenation between two signals
Concatenation between two signals
- Definition Classes
- Data
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
#*(count: Int): Bits
- Definition Classes
- Data
-
def
=/=(that: MaskedLiteral): Bool
BitVector is not equal to MaskedLiteral
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
===(that: MaskedLiteral): Bool
Compare a BitVector with a MaskedLiteral (M"110--0")
Compare a BitVector with a MaskedLiteral (M"110--0")
- that
the maskedLiteral
- returns
a Bool data containing the result of the comparison
val myBool = myBits === M"0-1"
Example: -
def
IFparent: Data
- Definition Classes
- Data
-
val
_spinalTags: LinkedHashSet[SpinalTag]
- Definition Classes
- SpinalTagReady
-
def
addAttribute(attribute: Attribute): BitVector.this.type
- Definition Classes
- BaseType → Data → SpinalTagReady
-
def
addAttribute(name: String, value: Int): BitVector.this.type
- Definition Classes
- SpinalTagReady
-
def
addAttribute(name: String, value: String): BitVector.this.type
- Definition Classes
- SpinalTagReady
-
def
addAttribute(name: String): BitVector.this.type
- Definition Classes
- SpinalTagReady
-
def
addTag[T <: SpinalTag](spinalTag: T): BitVector.this.type
- Definition Classes
- SpinalTagReady
-
def
addTags(h: SpinalTag, tail: SpinalTag*): BitVector.this.type
- Definition Classes
- SpinalTagReady
-
def
addTags[T <: SpinalTag](tags: Iterable[T]): BitVector.this.type
- Definition Classes
- SpinalTagReady
-
val
algoIncrementale: Int
- Definition Classes
- BaseNode
-
val
algoInt: Int
- Definition Classes
- BaseNode
-
def
allowDirectionLessIo(): BitVector.this.type
Allow a signal of an io
Bundle
to be directionless.Allow a signal of an io
Bundle
to be directionless.- Definition Classes
- Data
- See also
-
def
allowOverride(): BitVector.this.type
Allow a signal to be overridden.
Allow a signal to be overridden.
- Definition Classes
- Data
- See also
-
def
allowPartialyAssigned(): BitVector.this.type
Allow a register to be partially assigned
Allow a register to be partially assigned
- Definition Classes
- Data
-
def
allowPruning(): BitVector.this.type
- Definition Classes
- Data
- def allowSimplifyIt(): BitVector.this.type
-
def
allowUnsetRegToAvoidLatch(): BitVector.this.type
Allow a register to have only an init (no assignments)
Allow a register to have only an init (no assignments)
- Definition Classes
- Data
- See also
- def andMask(that: Bool): BitVector.this.type
-
def
andR: Bool
Hardware logical AND of all bits
Hardware logical AND of all bits
Equivalent to
this.asBits === ((BigInt(1) << getWidth) - 1)
. -
def
apply(range: Range): BitVector.this.type
Return a range of bits
Return a range of bits
val myBool = myBits(3 downto 1)
Example: -
def
as[T <: Data](dataType: HardType[T]): T
- Definition Classes
- Data
-
def
asBool: Bool
Return
this.lsb
-
def
asBools: Vec[Bool]
Cast the
BitVector
into a vector ofBool
-
def
asData: Data
- Definition Classes
- Data
-
def
asInOut(): BitVector.this.type
Set a signal as
inout
-
def
asInput(): BitVector.this.type
Set a data as input
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
asOutput(): BitVector.this.type
Set a data as output
-
def
assignDontCare(): BitVector.this.type
- Definition Classes
- Data
-
def
assignDontCareToUnasigned(): BitVector.this.type
- Definition Classes
- Data
-
def
assignFormalRandom(kind: RandomExpKind): Unit
- Definition Classes
- Data
-
final
def
assignFrom(that: AnyRef, target: AnyRef = this)(implicit loc: Location): Unit
- Definition Classes
- Data
-
def
assignFromBits(bits: Bits, offset: Int, bitCount: BitCount): Unit
- Definition Classes
- Data
-
def
assignFromImpl(that: AnyRef, target: AnyRef, kind: AnyRef)(implicit loc: Location): Unit
- Attributes
- protected
- Definition Classes
- BaseType → Assignable
- def bitsRange: Range
-
def
cldCount: Int
- Definition Classes
- DoubleLinkedContainer
-
def
clearAll(): BitVector.this.type
Clear all bits
-
var
clockDomain: ClockDomain
- Definition Classes
- BaseType
- def clone(): BitVector.this.type
-
def
component: Component
- Definition Classes
- ContextUser
-
final
def
compositAssignFrom(that: AnyRef, target: AnyRef, kind: AnyRef)(implicit loc: Location): Unit
- Definition Classes
- Assignable
-
val
compositeAssign: Assignable
- Definition Classes
- Assignable
- def copyDirectionOfImpl(that: Data): BitVector.this.type
-
def
dirString(): String
- Definition Classes
- Data
-
def
dlcAppend(that: AssignmentStatement): BitVector.this.type
- Definition Classes
- DoubleLinkedContainer
-
def
dlcForeach[T >: AssignmentStatement](func: (T) ⇒ Unit): Unit
- Definition Classes
- DoubleLinkedContainer
-
def
dlcHasOnlyOne: Boolean
- Definition Classes
- DoubleLinkedContainer
-
val
dlcHead: AssignmentStatement
- Definition Classes
- DoubleLinkedContainer
-
def
dlcIsEmpty: Boolean
- Definition Classes
- DoubleLinkedContainer
-
val
dlcLast: AssignmentStatement
- Definition Classes
- DoubleLinkedContainer
-
def
dlcPrepend(that: AssignmentStatement): BitVector.this.type
- Definition Classes
- DoubleLinkedContainer
- def dontSimplifyIt(): BitVector.this.type
-
def
drop(n: Int): Bits
Drop lowest n bits
Drop lowest n bits
- returns
data10bits(9 downto 4)
val res = data10bits.drop(4)
Example: -
def
dropHigh(n: Int): Bits
Drop highest n bits
Drop highest n bits
- returns
data10bits(5 downto 0)
val res = data10bits.dropHigh(4)
Example: - def dropLow(n: Int): Bits
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(obj: Any): Boolean
- Definition Classes
- OverridedEqualsHashCode → AnyRef → Any
-
def
existsTag(cond: (SpinalTag) ⇒ Boolean): Boolean
- Definition Classes
- SpinalTagReady
-
def
filterTag(cond: (SpinalTag) ⇒ Boolean): Iterable[SpinalTag]
- Definition Classes
- SpinalTagReady
-
def
findTag(cond: (SpinalTag) ⇒ Boolean): Option[SpinalTag]
- Definition Classes
- SpinalTagReady
- def flatten: Seq[BaseType]
- def flattenForeach(body: (BaseType) ⇒ Unit): Unit
- def flattenLocalName: Seq[String]
-
def
flip(): BitVector.this.type
Flip the direction of the signal.
Flip the direction of the signal.
in
andout
are swapped,inout
stay the same.- Definition Classes
- Data
- def foreachClockDomain(func: (ClockDomain) ⇒ Unit): Unit
-
def
foreachDrivingExpression(func: (Expression) ⇒ Unit): Unit
- Definition Classes
- ExpressionContainer
-
def
foreachExpression(func: (Expression) ⇒ Unit): Unit
- Definition Classes
- DeclarationStatement → ExpressionContainer
-
def
foreachReflectableNameables(doThat: (Any) ⇒ Unit): Unit
- Definition Classes
- Nameable
-
def
foreachStatements(func: (AssignmentStatement) ⇒ Unit): Unit
- Definition Classes
- StatementDoubleLinkedContainer
-
def
foreachTag(body: (SpinalTag) ⇒ Unit): Unit
- Definition Classes
- SpinalTagReady
- def freeze(): BitVector.this.type
-
def
getAheadValue(): BitVector.this.type
For a register, get the value it will have at the next clock, as a combinational signal.
-
def
getBitsWidth: Int
Return the width of the data
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
getComponent(): Component
- Definition Classes
- Data → InComponent → NameableByComponent
-
def
getComponents(): Seq[Component]
Get current component with all parents
Get current component with all parents
- Definition Classes
- InComponent
-
def
getDirection: IODirection
- Definition Classes
- Data
-
def
getDisplayName(): String
- Definition Classes
- Nameable
-
def
getDrivingReg(reportError: Boolean = true): BitVector.this.type
- Definition Classes
- BaseType
-
def
getInstanceCounter: Int
- Definition Classes
- ContextUser
-
def
getMode: Byte
- Attributes
- protected
- Definition Classes
- Nameable
- def getMuxType[T <: Data](list: TraversableOnce[T]): HardType[T]
-
def
getName(default: String): String
- Definition Classes
- NameableByComponent → Nameable
-
def
getName(): String
- Definition Classes
- NameableByComponent → Nameable
-
def
getPartialName(): String
- Definition Classes
- Nameable
-
def
getPath(from: Component, to: Component): Seq[Component]
- Definition Classes
- NameableByComponent
-
def
getRealSource: Any
- Definition Classes
- Assignable
-
def
getRealSourceNoRec: Any
- Definition Classes
- Data → Assignable
-
def
getRefOwnersChain(): List[Any]
- Definition Classes
- OwnableRef
-
def
getRootParent: Data
- Definition Classes
- Data
-
def
getRtlPath(separator: String = "/"): String
- Definition Classes
- Data
-
def
getScalaLocationLong: String
- Definition Classes
- ScalaLocated
-
def
getScalaLocationShort: String
- Definition Classes
- ScalaLocated
-
def
getScalaTrace(): Throwable
- Definition Classes
- ScalaLocated
-
def
getSingleDriver: Option[BitVector.this.type]
- Definition Classes
- BaseType
-
def
getTag[T <: SpinalTag](clazz: Class[T]): Option[T]
- Definition Classes
- SpinalTagReady
-
def
getTags(): LinkedHashSet[SpinalTag]
- Definition Classes
- SpinalTagReady
-
def
getWidth: Int
- Definition Classes
- Widthable → WidthProvider
-
def
getWidthNoInferation: Int
Return the width
- def getWidthStringNoInferation: String
-
val
globalData: GlobalData
- Definition Classes
- GlobalDataUser
-
def
hasAssignement: Boolean
- Definition Classes
- BaseType
-
def
hasDataAssignment: Boolean
- Definition Classes
- BaseType
-
def
hasInit: Boolean
Does the base type have initial value
Does the base type have initial value
- Definition Classes
- BaseType
-
def
hasOnlyOneStatement: Boolean
- Definition Classes
- StatementDoubleLinkedContainer
-
def
hasTag[T <: SpinalTag](clazz: Class[T]): Boolean
- Definition Classes
- SpinalTagReady
-
def
hasTag(spinalTag: SpinalTag): Boolean
- Definition Classes
- SpinalTagReady
-
def
hashCode(): Int
- Definition Classes
- OverridedEqualsHashCode → AnyRef → Any
-
def
head: AssignmentStatement
- Definition Classes
- StatementDoubleLinkedContainer
-
def
high: Int
Return the upper bound
-
final
def
initFrom(that: AnyRef, target: AnyRef = this): Unit
- Definition Classes
- Data
-
def
initialFrom(that: AnyRef, target: AnyRef = this): Unit
- Definition Classes
- BaseType
-
def
insertNext(s: Statement): Unit
- Definition Classes
- Statement
-
def
instanceAttributes(language: Language): Iterable[Attribute]
- Definition Classes
- SpinalTagReady
-
def
instanceAttributes: Iterable[Attribute]
- Definition Classes
- SpinalTagReady
- def isAnalog: Boolean
- def isComb: Boolean
-
def
isCompletelyUnnamed: Boolean
- Definition Classes
- Nameable
-
def
isDirectionLess: Boolean
- Definition Classes
- Data
-
def
isEmptyOfTag: Boolean
- Definition Classes
- SpinalTagReady
-
def
isFrozen(): Boolean
- Definition Classes
- BaseType
-
def
isInOut: Boolean
- Definition Classes
- Data
-
def
isInput: Boolean
- Definition Classes
- Data
-
def
isInputOrInOut: Boolean
- Definition Classes
- Data
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
isNamed: Boolean
- Definition Classes
- Nameable
-
def
isOutput: Boolean
- Definition Classes
- Data
-
def
isOutputOrInOut: Boolean
- Definition Classes
- Data
-
def
isPriorityApplicable(namePriority: Byte): Boolean
- Definition Classes
- Nameable
- def isReg: Boolean
- def isRegOnAssign: Boolean
-
def
isTypeNode: Boolean
Is the baseType a node
Is the baseType a node
- Definition Classes
- BaseType
- def isUnknown: Bool
-
def
isUnnamed: Boolean
- Definition Classes
- NameableByComponent → Nameable
-
def
isUsingResetSignal: Boolean
Is the basetype using reset signal
Is the basetype using reset signal
- Definition Classes
- BaseType
-
def
isUsingSoftResetSignal: Boolean
Is the basetype using soft reset signal
Is the basetype using soft reset signal
- Definition Classes
- BaseType
-
def
isVital: Boolean
Check if the baseType is vital
Check if the baseType is vital
- Definition Classes
- BaseType
-
val
lastScopeStatement: Statement
- Definition Classes
- Statement
-
def
lsb: Bool
Return the least significant bit
-
def
msb: Bool
Return the most significant bit
-
def
mux[T2 <: Data](mappings: (Any, T2)*): T2
Use a SpinalHDL data as a selector for a mux.
Use a SpinalHDL data as a selector for a mux.
- Definition Classes
- BaseType
- See also
-
def
muxDc[T2 <: Data](mappings: (Any, T2)*): T2
Version of SpinalHDL
mux
that allows Don't Care.Version of SpinalHDL
mux
that allows Don't Care.- Definition Classes
- BaseType
- See also
-
def
muxList[T2 <: Data](defaultValue: T2, mappings: Seq[(Any, T2)]): T2
Use a
scala.Seq
of SpinalHDL data as mux inputs.Use a
scala.Seq
of SpinalHDL data as mux inputs.- Definition Classes
- BaseType
- See also
-
def
muxList[T2 <: Data](mappings: Seq[(Any, T2)]): T2
Use a
scala.Seq
of SpinalHDL data as mux inputs.Use a
scala.Seq
of SpinalHDL data as mux inputs.- Definition Classes
- BaseType
- See also
-
def
muxListDc[T2 <: Data](mappings: Seq[(Any, T2)]): T2
Version of SpinalHDL
muxList
that allows Don't Care.Version of SpinalHDL
muxList
that allows Don't Care.- Definition Classes
- BaseType
- See also
-
val
name: String
- Definition Classes
- Nameable
- val nameableRef: Nameable
-
def
nandR: Bool
Hardware logical NAND of all bits
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
newExtract(offset: UInt, size: Int, extract: BitVectorRangedAccessFloating)(implicit loc: Location): BitVector.this.type
Extract a range of bits of the BitVector
-
def
newExtract(hi: Int, lo: Int, accessFactory: ⇒ BitVectorRangedAccessFixed): BitVector.this.type
Extract a range of bits of the BitVector
-
def
newExtract(bitId: UInt, extract: BitVectorBitAccessFloating): Bool
Extract a bit of the BitVector
-
def
newExtract(bitId: Int, extract: BitVectorBitAccessFixed): Bool
Extract a bit of the BitVector
-
val
nextScopeStatement: Statement
- Definition Classes
- Statement
-
def
noBackendCombMerge(): BitVector.this.type
Put the combinatorial logic driving this signal in a separate process
Put the combinatorial logic driving this signal in a separate process
- Definition Classes
- Data
-
def
noCombLoopCheck(): BitVector.this.type
Disable combinatorial loop checking for this Data
Disable combinatorial loop checking for this Data
- Definition Classes
- Data
- See also
-
def
norR: Bool
Hardware logical NOR of all bits
-
def
normalizeInputs: Unit
- Definition Classes
- BaseType → ExpressionContainer
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
nxorR: Bool
Hardware logical NXOR of all bits
-
def
onEachAttributes(doIt: (Attribute) ⇒ Unit): Unit
- Definition Classes
- SpinalTagReady
- def orMask(that: Bool): BitVector.this.type
-
def
orR: Bool
Hardware logical OR of all bits
Hardware logical OR of all bits
Equivalent to
this.asBits =/= 0
. -
def
overrideLocalName(name: String): BitVector.this.type
- Definition Classes
- Nameable
-
val
parent: Data
- Definition Classes
- Data
-
val
parentScope: ScopeStatement
- Definition Classes
- ContextUser
-
def
pull(propagateName: Boolean): BitVector.this.type
- Definition Classes
- Data
-
def
pull(): BitVector.this.type
Pull a signal to the top level (use for debugging)
Pull a signal to the top level (use for debugging)
- Definition Classes
- Data
-
def
purify(): BitVector.this.type
- Definition Classes
- Data
-
def
randBoot(u: Unit): BitVector.this.type
Useful for register that doesn't need a reset value in RTL, but need a random value for simulation (avoid x-propagation)
Useful for register that doesn't need a reset value in RTL, but need a random value for simulation (avoid x-propagation)
- Definition Classes
- Data
-
val
refOwner: RefOwnerType
- Definition Classes
- OwnableRef
- Annotations
- @DontName()
-
def
reflectNames(): Unit
- Definition Classes
- Nameable
- def remapClockDomain(func: (ClockDomain) ⇒ ClockDomain): Unit
-
def
remapDrivingExpressions(func: (Expression) ⇒ Expression): Unit
- Definition Classes
- ExpressionContainer
-
def
remapExpressions(func: (Expression) ⇒ Expression): Unit
- Definition Classes
- DeclarationStatement → ExpressionContainer
-
def
removeAssignments(data: Boolean = true, init: Boolean = true, initial: Boolean = true): BitVector.this.type
Remove all assignments of the base type
-
def
removeDataAssignments(): BitVector.this.type
- Definition Classes
- Data
-
def
removeInitAssignments(): BitVector.this.type
- Definition Classes
- Data
- def removeStatement(): Unit
-
def
removeStatementFromScope(): Unit
- Definition Classes
- Statement
-
def
removeTag(spinalTag: SpinalTag): BitVector.this.type
- Definition Classes
- SpinalTagReady
-
def
removeTags(tags: Iterable[SpinalTag]): BitVector.this.type
- Definition Classes
- SpinalTagReady
-
def
resized: BitVector.this.type
Return a version of the signal which is allowed to be automatically resized where needed.
Return a version of the signal which is allowed to be automatically resized where needed.
The resize operation is deferred until the point of assignment later. The resize may widen or truncate, retaining the LSB.
- Definition Classes
- Data
- See also
-
def
rootIF(): Interface
root interface
root interface
- Definition Classes
- Data
-
def
rootIFList(): List[Interface]
- Definition Classes
- Data
-
def
rootIFrec(now: Data, lastRoot: List[Interface]): List[Interface]
- Definition Classes
- Data
- def rootScopeStatement: ScopeStatement
-
def
rotateLeft(that: UInt): T
Left rotation of that Bits
-
def
rotateRight(that: UInt): T
Right rotation of that Bits
-
val
scalaTrace: Throwable
- Definition Classes
- ScalaLocated
-
def
setAll(): BitVector.this.type
- Definition Classes
- Data
-
def
setAllTo(value: Bool): BitVector.this.type
Set all bits to value
-
def
setAllTo(value: Boolean): BitVector.this.type
Set all bits to value
- def setAsAnalog(): BitVector.this.type
-
def
setAsComb(): BitVector.this.type
Set baseType to Combinatorial
-
def
setAsDirectionLess(): BitVector.this.type
Remove the direction (
in
,out
,inout
) to a signal -
def
setAsReg(): BitVector.this.type
Set baseType to reg
-
def
setAsTypeNode(): BitVector.this.type
Set baseType to Node
Set baseType to Node
- Definition Classes
- BaseType
-
def
setAsVital(): BitVector.this.type
Set the baseType to vital
Set the baseType to vital
- Definition Classes
- BaseType
-
def
setCompositeName(nameable: Nameable, postfix: String, namePriority: Byte): BitVector.this.type
- Definition Classes
- Nameable
-
def
setCompositeName(nameable: Nameable, postfix: String, weak: Boolean): BitVector.this.type
- Definition Classes
- Nameable
-
def
setCompositeName(nameable: Nameable, postfix: String): BitVector.this.type
- Definition Classes
- Nameable
-
def
setCompositeName(nameable: Nameable, namePriority: Byte): BitVector.this.type
- Definition Classes
- Nameable
-
def
setCompositeName(nameable: Nameable, weak: Boolean): BitVector.this.type
- Definition Classes
- Nameable
-
def
setCompositeName(nameable: Nameable): BitVector.this.type
- Definition Classes
- Nameable
-
def
setLambdaName(isNameBody: ⇒ Boolean)(nameGen: ⇒ String): BitVector.this.type
- Definition Classes
- Nameable
-
def
setName(name: String, namePriority: Byte): BitVector.this.type
- Definition Classes
- Nameable
-
def
setName(name: String, weak: Boolean): BitVector.this.type
- Definition Classes
- Nameable
-
def
setName(name: String): BitVector.this.type
- Definition Classes
- Nameable
-
def
setNameAsWeak(): BitVector.this.type
- Definition Classes
- Nameable
-
def
setOutputAsReg(): BitVector.this.type
Recursively set baseType to reg only for output
Recursively set baseType to reg only for output
- Definition Classes
- Data
-
def
setPartialName(name: String, namePriority: Byte, owner: Any): BitVector.this.type
- Definition Classes
- Nameable
-
def
setPartialName(name: String, namePriority: Byte): BitVector.this.type
- Definition Classes
- Nameable
-
def
setPartialName(name: String, weak: Boolean): BitVector.this.type
- Definition Classes
- Nameable
-
def
setPartialName(owner: Nameable, name: String, namePriority: Byte): BitVector.this.type
- Definition Classes
- Nameable
-
def
setPartialName(owner: Nameable, name: String, weak: Boolean): BitVector.this.type
- Definition Classes
- Nameable
-
def
setPartialName(name: String): BitVector.this.type
- Definition Classes
- Nameable
-
def
setPartialName(owner: Nameable, name: String): BitVector.this.type
- Definition Classes
- Nameable
-
def
setPartialName(owner: Nameable): BitVector.this.type
- Definition Classes
- Nameable
-
def
setRefOwner(that: Any): Unit
- Definition Classes
- OwnableRef
-
def
setScalaLocated(source: ScalaLocated): BitVector.this.type
- Definition Classes
- ScalaLocated
-
def
setWeakName(name: String): BitVector.this.type
- Definition Classes
- Nameable
-
def
setWidth(width: Int): BitVector.this.type
Set the width of the BitVector
Set the width of the BitVector
- width
the width of the data
- returns
the BitVector of a given size
-
def
simplifyNode: Expression
- Definition Classes
- Expression
- def sliceBy(divisor: List[Int]): List[Bits]
-
def
sliceBy(divisor: Int*): List[Bits]
apart by a list of width
apart by a list of width
- returns
(List(A(1 downto 0), A(2 downto 4), A(9 downto 3))
val res = A.sliceBy(2, 3, 5) val res = A.sliceBy(List(2, 3, 5))
Example: -
def
spinalTags: LinkedHashSet[SpinalTag]
- Definition Classes
- SpinalTagReady
-
def
splitAt(n: Int): (Bits, Bits)
Split at n st bits
Split at n st bits
- returns
(data10bits(8 downto 4), data10bits(3 downto 0))
val res = data10bits.splitAt(4)
Example: -
def
stabilized(func: (Expression) ⇒ Expression, seed: Expression): Expression
- Definition Classes
- ExpressionContainer
- def subdivideIn(sliceWidth: BitCount): Vec[T]
- def subdivideIn(sliceCount: SlicesCount): Vec[T]
-
def
subdivideIn(sliceWidth: BitCount, strict: Boolean): Vec[T]
Split the BitVector into slice of x bits
Split the BitVector into slice of x bits
- sliceWidth
the width of the slice
- strict
allow
subdivideIn
to generate vectors with varying size- returns
a Vector of slices
val res = myBits.subdivideIn(3 bits)
Example: -
def
subdivideIn(sliceCount: SlicesCount, strict: Boolean): Vec[T]
Split the BitVector into x slice
Split the BitVector into x slice
- sliceCount
the width of the slice
- strict
allow
subdivideIn
to generate vectors with varying size- returns
a Vector of slices
val res = myBits.subdivideIn(3 slices)
Example: -
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
take(n: Int): Bits
Take lowest n bits
Take lowest n bits
- returns
data10bits(3 downto 0)
val res = data10bits.take(4)
Example: -
def
takeHigh(n: Int): Bits
Take highest n bits
Take highest n bits
- returns
data10bits(9 downto 6)
val res = data10bits.takeHigh(4)
Example: - def takeLow(n: Int): Bits
-
def
toIo(): BitVector.this.type
- Definition Classes
- Data
-
def
toMuxInput[T <: Data](muxOutput: T): T
- Definition Classes
- Data
-
def
toString(): String
- Definition Classes
- BitVector → BaseType → Expression → Nameable → AnyRef → Any
-
def
toStringMultiLine(): String
- Definition Classes
- BaseNode
-
def
toStringRec(level: Int = 1): String
- Definition Classes
- Expression
- def unfreeze(): BitVector.this.type
-
def
unsetName(): BitVector.this.type
- Definition Classes
- Nameable
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
walkDrivingExpressions(func: (Expression) ⇒ Unit): Unit
- Definition Classes
- ExpressionContainer
-
def
walkExpression(func: (Expression) ⇒ Unit): Unit
- Definition Classes
- ExpressionContainer
-
def
walkExpressionPostorder(func: (Expression) ⇒ Unit): Unit
- Definition Classes
- ExpressionContainer
-
def
walkParentTreeStatements(func: (TreeStatement) ⇒ Unit): Unit
- Definition Classes
- Statement
-
def
walkParentTreeStatementsUntilRootScope(func: (TreeStatement) ⇒ Unit): Unit
- Definition Classes
- Statement
-
def
walkRemapDrivingExpressions(func: (Expression) ⇒ Expression): Unit
- Definition Classes
- ExpressionContainer
-
def
walkRemapExpressions(func: (Expression) ⇒ Expression): Unit
- Definition Classes
- ExpressionContainer
-
def
wrapCast[T <: BaseType](result: T, node: Cast): T
- Definition Classes
- BaseType
-
def
wrapNext(): BitVector.this.type
- Definition Classes
- Data
- def xorMask(that: Bool): BitVector.this.type
-
def
xorR: Bool
Hardware logical XOR of all bits
Hardware logical XOR of all bits
Equivalent to
this.asBools.reduce(_ ^ _)
.
Deprecated Value Members
-
def
asDirectionLess(): BitVector.this.type
- Definition Classes
- Data
- Annotations
- @deprecated
- Deprecated
(Since version ???) use setAsDirectionLess instead
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated
-
def
genIf(cond: Boolean): BitVector.this.type
Generate this if condition is true
Generate this if condition is true
- Definition Classes
- Data
- Annotations
- @deprecated
- Deprecated
does not work with <>, use 'someBool generate Type()' or 'if(condition) Type() else null' instead
-
def
range: Range
Return the range
Return the range
- Annotations
- @deprecated
- Deprecated
Use bitsRange instead