数据类型

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

../../_images/types.svg

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

此外,如果您想为某些硬件分配一个 “不关心 “值,例如提供一个默认值,可以使用 assignDontCare API 来实现。

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