《電子技術(shù)綜合設(shè)計與實踐教程》課件第2章_第1頁
《電子技術(shù)綜合設(shè)計與實踐教程》課件第2章_第2頁
《電子技術(shù)綜合設(shè)計與實踐教程》課件第2章_第3頁
《電子技術(shù)綜合設(shè)計與實踐教程》課件第2章_第4頁
《電子技術(shù)綜合設(shè)計與實踐教程》課件第2章_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章QuartusⅡ9.0軟件使用指南2.1圖形界面設(shè)計流程 2.2仿真設(shè)計流程 2.3宏功能模塊的調(diào)用

QuartusⅡ設(shè)計軟件是Altera公司的CPLD/FPGA開發(fā)工具,它提供了完全集成且與電路結(jié)構(gòu)無關(guān)的多平臺設(shè)計開發(fā)環(huán)境,具有數(shù)字邏輯設(shè)計的全部特性。QuartusⅡ軟件可利用原理圖、結(jié)構(gòu)框圖、VerilogHDL、AHDL和VHDL完成電路描述;內(nèi)嵌功能強大的邏輯綜合工具,也可利用第三方的綜合工具(如Synplify)進行邏輯綜合;內(nèi)嵌完備的電路功能仿真與時序邏輯仿真工具,也可利用第三方的仿真工具(如Modelsim)進行仿真。此外,QuartusⅡ軟件還能與MATLAB結(jié)合,利用DSPBuilder工具開展各種算法開發(fā)。使用QuartusⅡ軟件內(nèi)嵌的SOPCBuilder,配合NIOSⅡIDE開發(fā)環(huán)境,可開發(fā)基于NIOSⅡ的嵌入式系統(tǒng)。

QuartusⅡ軟件包含CPLD/FPGA開發(fā)所有階段的解決方案,具體設(shè)計流程如圖2-1所示。

圖2-1QuartusⅡ軟件設(shè)計流程

(1)

MegaWizard插件管理器(MegaWizardPlug-InManager)用于建立或修改含有自定義宏功能模塊變量的設(shè)計文件,以及在設(shè)計文件中進行例化。

(2)

QuartusⅡ的塊編輯器(BlockEditor)用于以原理圖和符號框圖的形式輸入和編輯圖形設(shè)計信息,生成后綴名為

.bdf的文件。另外,使用MAX+PLUSⅡGraphicEditor建立的原理圖設(shè)計文件(

.gdf)也能被塊編輯器讀取并轉(zhuǎn)換為

.bdf文件。塊編輯器將每個框圖、原理圖或符號代表的設(shè)計邏輯合并到工程中。利用MegaWizard插件管理器,塊編輯器可對Altera提供的宏功能模塊進行例化,建立或修改包含宏功能模塊自定義變量的設(shè)計文件,以及從

.bdf文件中建立Verilog文件、VHDL文件及符號文件(

.bsf)。

(3)

QuartusⅡ的符號編輯器(SymbolEditor)用于查看和編輯代表宏功能、宏功能模塊、基本單元或設(shè)計的預定義文件。

(4)

QuartusⅡ的文本編輯器(TextEditor)用于以AHDL、VHDL和VerilogHDL語言以及TCL腳本語言輸入文本型設(shè)計,查看、編輯ASCII文本文件。

(5)

QuartusⅡ的分配編輯器(AssignmentEditor)用于在QuartusⅡ軟件中建立、編輯節(jié)點和實體級別的分配,為邏輯指定各種選項和設(shè)置,包括位置、時序、邏輯選項、參數(shù)、仿真和引腳分配。用戶采用QuartusⅡ9.0設(shè)計環(huán)境,可以完成AlteraCPLD、FPGA和HardCopyASIC全系列產(chǎn)品的開發(fā),并支持Altera新近發(fā)布的StratixⅣGT和ArriaⅡGXFPGA。與以前的軟件版本相比,QuartusⅡ9.1將編譯時間縮短了20%,即使在高密度65

nm和40

nm

設(shè)計上,編譯時間仍然比最相近的競爭軟件快2~3倍。該軟件的新特性是快速重新編譯,對于較小的設(shè)計改動,這一特性也大大縮短了編譯時間,而且還支持Altera最新發(fā)布的Cyclone

ⅣFPGA。

