官术网_书友最值得收藏!

1.5 FPGA/CPLD的常用開發(fā)工具

本節(jié)主要介紹FPGA/CPLD的一些常用EDA開發(fā)工具。

Quartus Ⅱ中集成的EDA開發(fā)工具可以分為兩類,一類是Altera自己提供的軟件工具,另一類是其他EDA廠商提供的軟件工具,后者統(tǒng)稱為第三方工具。

常用的Altera自帶FPGA/CPLD開發(fā)工具有Text Editor(文本編輯器)、Memory Editor (內(nèi)存編輯器)、Mega Wizard(IP核生成器)、Schematic Editor(原理圖編輯器)、Quartus Ⅱ (內(nèi)嵌綜合工具)、RTL Viewer(寄存器傳輸級視圖觀察器)、Assignment Editor(約束編輯器)、Logic Lock(邏輯鎖定工具)、Power Fit Fitter(布局布線器)、Timing Analyzer(時序分析器)、Floorplan Editor(布局規(guī)劃器)、Chip Editor(底層編輯器)、Design Space Explorer (設(shè)計空間管理器)、Design Assistant(檢查設(shè)計可靠性)、Assembler(編程文件生成工具)、Programmer(下載配置工具)、Power Analyzer(功耗仿真器)、Signal Tap Ⅱ(在線邏輯分析儀)、Signal Probe(信號探針)、Qsys(可編程片上系統(tǒng)設(shè)計環(huán)境)、DSP Builder (內(nèi)嵌DSP設(shè)計環(huán)境)、Software Builder(軟件開發(fā)環(huán)境)。

第三方軟件指專門的EDA工具生產(chǎn)商提供的設(shè)計工具,Quartus Ⅱ集成了與這些設(shè)計工具的友好接口,在Quartus Ⅱ中可以直接調(diào)用這些工具。第三方工具一般需要License授權(quán)方可使用。Quartus Ⅱ中支持的第三方工具接口有Synplify/Synplify Pro綜合工具、Amplify綜合工具、Precision RTL綜合工具、Leonardo Spectrum綜合工具、FPGA Compiler Ⅱ綜合工具、Model Sim(包括SE和AE版本)仿真工具、Verilog-XL仿真工具、NC-Verilog/VHDL仿真工具、Active-HDL仿真工具、VCS/VSS仿真工具、Prime Time靜態(tài)時序分析工具以及板級仿真驗證工具Mentor Tau、Synopsys HSPICE和Innoveda BLAST等。

限于篇幅,本書只能對常用EDA工具加以討論。根據(jù)設(shè)計流程與功能劃分,上述EDA工具主要分為設(shè)計輸入工具、綜合工具、仿真工具、實現(xiàn)與優(yōu)化工具、后端輔助工具、驗證與調(diào)試工具和系統(tǒng)級設(shè)計環(huán)境等7類。

一、設(shè)計輸入工具

設(shè)計輸入是工程設(shè)計的第一步,常用的設(shè)計輸入方法有HDL語言輸入、原理圖輸入、IP Core輸入和其他輸入方法。

? HDL語言輸入。這種設(shè)計輸入方法應(yīng)用最廣泛,目前業(yè)界最流行的HDL語言是Verilog和VHDL語言,幾乎任何文本編輯器都可以完成HDL語言輸入。Quartus Ⅱ內(nèi)嵌的文本編輯器是Text Editor,它能根據(jù)語法來彩色顯示關(guān)鍵字。另外,大家常用的文本編輯器還有Ultra Edit,通過修改Ultra Edit的WORDFILE.TXT也可以支持彩色語法顯示。

? 原理圖設(shè)計輸入方式在早期應(yīng)用廣泛,目前已經(jīng)逐漸被HDL語言輸入方式所取代,僅僅在有些設(shè)計的頂層描述時才會使用,所以本書強烈推薦初學(xué)者盡量采用HDL語言方式設(shè)計電路。Quartus Ⅱ內(nèi)嵌的原理圖編輯器是Schematic Editor。

