日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

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

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

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

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

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

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

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

          Verilog的關(guān)鍵字

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

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

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

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

          case、endcase 和 default 成對(duì)使用,是一個(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 是一種用于數(shù)字邏輯電路設(shè)計(jì)的語(yǔ)言,我們以數(shù)字電路中最簡(jiǎn)單的與門(mén)為例,來(lái)作為入門(mén)學(xué)習(xí)的第一個(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í)現(xiàn)了一個(gè) 2 輸入的與門(mén)電路。這里我們需要說(shuō)明的是,大家不必過(guò)分去苛求細(xì)節(jié)的語(yǔ)法,只要著眼于基本程序框架就行。通過(guò)上面的程序我們給大家總結(jié)如下:

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

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

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

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



          評(píng)論


          相關(guān)推薦

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

          關(guān)閉