-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