? IP Core輸入方式是FPGA設(shè)計中的一個重要設(shè)計輸入方式。所謂IP Core,是指已經(jīng)設(shè)計好且受知識產(chǎn)權(quán)保護的標(biāo)準(zhǔn)模塊單元。Quartus Ⅱ的IP Core生成器是Megafunctions/Mega Wizard,它能生成的IP核功能繁多,從簡單的基本設(shè)計模塊到復(fù)雜的處理器等一應(yīng)俱全,適當(dāng)?shù)厥褂?IP Core,能大幅度地減輕工程師的設(shè)計工作量,提高設(shè)計質(zhì)量。

? 其他輔助性設(shè)計輸入方法還有狀態(tài)機輸入、真值表輸入和波形輸入等。比較流行的狀態(tài)機輸入工具是State CAD,設(shè)計者只需畫出狀態(tài)轉(zhuǎn)移圖,狀態(tài)機編輯器就能自動生成相應(yīng)的VHDL、ABEL或Verilog HDL語言模型。并且狀態(tài)機編輯器能生成狀態(tài)轉(zhuǎn)移的測試激勵文件,驗證寄存器傳輸級(RTL)模型,優(yōu)化并分析狀態(tài)機設(shè)計結(jié)果。合理使用狀態(tài)機輸入方式,能在一定程度上緩解設(shè)計者的工作量。使用真值表輸入方法時,用戶在工具中填充設(shè)計對應(yīng)的真值表即可自動生成HDL代碼。波形輸入方法是,用戶畫出輸入的激勵波形和輸出的相應(yīng)波形,波形輸入工具自動生成符合輸入輸出關(guān)系的功能代碼。這些輸入方式目前已經(jīng)逐步被淘汰。

二、綜合工具

主流的綜合工具主要有Synplicity公司的Synplify/Synplify Pro、Synopsys公司的FPGA Compiler Ⅱ/Express、Exemplar Logic公司的Leonardo Spectrum,另外,Quartus Ⅱ還內(nèi)嵌了自己的綜合工具。

? Synplify/Synplify Pro作為新興的綜合工具在綜合策略和優(yōu)化手段上有較大幅度的提高,特別是其先進的Timing Driven(時序驅(qū)動)和BEST(Behavioral Extraction Synthesis Technology,行為級綜合提取技術(shù))算法引擎,使其綜合結(jié)果往往面積較小,速度較快,在業(yè)界口碑很好。如果結(jié)合Synplicity公司的Amplify物理約束功能,對很多設(shè)計能大幅度地減少資源,優(yōu)化面積達到30%以上。

? Synopsys公司的FPGA Express是最早的FPGA/CPLD綜合工具之一。FPGA Express的綜合結(jié)果比較忠實于原設(shè)計,其升級版本FPGA Compiler Ⅱ是最好的ASIC/FPGA設(shè)計工具之一。

? Mentor的子公司Exemplar Logic出品的Leonardo Spectrum也是一款非常流行的綜合工具。它的綜合優(yōu)化能力也非常高,隨著Exemplar Logic與Altera的合作日趨緊密,Leonardo Spectrum對Altera器件的支持也越來越好。

? Quartus Ⅱ內(nèi)嵌綜合工具。雖然Altera設(shè)計綜合軟件的經(jīng)驗還不夠豐富,但只有Altera自己對其芯片的內(nèi)部結(jié)構(gòu)最了解,所以其內(nèi)嵌綜合工具的一些優(yōu)化策略甚至優(yōu)于其他專業(yè)綜合工具。

三、仿真工具

業(yè)界最流行的仿真工具是Mentor公司的Model Sim。另外,Aldec公司的Active-HDL仿真工具也有相當(dāng)廣泛的用戶群。其他如Cadence公司的Verilog-XL和NC-Verilog/VHDL仿真工具,Synopsys公司的VCS/VSS仿真工具等也具備一定的影響力。還有一些小工具和仿真相關(guān),比如測試激勵生成器等。

? Model Sim可以說是業(yè)界最流行的仿真工具之一。其主要特點是仿真速度快,仿真精度高。Model Sim支持VHDL、Verilog HDL及VHDL和Verilog HDL混合編程的仿真。Model Sim的PC版的仿真速度也很快,甚至和工作站版不相上下。

? Active-HDL也是一款比較有特色的仿真工具,其狀態(tài)機分析視圖在調(diào)試狀態(tài)機時非常方便。另外值得一提的是,Aldec公司還開發(fā)了許多比較著名的軟硬件聯(lián)合仿真系統(tǒng)。

