久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

HDL語言概述...

 多多樂 2008-01-14
HDL語言概述 精華帖

貼子發(fā)表于:2007-2-6 20:55:04

HDL概述

 隨著EDA技術(shù)的發(fā)展,,使用硬件語言設(shè)計(jì)PLD/FPGA成為一種趨勢。目前最主要的硬件描述語言是VHDL和Verilog HDL,。 VHDL發(fā)展的較早,,語法嚴(yán)格,而Verilog HDL是在C語言的基礎(chǔ)上發(fā)展起來的一種硬件描述語言,語法較自由,。 VHDL和Verilog HDL兩者相比,,VHDL的書寫規(guī)則比Verilog煩瑣一些,但verilog自由的語法也容易讓少數(shù)初學(xué)者出錯(cuò),。 國外電子專業(yè)很多會(huì)在本科階段教授VHDL,在研究生階段教授verilog,。從國內(nèi)來看,VHDL的參考書很多,,便于查找資料,,而Verilog HDL的參考書相對較少,這給學(xué)習(xí)Verilog HDL帶來一些困難,。 從EDA技術(shù)的發(fā)展上看,,已出現(xiàn)用于CPLD/FPGA設(shè)計(jì)的硬件C語言編譯軟件,雖然還不成熟,,應(yīng)用極少,,但它有可能會(huì)成為繼VHDL和Verilog之后,,設(shè)計(jì)大規(guī)模CPLD/FPGA的又一種手段。

VHDL語言簡介:  

VHDL的英文全名是Very-High-Speed Integrated Circuit HardwareDescription Language,誕生于1982年,。1987年底,,VHDL被IEEE和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言 。自IEEE公布了VHDL的標(biāo)準(zhǔn)版本,,IEEE-1076(簡稱87版)之后,,各EDA公司相繼推出了自己的VHDL設(shè)計(jì)環(huán)境,或宣布自己的設(shè)計(jì)工具可以和VHDL接口,。此后VHDL在電子設(shè)計(jì)領(lǐng)域得到了廣泛的接受,,并逐步取代了原有的非標(biāo)準(zhǔn)的硬件描述語言。1993年,,IEEE對VHDL進(jìn)行了修訂,,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展VHDL的內(nèi)容,公布了新版本的VHDL,,即IEEE標(biāo)準(zhǔn)的1076-1993版本,,(簡稱93版)。現(xiàn)在,,VHDL和Verilog作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語言,,又得到眾多EDA公司的支持,在電子工程領(lǐng)域,,已成為事實(shí)上的通用硬件描述語言,。有專家認(rèn)為,在新的世紀(jì)中,,VHDL于Verilog語言將承擔(dān)起大部分的數(shù)字系統(tǒng)設(shè)計(jì)任務(wù),。

    VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,,功能和接口。除了含有許多具有硬件特征的語句外,,VHDL的語言形式和描述風(fēng)格與句法是十分類似于一般的計(jì)算機(jī)高級(jí)語言,。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱可是部分,及端口)和內(nèi)部(或稱不可視部分),,既涉及實(shí)體的內(nèi)部功能和算法完成部分。在對一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,,一旦其內(nèi)部開發(fā)完成后,,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn),。應(yīng)用VHDL進(jìn)行工程設(shè)計(jì)的優(yōu)點(diǎn)是多方面的,。
 

(1)與其他的硬件描述語言相比,,VHDL具有更強(qiáng)的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語言,。強(qiáng)大的行為描述能力是避開具體的器件結(jié)構(gòu),,從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。

(2)VHDL豐富的仿真語句和庫函數(shù),,使得在任何大系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,,隨時(shí)可對設(shè)計(jì)進(jìn)行仿真模擬。

(3)VHDL語句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能,。符合市場需求的大規(guī)模系統(tǒng)高效,,

高速的完成必須有多人甚至多個(gè)代發(fā)組共同并行工作才能實(shí)現(xiàn)。(4)對于用VHDL完成的一個(gè)確定的設(shè)計(jì),,可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化,,并自動(dòng)的把VHDL描述設(shè)計(jì)轉(zhuǎn)變成門級(jí)網(wǎng)表。

(5)VHDL對設(shè)計(jì)的描述具有相對獨(dú)立性,,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),,也不必管理最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì),。