QuartusⅡ9.1對于高端FPGA,實現(xiàn)了業(yè)界最快的編譯時間,過去5年中,編譯時間平均每年縮短20%。最新版軟件編譯時間上的優(yōu)勢來自于更高效的布局布線算法、更好的多處理器支持以及更快的時序驅(qū)動綜合等??焖僦匦戮幾g特性使QuartusⅡ軟件能夠進一步縮短設(shè)計編譯時間。運行全編譯之后,進行小的工程變更(ECO)設(shè)計修改時,快速重新編譯特性大大提高了設(shè)計人員的效率,與再次運行設(shè)計全編譯相比,編譯時間平均縮短了50%。在時序逼近過程中,快速重新編譯保留了上次設(shè)計改動期間的關(guān)鍵時序,明顯提高了設(shè)計效率。

QuartusⅡ9.1支持三種最小的Cyclone

ⅣGX器件,QuartusⅡ9.1SP1將支持其它的Cyclone

Ⅳ器件。這一版本的QuartusⅡ軟件還支持StratixⅣEP4SE820——業(yè)界密度最高的820

K邏輯單元(LE)FPGA。QuartusⅡ9.1為Altera最新FPGA系列提供支持,使客戶能夠馬上迅速開始最新的Cyclone和StratixFPGA設(shè)計。

QuartusⅡ9.1的其它特性還包括:

(1)漸進式編譯非矩形分區(qū)——非矩形區(qū)域使用戶能夠建立更緊湊、更高效的平面布局,更容易實現(xiàn)高質(zhì)量標準。這一新特性為用戶提供了更簡單方便的界面,能在設(shè)計劃分過程中進行精確控制。

(2)增強SSN分析器工具——這一工具增加了對ArriaⅡGXFPGA和Stratix

ⅣGXFPGA的支持,在引腳分配期間,及時反饋可能出現(xiàn)的同時開關(guān)噪聲(SSN)違規(guī)問題。

(3)新的擴展IP基本包——三個新存儲器控制器支持RLDRAM

Ⅱ、QDRⅡ-/Ⅱ+和DDR1/2/3,該基本包增加到14個知識產(chǎn)權(quán)(IP)內(nèi)核。

(4)初步支持VHDL2008——QuartusⅡ軟件提供更靈活的語言結(jié)構(gòu),使用戶能夠開發(fā)可重用的代碼結(jié)構(gòu),繼續(xù)保持了該軟件在語言支持上的領(lǐng)先優(yōu)勢。

(5)NiosⅡ處理器——現(xiàn)在提供的“e”型NiosⅡ軟核處理器不再需要許可費用。這一版本還標志著NiosⅡ軟件開發(fā)工具開始支持Eclipse,提高了軟件開發(fā)效率。

(6)擴展OS支持——現(xiàn)在可以支持LinuxSUSE10。本章主要介紹QuartusⅡ的基本特性,以及如何使用QuartusⅡ平臺設(shè)計和實現(xiàn)電路。具體過程包括如下:

●創(chuàng)建一個項目(project)。

●用VerilogHDL代碼設(shè)計輸入。

●綜合。

●適配。

●分配管腳。

●仿真。

●編程與下載。

QuartusⅡ軟件具有多種設(shè)計輸入方式,其中原理圖輸入方式是最常用的方式之一。本節(jié)以一個具體設(shè)計為實例(使用V9.0版本軟件),說明設(shè)計流程。設(shè)計輸入分為四個階段:建立工程項目、設(shè)計輸入、分配管腳和編程下載。

1.建立工程項目

(1)啟動QuartusⅡ,選擇File->NewProjectWizard,彈出窗口(見圖2-2)。2.1圖形界面設(shè)計流程

圖2-2新建項目向?qū)?/p>

(2)點擊“Next”按鈕后,在圖2-3所示對話框中輸入項目路徑和項目名,接著點擊“Next”按鈕,出現(xiàn)圖2-4所示對話框,提示輸入的項目文件夾不存在,是否要創(chuàng)建,點擊“是”按鈕。

(3)新建項目向?qū)Ю锟梢蕴砑右汛嬖诘奈募?,假如此時這個項目沒有包含已存在的文件,則在圖2-5所示的對話框中點擊“Next”按鈕。

(4)我們需要指定實現(xiàn)電路的目標器件,在圖2-6所示的對話框中“Devicefamily”的“Family”中選擇“CycloneⅡ”,在“Availabledevice”中選擇“EP2C35F672C6”(DE2上使用的型號),這里根據(jù)不同的目標芯片型號進行選擇,然后點擊“Next”按鈕。

圖2-3輸入項目路徑和項目名

圖2-4確認項目路徑

圖2-5添加已存在的項目文件

圖2-6選定目標芯片