? 測試激勵生成器是一種根據(jù)電路設(shè)計輸入,自動生成測試激勵的工具,它可以在一定程度上分擔(dān)工程師書寫測試激勵文件的繁重工作。比較常用的測試激勵生成器是HDL Bencher。

四、實現(xiàn)與優(yōu)化工具

實現(xiàn)與優(yōu)化工具包含的面比較廣。如果能較好地掌握這些工具,將大幅度提高設(shè)計者的水平,使設(shè)計工作更加游刃有余。Quartus Ⅱ集成的實現(xiàn)工具主要有Assignment Editor(約束編輯器)、Logic Lock(邏輯鎖定工具)、Power Fit Fitter(布局布線器)、Timing Analyzer (時序分析器)、Floorplan Editor(布局規(guī)劃器)、Chip Editor(底層編輯器)、Design Space Explorer(設(shè)計空間管理器)和Design Assistant(檢查設(shè)計可靠性)等。

? Assignment Editor是圖形界面的用戶約束輸入工具。約束文件包含時鐘屬性、延時特性、管腳位置、寄存器分組、布局布線要求和特殊屬性等信息,這些信息指導(dǎo)實現(xiàn)過程,是由用戶設(shè)計的決定電路實現(xiàn)的目標(biāo)與標(biāo)準(zhǔn)。設(shè)計約束文件有較高的技巧性,如果約束文件設(shè)計得當(dāng),會幫助Quartus Ⅱ達到用戶的設(shè)計目標(biāo),如果過約束或約束不當(dāng),會影響電路性能。

? Quartus Ⅱ內(nèi)嵌的Logic Lock用以完成模塊化設(shè)計流程,通過劃分每個模塊的設(shè)計區(qū)域,然后單獨設(shè)計和優(yōu)化每個模塊,最后將每個模塊融合到頂層設(shè)計中。模塊化設(shè)計方法是團隊協(xié)作、并行設(shè)計的集中體現(xiàn)。Logic Lock支持模塊化設(shè)計流程、增量設(shè)計流程、團隊設(shè)計流程等設(shè)計方法,合理使用這些方法,能在最大程度上繼承以往設(shè)計成果、并行分工協(xié)作、有效利用開發(fā)資源、縮短開發(fā)周期。

? Power Fit Fitter是Quartus Ⅱ內(nèi)嵌的布局布線器。

? Timing Analyzer是Quartus Ⅱ內(nèi)嵌的STA分析工具,用以定位、分析并改善設(shè)計的關(guān)鍵路徑,從而提高設(shè)計的工作頻率。

? Floorplan Editor用以觀察、規(guī)劃、修改芯片內(nèi)部的實際布局布線情況,是用戶分析設(shè)計結(jié)構(gòu)、指導(dǎo)布局布線的重要工具。

? Chip Editor也是分析、修改芯片內(nèi)部布線情況的重要工具。通過Chip Editor可以觀察芯片時序的關(guān)鍵路徑,將Chip Editor 與Signal Tap Ⅱ 和Signal Probe調(diào)試工具配合使用,可以加快設(shè)計驗證及增量化修改在設(shè)計驗證期間未解決的錯誤。

? Design Space Explorer(縮寫為DSE,即設(shè)計空間管理器)是控制Quartus Ⅱ布局布線的另一種有效方法。DSE對應(yīng)一個名為dse.tcl的Tcl 腳本,可以使用quartus_sh 可執(zhí)行文件從命令行運行它,用以優(yōu)化設(shè)計。DSE 界面能自動試驗一系列的Quartus Ⅱ 選項和設(shè)置,從而確定優(yōu)化設(shè)計的最佳參數(shù)設(shè)置。

? Design Assistant內(nèi)嵌工具用以檢查設(shè)計的可靠性。

五、后端輔助工具

Quartus Ⅱ內(nèi)嵌的后端輔助工具主要有Assembler(編程文件生成工具)、Programmer (下載配置工具)和Power Gauge(功耗仿真器)。

? Assembler是Quartus Ⅱ Compiler的一個內(nèi)嵌工具,用以完成FPGA/CPLD配置文件的生成。

