RTL基本知識:編譯命令指定隱性線網類型
阿新 • • 發佈:2018-05-31
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基本知識:編譯命令指定隱性線網類型