verilog always语法_Verilog初级教程(20)Verilog中的`ifdef 条件编译语句
前言
`ifdef條件編譯語句在邏輯設計中還是很常見的,但也常見一些濫用的情況,這應該避免。 應該在什么情況下使用呢?
例如:一部分代碼可能有時候用,有時候不用,為了避免全部編譯占用資源,可以使用條件編譯語句。 下面正式介紹其語法。
正文
語法
// Style #1: Only single `ifdef示例
moduleTestbench文件
module請注意, 默認情況下, rstn 不會在編譯設計時被包含, 因此它不會出現在 port 列表中。但是, 如果在任何屬于編譯文件列表的 Verilog 文件中定義了名為 INCLUDE_RSTN 的宏, 或者通過命令行傳遞給編譯器, rstn 就會在編譯過程中被包括在內, 設計也將擁有它。
下面我們通過vivado平臺編譯看下: 默認情況下:
定了了宏INCLUDE_RSTN的情況下:
進一步證明了其用途。
仿真看下:
在默認情況下,沒有定義宏INCLUDE_RSTN ,也就沒有復位。
可以看到由于沒有復位,所以q在初始階段為X。
往期回顧
Verilog初級教程(19)Verilog中的參數
Verilog初級教程(18)Verilog中的函數與任務
Verilog初級教程(17)Verilog中的case語句
Verilog初級教程(16)Verilog中的控制塊
Verilog初級教程(15)Verilog中的阻塞與非阻塞語句
Verilog初級教程(14)Verilog中的賦值語句
Verilog初級教程(13)Verilog中的塊語句
Verilog初級教程(12)Verilog中的generate塊
Verilog初級教程(11)Verilog中的initial塊
Verilog初級教程(10)Verilog的always塊
Verilog初級教程(9)Verilog的運算符
Verilog初級教程(8)Verilog中的assign語句
Verilog初級教程(7)Verilog模塊例化以及懸空端口的處理
Verilog初級教程(6)Verilog模塊與端口
Verilog初級教程(5)Verilog中的多維數組和存儲器
Verilog初級教程(4)Verilog中的標量與向量
Verilog初級教程(3)Verilog 數據類型
Verilog初級教程(2)Verilog HDL的初級語法
Verilog初級教程(1)認識 Verilog HDL
芯片設計抽象層及其設計風格
Verilog以及VHDL所倡導的的代碼準則
FPGA/ASIC初學者應該學習Verilog還是VHDL?
參考資料及推薦關注
Verilog `ifdef Conditional Compilation
個人微信公眾號: FPGA LAB
交個朋友
總結
以上是生活随笔為你收集整理的verilog always语法_Verilog初级教程(20)Verilog中的`ifdef 条件编译语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++ 数组置0_0基础学习C语言第七章
- 下一篇: asp按钮跳转页面代码_重磅更新!全新W