? Programmer是Quartus Ⅱ內(nèi)嵌的下載編程工具,用于對FPGA/CPLD下載配置。

? Power Analyzer是Quartus Ⅱ內(nèi)嵌的功耗仿真器,用以估算設(shè)計的功耗。

六、驗證調(diào)試工具

Quartus Ⅱ內(nèi)嵌的調(diào)試工具有Signal Tap Ⅱ(在線邏輯分析儀)和Signal Probe(信號探針)。常用的板級仿真驗證工具還有Mentor Tau、Synopsys HSPICE 和Innoveda BLAST等。

? Signal Tap Ⅱ (在線邏輯分析儀)和Signal Probe(信號探針)功能配合使用,用以分析器件內(nèi)部節(jié)點和I/O 引腳上的信號。Signal Tap Ⅱ 邏輯分析儀使用內(nèi)嵌的邏輯分析器將信號數(shù)據(jù)通過JTAG 端口送往Signal Tap Ⅱ 邏輯分析器或外部邏輯分析儀或示波器;Signal Probe 采用增量式路由方式,將選定信號送往外部邏輯分析儀或示波器。

? Mentor Tau和Innoveda BLAST板級驗證工具用以分析Quartus Ⅱ生成STAMP模型。

七、系統(tǒng)級設(shè)計環(huán)境

Quartus Ⅱ的系統(tǒng)級設(shè)計環(huán)境主要包括Qsys(可編程片上系統(tǒng)設(shè)計環(huán)境)、DSP Builder (內(nèi)嵌DSP設(shè)計環(huán)境)和Software Builder(軟件開發(fā)環(huán)境)。

? Qsys為用戶提供了一個標(biāo)準(zhǔn)化的系統(tǒng)集成圖形設(shè)計環(huán)境。Altera的Qsys標(biāo)準(zhǔn)結(jié)構(gòu)由CPU、存儲器接口、標(biāo)準(zhǔn)外圍設(shè)備和用戶自定義的外圍設(shè)備等組件組成。Qsys 允許選擇和自定義系統(tǒng)模塊的各個組件和接口。

? DSP Builder是一個圖形化的DSP算法開發(fā)環(huán)境。DSP Builder 允許系統(tǒng)、算法和硬件設(shè)計者共享公共開發(fā)平臺。DSP Builder 是由Altera 提供的一個可選軟件包,且DSP 開發(fā)工具包中也包含它。DSP Builder 可使用Signal Tap 在線邏輯分析儀對系統(tǒng)進行調(diào)試,還可以通過MATLAB/Simulink 接口綜合、編譯和下載設(shè)計,然后執(zhí)行調(diào)試。

? 軟件編譯環(huán)境,目前有兩種CPU可供使用,一種是ARM結(jié)構(gòu)的硬核CPU,嵌入于SOC芯片中(Cyclone V + ARM9)。這種CPU基于ARM的嵌入式設(shè)計套件EDS作為固件開發(fā)和應(yīng)用軟件開發(fā)的平臺。SoC EDS的核心是獨特的Altera版ARM Development Studio 5 ( DS-5?)工具包。這一工具包結(jié)合了ARM DS-5高級多核調(diào)試功能和FPGA自適應(yīng)功能,前所未有的實現(xiàn)了全芯片調(diào)試可視化和控制能力。另一種軟件編譯環(huán)境應(yīng)用于軟核CPU ( Nios Ⅱ ),作為軟核,它可以應(yīng)用于各種FPGA,并可以實現(xiàn)多個。它使用基于eclipse定制的Nios Ⅱ 開發(fā)工具。

主站蜘蛛池模板: 桦南县| 蓝田县| 涞水县| 南汇区| 通州区| 子长县| 小金县| 诸暨市| 新建县| 安阳市| 洛宁县| 汾西县| 高平市| 阿克苏市| 高邮市| 马山县| 土默特右旗| 宣威市| 丽江市| 宿迁市| 永胜县| 临桂县| 黔西县| 镇江市| 阜城县| 赤城县| 舟曲县| 桃园市| 黑龙江省| 扶余县| 海伦市| 平山县| 阿城市| 东山县| 田林县| 始兴县| 独山县| 登封市| 芮城县| 九台市| 乌什县|