EDA技術與應用(陳新華)第6章_第1頁
EDA技術與應用(陳新華)第6章_第2頁
EDA技術與應用(陳新華)第6章_第3頁
EDA技術與應用(陳新華)第6章_第4頁
EDA技術與應用(陳新華)第6章_第5頁
已閱讀5頁,還剩74頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第第6 6章章 數字集成軟件數字集成軟件 Quartus II Quartus II 及其應用及其應用6.1 Quartus II 簡介簡介6.2 Quartus II 的設計流程的設計流程6.3 Quartus II 的設計應用的設計應用6.4 時序分析時序分析 6.5 基于基于PowerPlay Power Analyzer Tool 的功耗估算的功耗估算 6.6 調用帶參數的庫文件調用帶參數的庫文件 6.7 SignalTap II嵌入邏輯分析儀嵌入邏輯分析儀 本章內容本章內容6.1 Quartus II 簡介簡介 Quartus II 是Altera公司推出的CPLD/FPGA結構化A

2、SIC開發設計軟件。其具有完全集成且與電路結構無關的開發包環境,功能強大的邏輯綜合工具,完備的電路功能仿真與時序邏輯仿真工具,能進行時序分析與關鍵路徑延時分析等多種工作。還可利用第三方仿真工具Modelsim進行仿真,綜合工具Synplify進行綜合,來完成數字電路系統設計;其內部還有嵌入式的SignalTap II邏輯分析工具,可用來進行系統的邏輯測試和分析等。Quartus II軟件可提供以下具體功能:軟件可提供以下具體功能:nNativeLink 集成EDA仿真工具;n生成輸出網表文件;n在EDA仿真工具中的設計仿真;n功能與時序仿真庫;nPowerGauge 功耗估算;n生成測試臺模板

3、和內存初始化文件。n可以對設計進行時序分析。QuartusII一般的設計流程為:設計輸入設計綜合布局布線驗證、仿真下載6.2 Quartus II 的設計流程的設計流程Quartus II 的設計流程的設計流程QuartusII的設計步驟:n創建項目n設計輸入n設計綜合n適配設計編譯n仿真與驗證n設計下載6.3 Quartus II 的設計應用的設計應用創建項目中主要完成以下工作:n生成一個新的項目文件n將設計文件加入新項目n指定項目所針對的目標器件n指定第三方EDA軟件注:(1)設計文件如果在生成項目文件時沒有,需要在后續工作中完成。(2)可以根據需要適當的指定第三方EDA軟件,沒有要求可使

4、用QuartusII自帶工具。一、創建項目一、創建項目新建一個項目:QuartusII只對項目進行編譯、綜合、下載編程。選擇File/New Project Wizard命令在對話框中操作二、設計輸入二、設計輸入由于QuartusII帶有圖表和原理圖編輯器,設計輸入分為:n原理圖設計輸入n文本輸入n層次化設計輸入設計輸入的多種格式設計輸入的多種格式圖表模塊編輯是頂層設計的主要方法,原理圖編輯是傳統的設計輸入方法,用戶可以利用QuartusII提供的LPMs、MegaFunction以及用戶自己的庫函數來設計,提供“智能”的模塊鏈接和映射。1、原理圖設計輸入、原理圖設計輸入Quartus II

5、的原理圖輸入步驟的原理圖輸入步驟實例:實例:一位半一位半加器實加器實現詳見現詳見教材教材原理圖輸入舉例原理圖輸入舉例原理圖輸入法實現一位半加法器的步驟:在QuartusII軟件下,執行“FileNewBLockDiagram/SchematicFile命令從庫中調入元件及引腳符號在原理圖編輯器的空白處選擇一個任意位置,雙擊鼠標左鍵,會彈出一個庫元器件符號及接口元件符號選擇窗口,選擇庫名和庫元件名,調入該元件符號放在原理圖編輯器中,在原理圖編輯器中按照自己預先設計的電路原理圖,將已經放在里面的元件及引腳符號,用工具欄中的的直角圖表,連完線之后得到如下圖將原理圖設置成可調用的元件在打開半加器原理圖

