Concatenation between two data
Concatenation between two data
Divides this
by the right hand side AFix value expanding ranges as necessary
Logical AND operator
Mutiplies this
by the right hand side AFix value expanding ranges as necessary
Adds this
to the right hand side AFix value expanding ranges as necessary
Safe Addition with 1 bit expand
Adds this
to the right hand side AFix value without expanding ranges or checks on value overflow
Subtracts this
to the right hand side AFix value expanding ranges as necessary
Safe Substraction with 1 bit expand
Subtracts this
from the right hand side AFix value without expanding ranges or checks on value underflow
Divides this
by the right hand side AFix value expanding ranges as necessary
Is less than right
Arithmetic left shift (w(T) = w(this) + (1 << shift)-1
Arithmetic left shift (w(T) = w(this) + shift)
Is equal or less than right
Is greater than right
Is equal or greater than right
Arithmetic right shift (w(T) = w(this)
Arithmetic right shift (w(T) = w(this) - shift)
Logical XOR operator
Allow a Data of an io Bundle to be directionless
Allow a Data of an io Bundle to be directionless
See https://spinalhdl.github.io/SpinalDoc-RTD/master/SpinalHDL/Design%20errors/iobundle.html
Allow a Data to be overriden
Allow a Data to be overriden
See https://spinalhdl.github.io/SpinalDoc-RTD/master/SpinalHDL/Design%20errors/assignment_overlap.html
Allow a register to be partially assigned
Allow a register to be partially assigned
Allow a register to have only an init (no assignments)
Allow a register to have only an init (no assignments)
See https://spinalhdl.github.io/SpinalDoc-RTD/master/SpinalHDL/Design%20errors/unassigned_register.html#register-with-only-init
Cast data to Bits
set a data as inout
Set a data as input
Set a data as output
Convert the bits of the AFix into a SInt.
Convert the bits of the AFix into a SInt.
This is not a rounding operation; the exponent is ignored.
Convert the bits of the AFix into a UInt.
Convert the bits of the AFix into a UInt.
Saturates if the AFix is negative.
This is not a rounding operation; the exponent is ignored.
Number of bits to represent the entire value
Rounds a value up towards positive infinity at the given exp point position
Rounds a value up towards positive infinity at the given exp point position
Rounded result
lowest n bits Round Operation by BitCount
lowest n bits Round Operation by BitCount
Rounds a value towards negative or positive infinity
Rounds a value towards negative or positive infinity
Rounded result
flip the direction of the data
Rounds a value down towards negative infinity (truncation) at the given exp point position
Rounds a value towards zero
Number of bits to represent the fractional value.
Number of bits to represent the fractional value. Zero if the resolution is integer or larger.
For a register, get the value it will have at the next clock, as a combinational signal.
For a register, get the value it will have at the next clock, as a combinational signal.
Return the width of the data
Get current component with all parents
Get current component with all parents
Create a data set to 0
Number of bits to represent the whole ("integer") value, with sign.
Number of bits to represent the whole ("integer") value, with sign. May be negative.
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
Put the combinatorial logic driving this signal in a separate process
Put the combinatorial logic driving this signal in a separate process
Disable combinatorial loop checking for this Data
Disable combinatorial loop checking for this Data
See https://spinalhdl.github.io/SpinalDoc-RTD/master/SpinalHDL/Design%20errors/combinatorial_loop.html
Number of bits to represent the numeric value, no sign
Pull a signal to the top level (use for debugging)
Pull a signal to the top level (use for debugging)
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)
Resized data regarding target
Resized data regarding target
root interface
root interface
Rounds a value down (floor/truncate) if x <= 0.5 otherwise rounds up (ceil)
Rounds a value down (floor/truncate) if x <= 0.5 otherwise rounds up (ceil)
Rounded result
Rounds a value towards the nearest even value including half values, otherwise rounds towards odd values
Rounds a value towards the nearest even value including half values, otherwise rounds towards odd values
Rounded result
Rounds a value towards infinity if x >= 0.5 otherwise rounds towards zero
Rounds a value towards infinity if x >= 0.5 otherwise rounds towards zero
Rounded result
Rounds a value towards the nearest odd value including half values, otherwise rounds towards even values
Rounds a value towards the nearest odd value including half values, otherwise rounds towards even values
Rounded result
Rounds a value towards zero (floor/truncate) if x <= 0.5 otherwise rounds towards infinity
Rounds a value towards zero (floor/truncate) if x <= 0.5 otherwise rounds towards infinity
Rounded result
Rounds a value up (ceiling) if x >= 0.5 otherwise rounds down (floor/truncate)
Rounds a value up (ceiling) if x >= 0.5 otherwise rounds down (floor/truncate)
Rounded result
Saturates the top m bits.
Saturates a number to a provided integer representation value range
Saturates a number to a provided integer representation value range
Max integer value to saturate
Min integer value to saturate
- Saturated AFix value
Saturates a number to the range of another number.
Saturates a number to the range of another number. This accounts for decimal shifting.
- AFix value to saturate range to
- Saturated AFix value
Set baseType to Combinatorial
remove the direction (in,out,inout) to a data
Set baseType to reg
Recursively set baseType to reg only for output
Recursively set baseType to reg only for output
This function differs from traditional Num[T] by returning a new AFix
Trims the bottom m bits.
Inverse bitwise operator
Number of bits to represent the whole value, without the sign bit.
Number of bits to represent the whole value, without the sign bit. May be negative.
Logical OR operator
(Since version ???) use setAsDirectionLess instead
(Since version ) see corresponding Javadoc for more information.
Generate this if condition is true
Generate this if condition is true
does not work with <>, use 'someBool generate Type()' or 'if(condition) Type() else null' instead