close

HDL是什麼?
HDL中文為硬體描述語言(Hardware Description Language),是透過撰寫程式來完成電路設計、訊號模擬與驗證。
 最早以前的電路設計是以手繪的方式完成,再根據完成的電路圖去購買所需的電子零件,透過麵包板作測試,經由訊號產生器產生輸入訊號,再透過示波器觀察輸出端的訊號加以驗證,觀察輸出結果是否符合需求功能。但是隨著時代的變遷,積體電路的誕生,電晶體在製程上技術的進步,電路設計越來越複雜,動輒數以百萬甚至千萬顆電晶體所組合,因此不可能再以傳統的手繪方式進行設計,因此硬體描述語言(HDL)就此誕生,使得電路設計更為快速且有效率。
 目前最為普遍的HDL主要有VHDL以及Verilog HDL兩種。


 


VHDL:
VHDL最早是美國國防部VHSIC(Very High Speed Integrated Circuit)計畫演變而來,全名為VHSIC硬體描述語言(VHSIC Hardware Description Language)。


 


Verilog HDL:
Verilog是由Gateway Design Automation公司於1984年開始發展。Verilog硬體描述語言與VHDL相似;不同的是Verilog的設計者想要以C語言為基礎設計一種語言,可以使工程師比較容易學習。因此發展概念是以程式語言介面(Programming Language Interface, PLI)為基礎。


 


Verilog的四大模型(Model)
 在開始學習語法之前,先要知道VerilogHDL的四種層次的描述方式。四大模型(Four kinds of Model)是Verilog用來描述電路功能或是電路架構的四種表示方法。因此對於一個模組的描述再Verilog中有四種不同的層次,設計者可以依據不同需求而使用不同的層次來設計模組的功能或內部電路。
 1. 低階交換模型(Switch Level Model):
 這個層次是VerilogHDL中最低階的層次,需要知道電晶體的元件特性,如半導體的通道長度、寬度等硬體資訊,藉此來設計電路。
 2. 邏輯閘層次模型(Gate Level Model)
 這個層次中的模組是由最基本的邏輯閘連接而成。在電路面積要求的情況下,可以先將電路化簡,在使用現有的邏輯閘元件怎何出所需電路。
 3. 資料流模型
 這個層次中,設計電路的重點在於說明資料如何在暫存器中儲存與傳送。類似針對訊號會經過的邏輯閘路徑進行程式撰寫。
 4. 型為模型(Behavioral Model)
 這個層次是Verilog HDL中最高階的層次,這裡只需要考慮模組的功能,並不需要考慮元件的物理特性以及連接線路的特性,屏除硬體方面的電路考量。在這個層次上設計電路就像是撰寫C語言一樣,是一種高階的設計方式。
 


!! 實際的程式撰寫上,以上四種描述方式是可以混合使用的。


Verilog in Behavioral Model – AND Module


module ANDGATE (A, B, OUT);


    input A;


    input B;


    output OUT;


    reg OUT;


 


    always @(A or B)


    begin


        OUT=A&B;


    end


endmodule


 


Verilog in Dataflow Model – AND Module


module ANDGATE (A, B, F);


    input A;


    input B;


    output OUT;


    wire OUT;


 


    assign OUT =A&B;


endmodule


 


Verilog in Gate Level Model– OR Module


module ORGATE (A, B, OUT);


    input A;


    input B;


    output OUT;


 


    or u1(OUT, A, B);


endmodule


 


Verilog in Switch Level Model – NOT Module


module inv (INS, OUT);


    input INS;


    output OUT;


    supply1 VCC;


    supply0 GND;


 


    pmos (OUT, VCC, INS);


    nmos (GND, OUT, INS);


endmodule


 

arrow
arrow
    全站熱搜

    jk3527101 發表在 痞客邦 留言(0) 人氣()