Used to know the data type of the children class of BitVector
Modulo
Logical AND operator
Multiplication
Addition
Substraction
Division
Assign a range value to a SInt
Assign a range value to a SInt
The first range value
Others range values
core.io.interrupt = (0 -> uartCtrl.io.interrupt, 1 -> timerCtrl.io.interrupt, default -> false)
Is less than right
Logical left shift (w(T) = w(this) + shift)
Logical shift Left (output width will increase of : w(this) + max(that) bits
Is equal or less than right
BitVector is not equal to MaskedLiteral
BitVector is not equal to MaskedLiteral
Compare a BitVector with a MaskedLiteral (M"110--0")
Compare a BitVector with a MaskedLiteral (M"110--0")
the maskedLiteral
a Bool data containing the result of the comparison
val myBool = myBits === M"0-1"
Is greater than right
Is equal or greater than right
Logical right shift (w(T) = w(this) - shift)
Logical shift Right (output width == input width)
Logical shift Right (output width == input width)
the number of right shift
a Bits of width : w(this)
val result = mySInt >> myUIntShift
Concatenation between a SInt and a Bool
Concatenation between a SInt and UInt
Concatenation between two SInt
Concatenation between two SInt
an SInt to append
a new SInt of width (width(this) + width(right))
val mySInt = sInt1 @@ sInt2
Logical XOR operator
Return the absolute value of the SInt when enable is True
Absolute value of a SInt
Absolute value of a SInt
a UInt assign with the absolute value of the SInt
myUInt := mySInt.abs
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
val myBool = myBits(3 downto 1)
Return a range of bits form hi index to lo index
Return a range of bits form hi index to lo index
val myBool = myBits(3, 1)
Cast the BitVector into a Vector of Bool
Cast a SInt into an UInt
Cast a SInt into an UInt
a UInt data
myUInt := mySInt.asUInt
Clear all bits
Clear all bits
Return the width
Return the width
Return the upper bound
Return the upper bound
Return the least significant bit
Return the least significant bit
Return the maximum value between this and right
Return the maximum value between this and right
Return the minimum value between this and right
Return the minimum value between this and right
Return the most significant bit
Return the most significant bit
Extract a range of bits of the BitVector
Extract a range of bits of the BitVector
Extract a range of bits of the BitVector
Extract a range of bits of the BitVector
Extract a bit of the BitVector
Extract a bit of the BitVector
Extract a bit of the BitVector
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
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 x slice
Split the BitVector into x slice
the width of the slice
a Vector of slices
val res = myBits.subdiviedIn(3 slices)
Negative number
Negative number
return a negative number
val result = -mySInt
Inverse bitwise 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 right shift
a Bits of width : w(this)
val result = myUInt |>> 4
Use =/= instead
use allowPruning instead
The SInt type corresponds to a vector of bits that can be used for signed integer arithmetic.
SInt Documentation