附:一個(gè)簡單的VHDL的例子:(12位寄存器)
--- VHDL Example
-- User-Defined Macrofunction

ENTITY reg12 IS
    PORT(
        d        : IN BIT_VECTOR(11 DOWNTO 0);
        clk        : IN BIT;
        q        : OUT BIT_VECTOR(11 DOWNTO 0));
END reg12;

ARCHITECTURE a OF reg12 IS
BEGIN
    PROCESS
    BEGIN
        WAIT UNTIL clk = '1';
        q <= d;
    END PROCESS;
END a;

VerilogHDL簡介

   任何新生事物的產(chǎn)生都有它的歷史沿革,,早期的硬件描述語言是以一種高級(jí)語言為基礎(chǔ),加上一些特殊的約定而產(chǎn)生的,,目的是為了實(shí)現(xiàn)RTL級(jí)仿真,,用以驗(yàn)證設(shè)計(jì)的正確性,而不必像在傳統(tǒng)的手工設(shè)計(jì)過程中那樣,,必須等到完成樣機(jī)后才能進(jìn)行實(shí)測和調(diào)試,。

    Verilog HDL就是在用用最廣泛的C語言的基礎(chǔ)上發(fā)展起來的一種件描述語言,它是由GDA(Gateway Design Automation)公司的PhilMoorby在1983年末首創(chuàng)的,,最初只設(shè)計(jì)了一個(gè)仿真與驗(yàn)證工具,,之后又陸續(xù)開發(fā)了相關(guān)的故障模擬與時(shí)序分析工具。1985年Moorby推出它的第三個(gè)商用仿真器Verilog-XL,獲得了巨大的成功,,從而使得Verilog HDL迅速得到推廣應(yīng)用,。1989年CADENCE公司收購了GDA公司,使得VerilogHDL成為了該公司的獨(dú)家專利,。1990年CADENCE公司公開發(fā)表了Verilog HDL,并成立LVI組織以促進(jìn)Verilog HDL成為IEEE標(biāo)準(zhǔn),,即IEEE Standard 1364-1995.

    Verilog HDL的最大特點(diǎn)就是易學(xué)易用,如果有C語言的編程經(jīng)驗(yàn),,可以在一個(gè)較短的時(shí)間內(nèi)很快的學(xué)習(xí)和掌握,,因而可以把Verilog HDL內(nèi)容安排在與ASIC設(shè)計(jì)等相關(guān)課程內(nèi)部進(jìn)行講授,由于HDL語言本身是專門面向硬件與系統(tǒng)設(shè)計(jì)的,這樣的安排可以使學(xué)習(xí)者同時(shí)獲得設(shè)計(jì)實(shí)際電路的經(jīng)驗(yàn),。與之相比,,VHDL的學(xué)習(xí)要困難一些。但Verilog HDL較自由的語法,,也容易造成初學(xué)者犯一些錯(cuò)誤,,這一點(diǎn)要注意。

一個(gè)簡單的VerilogHDL的例子:(12位寄存器)
// Verilog Example
// User-Defined Macrofunction

module reg12 ( d, clk, q);

`define size 11

input [`size:0]d;
input clk;
output [`size:0]q;

reg [`size:0]q;

always @(posedge clk)
q = d;

endmodule

其他VDL語言簡介:

 ABEL-HDL

