【Verilog-26】Net线路连接
Net是结构描述中为线路连接(连线和接线)建立的模型。net的值是由net的驱动所决定的。驱动器可以是门、UDP、实例模块或者连续赋值语句的输出。

语法:
1.supply0和supply1类型的net变量分别具有逻辑值0和1,并可以为它定义驱动能力(supply strength);
2.tri0和tri1类型的nets,当没有驱动时,分别具有逻辑值0和1,并可以为它定义驱动能力;
3.如果net变量的扩展选项选用了关键词vectored,则不允许对它进行某位和某些位的选择,也不允许对它定义强度,PLI会认为该net变量是不可扩展的;如果扩展选项选用了关键词scalared,则允许对它进行某位和某些位的选择,也允许对它定义强度,PLI讲会认为给net变量是扩展的,这些关键词是有参考价值的;
4.除了结构描述中的端口和标量连线不用声明net类型外,其它类型的net变量在应用之前必须声明。
提示:
1.当net变量未被驱动时,对tri0和tri1类型的net变量的连续赋值不影响其值和强度,通常强度(strength)保持为pull,逻辑值保持为0(对tri0)或1(对tri1)。
2.在IEEE标准和已成事实的Cadence公司的标准中,扩展可选项的保留字scalared或vectored的位置有所不同,在Cadence标准中,保留字位于范围(range)选项的跟前。
可综合问题:
1.net类型的变量被综合成线路连接,但是某些电路连接经过优化后有可能删去;
2.综合工具只支持net类型中的wire型的综合,其他的net类型均不支持。
注意:
1.在每个模块的块声明明确地声明所有的nets,即使是默认的类型也应该明确地加以说明。通过清楚地说明设计意图,可以提高Verilog程序的可读性和可维护性。
2.只能用supply0和supply1来声明地和电源。
例子:
wire Clock;
wire [7:0] Address;
tri1 [31:0] Data, Bus;
trireg (large) C1, C2;
wire f = a && b;
g = a || b; //连续赋值
truth table真值表
当net具有两个或两个以上驱动时,同时假定其驱动器强度值均相等,下表为各种类型net的真值表,显示输出的结果。如果驱动强度不相等,则驱动强度大者,驱动该net变量。



浙公网安备 33010602011771号