天天看點

【FPGA入門教程】(四)Verilog基本文法

  • 組合邏輯:    多路選擇器、加法器(半加器、全加器)、譯碼器(位址譯碼器、顯示譯碼器、2-4譯碼器、3-8譯碼器)、乘法器
  • 時序邏輯:    計數器、分頻器、定時器、移位寄存器 

一、Verilog檔案的基本結構

     1、子產品聲明     子產品名    端口清單

     2、端口類型、位寬定義

     3、功能描述

//子產品描述方式一(先列出端口,再描述端口類型)
//此方式雖然行數多,但是友善後面例化端口,推薦使用
module  name( 
        ,
        ,
        //最後一個不需要“,” 
);
    //端口類型描述
    //功能描述
endmoule

//子產品描述方式二(端口清單和端口類型一起描述)
module  name( 
   //端口清單 + 類型描述
     );
    //功能描述
endmoule           

二、資料類型

  • 線與型wire(預設值z—高阻)    
  • 寄存器型reg
  • 存儲器型(memory)

               memory型資料常用于寄存器檔案、ROM和RAM模組化等,是寄存器型的二維數組形式,它是将reg型變量進行位址擴充而得到

  

//一般格式:
reg[n-1 : 0] 存儲器名[N-1 : 0];
//定義位寬為n,深度為N的寄存器組           
  •  parameter型(常量參數)(也可以用localparam)

三、資料表示

assign x = 4'b1001;      //二進制

assign x = 4'd9;          //十進制

assign x = 4'hc;          //十六進制           

四、運算

    1、加(+)——加法器

            減(-) ——減法器(逆運算)

            乘(*) ——乘法器

            除(/) ——除法器ip核(盡量不用)

繼續閱讀