這是一種早期的硬件描述語言,。在可編程邏輯器件的設(shè)計(jì)中,,可方便準(zhǔn)確的描述所設(shè)計(jì)的電路邏輯功能。他支持邏輯電路的多種表達(dá)形式,,其中包括邏輯方程,,真值表和狀態(tài)圖。ABEL語言和Verilog語言同屬一種描述級(jí)別,,但ABEL語言的特性受支持的程度遠(yuǎn)遠(yuǎn)不如 Verilog,。 Verilog是從集成電路設(shè)計(jì)中發(fā)展而來,語言較為成熟,,支持的EDA工具很多,。而ABEL語言從早期可編程邏輯器件(PLD)的設(shè)計(jì)中發(fā)展而來。ABEL-HDL被廣泛用于各種可編程邏輯器件的邏輯功能設(shè)計(jì),,由于其語言描述的獨(dú)立性,,因而適用于各種不同規(guī)模的可編程器的設(shè)計(jì)。如DOS版的ABEL3.0軟件可對包括GAL期間進(jìn)行全方位的邏輯描述和設(shè)計(jì),,而在諸如Lattice的ispEXPERT,DATAIO的Synario,Vantis的Design-Direct,Xilinx的FOUNDATION和WEBPACK等EDA軟件中,,ABEL-HDL同樣可用于較大規(guī)模的FPGA/CPLD器件功能設(shè)計(jì)。ABEL-HDL還能對所設(shè)計(jì)的邏輯系統(tǒng)進(jìn)行功能仿真,。ABEL-HDL的設(shè)計(jì)也能通過標(biāo)準(zhǔn)格式設(shè)計(jì)轉(zhuǎn)換文件轉(zhuǎn)換成其他設(shè)計(jì)環(huán)境,,如VHDL.Verilog-HDL等。從長遠(yuǎn)來看,,VHDL和VerilogHDL的運(yùn)用會(huì)比ABEL-HDL多的多,,ABEL-HDL只會(huì)在較小的范圍內(nèi)繼續(xù)存在

   AHDL

(Altera HHDL) 是ALTERA公司發(fā)明的HDL,特點(diǎn)是非常易學(xué)易用,學(xué)過高級(jí)語言的人可以在很短的時(shí)間(如幾周)內(nèi)掌握AHDL,。它的缺點(diǎn)是移植性不好,,通常只用于ALTERA自己的開發(fā)系統(tǒng)。

一個(gè)簡單的AHDL的例子(七段LED譯碼器):

SUBDESIGN 7segment
(
    i[3..0]                     : INPUT;
    a, b, c, d, e, f, g    : OUTPUT;
)
BEGIN
    TABLE
        i[3..0]    =>     a, b, c, d, e, f, g;

        H"0"         =>    1, 1, 1, 1, 1, 1, 0;
        H"1"         =>    0, 1, 1, 0, 0, 0, 0;
        H"2"         =>    1, 1, 0, 1, 1, 0, 1;
        H"3"         =>    1, 1, 1, 1, 0, 0, 1;
        H"4"         =>    0, 1, 1, 0, 0, 1, 1;
        H"5"         =>    1, 0, 1, 1, 0, 1, 1;
        H"6"         =>    1, 0, 1, 1, 1, 1, 1;
        H"7"         =>    1, 1, 1, 0, 0, 0, 0;
        H"8"         =>    1, 1, 1, 1, 1, 1, 1;
        H"9"         =>    1, 1, 1, 1, 0, 1, 1;
        H"A"         =>    1, 1, 1, 0, 1, 1, 1;
        H"B"         =>    0, 0, 1, 1, 1, 1, 1;
        H"C"         =>    1, 0, 0, 1, 1, 1, 0;
        H"D"         =>    0, 1, 1, 1, 1, 0, 1;
        H"E"         =>    1, 0, 0, 1, 1, 1, 1;
        H"F"         =>    1, 0, 0, 0, 1, 1, 1;
    END TABLE;
END;


選擇VHDL還是verilog HDL,?

這是一個(gè)初學(xué)者最常見的問題,。其實(shí)兩種語言的差別并不大,,他們的描述能力也是類似的,。掌握其中一種語言以后,可以通過短期的學(xué)習(xí),,較快的學(xué)會(huì)另一種語言,。 選擇何種語言主要還是看周圍人群的使用習(xí)慣,,這樣可以方便日后的學(xué)習(xí)交流。 當(dāng)然,,如果您是集成電路(ASIC)設(shè)計(jì)人員,,則必須首先掌握verilog,因?yàn)樵贗C設(shè)計(jì)領(lǐng)域,,90%以上的公司都是采用verilog進(jìn)行IC設(shè)計(jì),。對于PLD/FPGA設(shè)計(jì)者而言,兩種語言可以自由選擇,。

 

學(xué)習(xí)HDL的幾點(diǎn)重要提示

1.了解HDL的可綜合性問題:

