RTL基本知识:编译命令指定隐性线网类型

在Verilog中,对于未指定线网类型的隐性线网默认的类型为wire,如果没有对线网进行上拉或者下拉操作,那么其状态为高阻态,即“Z”。对于特定设计在后端实现时会对相应的端口进行上下拉操作,为了保持这种特性,除了显示声明线网类型为tri0或者tri1等外,还可以通过编译命令实现端口上下拉。本文将对通过编译命令实现线网类型的设置进行示例。

1.`default_nettype

格式:`default_nettypenet_type

其中net_type可以是:wire、tri1、tri0、wand、triand、wor、trior、trireg、none等。

该命令用于隐性线网指定默认线网类型。特别是在端口定义中,如果没有显示指定线网类型,那么线网的类型为wire(默认值)或者`default_nettype指定的线网类型。

例如:

`default_nettype tri1

该例说明缺省的线网为三态上拉型。

在使用该命令时需要注意以下几点:

  • 该命令用于指定模块定义之外,即“module-endmodule”外;
  • 同时指定多条该命令,生效命令采取就近原则,即最后一条该命令将对后续的设计起作用;
  • 当`default_nettype指定的net_type为none,那么所有线网必须显示声明;
  • `resetalll命令后的隐性线网类型为wire,不受`default_nettype指定的影响,除非`resetall之后再次使用`default_nettype指定类型;

【示例】

 

 更多资讯,请关注个人公众号:芯光灿烂

原文地址:https://www.cnblogs.com/xgcl-wei/p/9119024.html