多種EDA工具FPGA協(xié)同設(shè)計(jì)方案_第1頁
多種EDA工具FPGA協(xié)同設(shè)計(jì)方案_第2頁
多種EDA工具FPGA協(xié)同設(shè)計(jì)方案_第3頁
多種EDA工具FPGA協(xié)同設(shè)計(jì)方案_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、多種 EDA 工具的 FPGA 協(xié)同設(shè)計(jì)前言FPGA 在電子市場上占有舉足輕重的地位。現(xiàn)在的問題是:現(xiàn)在市場在FPGA 開發(fā)方面的 EDA 工具令人眼花繚亂,各自側(cè)重點(diǎn)不同,性能也不一樣,我們應(yīng)該如何選擇?為了加速FPGA的開發(fā),選擇并協(xié)調(diào)好各種EDA 工具顯得非常重要,本文將探討上述問題并給出一種解決方案。本文以Altera 公司的 FPGA 為目標(biāo)器件,通過開發(fā)實(shí)例介紹FPGA 開發(fā)的完整的流程及開發(fā)過程中使用到的開發(fā)工具,包括QuartusII 、 FPGACompilerII 、Modelsim ,并重點(diǎn)解說如何使用這三個(gè)工具進(jìn)行協(xié)同設(shè)計(jì)。二、 FPGA 的開發(fā)流程及實(shí)例FPGA的開發(fā)

2、分為設(shè)計(jì)輸入、功能仿真、設(shè)計(jì)綜合、前仿真、布局布線、時(shí)序仿真、時(shí)序分析和編程下載幾個(gè)步驟。設(shè)計(jì)流程如圖1 所示。我們的開發(fā)實(shí)例是 “帶順序選擇和奇偶檢驗(yàn)的串并數(shù)據(jù)轉(zhuǎn)換接口 ”。接口電路可以實(shí)現(xiàn)數(shù)據(jù)的串并轉(zhuǎn)換,并根據(jù)控制信號確定輸出的并行數(shù)據(jù)的順序,以及輸出奇偶檢驗(yàn)位。開發(fā)實(shí)例是用來說明FPGA的開發(fā)流程和各種EDA 工具的協(xié)同設(shè)計(jì),因此這里的描述重點(diǎn)并 在 設(shè) 計(jì) 本 身 。 開 發(fā) 實(shí) 例 使 用 的 目 標(biāo) 器 件 是AlteraEPF10K30ETC114-1; 開發(fā) 軟 件 有QuartusII2.0、公 司 FPGAFLEX10KE CompilerII系 列 的3.6和Models

3、im5.6SE。QuartusII 是 Altera公司的第四代可編程邏輯器件集成開發(fā)環(huán)境,提供從設(shè)計(jì)輸入到器件編程的全部功能。QuartusII 可以產(chǎn)生并識別EDIF網(wǎng)表文件、 VHDL網(wǎng)表文件和VerilogHDL 網(wǎng)表文件,為其它EDA 工具提供了方便的接口;可以在QuartusII 集成環(huán)境中自動(dòng)運(yùn)行其它 EDA 工具。 Mentor Graphics 公司的 Modelsim 是業(yè)界較好的仿真工具,其仿真功能強(qiáng)大,且圖形化界面友好,而且具有結(jié)構(gòu)、信號、波形、進(jìn)程、數(shù)據(jù)流等窗口。 FPGA Compiler II 是一個(gè)完善的 FPGA 邏輯分析、綜合和優(yōu)化工具,它從HDL 形式未優(yōu)

4、化的網(wǎng)表中產(chǎn)生優(yōu)化的網(wǎng)表文件,包括分析、綜合和優(yōu)化三個(gè)步驟。如果設(shè)計(jì)的硬件系統(tǒng)不是很大,對綜合和仿真的要求不是很高,我們完全可以在Quartus II中完成設(shè)計(jì)。實(shí)際上,這個(gè)開發(fā)實(shí)例完全可以在Quartus II 這個(gè)集成的開發(fā)環(huán)境中完成。下面,我先介紹一下如何在 Quartus II 中完成設(shè)計(jì),然后再介紹如何利用Quartus II 提供的第三方 EDA工 具 的 接 口 與 其 它 EDA 工 具 ( 包 括 綜 合 工 具 FPGA Compiler II和仿真工具M(jìn)odelSim5.6SE )完成協(xié)同設(shè)計(jì)。1. 基于 Quartus II的 FPGA 的開發(fā)利用 Quartus II

