多種EDA工具FPGA協同設計方案_第1頁
多種EDA工具FPGA協同設計方案_第2頁
多種EDA工具FPGA協同設計方案_第3頁
多種EDA工具FPGA協同設計方案_第4頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

4、化的網表中產生優化的網表文件,包括分析、綜合和優化三個步驟。如果設計的硬件系統不是很大,對綜合和仿真的要求不是很高,我們完全可以在Quartus II中完成設計。實際上,這個開發實例完全可以在Quartus II 這個集成的開發環境中完成。下面,我先介紹一下如何在 Quartus II 中完成設計,然后再介紹如何利用Quartus II 提供的第三方 EDA工 具 的 接 口 與 其 它 EDA 工 具 ( 包 括 綜 合 工 具 FPGA Compiler II和仿真工具ModelSim5.6SE )完成協同設計。1. 基于 Quartus II的 FPGA 的開發利用 Quartus II

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論