日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FPGA Verilog语言常用语法

發布時間:2023/12/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FPGA Verilog语言常用语法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文介紹FPGA Verilog語言語法知識。

1. 邏輯值,Verilog語言中有四種邏輯值,分別代表4中邏輯狀態,邏輯1:高電平狀態、邏輯0:低電平狀態、邏輯X:不定狀態、邏輯Z:高阻狀態。

2. 標志符,Verilog語言中的標志符用于定義模塊名、端口號、信號名等,注意標識符的定義是區分大小寫的。

3. 數字的基數表示法:Verilog語言常用基數表示法表示數字,例如4’b1010表示二進制數據1010,其中4表示數據占4個bit位,4’h9表示16禁止數字9,4'o8表示8進制數字8,4‘d2表示10進制數字2.

4. 數據類型,Verilog語言中數據類型包括,寄存器類型、網線類型、參數類型三種,其中寄存器類型表示一個數據存儲單元,只能在always語句和initial語句中被賦值,常用寄存器類型是reg,使用方法如下:reg [31:0] delay;表示一個32位寄存器。網線類型表示邏輯單元之間的物理連線,常用的是wire,使用方法如下:wire [7:0] data; 參數類型表示一個常量,例如parameter STATUS=1;

常用于表示狀態機的狀態。

5. 運算符 ,Verilog算術運算符:+ 、-、*、/、%? 關系運算符:> 、< 、== 、>=、<= 、!=? 邏輯運算符:&& 、||、!條件運算符:

?: 位運算符:^、&、|、~移位運算符:<<、>>拼接運算符{}。

6. 運算符優先級:

7. 常用關鍵字:

8. 堵塞賦值(=)與非堵塞賦值(<=),堵塞賦值只有在上一條賦值語句結束時,下一條語句才會執行,非堵塞賦值,在一個時鐘周期下,位于同一個begin end 邏輯塊內的表達式全部被賦值。一般堵塞賦值用于assign語句和不帶時鐘的assign語句,非堵塞賦值用于帶時鐘的assign語句,即組合邏輯電路使用堵塞賦值,時序邏輯電路使用非堵塞賦值。

9.always與assign語句,assign 表示組合邏輯電路的起始,always語句,當輸入帶時鐘信號時,表示時序邏輯電路,不帶時鐘信號時表示組合邏輯電路,復雜的組合邏輯電路推薦使用always.

10.latch? 容易引發毛刺,應該盡量規避。latch只在組合邏輯電路中會出現,比如不帶是時鐘信號的always語句中,如果if? 結構缺少else 或 case 結構缺少default。

11.? 凡是在initial語句和always語句中被賦值得變量一定是reg類型,凡是在assign語句中被賦值得變量一定是wire類型。

12. 在仿真測試文件中,輸入信號一定是reg類型,輸出信號一定是wire類型。

13.對于組合邏輯電路使用阻塞賦值(=)例如assign語句和不帶時鐘得always語句。對于時序邏輯電路使用非阻塞賦值(<=)例如帶時鐘得assign語句。

14. 在仿真測試文件中,時鐘信號的初始值為1,且使用阻塞賦值,注意非阻塞賦值只能用于對寄存器變量進行賦值操作,因此只能用于initial和always語句中,不能用于assign語句中。

15.編寫時序邏輯電路,使用帶時鐘的always語句,要使用非阻塞賦值,編寫組合邏輯電路,推薦使用不帶時鐘的always語句,要使用阻塞賦值,一般建議在always語句中一次只對一個變量賦值。

?

?

總結

以上是生活随笔為你收集整理的FPGA Verilog语言常用语法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。