HDL有兩種用途:系統(tǒng)仿真和硬件實(shí)現(xiàn),。 如果程序只用于仿真,那么幾乎所有的語法和編程方法都可以使用,。 但如果我們的程序是用于硬件實(shí)現(xiàn)(例如:用于FPGA設(shè)計(jì)),,那么我們就必須保證程序“可綜合”(程序的功能可以用硬件電路實(shí)現(xiàn))。 不可綜合的HDL語句在軟件綜合時(shí)將被忽略或者報(bào)錯(cuò),。 我們應(yīng)當(dāng)牢記一點(diǎn):“所有的HDL描述都可以用于仿真,,但不是所有的HDL描述都能用硬件實(shí)現(xiàn)。”

2. 用硬件電路設(shè)計(jì)思想來編寫HDL:

學(xué)好HDL的關(guān)鍵是充分理解HDL語句和硬件電路的關(guān)系,。 編寫HDL,,就是在描述一個(gè)電路,我們寫完一段程序以后,,應(yīng)當(dāng)對生成的電路有一些大體上的了解,, 而不能用純軟件的設(shè)計(jì)思路來編寫硬件描述語言。 要做到這一點(diǎn),,需要我們多實(shí)踐,,多思考,多總結(jié),。

3.語法掌握貴在精,,不在多

30%的基本HDL語句就可以完成95%以上的電路設(shè)計(jì),很多生僻的語句并不能被所有的綜合軟件所支持,,在程序移植或者更換軟件平臺(tái)時(shí),,容易產(chǎn)生兼容性問題,也不利于其他人閱讀和修改,。建議多用心鉆研常用語句,,理解這些語句的硬件含義,這比多掌握幾個(gè)新語法要有用的多,。

 

HDL與原理圖輸入法的關(guān)系

  HDL和傳統(tǒng)的原理圖輸入方法的關(guān)系就好比是高級(jí)語言和匯編語言的關(guān)系,。HDL的可移植性好,使用方便,但效率不如原理圖,;原理圖輸入的可控性好,,效率高,比較直觀,,但設(shè)計(jì)大規(guī)模CPLD/FPGA時(shí)顯得很煩瑣,,移植性差。在真正的PLD/FPGA設(shè)計(jì)中,,通常建議采用原理圖和HDL結(jié)合的方法來設(shè)計(jì),,適合用原理圖的地方就用原理圖,適合用HDL的地方就用HDL,,并沒有強(qiáng)制的規(guī)定,。在最短的時(shí)間內(nèi),用自己最熟悉的工具設(shè)計(jì)出高效,,穩(wěn)定,,符合設(shè)計(jì)要求的電路才是我們的最終目的。

 

HDL開發(fā)流程

VHDL/VerilogHD語言開發(fā)PLD/FPGA的完整流程為:

1.文本編輯:用任何文本編輯器都可以進(jìn)行,,也可以用專用的HDL編輯環(huán)境,。通常VHDL文件保存為.vhd文件,Verilog文件保存為.v文件

2.功能仿真:將文件調(diào)入HDL仿真軟件進(jìn)行功能仿真,,檢查邏輯功能是否正確(也叫前仿真,,對簡單的設(shè)計(jì)可以跳過這一步,只在布線完成以后,,進(jìn)行時(shí)序仿真)

3.邏輯綜合:將源文件調(diào)入邏輯綜合軟件進(jìn)行綜合,,即把語言綜合成最簡的布爾表達(dá)式和信號(hào)的連接關(guān)系。邏輯綜合軟件會(huì)生成.edf(edif)的EDA工業(yè)標(biāo)準(zhǔn)文件,。

4.布局布線:將.edf文件調(diào)入PLD廠家提供的軟件中進(jìn)行布線,,即把設(shè)計(jì)好的邏輯安放到PLD/FPGA內(nèi)

5.時(shí)序仿真:需要利用在布局布線中獲得的精確參數(shù),用仿真軟件驗(yàn)證電路的時(shí)序,。(也叫后仿真)

6.編程下載:確認(rèn)仿真無誤后,,將文件下載到芯片中

通常以上過程可以都在PLD/FPGA廠家提供的開發(fā)工具(如MAXPLUSII,F(xiàn)oundation,,ISE)中完成,,但許多集成的PLD開發(fā)軟件只支持VHDL/Verilog的子集,可能造成少數(shù)語法不能編譯,,如果采用專用HDL工具分開執(zhí)行,,效果會(huì)更好,否則這么多出售專用HDL開發(fā)工具的公司就沒有存在的理由了,。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多