The language provides 5 base types, and 2 composite types that can be used.
In addition to the base types, Spinal has support under development for:
Fixed-point numbers (partial support)
Auto-range Fixed-point numbers (add,sub,mul support)
Floating-point numbers (experimental support)
Finally, a special type is available for checking equality between a BitVector and a bit constant pattern that contains holes defined like a bitmask (bit positions not to be compared by the equality expression).
Here is an example to show how you can achieve this (note the use of ‘M’ prefix) :
val myBits = Bits(8 bits) val itMatch = myBits === M"00--10--" // - don't care value