<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > Verilog HDL基礎知識6之語(yǔ)法結構

Verilog HDL基礎知識6之語(yǔ)法結構

作者: 時(shí)間:2024-02-21 來(lái)源:電子森林 收藏

雖然 Verilog 硬件描述語(yǔ)言有很完整的和系統,這些的應用給設計描述帶來(lái)很多方便。但是 Verilog是描述硬件電路的,它是建立在硬件電路的基礎上的。有些是不能與實(shí)際硬件電路對應起來(lái)的,比如 for 循環(huán),它是不能映射成實(shí)際的硬件電路的,因此,Verilog 硬件描述語(yǔ)言分為可綜合和不可綜合語(yǔ)言。下面我們就來(lái)簡(jiǎn)單的介紹一下可綜合與不可綜合。

本文引用地址:http://dyxdggzs.com/article/202402/455549.htm

(1) 所謂可綜合,就是我們編寫(xiě)的Verilog代碼能夠被綜合器轉化為相應的電路結構。因此,我們常用可綜合語(yǔ)句來(lái)描述數字硬件電路。

(2) 所謂不可綜合,就是我們編寫(xiě)的 Verilog 代碼無(wú)法綜合生成實(shí)際的電路。因此,不可綜合語(yǔ)句一般我們在描述數字硬件電路時(shí)是用不到的,不過(guò),我們可以用它來(lái)仿真、驗證我們描述的數字硬件電路

Verilog的關(guān)鍵字

由于我們是將 Verilog 用于描述數字硬件電路,所以我們只需要掌握可以被綜合器綜合的那部分關(guān)鍵字就可以了。下面我們列出了常用的可綜合關(guān)鍵字,如下。

首先我們介紹的是 module 和 endmodule,它們是成對使用的,模塊是 Verilog 設計中基本功能塊,一個(gè)最簡(jiǎn)單的模塊是由模塊命名、端口列表兩個(gè)部分組成。整個(gè)模塊是由 module 開(kāi)頭,endmodule 結尾,module 后面緊跟著(zhù)的是模塊名,每個(gè)模塊都有它自己的名字。

input、output和 inout 用于端口定義,wire 和 reg 是用來(lái)聲明數據類(lèi)型,parameter 是用來(lái)聲明參數類(lèi)型,always 是過(guò)程賦值語(yǔ)句,assing 是連續賦值語(yǔ)句。

if 和 else 成對使用,是條件判斷語(yǔ)句,和 C語(yǔ)言中的 if 和 else 是一樣的功能,begin 和 end 也是成對使用,相當于 C 語(yǔ)言中的大括號。

case、endcase 和 default 成對使用,是一個(gè)多分支條件語(yǔ)句,和 C 語(yǔ)言中的 switch 一樣的功能。

posedege、negedge 和 or 這三個(gè)關(guān)鍵字是和 always 關(guān)鍵字聯(lián)合使用的,posedge 是上升沿觸發(fā),negedge 是下降沿觸發(fā),posedge or negedge 是既有上升沿又有下降沿。在Verilog中,注意關(guān)鍵字使用小寫(xiě)。

Verilog的基本程序框架

Verilog 是一種用于數字邏輯電路設計的語(yǔ)言,我們以數字電路中最簡(jiǎn)單的與門(mén)為例,來(lái)作為入門(mén)學(xué)習的第一個(gè)程序。與門(mén)的 Verilog 代碼如下。

  module yumen  
 (
     a, b, c  
  );   
     input  a;
 input  b;
 output c;   
 assign c = a & b;   
 endmodule

下面我們就來(lái)簡(jiǎn)單的介紹一下這個(gè)代碼,在這個(gè)代碼中,a 和 b 是與門(mén)的輸入,c 是與門(mén)的輸出,也就是說(shuō),該代碼實(shí)現了一個(gè) 2 輸入的與門(mén)電路。這里我們需要說(shuō)明的是,大家不必過(guò)分去苛求細節的語(yǔ)法,只要著(zhù)眼于基本程序框架就行。通過(guò)上面的程序我們給大家總結如下:

1.Verilog HDL 程序是由模塊構成的,每個(gè)模塊的內容都是嵌在 module 和 endmodule兩個(gè)語(yǔ)句之間。

2.每個(gè)模塊要進(jìn)行端口定義,并說(shuō)明輸入輸出口,然后對模塊的功能進(jìn)行行為邏輯描述。

3.Verilog HDL 程序的書(shū)寫(xiě)格式自由,一行可以寫(xiě)幾個(gè)語(yǔ)句,一個(gè)語(yǔ)句也可以分寫(xiě)多行。

4.除了 endmodule 語(yǔ)句外,每個(gè)語(yǔ)句和數據定義的最后必須有分號。



關(guān)鍵詞: FPGA verilog HDL 語(yǔ)法結構

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>