孫仲霖 哲婷 齊斌
摘 要:現(xiàn)場可編程門陣列是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn),F(xiàn)PGA正是憑借著這些其他可編程器件所不具備的優(yōu)點(diǎn)使得它在近幾年的電子行業(yè)發(fā)展極快。
關(guān)鍵詞:FPGA;VHDL;開發(fā)軟件;邏輯門
1 FPGA的產(chǎn)生
無論是正在學(xué)習(xí)電子行業(yè)的學(xué)生還是工作在電子行業(yè)的工程師們,可能都會或多或少的聽說過現(xiàn)場可編程門陣列(Field Programble Gate Array)即FPGA。它憑借著可以完全由用戶通過軟件進(jìn)行編程和配置實(shí)現(xiàn)特定的邏輯功能的優(yōu)點(diǎn)迅速霸占了很大份額的嵌入式和微處理器市場。20世紀(jì)70年代FPGA剛剛興起時只有可編程只讀存儲器(PROM)、紫外線可擦除只讀存儲器(EPROM)和點(diǎn)可擦除只讀存儲器(E2PROM)3種,而進(jìn)入90年代以后,可編程邏輯器件(PLD)成為了半導(dǎo)體領(lǐng)域中迅速崛起的電子新星。
2 FPGA的現(xiàn)狀
目前很多公司開發(fā)出了很多種的FPGA,有XILINX公司的Spartan、Vertex系列、ALTERA公司的FIEX系列、Actel公司的ProASIC系列以及TI公司的TPC系列等等。FPGA的使用非常靈活,目前大部分的FPGA在使用時都需要外接一個EPROM保存用戶燒寫的程序,加電時,F(xiàn)PGA芯片將EPROM中的數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進(jìn)入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成沒有程序的白片,增加了程序的安全性防止被剽竊程序的同時也使得FPGA能夠反復(fù)使用。目前FPGA的設(shè)計(jì)技術(shù)是電子系統(tǒng)設(shè)計(jì)領(lǐng)域發(fā)展最快的也是最前沿的技術(shù)之一,隨著超大規(guī)模集成電路(Very Large Scale IC)工藝的不斷提高,單一芯片內(nèi)部可以容納上千萬個晶體管,使得FPGA芯片的規(guī)模也越來越大,其單片邏輯門數(shù)已達(dá)到上千萬門,使得它能實(shí)現(xiàn)的功能也越來越強(qiáng)。絕大多數(shù)的FPGA芯片在出廠之前就做過百分之百的測試,不需要設(shè)計(jì)人員承擔(dān)投片風(fēng)險和費(fèi)用,設(shè)計(jì)人員只需通過相關(guān)的軟硬件環(huán)境來完成芯片的最終設(shè)計(jì)即可,而且FPGA的資金投入不高且運(yùn)算速度也是同種類電子產(chǎn)品中相當(dāng)一流的
3 VHDL
說到了FPGA的開發(fā)就不得不說到它的開發(fā)語言:超高速硬件描述語言(Very High-speed Desciption Language)主要用于從算法級、門級到開關(guān)級的多種抽象設(shè)計(jì)層次的數(shù)字系統(tǒng)建模。它誕生于1982年,1987年底,VHDL被電氣與電子工程師協(xié)會(Institute of Electrical and Electronic Engineers)和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言。自IEEE公布了VHDL的標(biāo)準(zhǔn)版本IEEE-1076之后,各EDA公司相繼推出了自己的VHDL設(shè)計(jì)環(huán)境或宣布自己的工具可提供VHDL接口。以后VHDL在電子系統(tǒng)設(shè)計(jì)領(lǐng)域逐步取代了原有的各種非標(biāo)準(zhǔn)的硬件描述語言。現(xiàn)在,VHDL在電子系統(tǒng)設(shè)計(jì)領(lǐng)域已成為事實(shí)上的通用硬件描述語言。與其他的硬件描述語言相比,VHDL具有更強(qiáng)的行為描述能力,并且可以避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)。其豐富的仿真語句和庫函數(shù)使得在任何系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時可以對設(shè)計(jì)進(jìn)行仿真模擬而降低開發(fā)成本。而且它具有支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能。VHDL對設(shè)計(jì)的描述具有相對獨(dú)立性,設(shè)計(jì)者們可以不懂硬件的結(jié)構(gòu)也不必對最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件有很深入的了解。
4 與FPGA開發(fā)相關(guān)的軟件
4.1 ISE
ISE是由著名的可編程器件開發(fā)商Xilinx公司提供的集成化FPGA開發(fā)軟件,它的主要功能包括設(shè)計(jì)輸入、綜合、仿真、實(shí)現(xiàn)和下載等。它具有界面友好、操作簡單、功能全面等優(yōu)點(diǎn),再加上Xilinx的FPGA芯片占有很大的市場份額,使得它成為通用的FPGA工具軟件。ISE提供了包括代碼編寫、庫管理以及HDL綜合、仿真、下載等幾乎所有FPGA開發(fā)所需的常用功能。關(guān)于仿真需要說明的是,雖然ISE的測試平臺編輯工具提供了一個簡單的仿真功能,還必須安裝一個叫作ModekSim的仿真軟件。使用ISE進(jìn)行開發(fā)的流程有設(shè)計(jì)輸入與仿真、用戶約束條件和實(shí)現(xiàn)、硬件編程。設(shè)計(jì)輸入(Design Entry)是指以HDL代碼、原理圖、波形圖以及狀態(tài)機(jī)的形式輸入設(shè)計(jì)源文件,而設(shè)計(jì)仿真(Simulation)是指通過仿真工具對設(shè)計(jì)的整體模塊或者局部模塊進(jìn)行仿真來校驗(yàn)設(shè)計(jì)的功能和性能。用戶約束條件和實(shí)現(xiàn)是對綜合事項(xiàng)過程進(jìn)行控制,以滿足速度、面積、引腳位置等需求。硬件編程是指生成編程位流文件.bit并且將其下載到FPGA芯片內(nèi)部的過程。
4.2 Quartus II
Aletera Quartus II設(shè)計(jì)軟件提供完整的多平臺設(shè)計(jì)環(huán)境,能夠直接滿足特定設(shè)計(jì)需要,為可編程芯片系統(tǒng)(SOPC)提供全面的設(shè)計(jì)環(huán)境,Quartus II軟件含有FPGA設(shè)計(jì)的所有階段的解決方案。Quartus II的設(shè)計(jì)流程包含設(shè)計(jì)入口、綜合、布局布線、時序分析、仿真、編程、系統(tǒng)級設(shè)計(jì)、軟件開發(fā)、基于塊的設(shè)計(jì)、EDA接口、定時終止、調(diào)試和工程改變管理。此外,Quartus II軟件為設(shè)計(jì)流程的每個階段提供Quartus II圖形用戶界面、EDA工具界面和命令界面。可以在整個流程中只使用這些界面中的一個,也可以在設(shè)計(jì)流程的不同階段使用不同的界面。Quartus II軟件包括一個模塊化編譯器。編譯器包括以下模塊:分析和綜合、適配器等。如果要將所有的編譯器模塊作為完整變異的一部分來運(yùn)行,在軟件的菜單中可以實(shí)現(xiàn)這一功能。
4.3 NIOS II IDE
Nios II集成開發(fā)環(huán)境(IDE)是Nios II系列嵌入式處理器的基本軟件開發(fā)工具。所有電子類軟件開發(fā)的任務(wù)都可以利用Nios II IDE來完成,包括編輯、編譯和調(diào)試程序。Nios II IDE為官大工程師科學(xué)家們提供了一個統(tǒng)一的開發(fā)平臺,可以用于所有的Nios II處理器系統(tǒng)。僅通過一臺PC機(jī)、一片F(xiàn)PGA以及一根JTAG下載電纜就能夠往Nios II 處理器系統(tǒng)寫入程序或者和Nios II處理器系統(tǒng)通訊。Nios II IDE是開放式的、可擴(kuò)展Eclipse IDE project工程以及Eclipse C/C++開發(fā)工具工程等。
參考文獻(xiàn):
[1] 劉韜,樓興華. FPGA數(shù)字電子系統(tǒng)設(shè)計(jì)與開發(fā)實(shí)例導(dǎo)航[M].人民郵電出版社,2005.
作者簡介:孫仲霖(1995—),女,吉林柳河人,沈陽理工大學(xué)。
哲婷(1997—),女,遼寧錦州人,沈陽理工大學(xué)。
齊斌(1994—),男,遼寧盤錦人,沈陽理工大學(xué)。