色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Verilog HDL基礎(chǔ)知識6之語法結(jié)構(gòu)

          Verilog HDL基礎(chǔ)知識6之語法結(jié)構(gòu)

          作者: 時間:2024-02-21 來源:電子森林 收藏

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

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

          (1) 所謂可綜合,就是我們編寫的Verilog代碼能夠被綜合器轉(zhuǎn)化為相應(yīng)的電路結(jié)構(gòu)。因此,我們常用可綜合語句來描述數(shù)字硬件電路。

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

          Verilog的關(guān)鍵字

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

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

          input、output和 inout 用于端口定義,wire 和 reg 是用來聲明數(shù)據(jù)類型,parameter 是用來聲明參數(shù)類型,always 是過程賦值語句,assing 是連續(xù)賦值語句。

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

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

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

          Verilog的基本程序框架

          Verilog 是一種用于數(shù)字邏輯電路設(shè)計(jì)的語言,我們以數(shù)字電路中最簡單的與門為例,來作為入門學(xué)習(xí)的第一個程序。與門的 Verilog 代碼如下。

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

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

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

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

          3.Verilog HDL 程序的書寫格式自由,一行可以寫幾個語句,一個語句也可以分寫多行。

          4.除了 endmodule 語句外,每個語句和數(shù)據(jù)定義的最后必須有分號。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