(5)在圖2-7中,我們可以指定第三方的開發(fā)工具,由于本書只涉及到QuartusⅡ,未用其它工具,所以直接點擊“Next”按鈕。(這個部分在以后使用modelsim(一款不錯的仿真軟件)仿真時會使用到,本教程不涉及modelsim的使用,有興趣的同學可自行學習。)

(6)此時出現(xiàn)一份摘要,如圖2-8所示,點擊“Finish”按鈕,返回QuartusⅡ的主界面。

圖2-7指定第三方工具

圖2-8項目摘要

2.設(shè)計輸入

以原理圖輸入為例,QuartusⅡ支持如下六種設(shè)計輸入法文件:

AHDLFile,是AHDL文本文件。

BlockDiagram/SchematicFile,是流程圖和原理圖文件,簡稱原理圖文件。

EDIFFile,是網(wǎng)表文件。

SOPCBuilderSystem,是可編程片上系統(tǒng)的編輯系統(tǒng)。

VerilogHDLFile,是VerilogHDL文本文件。

VHDLFile,是VHDL文本文件。

(1)選擇File->New建立文件,彈出圖2-9所示的對話框,選擇“BlockDiagram/SchematicFile”,再點擊“OK”按鈕。

(2)選擇File->Saveas保存文件,同時選中“Addfiletocurrentproject”,如圖2-10所示。

(3)導入邏輯門電路符號。用鼠標雙擊圖形編輯器窗口的空白處或單擊左側(cè)工具條中的“門電路”圖標,由此進入到“庫”中選擇所需元件,即可對元件進行復制、粘貼等操作,如圖2-11所示。

(4)導入輸入/輸出符號。與第(4)步類似,選擇and2元件,編輯管腳屬性,并放置在原理圖中,如圖2-12~圖2-14所示。

圖2-9QuartusⅡ新建文件對話框

圖2-10將文件添加到工程中

圖2-11彈出Symbol對話框

圖2-12選擇and2元件

圖2-13放置元件后

圖2-14管腳屬性編輯對話框

(5)用線連接節(jié)點。點擊直角連線工具圖標,然后將鼠標置于元件邊沿,按下鼠標左鍵保持不變,拖放連線至另一元件的端點上。

(6)編譯電路。使用processing->startcompilation菜單或單擊相應圖標運行編譯器。若編譯成功通過,則出現(xiàn)compilationreport窗口;若編譯過程出現(xiàn)錯誤,則編譯自動中止,并在消息框中顯示錯誤信息??梢栽谛畔陔p擊錯誤提示,光標會回到錯誤處,修正、重新編譯即可。

3.分配管腳

在DE2平臺上,F(xiàn)PGA與外部的連線是確定的,要讓電路能在DE2上運行,必須為設(shè)計分配管腳,具體可采用以下兩種方法。

方法1:選擇菜單命令Assignments->AssignmentEditor,在“Category”欄中選擇“Pin”,雙擊“To”選擇管腳,雙擊“Location”選擇配置,如圖2-15所示;然后保存:File->Save。具體連線的配置可參見“DE2_pin_assignments.csv”文件或見附錄表A.1。

圖2-15管腳分配方法2:文件配置QuartusⅡ支持導入和導出管腳分配文件,可以記事本等文本編輯器編輯圖2-16所示的內(nèi)容,并保存為擴展名為

.csv的文件。選擇菜單命令Assignments->ImportAssignments在

.qsf文件中導入引腳配置。為方便使用,節(jié)點名最好改成“DE2_pin_assignments.csv”文件中定義的方式。

圖2-16導入

.csv文檔

4.編程下載

使用QuartusⅡ軟件成功編譯工程之后,就可以對Altera器件進行編程或配置,進而進行硬件測試。QuartusⅡCompiler的Assembler模塊生成POF和SOF編程文件,QuartusⅡProgrammer可以用編程文件與Altera編程硬件一起對器件進行編程或配置,還可以使用QuartusⅡProgrammer的獨立版本對器件進行編程配置。

所使用的Altera編程硬件接口可以是MasterBlaster、ByteBlasterMV、ByteBlasterⅡ,也可以是USB-Blaster下載電纜或Altera編程單元(APU)。國內(nèi)許多開發(fā)板和實驗箱使用ByteBlasterMV或ByteBlasterⅡ下載電纜。