5、 軟件的開發(fā)流程可概括為以下幾步:設(shè)計(jì)輸入、設(shè)計(jì)編譯、設(shè)計(jì)時(shí)序分析、設(shè)計(jì)仿真和器件編程。( 1)設(shè)計(jì)輸入QuartusII 軟件在 File 菜單中提供 “ NewProjectWizard.向”導(dǎo),引導(dǎo)設(shè)計(jì)者完成工程的創(chuàng)建。當(dāng)設(shè)計(jì)者需要向工程中添加新的VHDL文件時(shí),可以通過“New”選項(xiàng)選擇添加。在這里我們創(chuàng)建工程“s_to_p,”編寫 “s_to_p.vhd 文件 ”,并將文件添加到工程中。( 2)設(shè)計(jì)編譯Quartus II 編譯器完成的功能有:檢查設(shè)計(jì)錯(cuò)誤、對邏輯進(jìn)行綜合、提取定時(shí)信息、在指定的 Altera 系列器件中進(jìn)行適配分割,產(chǎn)生的輸出文件將用于設(shè)計(jì)仿真、定時(shí)分析及器件編程。

6、首先確定軟件處于Compile Mode ,可以通過Processing菜單進(jìn)行選擇。在 Processing菜單中選擇CompilerSettings項(xiàng)。在這里可以進(jìn)行器件選擇、模式設(shè)定、綜合和適配選項(xiàng)設(shè)定及設(shè)計(jì)驗(yàn)證等。我們選擇FLEX10KE系列型號為EPF10K30ETC114-1的器件,并選擇在編譯后進(jìn)行時(shí)序分析。單擊 Processing菜單下的 “ Start Compilation 項(xiàng),”開始編譯過程。查看編譯結(jié)果。編譯結(jié)果以樹狀結(jié)構(gòu)組織在 Compilation Report 中,包含工程的設(shè)置信息,以及編譯設(shè)置、編譯效果等信息,同時(shí)也包含了靜態(tài)時(shí)序信息。( 3)設(shè)計(jì)定時(shí)分析單

7、擊Project菜單下的 “ Timing Settings.選”項(xiàng),可以方便地完成時(shí)間參數(shù)的設(shè)定。QuartusAnalysesII 軟件的時(shí)序分析功能在編譯過程結(jié)束之后自動(dòng)運(yùn)行,并在編譯報(bào)告的文件夾中顯示。其中我們可以得到最高頻率fmax 、輸入寄存器的建立時(shí)間Timingtsu 、輸出寄存器時(shí)鐘到輸出的延遲 tco 和輸入保持時(shí)間楚地判定是否達(dá)到系統(tǒng)的時(shí)序要求。本設(shè)計(jì)實(shí)例電路的th等時(shí)間參數(shù)的詳細(xì)報(bào)告,從中可以清fmax 可達(dá)到 192.31MHz 。( 4 )設(shè)計(jì)仿真Quartus II 軟件允許設(shè)計(jì)者使用基于文本的向量文件(以在 Quartus II 軟件的波形編輯器中產(chǎn)生向量波形文

8、件(.vec )作為仿真器的激勵(lì),也可 .vwf )作為仿真器的激勵(lì)。通過Quartus II 的波形編輯器,我們編輯波形文件 “ s_to_p.vwf 用”于仿真。接著,在 Processing 菜單下選擇 “Simulate Mode” 選項(xiàng)進(jìn)入仿真模式,選擇 “Simulator Settings. 對”話框進(jìn)行仿真設(shè)置。在這里可以選擇激勵(lì)文件、仿真模式(功能仿真或時(shí)序仿真)等,我們選擇時(shí)序仿真,單擊 “Run Simulator ”即開始仿真過程。完成仿真后,我們可以通過時(shí)序仿真得到的波形判斷系統(tǒng)設(shè)計(jì)是否達(dá)到要求。( 5)器件編程設(shè)計(jì)者可以將配置數(shù)據(jù)通過 MasterBlaster 或

9、 ByteBlasterMV 通信電纜下載到器件當(dāng)中,通過被動(dòng)串行( Passive Serial )配置模式或 JTAG 模式對器件進(jìn)行配置編程,還可以在 JTAG 模式下給多個(gè)器件進(jìn)行編程。利用 Quartus II 軟件給器件編程或配置時(shí),首先需要打開編程器(在 New 菜單選項(xiàng)中選擇打開 Chain Description File ),在編程器中可以進(jìn)行編程模式設(shè)置( Mode 下拉框)、硬件配置( Programming Hardware 對話框)及編程文件選擇( Add File. 按鈕),將以上配置存盤產(chǎn)生 .cdf 文件,其中存儲了器件的名稱、器件的設(shè)計(jì)及硬件設(shè)置等編程信息。

