當前位置:首頁 > 工業(yè)控制 > 電子設計自動化
[導讀]現(xiàn)在的問題是:現(xiàn)在市場在FPGA開發(fā)方面的EDA工具令人眼花繚亂,各自側重點不同,性能也不一樣,我們應該如何選擇?為了加速FPGA的開發(fā),選擇并協(xié)調好各種EDA工具顯得非常重要,本文將探討上述問題并給出一種解決方案。

一、前言

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

二、FPGA的開發(fā)流程及實例

FPGA的開發(fā)分為設計輸入、功能仿真、設計綜合、前仿真、布局布線、時序仿真、時序分析和編程下載幾個步驟。設計流程如圖1所示。

我們的開發(fā)實例是“帶順序選擇和奇偶檢驗的串并數(shù)據(jù)轉換接口”。接口電路可以實現(xiàn)數(shù)據(jù)的串并轉換,并根據(jù)控制信號確定輸出的并行數(shù)據(jù)的順序,以及輸出奇偶檢驗位。開發(fā)實例是用來說明FPGA的開發(fā)流程和各種EDA工具的協(xié)同設計,因此這里的描述重點并在設計本身。開發(fā)實例使用的目標器件是Altera公司FLEX10KE系列的EPF10K30ETC114-1;開發(fā)軟件有QuartusII2.0、FPGA CompilerII 3.6和Modelsim5.6SE。

Quartus II是Altera公司的第四代可編程邏輯器件集成開發(fā)環(huán)境,提供從設計輸入到器件編程的全部功能。 Quartus II可以產(chǎn)生并識別EDIF網(wǎng)表文件、VHDL網(wǎng)表文件和Verilog HDL網(wǎng)表文件,為其他EDA工具提供了方便的接口;可以在Quartus II集成環(huán)境中自動運行其他EDA工具。

Mentor Graphics公司的Modelsim是業(yè)界較好的仿真工具,其仿真功能強大,且圖形化界面友好,而且具有結構、信號、波形、進程、數(shù)據(jù)流等窗口。

FPGA Compiler II是一個完善的FPGA邏輯分析、綜合和優(yōu)化工具,它從HDL形式未優(yōu)化的網(wǎng)表中產(chǎn)生優(yōu)化的網(wǎng)表文件,包括分析、綜合和優(yōu)化三個步驟。

如果設計的硬件系統(tǒng)不是很大,對綜合和仿真的要求不是很高,我們完全可以在Quartus II中完成設計。實際上,這個開發(fā)實例完全可以在Quartus II這個集成的開發(fā)環(huán)境中完成。下面,我先介紹一下如何在Quartus II中完成設計,然后再介紹如何利用Quartus II提供的第三方EDA工具的接口與其他EDA工具(包括綜合工具FPGA Compiler II和仿真工具ModelSim5.6SE)完成協(xié)同設計。

1. 基于Quartus II的FPGA的開發(fā)

 

利用Quartus II軟件的開發(fā)流程可概括為以下幾步:設計輸入、設計編譯、設計時序分析、設計仿真和器件編程。

(1)設計輸入

Quartus II軟件在File菜單中提供“New Project Wizard...”向導,引導設計者完成項目的創(chuàng)建。當設計者需要向項目中添加新的VHDL文件時,可以通過“New”選項選擇添加。在這里我們創(chuàng)建項目“s_to_p”,編寫“s_to_p.vhd文件”,并將文件添加到項目中。

(2)設計編譯

Quartus II編譯器完成的功能有:檢查設計錯誤、對邏輯進行綜合、提取定時信息、在指定的Altera系列器件中進行適配分割,產(chǎn)生的輸出文件將用于設計仿真、定時分析及器件編程。

①首先確定軟件處于Compile Mode,可以通過Processing菜單進行選擇。

②在Processing菜單中選擇Compiler Settings項。在這里可以進行器件選擇、模式設定、綜合和適配選項設定及設計驗證等。我們選擇FLEX10KE系列型號為EPF10K30ETC114-1的器件,并選擇在編譯后進行時序分析。

③單擊Processing菜單下的“Start Compilation”項,開始編譯過程。

④查看編譯結果。編譯結果以樹狀結構組織在Compilation Report中,包含項目的設置信息,以及編譯設置、編譯效果等信息,同時也包含了靜態(tài)時序信息。

