System verilog 默认类型输入和输出信号SystemVerilog

System verilog 默认类型输入和输出信号SystemVerilog,system-verilog,System Verilog,我正在尝试自学SystemVerilog(我是一名大学生,在我的项目中我一直使用VHDL),我有一个关于数据类型的问题。到目前为止,我想我理解了reg、wire和logic之间的区别和利弊,但我想知道,在这段代码片段中: module example( input clk, input nrst, input nset, input up, input [3:0] preload, output [3:0] counter ); 输入和输出的默认类型是什么?它是逻辑(因为它是“日常”电路的

我正在尝试自学SystemVerilog(我是一名大学生,在我的项目中我一直使用VHDL),我有一个关于数据类型的问题。到目前为止,我想我理解了
reg
wire
logic
之间的区别和利弊,但我想知道,在这段代码片段中:

module example(

input clk,
input nrst,
input nset,
input up,
input [3:0] preload,
output [3:0] counter

);

输入和输出的默认类型是什么?它是逻辑(因为它是“日常”电路的最佳选择)?

在SystemVerilog中,
wire
reg/logic
是密切相关但独立的概念<代码>逻辑是一种数据类型,
导线
表示网络(或网络)信号类型。端口列表声明中有两种基本信号类型:网络(wire)和变量(var),默认为
wire logic
,表示1位4状态网络

当您指定一个没有种类的数据类型时,默认值开始变得更加复杂,反之亦然。对于输入,默认的未指定种类始终为净,但是对于输出,一旦指定数据类型,默认种类将变为
var
。Verilog吸引了不喜欢编码的懒惰工程师。我建议要明确,不要重复默认设置

我有一些这样的例子张贴