10、當(dāng)以上過程正確無誤后,單擊 Start 按鈕即可開始對器件進(jìn)行編程配置。這里我們需要根據(jù)外圍硬件電路設(shè)計(jì)的情況進(jìn)行選擇。2. 多種 EDA 工具協(xié)同設(shè)計(jì)在 FPGA 設(shè)計(jì)的各個(gè)環(huán)節(jié)都有不同公司提供不同的EDA工具。每個(gè)EDA 工具都有自己的特點(diǎn)。一般情況,由FPGA廠商提供的集成開發(fā)環(huán)境,如QuartusII ,在設(shè)計(jì)綜合和設(shè)計(jì)仿真環(huán)節(jié)都不是非常優(yōu)秀,因此一般都會提供第三方EDA 工具的接口,讓用戶更方便地利用其它 EDA 工具。在這方面,作為EDA集成開發(fā)環(huán)境的QuartusII 做得很好,不僅可以產(chǎn)生并識別 EDIF網(wǎng)表文件、 VHDL 網(wǎng)表文件和 VerilogHDL 網(wǎng)表文件,為其它

11、EDA工具提供了方便的接口,而且可以在QuartusII 集成環(huán)境中自動(dòng)運(yùn)行其它EDA 工具。在FPGA 的 開 發(fā) 中 , 如 果 選 用 Altera公 司 器 件 的 話 , QuartusII+FPGA CompilerII+Modelsim 的工具組合是非常理想的選擇。如圖2所示,使用這三個(gè)EDA 工具對實(shí)例進(jìn)行協(xié)同設(shè)計(jì)的流程。下面,我們將詳細(xì)介紹這三個(gè)工具的協(xié)同設(shè)計(jì)。( 1)設(shè)計(jì)輸入和綜合在 FPGA Compiler II 中編輯 “ s_to_p.vhd 設(shè)”計(jì)文件,并進(jìn)行邏輯分析、綜合和優(yōu)化。使用 FPGA Compiler II 綜合時(shí),我們能夠設(shè)置綜合的各種約束條件及優(yōu)化

12、重點(diǎn),并選擇不同廠家的器件。在設(shè)計(jì)中,我們使用File 菜單中的 “Design Wizard”,創(chuàng)建工程,添加“ s_to_p.vhd 設(shè)”計(jì)文件,并選擇 Altera 公司 FLEX10KE 系列型號為 EPF10K30ETC114-1 的器件為目標(biāo)器件,在設(shè)置完成后,軟件將自動(dòng)開始綜合和優(yōu)化。綜合、優(yōu)化后,我們可以查看結(jié)果和綜合所得到的原理圖,看看是否能滿足要求。接著,在Synthesis菜單中選擇 “Export Netlist.打”開導(dǎo)出網(wǎng)表的對話框。在這里,可以設(shè)置和導(dǎo)出用于布局布線和前仿真的網(wǎng)表。在工程對應(yīng)的文件夾中,“s_to_p.edf 是”用于QuartusII 布局布線的

13、,而“ s_to_p.vhd (”注意:這個(gè)文件和源文件具有相同的名字)則用于Modelsim前仿真的。( 2)功能仿真和前仿真使用 Modelsim 來進(jìn)行功能仿真和前仿真。在Modelsim進(jìn)行功能仿真和前仿真的操作一摸一樣,只是輸入的源程序不同罷了。首先,我們要?jiǎng)?chuàng)建工程,選擇對應(yīng)的工作庫,并將源文件加入到工程中。接著選擇Compile菜單中的 “Compile. 對”源文件進(jìn)行編譯,并編寫測試臺(可以是Macro文件,也可以是TestBench )。最后,選擇Simulate菜單中的“ Simulate. ,在”“ Simulate 對”話框中選擇仿真需要實(shí)體,采用對應(yīng)的測試臺進(jìn)行仿真,

14、驗(yàn)證系統(tǒng)的邏輯功能及綜合后的邏輯功能的正確性。( 3)布局布線和時(shí)序分析如果仿真結(jié)果沒有問題,接下來的工作就是布局布線。在布局布線之前,先對QuartusII 的設(shè)計(jì)環(huán)境進(jìn)行設(shè)置。在Project菜單中選擇 “ EDATool Setting.,”打開EDA工具設(shè)置對話框。在這里,我們能選擇設(shè)計(jì)輸入和綜合工具,仿真工具,時(shí)序分析工具和版圖級工具?,F(xiàn)在,我們關(guān)心的是設(shè)計(jì)輸入和綜合工具還有仿真工具,分別在對應(yīng)的列表框中選擇FPGACompilerII 和 Modelsim 。注意仿真工具還要確定輸出語言。布局布線的輸入源文件是經(jīng)FPGA Compiler II綜合、優(yōu)化的輸出文件。在這里,F(xiàn)PGA