(3)設計定時分析

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

(4)設計仿真

Quartus II軟件允許設計者使用基于文本的向量文件(.vec)作為仿真器的激勵,也可以在Quartus II軟件的波形編輯器中產(chǎn)生向量波形文件(.vwf)作為仿真器的激勵。通過Quartus II的波形編輯器,我們編輯波形文件“s_to_p.vwf”用于仿真。接著,在Processing菜單下選擇“Simulate Mode”選項進入仿真模式,選擇“Simulator Settings...”對話框進行仿真設置。在這里可以選擇激勵文件、仿真模式(功能仿真或時序仿真)等,我們選擇時序仿真,單擊“Run Simulator”即開始仿真過程。完成仿真后,我們可以通過時序仿真得到的波形判斷系統(tǒng)設計是否達到要求。

(5)器件編程

設計者可以將配置數(shù)據(jù)通過MasterBlaster或ByteBlasterMV通信電纜下載到器件當中,通過被動串行(Passive Serial)配置模式或JTAG模式對器件進行配置編程,還可以在JTAG模式下給多個器件進行編程。利用Quartus II軟件給器件編程或配置時,首先需要打開編程器(在New菜單選項中選擇打開Chain Description File),在編程器中可以進行編程模式設置(Mode下拉框)、硬件配置(Programming Hardware對話框)及編程文件選擇(Add File...按鈕),將以上配置存盤產(chǎn)生.cdf文件,其中存儲了器件的名稱、器件的設計及硬件設置等編程信息。當以上過程正確無誤后,單擊Start按鈕即可開始對器件進行編程配置。這里我們需要根據(jù)外圍硬件電路設計的情況進行選擇。

2.多種EDA工具協(xié)同設計

在FPGA設計的各個環(huán)節(jié)都有不同公司提供不同的EDA工具。每個EDA工具都有自己的特點。一般情況,由FPGA廠商提供的集成開發(fā)環(huán)境,如Quartus II,在設計綜合和設計仿真環(huán)節(jié)都不是非常優(yōu)秀,因此一般都會提供第三方EDA工具的接口,讓用戶更方便地利用其他EDA工具。在這方面,作為EDA集成開發(fā)環(huán)境的Quartus II做得很好,不僅可以產(chǎn)生并識別EDIF網(wǎng)表文件、VHDL網(wǎng)表文件和Verilog HDL網(wǎng)表文件,為其他EDA工具提供了方便的接口,而且可以在Quartus II集成環(huán)境中自動運行其他EDA工具。

在FPGA的開發(fā)中,如果選用Altera公司器件的話,Quartus II+FPGA Compiler II+Modelsim的工具組合是非常理想的選擇。如圖2所示,使用這三個EDA工具對實例進行協(xié)同設計的流程。下面,我們將詳細介紹這三個工具的協(xié)同設計。

(1)設計輸入和綜合

在FPGA Compiler II中編輯“s_to_p.vhd”設計文件,并進行邏輯分析、綜合和優(yōu)化。使用FPGA Compiler II綜合時,我們能夠設置綜合的各種約束條件及優(yōu)化重點,并選擇不同廠家的器件。在設計中,我們使用File菜單中的“Design Wizard”,創(chuàng)建項目,添加“s_to_p.vhd”設計文件,并選擇Altera公司FLEX10KE系列型號為EPF10K30ETC114-1的器件為目標器件,在設置完成后,軟件將自動開始綜合和優(yōu)化。綜合、優(yōu)化后,我們可以查看結果和綜合所得到的原理圖,看看是否能滿足要求。接著,在Synthesis菜單中選擇“Export Netlist...”打開導出網(wǎng)表的對話框。在這里,可以設置和導出用于布局布線和前仿真的網(wǎng)表。在項目對應的文件夾中,“s_to_p.edf”是用于Quartus II布局布線的,而“s_to_p.vhd”(注意:這個文件和源文件具有相同的名字)則用于Modelsim前仿真的。

(2)功能仿真和前仿真