6、的情況下,選擇菜點FileCreate/UpdateCerateSymbolFileForCurrentFile項,即可將當前文件half_adder.bdf變成一個元件模塊符號存盤,等待在高層次的設計中調用。2、文本輸入、文本輸入文本輸入流程文本輸入流程一位半加法器文本輸入設計文本編輯輸入法與原理圖輸入法設計步驟基本相同:首先建立一個項目,然后在QuartusII中執行“File”菜單下的“New”命令,在彈出的對話框中選擇“VerilogHDLFile”或者“VerilogFile”,然后單擊“OK”,進入文本編輯的頁面。由于很多工程都是有很多的功能模塊互聯而成。而有的模塊構成復雜,使用的

7、硬件描述語言也不完全相同的情況。QuartusII的層次化設計就是解決這個問題的好方法。它的設計輸入可以是:繪制的原理圖、硬件描述語言描述、原理圖繪制與硬件描述語言混合。層次化設計可以是:自底向上也可以自頂向下。自底向上的模塊化設計流程中,用戶可以將設計分割成為多個模塊,單個低層模塊可以單獨開發,為每個模塊建立單獨的工程,并使用為頂層設計而開發分配。低層模塊完成后,將它們導入頂層設計中,頂層設計將進行最終編譯和驗證。3、層次化設計輸入、層次化設計輸入層次化設計輸入是在前面的原理圖設計輸入和文本輸入的基礎上實現的。不管是使用QuartusII提供的LPMs、MegaFunction還是用戶自己的

8、庫函數及其一些設計的模塊。基本上都是采用例化的思想來完成的。通過對設計本身功能及數據流方向的劃分,將設計分為各個層次的模塊。實例中我們對一位全加器、四位全加器的設計實現來講解了層次化設計輸入的實現。詳細過程請參考教材。四位全加器層次化設計四位全加器層次化設計把前面一位半加器half_adder.bdf的元件模塊符號做為底層模塊調出來,設計全加器頂層文件,并設計出一位全加器的元件模塊符號四位全加器層次化設計四位全加器層次化設計把前面一位全加器full_adder.bdf的元件模塊符號做為底層模塊調出來,設計全加器頂層文件將原理圖設置成可調用的元件再用上述同樣的方法,選擇FileSaveas保存上

9、述圖形。然后選擇菜點FileCreate/UpdateCerateSymbolFileForCurrentFile項,把當前的四位全加器原理圖變成一個元件模塊符號,組成新的模塊存盤生成VerilogHDL文本調用Selectonedesignfile,點擊OK即可得到對應的一位全加器VerilogHDL文本。與之相對應的文本編輯如圖邏輯綜合是把設計的高層次描述轉換成優化的門級網表的過程。也可以說是把用HDL語言或圖形方式描述的電路設計轉換為實際門級電路(如觸發器、邏輯門等),得到一個網表文件,用于進行適配(在實際器件中進行布局和布線)的過程稱為綜合。三、設計綜合三、設計綜合Quartus II

10、 綜合設計流程綜合設計流程QuartusII作為一個集成的EDA軟件,帶有集成的綜合器,可以使用分析綜合模塊分析綜合設計文件及建立工程數據庫。QuartusII的分析綜合調用VHDL設計文件(.vhd)或Verilog設計文件(.v)。可以使用其它EDA綜合工具綜合VHDL或VerilogHDL設計文件,然后再生成可以與QuartusII軟件配合使用的EDIF網表文件(.edf)或VQM文件(.vqm)。可以在包含Analysis&Synthesis模塊的QuartusII軟件中啟動全編譯,也可以單獨啟動Analysis&Synthesis。QuartusII軟件還允許設計者在

11、不運行IntegratedSynthesis的情況下執行Analysis&Elaboration。綜合編譯結果報告綜合編譯結果報告以四位全加器為例進行層次化設計綜合,在這里我們采用全編譯的方式進行編譯。通過菜單Processing選擇StartCompilation選項啟動全編譯。得出綜合編譯結果的報告如圖項目綜合項目綜合RTL級網表電路級網表電路QuartusII經過Analysis和Elabortion之后可以生成RTL級網表,通過“RTLViewer”可以觀察設計項目對應的RTL電路結構。通過菜單Tools選擇“RTLViewer”選擇,可以打開設計項目中各個層次的電路結構。把前