15、 Compiler II的輸出文件 “s_to_p.edf 即”是 Quartus II 布局布線的輸入文件。對這個(gè)文件進(jìn)行編譯和時(shí)序分析,就可以得到布局布線后的用于時(shí)序仿真和編程下載的文件。觀察編譯結(jié)果,發(fā)現(xiàn)時(shí)序分析中 fmax 為 204.08MHz ,就這個(gè)指標(biāo)而言,采用 FPGA Compiler II 綜合、優(yōu)化顯然比采用 Quartus II 綜合的效果要好。編譯輸出的文件中有幾個(gè)是下面步驟要用到的:一個(gè)是時(shí)序仿真文件,軟件將這些文件都存于工程文件夾下面的 “Simulation 文”件夾中, 包 括 描 述 電 路 的 邏 輯 結(jié) 構(gòu) 的 網(wǎng) 表 文 件 “s_to_p.vho

16、”和 對 應(yīng) 的 延 時(shí) 標(biāo) 準(zhǔn) 格 式 文 件“ s_to_p_vhd.sdo ;”另一個(gè)是編程下載文件,包括不同格式的“ s_to_p.sof 和”“ s_to_p.pof 。”( 4)時(shí)序仿真進(jìn)行時(shí)序仿真前,我們要確定已經(jīng)獲得針對特定FPGA 輸出網(wǎng)表文件,對應(yīng)延時(shí)標(biāo)準(zhǔn)格式文件,以及廠家提供的與特定FPGA對應(yīng)的庫文件。其中網(wǎng)表文件和標(biāo)準(zhǔn)延時(shí)格式文件是布局布線時(shí)產(chǎn)生的文件,而庫文件則是由廠商提供,在QuartusII 軟件的安裝目錄中可以找到。本設(shè)計(jì)中,網(wǎng)表文件時(shí)“s_to_p.vho ,”延時(shí)標(biāo)準(zhǔn)格式文件是“s_to_p_vhd.sdo ”,并由于選用Altera 公司 FLEX10K

17、E系列的 EPF10K30ETC114-1為目標(biāo)器件,所以庫文件是 “FLEX10KE_ATOMS.VHD”和 “FLEX10KE_COMPONENTS”.VHD。確定輸入文件后,我們就能利用Modelsim進(jìn)行時(shí)序仿真。首先,建立工程,將上述文件添加到工程中去,并在“ work庫”中新建“ flex10ke 庫”。接著,打開 “Compile”對話框,先在 “flex10ke ”庫中編譯文件 “flex10ke _atoms.vhd ”和 “ flex10ke _compomnets.vhd ”,再在 “ work庫”中編譯文件 “ s_to_p.vho (”注意一定要弄清楚編譯次序)。編譯

18、完成之后,我們就可以進(jìn)行仿真了。時(shí)序仿真與功能仿真和前仿真不同的是時(shí)序仿真需要加入延時(shí)標(biāo)準(zhǔn)格式文件。打開 “Simulate 對”話框,選擇要仿真的實(shí)體 “ s_to_p 并”,在選擇 SDF 標(biāo)簽,加入延時(shí)標(biāo)準(zhǔn)格式文件是 “ s_to_p_vhd.sdo 。”其它的操作和功能仿真和前仿真相同。從時(shí)序仿真的結(jié)果,我們可以進(jìn)行最接近硬件的一次設(shè)計(jì)驗(yàn)證。( 5)編程下載利用集成開發(fā)環(huán)境 Quartus II 中的編程工具,根據(jù)外圍硬件電路的情況,設(shè)置編程模式,我們能很方便地完成編程下載工作,在硬件上對設(shè)計(jì)進(jìn)行驗(yàn)證。三、結(jié)論在實(shí)際的 FPGA 的開發(fā)中,選用 Quartus II+FPGA Compiler II+Modelsim 的具組合能很好地規(guī)劃設(shè)計(jì)流程,充分利用各 EDA 工具的優(yōu)點(diǎn),提高開發(fā)效率。EDA工參考文獻(xiàn)1石俊斌,林輝 .在 PLD 開發(fā)中提高VHDL 的綜合質(zhì)量,單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2003 年,第 4 期2孫富明,李笑盈 .基于多種 EDA 工具的 FPGA 設(shè)計(jì),電子技術(shù)應(yīng)用,2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論