数据类型

该语言提供了 5 种基本类型和 2 种可以使用的复合类型。

../../_images/types.svg

除了基本类型之外,Spinal 还正在开发支持以下类型:

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