《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 其他 > 入門:FPGA設計硬件語言Verilog中的參數(shù)化

入門:FPGA設計硬件語言Verilog中的參數(shù)化

2022-12-31
來源:FPGA開源工作室
關鍵詞: FPGA設計 C語言 Verilog

  1 參數(shù)化

  FPGA 設計的硬件語言Verilog中的參數(shù)化有兩種關鍵詞:define 和 paramerter,參數(shù)化的主要目的是代碼易維護、易移植和可讀性好。

  Parameter關鍵詞類似于C語言中的形參可在其他模塊調用時實例化參數(shù),這個參數(shù)在運行過程中不能修改,在編譯時就已經(jīng)確定好了。

  示例:

  31.JPG

  模塊引用如下:

  方式一:

 30.JPG

  方式二:

29.JPG

  第一種方式必須按照順序,而第二種方式可以順序顛倒。所以在參數(shù)化比較多的情況下,盡量采用第二種方式,以避免順序的錯亂。

  Define關鍵詞類似于C語言中的define 。主要用于本地模塊的一些定義,例如狀態(tài)機。

  示例:

28.JPG

  2 條件編譯

  一般情況下,Verilog HDL源程序中所有的行都將參加編譯。但是有時希望對其中的一部分內容只有在滿足條件才進行編譯,也就是對一部分內容指定編譯的條件,這就是“條件編譯”。

  有時,希望當滿足條件時對一組語句進行編譯,而當條件不滿足是則編譯另一部分。

  條件編譯命令有以下幾種形式:1) `ifdef 宏名 (標識符)程序段1`else程序段2`endif

  2) `ifdef 宏名 (標識符)程序段1`endif

  示例:

27.JPG

  26.JPG

  如上所示我們在寫I2S的時候會遇到不同位寬的I2s數(shù)據(jù),這就意味著對于不同的數(shù)據(jù)模塊我們就要寫一個文件。

  如果采用條件編譯就可以只寫一個文件。當需要修改時只需要修改`define D_WIDTH16

  //`define D_WIDTH20

  //`define D_WIDTH24

  就可以完成不同i2s數(shù)據(jù)位寬的修改。



更多信息可以來這里獲取==>>電子技術應用-AET<<

mmexport1621241704608.jpg

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。