QuartasⅡProgrammer支持四種編程模式:被動串行模式(PSMode)、JTAG模式、主動串行模式(ASMode)和插座內(nèi)編程模式(In-Socket)。被動串行模式和JTAG模式使用Altera編程硬件對單個或多個器件進行編程。主動串行模式使用Altera編程硬件對單個EPCS1或EPCS4串行配置器件進行編程。插座內(nèi)編程模式使用Altera編程硬件對單個CPLD或配置器件進行編程。

由于DE2平臺上內(nèi)嵌了USB-Blaster下載組件,因此可通過一條USB連線與PC機相連配置FPGA。本設(shè)計中采用JTAG模式進行編程,即將DE2板上的SW19置于RUN位置。具體步驟如下:

(1)選擇菜單命令Tools->Programmer打開編程窗口,如圖2-17所示。

(2)若沒有顯示硬件,則單擊“HardwareSetup...”按鈕,打開硬件設(shè)置窗口,如圖2-18所示。

(3)雙擊“USB-Blaster”,然后單擊“Close”按鈕,即可完成硬件設(shè)置,如圖2-19所示。

(4)添加下載文件。一般QuartusⅡ會自動搜索到編程文件。若沒有,可點擊圖2-17左邊所示的“AddFile”按鈕來添加下載文件,同時選中“Program/Configure”。

(5)單擊“Start”按鈕,開始編程。編程結(jié)束后,可按設(shè)計方案在硬件上運行。

圖2-17編程窗口

圖2-18硬件設(shè)置窗口

圖2-19選擇下載電纜窗口

根據(jù)所需的信息類型,QuartusⅡ中集成的Simulator仿真工具可以對設(shè)計進行功能仿真以測試設(shè)計的邏輯功能,也可以進行時序仿真。使用QuartusⅡ軟件既可以仿真整個設(shè)計,也可以仿真設(shè)計的任何部分。2.2仿真設(shè)計流程在仿真前,必須建立一個向量源文件作為仿真輸入向量的源。Simulator使用向量源文件所包含的輸入向量來仿真同一條件下編程器件將要產(chǎn)生的輸出信號。在功能仿真前,要通過GenerateFunctionalSimulationNetlist命令生成功能仿真網(wǎng)表。時序仿真前,則要先做布局布線及時序分析。

本節(jié)以VerilogHDL語言實現(xiàn)一個二路輸入控制燈開關(guān)電路,并通過此例來說明仿真操作,如圖2-20所示,x1、x2為兩個開關(guān),f為電路輸出。

圖2-20原理圖和功能表具體步驟如下:

(1)選擇菜單命令File->New,出現(xiàn)圖2-21所示的對話框,選擇“VerilogHDLFile”,點擊“OK”按鈕。

(2)選擇菜單命令File->Saveas,如圖2-22所示,文件命名為“l(fā)ight”,文件類型為“VerilogHDLFile”,點擊“保存”按鈕。在文本編輯器里輸入圖2-23所示的代碼,然后保存。

在編寫好代碼之后,單擊選中將作為頂層文件的代碼文件,設(shè)置為頂層文件,如圖2-24所示。如果工程中包含多個模塊,則一定要指定頂層文件,這樣Quartus才會按頂層文件所包含的模塊進行編譯。

圖2-21選擇文件類型

圖2-22輸入文件名和保存路徑

圖2-23二選一多選器代碼

圖2-24設(shè)置頂層文件

(3)選擇菜單命令Processing->StartCompilation或者單擊

開始編譯,編譯完成后會有提示。若編譯成功,會看到圖2-25所示的編譯報告,在“Analysis&SynthesisEquntions”窗口中可以看到f

=

OUTPUT(A1L2)和A1L2=x1$x2,這里$表示異或。

圖2-25綜合生成的功能表達式

(4)我們用到兩個撥動開關(guān)SW0和SW1提供外部輸入,對應的FPGA管腳是N25和N26。輸出到LEDG0,對應的FPGA管腳是AE22。(在這里要根據(jù)DE2的引腳分布表進行管腳分配。)

(5)在仿真之前,需要創(chuàng)建測試用的波形文件。選擇菜單命令File->New,在圖2-26所示的對話框中選擇“VectorWaveformFile”,點擊“OK”按鈕。

圖2-26選擇文件類型

(6)波形文件編輯器如圖2-27所示。保存文件為light.vwf,選擇菜單命令Edit->Endtime,將仿真時間設(shè)置為200

