HDL综合中的"net"是什么?

3
我是电路综合的初学者,经常遇到“net”这个词,但我从未找到它的标准定义。在我看来,它似乎是指任何一种“黑盒子”,它接收输入并产生输出。因此,它可以是大电路中的子电路,也可以是门阵列。我的理解正确吗?
1个回答

8
不,你的理解是不正确的。
在Verilog中,“net”有一个精确定义:
IEEE 1800-2012规定:
6.5 Nets和variables
数据对象分为两大类:variables和nets。这两组数据对象在它们被分配和保存值的方式上有所不同。网可以由一个或多个连续赋值、原始输出或通过模块端口写入。多个驱动程序的结果值由网类型的解析函数确定。网不能被过程地分配。
网可以是许多类型之一,例如:wire、supply0、wand,但到目前为止最常见的类型是wire。
IEEE 1800-2012进一步指出:
Variables可以由一个或多个过程语句(包括过程连续赋值)编写。最后一次写入决定值。或者,变量可以由一个连续分配或一个端口写入。
变量和网的行为之间的主要区别是在从多个位置分配给它们时的行为,如两个引用中的粗体文字所示:
对于网,如果你从多个位置分配给它,它的最终值将由解析函数确定,对于内置的网类型(wire等)。解析函数的行为取决于网类型,这就是网类型之间的区别。因此,例如,对于wire,如果同时分配1'b0和1'b1,则当两个赋值都具有相同的强度时,结果值将为1'bx(未知)。解析函数旨在模拟实际电子学。 (还有用户定义的网络类型和驱动强度的额外复杂性,但让我们在本讨论中将其排除。)
对于变量,如果你从多个位置分配给它,其结果值将由最后写入的值确定(就像普通软件变量一样)。因此,例如,如果分配了1'b0,然后再分配了1'b1,则结果值将为1'b1,因为该值是最后分配的。没有涉及解析函数,也没有任何驱动强度的概念。
网和变量都用于建模组合逻辑和时序逻辑。使用网和变量的规则由引文给出,并且使用哪种规则取决于这些规则(在 verilog 中非常严格,但在 System-Verilog 中已经放宽到这种程度:如果您不使用三态逻辑进行设计,则无需在 System-Verilog 中使用网)。VHDL具有完全相同的区别。Verilog 网络的 VHDL 等效物是信号; Verilog 变量的 VHDL 等效物是变量。然而,在 VHDL 中使用的规则不同,并且更加严格。 在电子学中,“网”是指电流通过的一块金属。换句话说,网是一个连接点。从物理上讲,它可以是PCB轨迹,电缆,焊线或IC上的金属连接。通常,在数字电子学中,它最可能是 IC 上的金属连接。因此,回答你的问题,如果有人在谈论逻辑综合器的输出(门级网表)时使用“网”这个术语,则几乎可以肯定地认为他们指的是第二个想法:任何格式的构造,该构造模拟一个门之间的连接。由于综合器通常将其门级网表输出为 Verilog,因此门之间的这些连接可能已经使用 Verilog 网络进行建模(可能是线)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接