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