Used to know the data type of the children class of BitVector
Concatenation between two Bits
Concatenation between two Bits
a Bits to append
a new Bits of width (width(this) + width(right))
val myBits2 = bits1 ## bits2
Logical AND operator
Assign a range value to a Bits
Assign a range value to a Bits
The first range value
Others range values
core.io.interrupt = (0 -> uartCtrl.io.interrupt, 1 -> timerCtrl.io.interrupt, default -> false)
Logical shift left (output width will increase of w(this) + max(that) bits
Logical shift left (output width will increase)
Logical shift left (output width will increase)
the number of shift
a Bits of width : w(this) + that bits
val result = myBits << 4
BitVector is not equal to MaskedLiteral
BitVector is not equal to MaskedLiteral
Compare a BitVector data with a MaskedLiteral (M"110--0")
Compare a BitVector data with a MaskedLiteral (M"110--0")
the maskedLiteral
a Bool data containing the result of the comparison
val myBool = myBits === M"0-1"
Logical shift right (output width == input width)
Logical shift right (output width will decrease)
Logical shift right (output width will decrease)
the number of shift
a Bits of width : w(this) - that bits
val result = myBits >> 4
Logical XOR operator
Logical AND of all bits
Logical AND of all bits
Return a range of bits at offset and of width bitCount
Return a range of bits at offset and of width bitCount
Return the bit at index bitId
Return the bit at index bitId
Return a range of bits
Return a range of bits
Return a range of bits form hi index to lo index
Return a range of bits form hi index to lo index
Transform the BitVector into a Vector of Bool
Convert a Bits to a SInt
Convert a Bits to a SInt
a SInt data
Convert a Bits to an UInt
Convert a Bits to an UInt
an UInt data
Clear all bits
Clear all bits
Return the upper bound
Return the upper bound
Return the least significant bit
Return the least significant bit
Return the most significant bit
Return the most significant bit
Extract a bit of the BitVector
Logical OR of all bits
Logical OR of all bits
Return the range
Return the range
Resize the bitVector to width
Resize by keeping MSB at the same place If the final size is bigger than the original size, the leftmost bits are filled with zeroes if the final size is smaller, only width MSB are kept
Resize by keeping MSB at the same place If the final size is bigger than the original size, the leftmost bits are filled with zeroes if the final size is smaller, only width MSB are kept
Final width
Resized bits vector
Left rotation of that bits
Left rotation of that Bits
Left rotation of that Bits
Right rotation of that bits
Right rotation of that Bits
Right rotation of that Bits
Set all bits
Set all bits
Set all bits to value
Set all bits to value
Set all bits to value
Set all bits to value
Set the width of the BitVector
Set the width of the BitVector
the width of the data
the BitVector of a given size
Split the BitVector into slice of x bits * @example
Split the BitVector into slice of x bits * @example
val res = myBits.subdiviedIn(3 bits)
the width of the slice
a Vector of slices
Split the BitVector into slice of x bits
Split the BitVector into slice of x bits
the width of the slice
a Vector of slices
val res = myBits.subdiviedIn(3 slices)
Transform a Bits to a given data type
Transform a Bits to a given data type
the wanted data type
a new data type assign with the value of Bits
Inverse operator
Logical XOR of all bits
Logical XOR of all bits
Logical OR operator
Logical shift left (output width = input width)
Logical shift left (output width = input width)
Logical shift Right (output width = input width)
Logical shift right (output width = input width)
Logical shift right (output width = input width)
the number of shift
a Bits of width : w(this)
val result = myBits |>> 4
Use =/= instead
use allowPruning instead
The Bits type corresponds to a vector of bits that does not convey any arithmetic meaning.
"Bits Documentation"