默认网络类型仅适用于输入

问题描述 投票:0回答:1

是否可以将

wire
作为输入的默认值,但不能默认声明模块内部信号?

据我了解

`default_nettype`
控制

  1. input
    inout
    端口的端口类型(如问题隐式网络类型声明和`default-nettype中所述)
  2. 设计中的信号类型(例如
    logic

例如,设置
`default_nettype wire
会生成此代码

module m1 (
   input  logic i1,
   output logic o1
   );

   logic  l1;
   assign l1 = i1;
   assign o1 = l1;
endmodule

与以下意思相同:

module m1 (
   input  wire logic i1,    // <-- default wire
   output logic o1
   );

   wire logic l1;          // <-- default wire
   assign l1 = i1;
   assign o1 = l1;
endmodule

是否有一些设置允许

input
获取默认网络类型线,但在使用未定义信号时仍然会导致失败:

module m1 (
   input  logic i1,   // <-- let this one default to wire
   output logic o1
   );

   logic  l1;
   logic banana;
   assign l1 = i1;
   assign hanana = i1;   // typo, should give error since no default declaration
   assign o1 = l1;
endmodule
verilog system-verilog questasim
1个回答
0
投票

不,默认输入网络类型的唯一选择是

 `default_nettype

© www.soinside.com 2019 - 2024. All rights reserved.