使用Modelsim來進行功能仿真和前仿真。在Modelsim進行功能仿真和前仿真的操作一摸一樣,只是輸入的源程序不同罷了。首先,我們要創(chuàng)建項目,選擇對應的工作庫,并將源文件加入到項目中。接著選擇Compile菜單中的“Compile...”對源文件進行編譯,并編寫測試臺(可以是Macro文件,也可以是TestBench)。最后,選擇Simulate菜單中的“Simulate...”,在“Simulate”對話框中選擇仿真需要實體,采用對應的測試臺進行仿真,驗證系統(tǒng)的邏輯功能及綜合后的邏輯功能的正確性。

(3)布局布線和時序分析

如果仿真結果沒有問題,接下來的工作就是布局布線。在布局布線之前,先對Quartus II的設計環(huán)境進行設置。在Project菜單中選擇“EDA Tool Setting...”,打開EDA工具設置對話框。在這里,我們能選擇設計輸入和綜合工具,仿真工具,時序分析工具和版圖級工具?,F(xiàn)在,我們關心的是設計輸入和綜合工具還有仿真工具,分別在對應的列表框中選擇FPGA Compiler II和Modelsim。注意仿真工具還要確定輸出語言。布局布線的輸入源文件是經(jīng)FPGA Compiler II綜合、優(yōu)化的輸出文件。在這里,F(xiàn)PGA Compiler II 的輸出文件“s_to_p.edf”即是Quartus II布局布線的輸入文件。對這個文件進行編譯和時序分析,就可以得到布局布線后的用于時序仿真和編程下載的文件。觀察編譯結果,發(fā)現(xiàn)時序分析中fmax為204.08MHz,就這個指標而言,采用FPGA Compiler II綜合、優(yōu)化顯然比采用Quartus II綜合的效果要好。編譯輸出的文件中有幾個是下面步驟要用到的:一個是時序仿真文件,軟件將這些文件都存于項目文件夾下面的“Simulation”文件夾中,包括描述電路的邏輯結構的網(wǎng)表文件“s_to_p.vho”和對應的延時標準格式文件“s_to_p_vhd.sdo”;另一個是編程下載文件,包括不同格式的“s_to_p.sof”和“s_to_p.pof”。

(4)時序仿真

進行時序仿真前,我們要確定已經(jīng)獲得針對特定FPGA輸出網(wǎng)表文件,對應延時標準格式文件,以及廠家提供的與特定FPGA對應的庫文件。其中網(wǎng)表文件和標準延時格式文件是布局布線時產(chǎn)生的文件,而庫文件則是由廠商提供,在Quartus II軟件的安裝目錄中可以找到。本設計中,網(wǎng)表文件時“s_to_p.vho”,延時標準格式文件是“s_to_p_vhd.sdo”,并由于選用Altera公司FLEX10KE系列的EPF10K30ETC114-1為目標器件,所以庫文件是“FLEX10KE_ATOMS.VHD”和“FLEX10KE_COMPONENTS.VHD”。 確定輸入文件后,我們就能利用Modelsim進行時序仿真。

首先,建立項目,將上述文件添加到項目中去,并在“work”庫中新建 “flex10ke” 庫。

接著,打開“Compile”對話框,先在“flex10ke” 庫中編譯文件“flex10ke _atoms.vhd”和“flex10ke _compomnets.vhd”,再在“work”庫中編譯文件“s_to_p.vho”(注意一定要弄清楚編譯次序)。

編譯完成之后,我們就可以進行仿真了。時序仿真與功能仿真和前仿真不同的是時序仿真需要加入延時標準格式文件。打開“Simulate”對話框,選擇要仿真的實體“s_to_p”,并在選擇SDF標簽,加入延時標準格式文件是“s_to_p_vhd.sdo”。其他的操作和功能仿真和前仿真相同。從時序仿真的結果,我們可以進行最接近硬件的一次設計驗證。

(5)編程下載

利用集成開發(fā)環(huán)境Quartus II中的編程工具,根據(jù)外圍硬件電路的情況,設置編程模式,我們能很方便地完成編程下載工作,在硬件上對設計進行驗證。

三、結論

在實際的FPGA的開發(fā)中,選用Quartus II+FPGA Compiler II+Modelsim的EDA工具組合能很好地規(guī)劃設計流程,充分利用各EDA工具的優(yōu)點,提高開發(fā)效率。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