电线和三角网,魔杖和三角网有什么区别?

Vas*_*thy -2 verilog

我正在学习 Verilog。我不明白电线和三网类型、魔杖和三网类型之间的区别。我们究竟需要在哪里将网络指定为魔杖和三和?

Ser*_*rge 5

wire和之间没有区别tri。它们是同义词。通常惯例是wire在常规声明和tri多驱动网络inout端口的声明中使用。wand/ triand, wor/也是如此trior。然而,还有更多的变体tri,比如tri1tri0。还有一种三态寄存器类型:trireg.

仅出于实用目的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
Run Code Online (Sandbox Code Playgroud)

魔杖/三重奏

  0 1 x z
0 0 0 0 0
1 0 1 x 1
x 0 x x x
z 0 1 x z
Run Code Online (Sandbox Code Playgroud)

工作/三人

  0 1 x z
0 0 1 x 0
1 1 1 1 1
x x 1 x x
z 0 1 x z
Run Code Online (Sandbox Code Playgroud)