ns。選擇菜單命令View->FitinWindow調(diào)節(jié)窗口顯示的效果,如圖2-28所示。選擇菜單命令Edit->InsertNodesorBus設(shè)置仿真時間,打開圖2-29所示的窗口,單擊“NodeFinder”,添加電路仿真需要的節(jié)點。在圖2-30所示的窗口中,“Filter”選擇“Pins:all”,單擊“List”按鈕,列出輸入、輸出節(jié)點,單擊“>>”進行選擇,再點擊“OK”按鈕。在圖2-31所示對話框內(nèi)設(shè)定x1、x2的值,然后保存。

圖2-27波形編輯器

圖2-28調(diào)節(jié)窗口顯示

圖2-29添加節(jié)點

圖2-30選擇節(jié)點

圖2-31設(shè)置輸入變量的值

(7)功能仿真。選擇菜單命令Assignments->Settings打開圖2-32所示的對話框,仿真模式選擇“Functional”,點擊“OK”按鈕。仿真之前,需要產(chǎn)生功能仿真連線表,可通過菜單命令Processing->GenerateFunctionalSimulationNetlist來完成。選擇菜單命令Processing->StartSimulation開始仿真,仿真結(jié)果如圖2-33所示。從仿真結(jié)果可看出,輸出符合f

=

x1$x2。

圖2-32選擇仿真類型

圖2-33功能仿真結(jié)果

(8)時序仿真。當通過功能仿真確認設(shè)計的電路功能正確之后,開始時序仿真。在圖2-32中仿真模式選擇Timing,然后開始仿真,結(jié)果如圖2-34所示??梢钥吹椒抡娼Y(jié)果約有6

ns的延遲。

圖2-34時序仿真的結(jié)果

宏功能模塊是復雜的高級構(gòu)建模塊,Altera提供的可參數(shù)化宏功能模塊(LibraryofParameterizedModules,LPM)及LPM函數(shù)均針對Altera器件的結(jié)構(gòu)做了優(yōu)化設(shè)計。LPM模塊可以在QuartusⅡ設(shè)計文件中與邏輯門和觸發(fā)器等基本單元一起使用,而當使用某些Altera專用器件的功能時,例如,存儲器、DSP塊、LVDS驅(qū)動器、PLL及DDIO電路等,必須使用宏功能模塊。2.3宏功能模塊的調(diào)用宏功能模塊是以圖形符號或硬件描述語言模塊形式構(gòu)成的,設(shè)計者可以根據(jù)實際電路的設(shè)計需要,選擇LPM庫中的適當模塊,并為其設(shè)定適當?shù)膮?shù),就能滿足自己的設(shè)計需要,從而使得電子設(shè)計的效率和可靠性得到很大的提高。宏功能模塊內(nèi)容豐富,每一模塊的功能、參數(shù)含義、使用方法、硬件描述語言、模塊參數(shù)設(shè)置及調(diào)用方法都可以在QuartusⅡ中的Help中查閱到,方法是選擇“Help”菜單中的“Megafunctions/LPM”命令。

Altera提供了AlteraMegafunctionPartnersProgram(AMPP)和MegaCore宏功能模塊,其中的函數(shù)經(jīng)嚴格的測試和優(yōu)化,可以在Altera特定器件結(jié)構(gòu)中發(fā)揮出最佳性能,使用這些知識產(chǎn)權(quán)的參數(shù)化模塊將減少設(shè)計和測試的時間。MegaCore和AMPP宏功能模塊包括應用于通信、數(shù)字信號處理(DSP)、PCI和其它總線界面,以及存儲器控制器中的宏功能模塊。表2-1是Altera提供的宏功能模塊與LPM函數(shù)。

表2-1宏功能模塊與LPM函數(shù)在QuartusⅡ中,Altera推薦使用MegaWizardPlug-InManager對宏功能模塊進行例化以及建立自定義宏功能模塊變量。此向?qū)⑻峁┮粋€供自定義和參數(shù)化宏功能模塊使用的圖形界面,并確保正確設(shè)置所有宏功能模塊的參數(shù)。

MegaWizardPlug-InManager可以幫助用戶建立或修改包含自定義宏功能模塊變量的設(shè)計文件,然后可以在頂層設(shè)計文件中對這些文件進行例化。這些自定義宏功能模塊變量針對Altera提供的宏功能模塊,包括LPM、MegaCore和AMPP函數(shù)。MegaWizardPlug-InManager運行一個向?qū)?,幫助用戶輕松地為自定義宏功能模塊變量指定選項。該向?qū)в糜跒閰?shù)和可選端口設(shè)置數(shù)值。也可以從Tools菜單或從原理圖設(shè)計文件中打開MegaWizardPlug-InManag

溫馨提示

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

評論

0/150

提交評論