verilog常用語法二讓您的FPGA設(shè)計更輕松
掃描二維碼
隨時隨地手機看文章
verilog常用語法一讓您的FPGA設(shè)計更輕松
條件編譯
一般情況下,Verilog HDL源程序中所有的行都將參加編譯。但是有時希望對其中的一部分內(nèi)容只有在滿足條件才進行編譯,也就是對一部分內(nèi)容指定編譯的條件,這就是“條件編譯”。有時,希望當(dāng)滿足條件時進行編譯,而當(dāng)條件不滿足是則編譯另一部分。
用verilog的generate語句可以實現(xiàn)條件編譯功能,這個功能類似于c語言中的#ifdef語句。
示例:
當(dāng) USE_REG == 1 的時候,fpga map的紅色框電路,當(dāng) USE_REG == 0時,FPGA map的藍色框電路。
位寬匹配
示例:
{KSZ{1'b0}}為位寬為KSZ的數(shù)字0。
信號邊緣檢測
在FPGA開發(fā)過程中,獲得某些信號的上升沿和下降沿是至關(guān)重要的,從信號的上升沿或下降沿就可以判斷信號的起始有效。
示例:
仿真平臺:
Vs_rise_flag 和vs_fall_flag分別是vsync信號的上升沿和下降沿標(biāo)志。
仿真波形:
如上圖所示,紅色的圓圈表示vsync的上升沿,紅色正方形框表示vsync的上升沿標(biāo)志;藍色的圓圈表示vsync信號的下降沿,藍色框表示vsync的下降沿標(biāo)志。