1. 程式人生 > >RTL基本知識:編譯命令指定隱性線網類型

RTL基本知識:編譯命令指定隱性線網類型

lock 保持 資訊 關註 all height 影響 通過 bubuko

在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指定類型;

【示例】

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

更多資訊,請關註個人公眾號:芯光燦爛

技術分享圖片

RTL基本知識:編譯命令指定隱性線網類型