Verilog學習心得(一)


​          

     作為一個萌新,第一次讓我學習Verilog我是拒絕的,連數電都沒有學習過學Verilog真是一種折磨...不過自己選擇的路不管怎么樣都要走下去.

          硬件描述語言HDL(Hardware Description Language)是一種用文本形式描述數字電路和設計數字邏輯系統的語言.而Verilog HDL作為一種IEEE標准化的語言,正是我所學的對象.

          Verilog和C的風格很類似,反正比VHDL容易多了2333.

 

                      表1 C語言與Verilog相對應的關鍵字與控制結構表

C

Verilog

sub-function

module、function、task

if-then-else

if-then-else

case

case

{,}

begin、end

for

for

while

while

break

disable

define

define

int

int

printf

monitor、display、strobe

                      表2 C語言與Verilog對應運算符表

C

Verilog

功    能

*

*

/

/

+

+

-

-

%

%

取模

!

!

反邏輯

&&

&&

邏輯與

||

||

邏輯或

大於

小於


                      續表

C

Verilog

功    能

>=

>=

大於等於

<=

<=

小於等於

==

==

等於

!=

!=

不等於

位反相

&

&

按位邏輯與

|

|

按位邏輯或

^

^

按位邏輯異或

~^

~^

按位邏輯同或

>> 

>> 

右移

<< 

<< 

左移

?:

?:

相當於if-else

 

        實際上,Verilog語言與C語言最大的不同在於,C是順序執行語句,Verilog HDL程序是並行執行語句.這應在設計時充分考慮.另外,Verilog語言可以和C語言搭配使用.

        Verilog程序的基本設計單元是模塊(module)

        input 為輸入端口,output為輸出端口.

        每個Verilog程序包括四個部分:模塊聲明,I/O說明,信號類型說明和邏輯功能描述.

1. 模塊聲明:

        module 模塊名(口1,口2,口3,.......);

        模塊結束關鍵字:endmodule.

2. I/O說明(三種形式)

    (1) 輸入口

        input 端口名1,端口名2,.....,端口名N;    //(共有N個輸入口)

    (2)輸出口

        output 端口名1,端口名2,.....,端口名N;    //(共有N個輸出口)

    (3)輸入輸出口

        inout 端口名1,端口名2,.....,端口名N;    //(共有N個輸入輸出口)

    I/O說明也可以寫在端口聲明語句中.其格式如下:

    module module_name(input port1,input port2,...,output port1,output port2,...,inout port1,inout port2,...);

 3.信號類型說明

        默認為wire(網線)類型.

 4.邏輯功能描述

    (1)用assign聲明例句,一般給wire類型賦值

    (2)用元件例化

    (3)用always塊

        always塊既可以描述組合邏輯,又可描述時序邏輯

    模塊雖然是並行(同時)執行的,但是在always模塊內部,邏輯是按照指定的順序執行的. 


免責聲明!

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



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