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核(盡量不用)
 
  2、 邏輯運算
            邏輯與&&,或||,非!(運算結果只有一位true/false
            按位與&、或|、非~、異或^、同或~^(運算結果和輸入位數一樣


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM