The language provides 5 base types, and 2 composite types that can be used.
Base types: Bool , Bits , UInt for unsigned integers, SInt for signed integers and Enum.
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 bits constant that contains holes (don’t care values). An example is shown below:
val myBits = Bits(8 bits) val itMatch = myBits === M"00--10--" // - don't care value