12、面綜合設計的網表內容,通過設計編譯實現對可編程邏輯器件底層內部邏輯電路進行編程(布局與布線),即完成預定的ASIC設計的過程,稱為適配設計編譯。四、適配設計編譯四、適配設計編譯QuartusII只對項目進行編譯前必要的設置:n方法1:先借助于NewProjectWizard創建一個新項目,再創建設計輸入文件(前面已介紹)。n方法2:先建立設計輸入文件,再將其設置為頂層文件,進一步確定其為項目。適配設計編譯布局布線,是對有關的門電路進行設計。由于門的傳輸與時間有關,因此會有延遲,必須需進行檢驗和驗證,即進行時序仿真。仿真是驗證系統設計功能的重要環節。功能仿真是驗證系統設計功能的正確性,時序仿真驗

13、證則必須是系統設計經過綜合編譯,因此稱之為時序仿真。五、仿真與驗證五、仿真與驗證Netlist Writer仿真工具仿真工具:QuartusII軟件的EDANetlistWriter模塊,生成用于功能仿真(前仿真)或時序仿真(后仿真)的文本輸出文件。QuartusII可以生成VHDL輸出文件(.vho)或Verilog輸出文件(.vo),以及使用EDA仿真工具進行時序仿真所需的標準延時格式輸出文件(.sdo)。QuartusII軟件在StandardDelayFormat2.1版中生成SDF輸出文件。EDANetlistWriter將仿真輸出文件放在當前工程目錄下的工具特定目錄中。此外,Qua

14、rtusII軟件通過NativeLink功能使時序仿真與EDA仿真工具實現集成。NativeLink功能允許QuartusII軟件將信息傳遞至EDA仿真工具并具有從QuartusII軟件中啟動EDA仿真工具的功能。功能仿真:使用QuartusII仿真工具進行功能仿真,執行以下操作:n在QuartusII仿真工具中設置工程。n建立工作庫。n使用EDA仿真工具編譯相應的功能仿真庫。n使用EDA仿真工具編譯設計文件和測試激勵文件。n使用QuartusII仿真工具NativeLink進行仿真。時序仿真:時序仿真一般在系統分析、綜合、適配之后進行,如果要加強對仿真的控制,可以在QuartusII軟件中手

15、工生成VerilogHDL或VHDL輸出文件以及相應的SDF輸出文件,然后手工啟動仿真工具,進行仿真。使用EDA仿真工具執行QuartusII設計時序仿真所采用的基本流程:n通過Settings對話框(Assignments菜單)或在工程設置期間使用NewProjectWizard(File菜單),在QuartusII軟件中進行EDA工具設置。n在EDA軟件中編譯設計,生成輸出網表文件。QuartusII軟件將該文件放置在特定的目錄中。使用EDA仿真工具執行QuartusII設計時序仿真所采用的基本流程(續):n啟動EDA仿真工具。n使用EDA仿真工具設置工程和工作目錄。n編譯并映射到時序仿真

16、目錄,使用EDA仿真工具編譯設計和測試激勵文件。n使用EDA仿真工具進行仿真。仿真器進行仿真設計仿真器進行仿真設計使用QuartusII仿真器,可以進行功能仿真用于測試設計的邏輯運算,也可以進行時序仿真,用于在目標器件中測試設計的邏輯運算和最差時序。QuartusII軟件可以仿真整個設計,或仿真設計的任何部分。可以在工程中將任何設計實體指定為仿真焦點。在仿真設計時,仿真器仿真焦點實體及其所有附屬設計實體。仿真步驟:n指定仿真器設置n建立波形文件仿真舉例仿真舉例仿真實例中我們針對層次化設計時的四位全加器進行仿真,其過程如下:n仿真激勵文件的生成n功能和時序仿真仿真舉例的詳細內容參考教材。下載是指

