平板定制方案在進行FPGA和CPLD開發(fā)設(shè)計時,通??梢圆捎肣uartus II、ISE等開發(fā)工具軟件,但針對不同的廠商生產(chǎn)的可編程邏輯芯片,需要選擇不同的開發(fā)工具軟件。例如,如果是Altera公司的可編程邏輯芯片,通常采用Quartus開發(fā)工具軟件;如果是Xilinx公司的可編程邏輯芯片,通常采用ISE開發(fā)工具軟件。
1.平板定制方案Quartus II開發(fā)工具軟件簡介
(1)平板定制方案Quartus II 概述。Quartus II 是著名可編程器件供應(yīng)商 Altera 公司推出一款綜合性PLD/FPGA開發(fā)軟件。Quartus II在21世紀初推出,是Altera前一代FPGA/CPLD集成開發(fā)環(huán)境MAX+plus II的更新?lián)Q代產(chǎn)品,其界面友好,使用便捷。Quartus II 內(nèi)置強大的綜合器和仿真器,支持原理圖、VHDL、Verilog HDL及AHDL等多種設(shè)計文件的輸入,可輕松完成從設(shè)計輸入到硬件配置的整個PLD設(shè)計流程。Quartus II具有運行速度快、界面統(tǒng)一、功能集中、易學易用等特點,完美支持Windows XP、Linux及UNIX等操作系統(tǒng),其強大的設(shè)計能力和直觀易用的接口,受到越來越多的數(shù)字系統(tǒng)設(shè)計者的歡迎。
Quartus II 提供了完整的多平臺設(shè)計環(huán)境,能滿足各種特定設(shè)計的需要,也是單芯片可編程系統(tǒng)(SOPC)設(shè)計的綜合性環(huán)境和SOPC開發(fā)的基本設(shè)計工具,并為Altera DSP開發(fā)包進行系統(tǒng)模型設(shè)計提供了集成綜合環(huán)境。
Quartus II設(shè)計工具完全支持VHDL、Verilog的設(shè)計流程,其內(nèi)部嵌有VHDL、Verilog邏輯綜合器。Quartus II也可以利用第三方的綜合工具,如Leonardo Spectrum、Synplify Pro、FPGA Complier II,并能直接調(diào)用這些工具。同樣,Quartus II具備仿真功能,同時也支持第三方的仿真工具,如ModelSim。此外,Quartus II與MATLAB和DSP Builder結(jié)合,可以進行基于FPGA的DSP系統(tǒng)開發(fā),是DSP硬件系統(tǒng)實現(xiàn)的關(guān)鍵EDA工具。
(2)平板定制方案內(nèi)部結(jié)構(gòu)。Quartus II 包括模塊化的編譯器。編譯器的功能模塊包括分析/綜合器(Analysis &Synthesis)、適配器(Filter)、裝配器(Assembler)、時序分析器(Timing Analyzer)、設(shè)計輔助模塊(Design Assistant)、EDA網(wǎng)絡(luò)表文件生成器(EDA Netlist Writer)和編輯數(shù)據(jù)接口(Complier Database Interface)等,可以通過選擇Start Complication來運行所有的編譯器模塊,也可以通過選擇Start單獨運行各個模塊,還可以通過選擇Complier Tool(Tools 菜單),在Complier Tool 窗口中運行該模塊來啟動編輯器模塊。在Complier Tool 窗口中,可以打開該模塊的設(shè)置文件或報告文件,或打開其他相關(guān)窗口。
此外,Quartus II還包含許多十分有用的LPM(Library of Parameterized Modules)模塊,它們是復雜或高級系統(tǒng)構(gòu)建的重要組成部分,在SOPC設(shè)計中被大量使用,也可在Quartus II普通設(shè)計文件一起使用。Altera提供的LPM函數(shù)均基于Altera器件的結(jié)構(gòu)做了優(yōu)化設(shè)計。在許多實用情況中,必須使用宏功能模塊才可以使用一些Altera特定器件的硬件功能。例如,各類芯片的存儲器、DSP模塊、LVDS驅(qū)動器、PLL、SERDES和DDIO電路模塊等。
(3)平板定制方案主要設(shè)計流程。Quartus II自動設(shè)計的各主要處理環(huán)節(jié)和設(shè)計流程如圖1所示,圖中上排是Quartus II編譯設(shè)計主控界面,它顯示了Quartus II自動設(shè)計的各主要處理環(huán)節(jié)和設(shè)計流程,包括設(shè)計輸入編輯、分析與綜合、適配器、編程文件匯編(裝配)、時序參數(shù)提取及編程器幾個步驟;圖中下排的流程框圖,是與上面的Quartus II設(shè)計流程相對照的標準的EDA開發(fā)流程。
圖1Quartus II自動設(shè)計的各主要環(huán)節(jié)和設(shè)計流程
平板定制方案Quartus II編譯器支持的硬件描述語言有VHDL(支持VHDL 87及VHDL 97標準)、Verilog HDL及AHDL(Altera HDL)。AHDL是Altera公司自己設(shè)計、制定的硬件描述語言,是一種以結(jié)構(gòu)描述方式為主的硬件描述語言,只有企業(yè)標準。Quartus II 允許來自第三方的EDIF文件輸入并提供了很多EDA軟件的接口。Quartus II支持層次化設(shè)計,可以在一個新的編輯輸入環(huán)境中對使用不同輸入設(shè)計方式完成的模塊(元件)進行調(diào)用,從而解決原理圖與HDL混合輸入設(shè)計問題。在設(shè)計輸入之后,Quartus II的編譯器將給出設(shè)計輸入的錯誤報告。Quartus II 擁有良好的設(shè)計輸入定位器,可用于確定文本或圖形設(shè)計中的錯誤。對于使用HDL的設(shè)計,可以使用Quartus II帶有的RTL Viewer觀察綜合后的RTL圖,在進行編譯后,可對設(shè)計進行時序仿真。
仿真前,需要利用波形編輯器編輯一個波形激勵文件,用于仿真驗證時的激勵。在編譯和仿真經(jīng)檢測無誤后,便可以將下載信息通過Quartus II提供的編程器下載到目標器件中。
2.平板定制方案ISE開發(fā)工具軟件簡介
Xilinx 是全球領(lǐng)先的可編程邏輯完整解決方案的供應(yīng)商之一,研發(fā)、制造并銷售應(yīng)用范圍廣泛的高級集成電路、軟件設(shè)計工具,以及定義系統(tǒng)一級功能的IP(Intellectual Property)核,長期以來一直推動著可編程器件應(yīng)用技術(shù)的發(fā)展。
(1)平板定制方案ISE開發(fā)工具軟件特點。ISE的全稱為Integrated Software Environment,即集成軟件環(huán)境。ISE軟件是Xilinx公司推出的FPGA/CPLD集成開發(fā)環(huán)境,具有界面友好、操作簡單的特點,再加上Xilinx的可編程邏輯芯片占有很大的市場,使其成為非常通用的開發(fā)工具軟件。ISE作為高效的EDA設(shè)計工具集合,與第三方軟件揚長補短使軟件功能越來越強大,為用戶提供了更加豐富的Xilinx平臺。
ISE 開發(fā)工具軟件可以完成可編程器件開發(fā)的全部流程,包括設(shè)計輸入、仿真、綜合、布局布線、生成bit文件、配置及在線調(diào)試等,功能非常強大。ISE將先進的技術(shù)與靈活性、易使用性的圖形界面結(jié)合在一起,可實現(xiàn)最佳的硬件設(shè)計。
(2)平板定制方案ISE 的功能實現(xiàn)。ISE 是 Xilinx 公司提供的集成化開發(fā)工具軟件,主要工作流程包括設(shè)計輸入、綜合、仿真、硬件編程與實現(xiàn)和下載,涵蓋了FPGA開發(fā)的全過程。從功能上講,其工作流程無須借助任何第三方EDA軟件。
① 設(shè)計輸入。設(shè)計輸入(Design Entry)是指以HDL代碼、原理圖、波形圖及狀態(tài)機的形式輸入設(shè)計源文件。ISE 軟件提供的設(shè)計輸入工具包括用于 HDL 代碼輸入和報告查看的ISE文本編輯器(Text Editor),用于原理圖編輯的工具ECS(Engineering Capture System),用于P CORE的CORE Generator,用于狀態(tài)機設(shè)計的StateCAD,以及用于約束文件編輯的Constraint Editor等。
常用的設(shè)計輸入方法有硬件描述語言(HDL)設(shè)計輸入和原理圖設(shè)計輸入方法。平板定制方案原理圖設(shè)計輸入是一種常用的基本輸入方法,利用元件庫的圖形符號和連接線在 ISE 軟件的圖形編輯器中做出設(shè)計原理圖。ISE中設(shè)置了具有各種電路元件的元件庫,包括各種門電路、觸發(fā)器、鎖存器、計數(shù)器、各種中規(guī)模電路、各種功能較強的宏功能塊等,用戶只要單擊這些器件就能將其調(diào)入圖形編輯器中。這種方法的優(yōu)點是直觀、便于理解、元件庫中資源豐富。但是在大型設(shè)計中,這種方法的可維護性差,不利于模塊建設(shè)與重用。更主要的缺點是:當所選用芯片升級換代后,所有的原理圖都要進行相應(yīng)的改動,故在 ISE 軟件中一般不采用此種方法。
為了克服原理圖輸入方法的缺點,目前在大型工程設(shè)計中,ISE 軟件中常用的設(shè)計方法是HDL設(shè)計輸入法,其中影響最為廣泛的HDL語言是VHDL和Verilog HDL,它們的共同優(yōu)點是利于由頂向下設(shè)計,利于模塊的劃分與復用,可移植性好,通用性強,設(shè)計不因芯片的工藝和結(jié)構(gòu)的變化而變化,更利于向ASIC的移植,故在ISE軟件中推薦使用HDL設(shè)計輸入法。
波形輸入及狀態(tài)機輸入方法是兩種常用的輔助設(shè)計輸入方法,使用波形輸入法時,只要繪制出激勵波形的輸出波形,ISE 軟件就能自動根據(jù)響應(yīng)關(guān)系進行設(shè)計。而使用狀態(tài)機輸入時,只需設(shè)計者畫出狀態(tài)轉(zhuǎn)移圖,ISE軟件就能生成相應(yīng)的HDL代碼或者原理圖,使用十分方便。其中,ISE工具包中的State CAD就能完成狀態(tài)機輸入的功能。但需要注意,這種設(shè)計方法只能在某些特殊情況下緩解設(shè)計者的工作量,并不適合所有的設(shè)計。
② 綜合。綜合(Synthesize)是FPGA設(shè)計流程中的重要環(huán)節(jié),其結(jié)果的優(yōu)劣將直接影響設(shè)計的最終性能。平板定制方案綜合是將行為和功能層次表達的電子系統(tǒng)轉(zhuǎn)化為低層次模塊的組合,一般來說,綜合是針對 VHDL 來說的,即將 VHDL 描述的模型、算法、行為和功能描述轉(zhuǎn)換為FPGA/CPLD基本結(jié)構(gòu)相對應(yīng)的網(wǎng)絡(luò)表文件,即構(gòu)成對應(yīng)的映射關(guān)系。
在Xilinx ISE中,綜合工具主要有Synplicity公司的Synplify/Synplify Pro,Synopsys公司的FPGA Compiler II/Express,Exemplar Logic公司的Leonardo Spectrum,以及Xilinx公司的XST等,它們能將HDL語言、原理圖等設(shè)計輸入翻譯成由與/或/非門、RAM、寄存器等基本邏輯單元組成的邏輯連接(網(wǎng)絡(luò)表),并根據(jù)目標與要求優(yōu)化所形成的邏輯連接,輸出edf和edn等文件,供CPLD/FPGA廠家的布局布線器進行實現(xiàn)。
③ 仿真。仿真(Simulation)是指通過仿真工具對設(shè)計的整體模塊或局部模塊進行仿真來檢驗設(shè)計的功能和性能,ISE本身自帶了圖形化波形編輯功能的仿真工具HDL Bencher,同時又提供了使用Model Technology公司的ModelSim進行仿真的接口。
平板定制方案仿真包含綜合后仿真和功能仿真(Simulation)等,其中功能仿真就是對設(shè)計電路的邏輯功能進行模擬測試,看其是否滿足設(shè)計要求,通常是通過波形圖直觀地顯示輸入信號與輸出信號之間的關(guān)系。綜合后仿真在針對目標器件進行適配之后進行,接近真實器件的特性,能精確給出輸入與輸出之間的信號延時數(shù)據(jù)。
ISE 可結(jié)合第三方軟件進行仿真,常用的工具有 Model Technology 公司的仿真工具ModelSim和測試激勵生成器HDL Bencher,Synopsys公司的VCS等。通過仿真能及時發(fā)現(xiàn)設(shè)計中的錯誤,加快設(shè)計進度,提高設(shè)計的可靠性。每個仿真步驟如果出現(xiàn)問題,就需要根據(jù)錯誤的定位返回到相應(yīng)的步驟更改或者重新設(shè)計。
④ 硬件編程與實現(xiàn)。硬件編程(Programming)是指生成編輯比特流文件,實現(xiàn)(Implementation)是根據(jù)所選芯片的型號將綜合
輸出的邏輯網(wǎng)絡(luò)表適配到具體器件上。Xilinx ISE開發(fā)環(huán)境的實現(xiàn)過程分為翻譯(Translate)、映射(Map)、布局布線(Place Route)3個步驟。需要注意,進行實現(xiàn)步驟之前必須進行約束條件的編輯,否則可能會出錯。另外,還具備時序分析、引腳的指定及增量設(shè)計等高級功能。
ISE 集成的實現(xiàn)工具主要有約束編輯器(Constraints Editor)、引腳與區(qū)域約束編輯器(PACE)、時序分析器(Timing Analyzer)、FPGA底層編輯器(FGPA Editor)、芯片觀察窗(Chip Viewer)和布局規(guī)劃器(Floorplanner)等。
⑤ 下載。下載(Download)是編程(Program)設(shè)計開發(fā)的最后步驟,就是將已經(jīng)仿真實現(xiàn)的程序下載到開發(fā)板上進行在線調(diào)試,或者將生成的配置文件寫入芯片中進行測試。下載功能包括 BitGen,用于將布局布線后的設(shè)計文件轉(zhuǎn)換為比特流(Bitstream)文件。在 ISE中對應(yīng)的工具是iMPACT,用于進行設(shè)備配置和通信,控制將程序燒寫到FPGA芯片中去。
使用ISE進行可編程器件設(shè)計的開發(fā)設(shè)計工具如表1所示。
表1 ISE進行可編程器件設(shè)計的開發(fā)設(shè)計工具表
(3)平板定制方案ISE軟件環(huán)境的使用。Xilinx ISE是一款專業(yè)的電子設(shè)計套件,為設(shè)計流程的每一步都提供了直觀的生產(chǎn)力增強工具,包括設(shè)計輸入、仿真、綜合、布局布線、生成 bit 文件、配置及在線調(diào)試等,功能非常強大。除了功能完整、使用方便,它的設(shè)計性能也非常好,其設(shè)計性能比其他解決方案平均快30%,它集成的時序收斂流程整合了增強性物理綜合優(yōu)化,提供最佳的時鐘布局、更好的封裝和時序收斂映射,從而獲得更高的設(shè)計性能,可以實現(xiàn)最佳的硬件設(shè)計,是FPGA和CPLD必備的設(shè)計工具。