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