数据类型
该语言提供了 5 种基本类型和 2 种可以使用的复合类型。
除了基本类型之外,Spinal 还正在开发支持以下类型:
Fixed-point 定点小数(部分支持)
Auto-range Fixed-point 自动范围定点小数(支持加法、减法、乘法 )
Floating-point 浮点小数(实验性支持)
Additionally, if you want to assign a don’t care value to some hardware, for instance, to provide a default value, you can use the assignDontCare API to do so.
val myBits = Bits(8 bits)
myBits.assignDontCare() // Will assign all the bits to 'x'
最后,还有一种特殊类型可用于检查 BitVector 是否符合位常量的指定模式,该模式包含像位掩码一样定义的空洞(位的位置不通过等式进行比较)。
下面是一个示例,展示如何实现此目的(注意使用“M”前缀):
val myBits = Bits(8 bits)
val itMatch = myBits === M"00--10--" // - for don't care value