多種EDA工具FPGA協(xié)同設(shè)計(jì)方案_第1頁
多種EDA工具FPGA協(xié)同設(shè)計(jì)方案_第2頁
多種EDA工具FPGA協(xié)同設(shè)計(jì)方案_第3頁
免費(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在電子市場上占有舉足輕重的地位?,F(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ā)工具,包括Quartusll、FPGA Compiler、Modelsim,并重點(diǎn)解說如何使用這三個(gè)工具進(jìn)行協(xié)同設(shè)計(jì)。FPGA的開發(fā)流程及實(shí)例FPGA的開發(fā)分為設(shè)計(jì)輸入、功能仿真、設(shè)計(jì)綜合、前仿真

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

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

4、包括分析、綜合和優(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 和仿真工具 ModelSim5.6SE )完成協(xié)同設(shè)計(jì)。1. 基于 Quartus II 的 FPGA 的開發(fā)利用 Quartus II 軟件的開發(fā)流程可概括為以下幾步:

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

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

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

8、激勵(lì),也可 以在Quartus II軟件的波形編輯器中產(chǎn)生向量波形文件( .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ù)通過MasterBlaste

9、r 或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文件,其中存儲(chǔ)了器件的名稱、器件的設(shè)計(jì) 及硬件設(shè)置等編程信息。當(dāng)以上過程正確無誤后,單擊

10、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)境,如Quartus II,在設(shè)計(jì)綜合和設(shè)計(jì)仿真環(huán)節(jié)都不是非常優(yōu)秀,因此一般都會(huì)提供第三方EDA工具的接口,讓用戶更方便地利用其它EDA工具。在這方面,作為EDA集成開發(fā)環(huán)境的 Quartus II做得很好,不僅可以 產(chǎn)生并識(shí)別EDIF網(wǎng)表文件、VHDL網(wǎng)表文件和Verilog HDL網(wǎng)表文件,為其它 EDA工具 提供了方便的接口,而且可以在 Qua

11、rtus II集成環(huán)境中自動(dòng)運(yùn)行其它EDA工具。在FPGA的開發(fā)中,如果選用 Altera公司器件的話,Quartus II+FPGA Compiler II+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)化重點(diǎn),并選擇不同 廠家的器件。在設(shè)計(jì)中,我們使用File菜單中的“Design

12、Wizard ”創(chuàng)建項(xiàng)目,添加“s_to_p.vhd 設(shè)計(jì)文件,并選擇 Altera 公司 FLEX10KE 系列型號(hào)為 EPF10K30ETC114-1 的器件為目標(biāo) 器件,在設(shè)置完成后,軟件將自動(dòng)開始綜合和優(yōu)化。綜合、優(yōu)化后,我們可以查看結(jié)果和綜合所得到的原理圖,看看是否能滿足要求。接著,在Synthesis菜單中選擇“Export Netlist. 打開導(dǎo)出網(wǎng)表的對話框。 在這里,可以設(shè)置和導(dǎo)出用于布局布線和前仿真的網(wǎng)表。 在項(xiàng)目對 應(yīng)的文件夾中, “s_to_p.edf是用于Quartus II布局布線的,而 “s_to_p.vhd(注意:這個(gè)文 件和源文件具有相同的名字)則用于 Mo

13、delsim 前仿真的。2)功能仿真和前仿真使用 Modelsim 來進(jìn)行功能仿真和前仿真。 在 Modelsim 進(jìn)行功能仿真和前仿真的操作 一摸一樣,只是輸入的源程序不同罷了。首先,我們要?jiǎng)?chuàng)建項(xiàng)目,選擇對應(yīng)的工作庫,并將 源文件加入到項(xiàng)目中。接著選擇Compile菜單中的“Compile.對源文件進(jìn)行編譯,并編寫測試臺(tái)(可以是 Macro 文件,也可以是 TestBench )。最后,選擇 Simulate 菜單中的Simulate.,在Simulate對話框中選擇仿真需要實(shí)體,采用對應(yīng)的測試臺(tái)進(jìn)行仿真,驗(yàn)證系統(tǒng)的邏輯功能及綜合后的邏輯功能的正確性。3)布局布線和時(shí)序分析如果仿真結(jié)果沒有問

14、題, 接下來的工作就是布局布線。 在布局布線之前,先對 Quartus II的設(shè)計(jì)環(huán)境進(jìn)行設(shè)置。在Project菜單中選擇 “ EDA Tool Sett in g.,打開EDA工具設(shè)置對話框。在這里,我們能選擇設(shè)計(jì)輸入和綜合工具,仿真工具,時(shí)序分析工具和版圖級(jí)工具。 現(xiàn)在,我們關(guān)心的是設(shè)計(jì)輸入和綜合工具還有仿真工具, 分別在對應(yīng)的列表框中選擇 FPGA Compiler II 和 Modelsim 。注意仿真工具還要確定輸出語言。布局布線的輸入源文件是經(jīng) FPGA Compiler II 綜合、優(yōu)化的輸出文件。在這里,F(xiàn)PGA Compiler II 的輸出文件“s_to_p.edf即是Qu

15、artus 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í)序仿真文件,軟件將這些文件都存于項(xiàng)目文件夾下面的Simulation文件夾中,包括描述電路的邏輯結(jié)構(gòu)的網(wǎng)表文件“s_to_p.vho和對應(yīng)的延時(shí)標(biāo)準(zhǔn)格式文件 “s_to_p_vhd.sdo ;另一個(gè)是編程下載文件,包括不同格式的“s_to_p.

16、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)生的文件, 而庫文件則是由廠商提供, 在 Quartus II 軟件的安裝目錄中可 以找到。本設(shè)計(jì)中,網(wǎng)表文件時(shí) “s_to_p.vho ,和延時(shí)標(biāo)準(zhǔn)格式文件是 “s_to_p_vhd.sdo 和,并 由于選用 Altera 公司 FLEX10KE 系列的 EPF10K30ETC114-1 為目標(biāo)器件,所以庫文件是“FLEX10KE_ATOMS.VHD 和 “ FLE

17、X10KE_COMPONENTS.VHD 。 確定輸入文件后,我 們就能利用 Modelsim 進(jìn)行時(shí)序仿真。首先,建立項(xiàng)目,將上述文件添加到項(xiàng)目中去,并在“work庫中新建“flex10ke庫。接著,打開 “Compile對話框,先在 “flex10ke 庫中編譯文件“flex10ke _atoms.vhd 和 “flex10ke_compomnets.vhd ” ,再在“work庫中編譯文件 “ s_to_p.vho(注意一定要弄清楚編譯次序)。 編譯完成之后,我們就可以進(jìn)行仿真了。 時(shí)序仿真與功能仿真和前仿真不同的是時(shí)序仿真需 要加入延時(shí)標(biāo)準(zhǔn)格式文件。打開“ Simulate對話框,選擇

18、要仿真的實(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的 EDA 工具組合能很好地規(guī)劃設(shè)計(jì)流程,充分利用各 EDA 工具的優(yōu)點(diǎn),提高開發(fā)效率。參考文獻(xiàn)1 石俊斌,林輝 .在 PLD 開發(fā)中提高 VHDL 的綜合質(zhì)量,單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2003 年,第 4 期2 孫富明,李笑盈 .基于多種 EDA 工具的 FPGA 設(shè)計(jì),電子技術(shù)應(yīng)用, 200

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論