verilog常用語法一讓您的FPGA設計更輕鬆
一般情況下,Verilog HDL源程序中所有的行都將參加編譯。但是有時希望對其中的一部分內容只有在滿足條件才進行編譯,也就是對一部分內容指定編譯的條件,這就是「條件編譯」。有時,希望當滿足條件時進行編譯,而當條件不滿足是則編譯另一部分。
用verilog的generate語句可以實現條件編譯功能,這個功能類似於c語言中的#ifdef語句。
示例:
當 USE_REG == 1 的時候,fpga map的紅色框電路,當 USE_REG == 0時,FPGA map的藍色框電路。
示例:
{KSZ{1'b0}}為位寬為KSZ的數字0。
在FPGA開發過程中,獲得某些信號的上升沿和下降沿是至關重要的,從信號的上升沿或下降沿就可以判斷信號的起始有效。
示例:
仿真平臺:
Vs_rise_flag 和vs_fall_flag分別是vsync信號的上升沿和下降沿標誌。
仿真波形:
如上圖所示,紅色的圓圈表示vsync的上升沿,紅色正方形框表示vsync的上升沿標誌;藍色的圓圈表示vsync信號的下降沿,藍色框表示vsync的下降沿標誌。
推薦閱讀:
歡迎加入FPGA開源工作室QQ資料群
每一位科技工作者都需要支持