17、將生成的配置文件通過EDA軟件輸入到具體的可編程邏輯器件中的過程。對于CPLD來說是下載JED文件,對于FPGA來說是下載位流數據文件。在QuartusII軟件中,下載是通過Programmer來完成的。六、設計下載六、設計下載下載編程模式下載編程模式Programmer具有四種編程模式:n被動串行模式nJTAG模式n主動串行編程模式n套接字內編程模式下載的流程下載的流程n物理實現確定電路的輸入/輸出端口和引腳的對應關系。將設計結果下載到可編程器件中,使之變成所希望的集成電路,這個過程稱為編程(Programming)。n引腳分配n下載編程命令Tools/Programmer打開編程模塊窗口,

18、點擊HardwareSetup按鈕,目標器件名和編程文件名必須正確地顯示在窗口中。到編程器窗口,在窗口中操作,啟動編程。QuartusII時序分析器是用戶用來分析設計中的所有邏輯性能,并協助引導適配器滿足設計中的時序要求。在軟件執行編譯的過程中,時序分析器自動執行時序分析,并在編譯報告中給出時序分析結果,如建立時間(tSU)、保持時間(tH)、時鐘到輸出的延時(tCO)、引腳到引腳延時(tPD)、最大時鐘頻率(fMAX)、延緩時間(slacktimes)以及設計中的其它時序特征。6.4 時序分析時序分析TimeQuest Timing Analyzer以十進制計數器為例TimeQuestTim

19、ingAnalyzer的使用方法:n新建一個工程,并將已經寫好的.v(counter.v)文件加入工程中。n啟動TimeQuest時序分析器n生成時鐘信號n設置時鐘延時n設置時鐘偏移n設置輸入延時n設置輸出延時n生成.sdc文件實例的詳細內容請參考教材。選擇使用選擇使用TimeQuest時序分析工具時序分析工具在QuartusII7.1中執行Assignments/Settings,在出現的界面中選中TimingAnalysisSetting,選擇使用TimeQuest時序分析工具。如下圖時序分析設置時序分析設置n執行Processing/StartCompilation,對工程進行編譯、分析

20、綜合、適配以及時序進行分析。n可以在編譯窗口的TimeQuestTimingAnalyzer文件夾中查看時序分析結果如下圖所示:時序分析報告時序分析報告6.5 基于基于PowerPlay Power Analyzer Tool 的功耗估算的功耗估算 低功耗設計在系統設計中已經成為一個必須考慮的因素,在系統未完成設計之前如果能夠進行功耗的分析估算,對于系統的設計有一個很重要的指導意義。 Quartus II 軟件集成的功耗分析工具 PowerPlay Power Analyzer Tool 可以估算在時序仿真期間基于仿真激勵的功耗。1. 功耗估算的準備功耗估算的準備在進行時序仿真時,通過對仿真選

21、項的設置輸出一個后綴名為.vcd的文件,用于PowerPlayPowerAnalyzerTool進行功耗估算時的輸入。使用命令Assignments/Settings.打開項目設置窗口(如下圖),在仿真器設置中將仿真模式“Simulationmode”設為“Timing”即時序仿真。仿真輸入“Simulationinput”為已經建立的波形矢量文件“*.vwf”。仿真輸出文件設置仿真輸出文件設置選擇“SimulationOutputFiles”(如下圖)設定用于功耗分析的仿真輸出文件名“*.vcd”。2. 功耗分析估算功耗分析估算使用命令Processing/PowerPlayPowerAna

22、lyzerTool打開功耗分析工具窗口(如下圖)。功耗輸入文件設置功耗輸入文件設置選擇輸入文件選項“InputFile”將時序仿真時生成的*.vcd文件加入功耗分析工具中。(如下圖)功耗輸入文件設置功耗輸入文件設置選擇輸入文件選項“InputFile”將時序仿真時生成的*.vcd文件加入功耗分析工具中。單擊“OK”完成功耗分析工具的設置,單擊功耗分析工具窗口中的“Start”,開始功耗分析,可以通過“Report”查看功耗分析報告。6.6 調用帶參數的庫文件調用帶參數的庫文件 在EDA的設計中還會經常的使用到一些帶參數的庫,通過調用這些帶參數的庫可以方便的實現自己的設計。因為這些參數庫都是經過

