-4
我正在学习Verilog。我不理解导线&三网类型,棒与triand网类型之间的差异。我们究竟需要将网络指定为魔杖还是三元组?线和三网,魔杖和triand之间的区别是什么?
我正在学习Verilog。我不理解导线&三网类型,棒与triand网类型之间的差异。我们究竟需要将网络指定为魔杖还是三元组?线和三网,魔杖和triand之间的区别是什么?
wire
和tri
之间没有区别。它们是同义词。通常惯例是使用wire
进行定期申报,并使用tri
申报多重驱动网和inout
端口。 wand
/triand
,wor
/trior
也是如此。但是有更多的tri
变化,如tri1
,tri0
。还有一个三态寄存器类型:trireg
。
实际上只有wire
和tri
是可综合的,其余的都不是。
常规wire/tri类型及其版本和/或版本之间的区别在于网络由多个驱动程序驱动的结果值分辨率。对于简单的wire
,当它由多个具有不同值的信号驱动时,结果将为X。否则,它将具有所有驱动程序的价值。 and
版本会做&他们之间,or
会做|。
这里有三个净类型由2驱动器驱动的真值表:
线/三
0 1 x z
0 0 x x 0
1 x 1 x 1
x x x x x
z 0 1 x z
棒/三 -
0 1 x z
0 0 0 0 0
1 0 1 x 1
x 0 x x x
z 0 1 x z
WOR /三 - 或
0 1 x z
0 0 1 x 0
1 1 1 1 1
x x 1 x x
z 0 1 x z