SystemVerilog端口类型[网络或变量]?

SystemVerilog端口类型[网络或变量]?,verilog,system-verilog,Verilog,System Verilog,我需要对SystemVerilog端口第23.2.2.3节进行澄清 LRM表示,当输入端口上省略端口类型(网络类型或变量)时,默认为网络类型,但当输入端口为位数据类型而未指定端口类型时,是否根据LRM推断为网络类型 如蒙回复,将不胜感激 端口类型默认为一个网络,您引用了它,但是6.7.1带有内置网络类型的网络声明说网络类型被限制为4状态整数类型。因此,如果试图声明输入位而不是输入变量位,则应该会出现错误 请注意,当指定不带端口类型的数据类型时,SystemVerilog LRM的早期版本具有默认

我需要对SystemVerilog端口第23.2.2.3节进行澄清

LRM表示,当
输入
端口上省略端口类型(网络类型或变量)时,默认为网络类型,但当
输入
端口为
数据类型而未指定端口类型时,是否根据LRM推断为网络类型


如蒙回复,将不胜感激

端口类型默认为一个网络,您引用了它,但是6.7.1带有内置网络类型的网络声明说网络类型被限制为4状态整数类型。因此,如果试图声明
输入位而不是
输入变量位
,则应该会出现错误

请注意,当指定不带端口类型的数据类型时,SystemVerilog LRM的早期版本具有默认的端口类型a变量。如果某些工具不是最新的,则可能不会生成错误。

“位”仅指定信号的数据类型,而不是网络类型

当您将端口声明为“input bit foo”时,这些工具应该根据“default_nettype”设置的值推断网络类型

许多verilog风格的指南都建议将“default_nettype none”作为穷人检测网络名称输入错误的工具。这在systemverilog下被打破,因为它随后开始要求使用net和数据类型声明所有内容,如下所示:

input wire bit foo
每个人都讨厌这一点,因此:

  • 不要使用“`default_nettype none”
  • 使用真正的起毛工具来代替起毛