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

Default type input and output signals SystemVerilog

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

module example(

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

);

分配给输入和输出的默认类型是什么?它符合逻辑吗(因为它是 "everyday" 电路的最佳选择)?

在SystemVerilog中,wirereg/logic是密切相关但又相互独立的概念。 logic是一个数据类型wire表示一个网络(或网络)信号种类。有两种基本信号类型:nets(wire) 和 variables(var) 在端口列表声明中,默认为 wire logic,表示 1 位 4 态网络。

当您指定 datatype 而没有 kind 时,默认值开始变得更多,反之亦然。对于输入,默认的未指定 kind 始终是一个网络,但对于输出,只要您指定了 datatype,默认的 kind 就会变为 var。 Verilog 吸引不喜欢编码的懒惰工程师。我建议明确并且永远不要依赖默认值。

我发布了一些例子 here