PLD/FPGA硬件語言設(shè)計verilog HDL概述
出處:*冬冬* 發(fā)布于:2011-09-01 21:15:59
HDL概述
PLD能完成任何數(shù)字器件的功能,上至高性能CPU,下至簡單的74電路,都可以用PLD來實現(xiàn)。PLD如同一張白紙或是一堆積木,工程師可以通過傳統(tǒng)的原理圖輸入法,或是硬件描述語言自由的設(shè)計一個數(shù)字系統(tǒng)。通過軟件仿真,我們可以事先驗證設(shè)計的正確性。在PCB完成以后,還可以利用PLD的在線修改能力,隨時修改設(shè)計而不必改動硬件電路。使用PLD來開發(fā)數(shù)字電路,可以大大縮短設(shè)計時間,減少PCB面積,提高系統(tǒng)的可靠性。FPGA是現(xiàn)場可編程門陣列(Field Programable Gate Array)的簡稱,兩者的功能基本相同,只是實現(xiàn)原理略有不同,所以我們有時可以忽略這兩者的區(qū)別,統(tǒng)稱為可編程邏輯器件或PLD/FPGA.
隨著EDA技術(shù)的發(fā)展,使用硬件語言設(shè)計PLD/FPGA成為一種趨勢。目前主要的硬件描述語言是VHDL和Verilog HDL. VHDL發(fā)展的較早,語法嚴格,而Verilog HDL是在C語言的基礎(chǔ)上發(fā)展起來的一種硬件描述語言,語法較自由。 VHDL和Verilog HDL兩者相比,VHDL的書寫規(guī)則比Verilog煩瑣一些,但verilog自由的語法也容易讓少數(shù)初學(xué)者出錯。 國外電子很多會在本科階段教授VHDL,在研究生階段教授verilog.從國內(nèi)來看,VHDL的參考書很多,便于查找資料,而Verilog HDL的參考書相對較少,這給學(xué)習(xí)Verilog HDL帶來一些困難。據(jù)調(diào)查在我國使用Verilog HDL的公司比使用VHDL的公司多。從EDA技術(shù)的發(fā)展上看,已出現(xiàn)用于CPLD/FPGA設(shè)計的硬件C語言編譯軟件,雖然還不成熟,應(yīng)用極少,但它有可能會成為繼VHDL和Verilog之后,設(shè)計大規(guī)模CPLD/FPGA的又一種手段。
選擇VHDL或者verilog HDL還是System Verilog?
VHDL全名Very-High-Speed Integrated Circuit HardwareDescription Language,誕生于1982年。1987年底,VHDL被IEEE和美國國防部確認為標(biāo)準硬件描述語言 .自IEEE-1076(簡稱87版)之后,各EDA公司相繼推出自己的VHDL設(shè)計環(huán)境,或宣布自己的設(shè)計工具可以和VHDL接口。1993年,IEEE對VHDL進行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴展VHDL的內(nèi)容,公布了新版本的VHDL,即IEEE標(biāo)準的1076-1993版本,簡稱93版。VHDL和Verilog作為IEEE的工業(yè)標(biāo)準硬件描述語言,得到眾多EDA公司支持,在電子工程領(lǐng)域,已成為事實上的通用硬件描述語言。
這是一個初學(xué)者常見的問題。其實這三種語言的差別并不大,他們的描述能力也是類似的。掌握其中一種語言以后,可以通過短期的學(xué)習(xí),較快的學(xué)會另一種語言,掌握了verilog HDL學(xué)System Verilog則更是簡單。選擇何種語言主要還是看周圍人群的使用習(xí)慣,這樣可以方便日后的學(xué)習(xí)交流。 當(dāng)然,如果您是集成電路(ASIC)設(shè)計人員,則必須首先掌握verilog,因為在IC設(shè)計領(lǐng)域,90%以上的公司都是采用verilog進行IC設(shè)計。對于PLD/FPGA設(shè)計者而言,三種語言可以自由選擇。如果你熟悉C語言,則建議你學(xué)習(xí)verilog HDL,你會發(fā)現(xiàn)verilog HDL的許多語法和關(guān)鍵字和C語言中的相同,使你能夠很快突破語言障礙,快速入門。
學(xué)習(xí)HDL的幾點重要提示
HDL(Hardware Description Language),是硬件描述語言。顧名思義,硬件描述語言就是指對硬件電路進行行為描述、寄存器傳輸描述或者結(jié)構(gòu)化描述的一種新興語言。HDL文本輸入 硬件描述語言是用文本的形式描述硬件電路的功能,信號連接關(guān)系以及時序關(guān)系。它雖然沒有圖形輸入那么直觀,但功能更強,可以進行大規(guī)模,多個芯片的數(shù)字系統(tǒng)的設(shè)計。常用的HDL有ABEL,VHDL和Verilog HDL等。
1.了解HDL的可綜合性問題:
HDL有兩種用途:系統(tǒng)仿真和硬件實現(xiàn)。 如果程序只用于仿真,那么幾乎所有的語法和編程方法都可以使用。 但如果我們的程序是用于硬件實現(xiàn)(例如:用于FPGA設(shè)計),那么我們就必須保證程序"可綜合"(程序的功能可以用硬件電路實現(xiàn))。 不可綜合的HDL語句在軟件綜合時將被忽略或者報錯。 我們應(yīng)當(dāng)牢記一點: "所有的HDL描述都可以用于仿真,但不是所有的HDL描述都能用硬件實現(xiàn)。"
2. 用硬件電路設(shè)計思想來編寫HDL:
學(xué)好HDL的關(guān)鍵是充分理解HDL語句和硬件電路的關(guān)系。 編寫HDL,就是在描述一個電路,我們寫完一段程序以后,應(yīng)當(dāng)對生成的電路有一些大體上的了解, 而不能用純軟件的設(shè)計思路來編寫硬件描述語言。 要做到這一點,需要我們多實踐,多思考,多總結(jié)。
3.語法掌握貴在精,不在多
20%的基本HDL語句就可以完成80%以上的電路設(shè)計,30%的基本HDL語句就可以完成95%以上的電路設(shè)計,很多生僻的語句并不能被所有的綜合軟件所支持,在程序移植或者更換軟件平臺時,容易產(chǎn)生兼容性問題,也不利于其他人閱讀和修改。建議多用心鉆研常用語句,理解這些語句的硬件含義,這比多掌握幾個新語法要有用的多。
HDL與原理圖輸入法的關(guān)系
HDL和傳統(tǒng)的原理圖輸入方法的關(guān)系就好比是語言和匯編語言的關(guān)系。HDL的可移植性好,使用方便,但效率不如原理圖;原理圖輸入的可控性好,效率高,比較直觀,但設(shè)計大規(guī)模CPLD/FPGA時顯得很煩瑣,移植性差。在真正的PLD/FPGA設(shè)計中,通常建議采用原理圖和HDL結(jié)合的方法來設(shè)計,適合用原理圖的地方就用原理圖,適合用HDL的地方就用HDL,并沒有強制的規(guī)定。在短的時間內(nèi),用自己熟悉的工具設(shè)計出高效,穩(wěn)定,符合設(shè)計要求的電路才是我們的終目的。
HDL開發(fā)流程
用VHDL/VerilogHD語言開發(fā)PLD/FPGA的完整流程為:
1.文本編輯:用任何文本編輯器都可以進行,也可以用專用的HDL編輯環(huán)境。通常VHDL文件保存為。vhd文件,Verilog文件保存為。v文件
2.功能仿真:將文件調(diào)入HDL仿真軟件進行功能仿真,檢查邏輯功能是否正確(也叫前仿真,對簡單的設(shè)計可以跳過這一步,只在布線完成以后,進行時序仿真)
3.邏輯綜合:將源文件調(diào)入邏輯綜合軟件進行綜合,即把語言綜合成簡的布爾表達式和信號的連接關(guān)系。邏輯綜合軟件會生成。edf(edif)的EDA工業(yè)標(biāo)準文件。
4.布局布線:將。edf文件調(diào)入PLD廠家提供的軟件中進行布線,即把設(shè)計好的邏輯安放到PLD/FPGA內(nèi)
5.時序仿真:需要利用在布局布線中獲得的參數(shù),用仿真軟件驗證電路的時序。(也叫后仿真)
6.編程:確認仿真無誤后,將文件到芯片中
通常以上過程可以都在PLD/FPGA廠家提供的開發(fā)工具(如QuartusII,ISP,ISE)中完成,但許多集成的PLD開發(fā)軟件只支持VHDL /Verilog的子集,可能造成少數(shù)語法不能編譯,如果采用專用HDL工具分開執(zhí)行,效果會更好,否則這么多出售專用HDL開發(fā)工具的公司就沒有存在的理由了。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開發(fā)實踐指南2026/1/6 10:40:19
- 嵌入式實時操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計實踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識2025/7/14 16:59:04