23、驗證和一些經驗實踐積累得到的經典設計,所以,通過調用帶參數的庫文件,可以調高設計的水平和質量。在QuartusII軟件中使用帶參數的庫文件:在原理圖編輯器中我們以調用庫元件lpm_ram_d為例,說明在QuartusII軟件中帶參數庫元件調用的過程和方法。其中字長為8位,地址碼長度為5位(存儲容量位32字)調用lpm_ram_d庫元件:1、按照前面介紹的方法新建一項目,使用原理圖編輯器為其中新建一設計文件:2、在編輯器中雙擊鼠標左鍵(或使用命令EditInsertSymbol),在出現的對話框中選擇庫元件3、指定輸出文件類型和名稱4、指定元件lpm_ram_dq0的參數5、判斷是否為存儲器元件

24、賦初值(選擇RAM初始化文件)6、生成文件設置選項7、在原理圖編輯器中創建一個存儲器:在完成前面工作幾步的基礎上,自動返回到原理圖編輯器,原理圖編輯器中出現被調用的元件lpm_ram_dq08、指定存儲器參數并完成存儲單初始值的設定以生成存儲單元的初始化文件ram_5.mif指定存儲器參數存儲單元初始值的指定9、存儲器的仿真結果6.7 SignalTap II嵌入邏輯分析儀嵌入邏輯分析儀SignalTap是內嵌的邏輯分析儀,集成到QuartusII設計軟件中,能夠捕獲和顯示可編程單芯片系統(SOPC)設計中實時信號的狀態。SignalTap可以實時測試FPGA中的信號波形。SignalTapI

25、I的使用使用SignalTapII的一般流程是:設計人員在完成設計并編譯工程后,建立SignalTapII(.stp)文件并加入工程-配置STP文件-編譯并下載設計到FPGA-在QuartusII軟件中顯示被測信號的波形-在測試完畢后將該邏輯分析儀從項目中刪除。SignalTapII的使用流程如圖:nSimulator:顯示的波形(包括延時)是計算所得,與實際波形難免有差異。nSignalTap:顯示的波形(包括延時)是實際波形。利用FPGA中的資源形成嵌入式邏輯分析儀(EmbeddedLogicAnalyzer,ELA),用以捕捉目標芯片內部信號節點的信息,而不影響原硬件系統的正常工作。EL

26、A把采集的數據從JTAG口經ByteBlaster送往主機,顯示有關信號的實測波形。SignalTap與Simulator的比較在SignalTapII的設計舉例中,我們所采用的是可調信號發生器,其由三部分組成:地址指針,數據ROM和D/A。地址指針用來產生地址,數據ROM中存放波形數據,包括正弦波、方波、三角波和鋸齒波,D/A用來將波形數據轉換為模擬波形。設計的詳細內容請參考教材。SignalTapII的設計舉例QuartusII允許對整個設計項目進行仿真測試,也可以對該設計中的任何子模塊進行仿真測試。方法是設定“Simulationfocus”。仿真設定單元(SimulationSettings)允許設計者指定該模塊的仿真類型,仿真覆蓋的時序和矢量激勵源等。Time/Vectors仿真參數設定窗口允許設定仿真時間區域以及矢量激勵源。波形仿真1、建立VectorWaveformFile打開波形編輯器:仿真步驟2、設置仿真時間區域、設置仿真時間區域 3、存盤波形文件。4、輸入信號節點。5、編輯輸入波形(輸入激勵信號)。點擊時鐘名inclock,使之變藍色,再點擊左列的時鐘設置鍵,在Clock窗中設置CLK的周期為3us;所示的Clock窗中的“Dutycycle”是占空比,可選50,即50%占空比,再對文件存盤。6、總線數據格式設置7、仿

溫馨提示

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

評論

0/150

提交評論