版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第12章 quartus功能及應用1 1第第1212章章 quartus quartus 功能及應用功能及應用12.1 quartus軟件簡介及特點12.2 quartus軟件開發(fā)流程12.3 quartus軟件的使用12.4 lpm宏功能模塊與ip核的應用12.5 signaltap嵌入式邏輯分析儀的使用第12章 quartus功能及應用2 212.1 quartus軟件簡介及特點quartus軟件是altera提供的完整的多平臺設計環(huán)境,能夠滿足設計者特定的設計需要,可以完成fpga/cpld的開發(fā)與設計。quartus提供了方便的設計輸入方式、快速的編譯和直接易懂的器件編程,能夠支持百萬
2、門以上邏輯器件的開發(fā),并且為第三方工具提供了無縫接口。quartus軟件的編程器是系統(tǒng)的核心,提供功能強大的設計處理,設計者可以添加特定的約束條件來提高芯片的利用率。第12章 quartus功能及應用3 3在設計流程的每一步,quartus軟件均能夠引導設計者將注意力放在設計上,而不是軟件的使用上。同時能夠自動完成錯誤定位、錯誤和警告信息提示,使設計過程變得更加簡單和快捷。第12章 quartus功能及應用4 4quartus軟件主要具有以下特點:(1) 支持多種輸入方式,如原理圖、模塊圖、hdl等。(2) 易于引腳分配和時序約束。(3) 內嵌signaltap(邏輯分析儀)、功率估計器等高級
3、工具。(4) 支持市場主流的眾多器件。(5) 支持windows、solaris、linux等操作系統(tǒng)。(6) 支持第三方工具,如綜合、仿真等工具的鏈接。第12章 quartus功能及應用5 512.2 quartus軟件開發(fā)流程quartus軟件開發(fā)的完整流程如圖12.1所示。在實際的設計過程中,其中的一些步驟可以簡化,簡化后的quartus設計流程如圖12.2所示。本節(jié)將詳細講述quartus軟件開發(fā)流程的具體步驟。第12章 quartus功能及應用6 6圖12.1 quartus設計流程 第12章 quartus功能及應用7 7 圖12.2 簡化的quartus設計流程 第12章 qua
4、rtus功能及應用8 812.2.1 設計輸入1原理圖輸入原理圖(schematic)是使用“電路圖”來描述設計的圖形化表達形式。其特點是適合描述各部件的連接關系和接口關系。原理圖輸入的設計方法直觀、易用,支撐它的是一個功能強大、分門別類的器件庫,然而由于器件庫中元件的通用性差,導致其可重用性、可移植性較差。如需更換設計實現(xiàn)的芯片型號,整個原理圖需要進行很大的修改甚至是全部重新設計。所以原理圖設計常作為輔助的設計方式,它更多地應用于混合設計和個別模塊設計。第12章 quartus功能及應用9 92hdl文本輸入hdl文本輸入方式是利用hdl語言來對系統(tǒng)進行描述,然后通過eda工具進行綜合和仿真
5、,最后變?yōu)槟繕宋募笤赼sic或fpga/cpld上具體實現(xiàn)。這種設計方法是目前普遍采用的主流設計方法。第12章 quartus功能及應用101012.2.2 綜合綜合(synthesis)是將hdl語言、原理圖等設計輸入轉換成由基本門電路(與、或、非門等)及器件庫提供的基本單元所組成的網表,并根據(jù)目標與要求(約束條件)優(yōu)化所生成的邏輯連接,最后形成elf或vqm等標準格式的網表文件,供布局布線器進行實現(xiàn)。隨著fpga/cpld復雜度的提高、硬件系統(tǒng)性能的要求越來越高,高級綜合在設計流程中成為了重要部分,綜合結果的優(yōu)劣直接影響了布局布線的結果。好的綜合工具能夠使設計占用芯片的物理面積最小、工作
6、效率最高。第12章 quartus功能及應用1111綜合有以下幾種表示形式:(1) 算法表示、行為級描述轉換到寄存器傳輸級(rtl),即從行為描述到結構描述,稱為行為結構。(2) rtl級描述轉換到邏輯門級(可包括觸發(fā)器),成為邏輯綜合。(3) 將邏輯門表示轉換到版圖表示,或轉換到pld器件的配置網表表示,稱為版圖綜合或結構綜合。根據(jù)版圖信息進行asic生產,有了配置網表可在pld器件上實現(xiàn)系統(tǒng)功能。第12章 quartus功能及應用121212.2.3 布局布線quartus軟件中的布局布線(fitter)是由“fitter”(適配)執(zhí)行,其功能是使用analysis &synthe
7、sis生成的網表文件,將工程的邏輯和時序的要求與器件的可用資源相匹配。它將每個邏輯功能分配給最合適的邏輯單元進行布線,并選擇相應的互連路徑和引腳分配。如果在設計中執(zhí)行了資源分配,則布局布線器將試圖使這些資源與器件上的資源相匹配,努力滿足用戶設置的其他約束條件并優(yōu)化設計中的其余邏輯。如果沒有對設計設置任何約束條件,布局布線器將自動對設計進行優(yōu)化。quartus軟件中布局布線包含分析布局布線結果、優(yōu)化布局布線、增量布局布線和通過反向標注分配等。第12章 quartus功能及應用131312.2.4 仿真仿真(simulation)的目的是在軟件環(huán)境下,驗證電路的設計結果是否和設想中的功能一致。在如
8、圖12.1所示的設計流程中,設計者在完成了設計輸入、綜合、布局布線后,需要驗證設計的功能是否能夠實現(xiàn)以及各部分的時序配合是否準確。如果存在問題則可以對設計進行修改,從而避免邏輯錯誤。高級的仿真軟件還可以對整個系統(tǒng)設計的性能進行估計。規(guī)模越大的設計,越需要進行仿真。常用的第三方仿真工具包括mentor graphics公司的modelsim、synopsys公司的vcs、cadence公司的nc-sim等軟件。目前比較流行的仿真工具是modelsim,本書將在第13章詳細講解modelsim的使用。第12章 quartus功能及應用141412.2.5 編譯和配置將成功編譯、仿真后的編程文件下載
9、到可編程器件的過程稱為配置。在配置前,首先需將下載電纜、硬件開發(fā)板和電源準備好,然后設置配置選項,對可編程器件進行配置。第12章 quartus功能及應用151512.2.6 調試編譯、仿真、器件配置與編程結束后,設計者需要對所做的設計進行整體或局部模塊的調試。quartus軟件中主要的調試工具是singnaltap logic analyzer(嵌入式邏輯分析儀)和signalprobe(信號探針)。第12章 quartus功能及應用161612.2.7 系統(tǒng)級設計系統(tǒng)級設計是指quartus軟件支持sopc builder和dsp builder系統(tǒng)級設計流程。quartus與sopc b
10、uilder一起為建立的sopc提供標準化的設計環(huán)境,其中sopc由cpu、存儲器接口、標準外圍設備和用戶自定義的外圍設備等組成。sopc builder允許用戶選擇系統(tǒng)組件和自定義組件,它可以將這些組件組合并生成對這些組件進行實例化的系統(tǒng)模塊,同時自動生成必要的總線邏輯。dsp builder是幫助用戶在易于算法應用的開發(fā)環(huán)境中建立dsp設計的硬件表,從而縮短dsp的設計周期。第12章 quartus功能及應用171712.3 quartus軟件的使用本書中使用的quartus軟件的版本為quartus 8.1(32bit)。下面以1bit半加器的實現(xiàn)為例,通過其實現(xiàn)流程詳細介紹quartu
11、s軟件的主要功能和使用方法。加法器是構成算術運算器的基本單元,1bit半加器是指不考慮來自低位的進位,而將兩個1位的二進制數(shù)直接相加。本實例設計1bit半加器模塊adder,其真值表如表12.1所示。adder模塊的外部接口如圖12.3所示,輸入分別為a、b,進位輸出和結果分別定義為cout、sum,聲明為wire數(shù)據(jù)類型。第12章 quartus功能及應用1818第12章 quartus功能及應用1919圖12.3 1bit半加器adder第12章 quartus功能及應用202012.3.1 創(chuàng)建quartus工程創(chuàng)建quartus工程的具體操作步驟如下:(1) 打開quartus軟件,顯
12、示主界面,如圖12.4所示。(2) 選擇菜單欄filenew project wizard命令,如圖12.5所示,啟動工程建立向導。第12章 quartus功能及應用2121圖12.4 quartu主界面 第12章 quartus功能及應用2222圖12.5 建立工程第12章 quartus功能及應用2323(3) 利用quartus提供的新建工程向導可以方便地建立一個工程。在彈出的如圖12.6所示的新建工程向導窗口中直接點擊next按鈕,彈出圖12.7所示的對話框。第12章 quartus功能及應用2424圖12.6 新建工程向導第12章 quartus功能及應用2525圖12.7 選擇工程
13、路徑、工程名及頂層模塊名第12章 quartus功能及應用2626 先創(chuàng)建一個文件夾。在硬盤中創(chuàng)建一個用于保存下一步工作中要產生的工程項目的文件夾。注意:文件夾的命名及其保存的路徑中不能有中文字符和空格。 在如圖12.7所示的窗口中,第一個空白處需填入建立的工程路徑,為便于管理,quartus軟件要求每一個工程項目及其相關文件都統(tǒng)一存儲在單獨的文件夾中;在第二個空白處需填入建立的工程名稱;在第三個空白處填入的是工程的頂層設計文件名稱,建議頂層設計文件名稱和建立的工程名稱保持一致。完成上面的設置后按next按鈕,自動彈出如圖12.8所示的對話框。第12章 quartus功能及應用2727圖12.
14、8 添加設計文件第12章 quartus功能及應用2828(4) 在圖12.8中將已有的設計文件添加到工程中,可以選擇其他已存在的設計文件加入到這個工程中,也可以使用user library按鈕把用戶自定義的庫函數(shù)加入到工程中使用。完成后按next按鈕,彈出圖12.9所示的窗口。第12章 quartus功能及應用2929圖12.9 選擇器件、封裝及速度級別第12章 quartus功能及應用3030(5) 在圖12.9所示窗口中進行器件選擇,可以選擇器件的系列、封裝形式、引腳數(shù)目以及速度級別來約束可選器件的范圍。本例中,在family一欄選擇“cyclone”,在target device一欄選
15、擇“specific device selected in available deviceslist”,在available devices一欄選擇“ep1c3t144c6”。操作完成后按next按鈕,彈出如圖12.10所示界面。第12章 quartus功能及應用3131圖12.10 選擇eda綜合、仿真、時序分析工具第12章 quartus功能及應用3232(6) 在圖12.10所示界面中可以為新建立的工程指定第三方的綜合工具、仿真工具、時序分析工具。在本設計中使用默認設置。完成后按next按鈕進入下一步。(7) 單擊finish按鈕,在如圖12.11所示的工程設置信息窗口中顯示了工程的全
16、部設置。第12章 quartus功能及應用3333圖12.11 工程設置信息第12章 quartus功能及應用343412.3.2 設計輸入1基于原理圖的設計輸入與以半加器為例,介紹基于原理圖輸入方式的quartus軟件開發(fā)的具體流程。(1) 建立block diagram/schematic file。執(zhí)行主窗口的filenew菜單命令,在如圖12.12所示的窗口中選擇block diagram/schematic file,然后單擊ok按鈕。此時工作區(qū)中打開空白的圖紙block1.dbf文件,并在圖紙左側自動打開如圖12.13所示的繪圖工具欄。開始設計“半加器”模塊,其所需要做的是繪制一張
17、“電路圖”。第12章 quartus功能及應用3535圖12.12 建立原理圖輸入文件第12章 quartus功能及應用3636圖12.13 原理圖編輯窗口第12章 quartus功能及應用3737(2) 放置元器件。雙擊圖12.13中原理圖編輯窗口的任意空白處,彈出圖12.14所示的對話框,在name處填寫設計原理圖所需的元器件名稱,這里填入and2,則右側同時給出該器件的預覽,點擊ok按鈕確認后返回原理圖編輯窗口,在合適的位置點擊鼠標左鍵即可放置and2。當選擇的元器件處于選中狀態(tài)時邊框呈藍色,此時可對該元器件進行命名、復制、刪除等操作。用同樣的方法,可添加其他需要的元器件或i/o接口,如
18、電源(vcc)、地(gnd)、輸入引腳(input)和輸出引腳(output)等。第12章 quartus功能及應用3838輸入元器件的另一種方法是拖動圖12.14所示的libraries窗口右邊的滑動條,按層次展開器件庫,從中選擇所需的元器件。此庫中提供了各種邏輯功能符號,包括圖元(primitives)、宏功能(megafunctions)、others等。圖元庫中主要包括基本邏輯單元庫,如各種門電路、緩沖器、觸發(fā)器、引腳、電源和地。第12章 quartus功能及應用3939圖12.14 輸入元器件第12章 quartus功能及應用4040(3) 連線。添加所需元件后,還需要為電路的輸入、
19、輸出信號分別添加input和output引腳。將各元件按照電路圖進行連接,連接時只要將鼠標放到元件的引腳上,鼠標會自動變成“十”形狀。按左鍵拖動鼠標,就會有導線引出。根據(jù)要實現(xiàn)的邏輯,連好每個元件的引腳。(4) 命名輸入、輸出引腳。在半加器的原理圖中雙擊input端口的默認引腳“pin_name”,彈出如圖12.15所示對話框,修改引腳名為a,然后依次將pin_name2、pin_name3、pin_name4命名為b、sum、cout。最終完成的原理圖如圖12.16所示,其中引腳a、b為輸入,sum為相加結果,cout為進位輸出。第12章 quartus功能及應用4141圖12.15 引腳屬
20、性對話框第12章 quartus功能及應用4242圖12.16 半加器的原理圖第12章 quartus功能及應用43432基于verilog hdl語言的文本輸入下面仍以半加器為例,講解基于verilog hdl文本輸入的quartus軟件開發(fā)的具體流程。(1) 建立verilog hdl file。執(zhí)行主窗口的filenew菜單命令,在design files下選擇verilog hdl file選項,點擊ok按鈕。(2) 輸入源代碼。在文本的編輯窗口中輸入半加器的源代碼,具體見代碼12.1。第12章 quartus功能及應用4444第12章 quartus功能及應用4545(3) 創(chuàng)建模塊
21、。執(zhí)行主窗口的filecreate/updatecreate symbol files for current file菜單命令,便可創(chuàng)建當前設計文件的模塊,可供下一次的設計直接調用。本例中創(chuàng)建的模塊如圖12.17所示。第12章 quartus功能及應用4646圖12.17 由verilog hdl file創(chuàng)建的半加器模塊abcoutsumadderinst第12章 quartus功能及應用474712.3.3 工程配置及時序約束1器件的選擇執(zhí)行assignmentsdevice菜單命令,如圖12.18所示,打開如圖12.19所示的器件選擇設置對話框,從中可選用工程所需要的、quartus軟
22、件所支持的元器件種類。除了選擇器件的型號,還需選擇“device and pin options”選項,打開如圖12.20所示的器件配置對話框。在configuration選項卡中選擇配置器件,如epcs4;在unused pins選項卡中可以設置未使用引腳的工作狀態(tài),如設置成輸入三態(tài),如圖12.21所示。第12章 quartus功能及應用4848圖12.18 選擇器件第12章 quartus功能及應用4949圖12.19 器件選擇設置第12章 quartus功能及應用5050圖12.20 器件配置第12章 quartus功能及應用5151圖12.21 未使用的引腳設置第12章 quartus
23、功能及應用52522引腳分配在選擇器件后,為了能對“半加器”進行硬件測試,應將其輸入、輸出信號鎖定在芯片確定的引腳上,以便編譯后下載。執(zhí)行assignmentpins菜單命令,啟動pin planner工具,如圖12.22所示。pin planner是分配引腳的工具,它包括了器件的封裝視圖,以不同的顏色和符號表示不同類型的引腳,并以其他符號表示i/o塊。引腳規(guī)劃器使用的符號與器件數(shù)據(jù)手冊中的符號非常相似,它還包括已分配和未分配引腳的列表。圖中所示的pin planner窗口,默認狀態(tài)下顯示all pins列表、groups引腳分配組、器件封裝視圖和工具欄。第12章 quartus功能及應用53
24、53圖12.22 pin planner界面第12章 quartus功能及應用5454圖12.22中,在pin planner界面單擊右鍵,可以選擇在器件封裝視圖中顯示指定特性的引腳、顯示器件的總資源、查找引腳等功能。將鼠標放于某個引腳的上方,會自動彈出該引腳屬性的標簽,雙擊該引腳打開引腳的屬性窗口可以對其進行分配,選擇后需在reserved組合列表框中設置引腳的工作狀態(tài),如圖12.23所示。第12章 quartus功能及應用5555圖12.23 引腳屬性第12章 quartus功能及應用5656引腳分配的另外一種方法是在主窗口中執(zhí)行assignmentsassignment editor菜單
25、命令,在category中選擇pin,如圖12.24所示。雙擊to欄選擇輸入需要分配的引腳a,再雙擊location打開下拉菜單,選擇芯片的引腳。如圖12.25所示,將芯片的i/o bank1 rowi/o類型的引腳pin_27分配給半加器的引腳a。以同樣的方法給b、cout、sum進行引腳分配。第12章 quartus功能及應用5757圖12.24 assignment editors界面第12章 quartus功能及應用5858圖12.25 引腳分配第12章 quartus功能及應用59593時序約束分配引腳后,在執(zhí)行編譯前,可以利用菜單欄中assignmentssettingstimin
26、g analysis settings和assignment editor兩種方法對系統(tǒng)信號的時序特性進行設置。timing analysis settings為傳統(tǒng)時序分析模式,一般從全局設置timing屬性,如圖12.26所示,可設置選項包括時鐘約束、延時要求、最小延時要求等。第12章 quartus功能及應用6060圖12.26 時序約束界面第12章 quartus功能及應用6161利用assignment editor方法進行時序約束時,可以對個別實體、節(jié)點和引腳進行個別時序分配。assignment editor支持點到點的時序分配,即在assignment editor界面的cat
27、egory欄中選擇timing。例如,本例中時序約束要求從輸入信號引腳a到輸出信號引腳tpd為10ns,具體步驟為:首先在assignment editor界面的category欄中選擇timing中的tpd,再在from欄中雙擊打開node finder,如圖12.27所示。在node finder界面中選擇引腳a,如圖12.28所示。以同樣的方法雙擊to欄,選擇引腳cout,value中的約束值填寫為10ns,如圖12.29所示。此選擇表示引腳a到引腳cout可接受的最少延時為10ns。第12章 quartus功能及應用6262圖12.27 assignment editor新建時序約束窗
28、口第12章 quartus功能及應用6363圖12.28 打開node finder選擇引腳a第12章 quartus功能及應用6464圖12.29 設置點到點的時序約束第12章 quartus功能及應用656512.3.4 編譯1編譯編譯分為完整編譯和不完整編譯。不完整編譯包括編譯設計文件和綜合產生門級代碼,編譯器只運行到綜合這步就停止,只產生估算的延時數(shù)值。完整編譯包括analysis & synthesis、fitter、assembler和timing analyzer四個主要過程的連續(xù)執(zhí)行。第12章 quartus功能及應用6666編譯可在主界面的工具欄中點擊進行編譯,或者執(zhí)
29、行processingcompiler tool菜單命令啟動編譯窗口,然后點擊start按鈕進行編譯。本實例“半加器”的編譯過程如圖12.30所示。若順利通過編譯,主界面下方的messages框中系統(tǒng)提示“quartus ii full compilation was successful”,并給出如圖12.31所示的編譯報告。第12章 quartus功能及應用6767圖12.30 compiler tool界面第12章 quartus功能及應用6868圖12.31 編譯報告第12章 quartus功能及應用69692rtl視圖分析rtl視圖分析是指在綜合或全編譯以后,設計者可以打開綜合后的原
30、理圖以分析綜合結果是否與所設想的設計一致。執(zhí)行toolsnetlist viewersrtl viewer菜單命令打開rtl視圖,本實例的rtl級綜合結果如圖12.32所示。圖中左側列表項表示adder模塊的元件、輸入輸出和連線情況。第12章 quartus功能及應用7070圖12.32 rtl視圖第12章 quartus功能及應用717112.3.5 功能仿真1建立矢量波形文件在進行仿真之前,必須為仿真器提供測試激勵,這個測試激勵被保存在矢量波形文件中。(1) 打開波形編輯器。在主菜單中執(zhí)行filenew命令,在彈出的new對話框中選擇“vector waveform file”。波形編輯器
31、如圖12.33所示,該窗口分為左右兩部分。左邊是信號窗口,顯示用于仿真的輸入和輸出信號的名稱及信號在標定時刻的狀態(tài)取值;右邊是波形窗口,是對應信號的波形圖。最左側為波形編輯工具欄。第12章 quartus功能及應用7272圖12.33 波形編輯窗口第12章 quartus功能及應用7373(2) 輸入信號節(jié)點。在如圖12.33所示的信號窗口的空白處雙擊鼠標左鍵,彈出如圖12.34所示的insert node or bus窗口?;蛘咴谥鞔翱诘牟藛螜谥袌?zhí)行editinsertinsert node or bus命令,同樣也可以打開insert node or bus窗口。在此窗口中單擊node f
32、inder按鈕。第12章 quartus功能及應用7474圖12.34 insert node or bus窗口第12章 quartus功能及應用7575在如圖12.35所示的node finder窗口中,在信號類型欄中選擇“pins:all”,再點擊list按鈕。其中左側為待選信號窗口,列出了設計項目所有輸入、輸出引腳,本例中的輸入、輸出引腳為a、b、cout、sum;右側為已選信號窗口,可在左側的待選信號窗口選擇功能測試所需的輸入和輸出信號,然后點擊中間的按鈕將所需仿真的信號加至右側列表。若需要將所有輸入、輸出信號加至右側列表,則直接點擊中間的按鈕。選擇完成后,點擊ok按鈕,返回圖12.3
33、4所示的insert node or bus窗口,再次點擊ok按鈕,則返回到波形編輯窗口。如圖12.36所示是添加仿真信號后的波形編輯窗口。第12章 quartus功能及應用7676圖12.35 node finder窗口第12章 quartus功能及應用7777圖12.36 添加了信號的波形編輯窗口第12章 quartus功能及應用7878(3) 設置激勵信號。常用的信號包括時鐘信號clk、清零信號clr、輸入波形信號等。圖12.37所示工具條可以方便地輸入信號波形進行設置。第12章 quartus功能及應用7979圖12.37 波形賦值的工具條第12章 quartus功能及應用8080點擊
34、時鐘信號生成按鈕,彈出如圖12.38所示的 clock信號設置窗口,在此窗口中可以設置時鐘信號的時間長度、周期、相位、占空比。如果設定清零信號clr高電平有效,則在clr的波形圖上先用鼠標左鍵點擊選中一小段,再點擊低電平按鈕,然后選中clr波形其他段,點擊高電平按鈕,或者點擊波形翻轉按鈕。利用圖12.37所示的各種波形賦值的快捷鍵可以編輯輸入信號的波形。信號數(shù)據(jù)顯示時的格式可以在圖12.39中進行選擇。第12章 quartus功能及應用8181圖12.38 clock信號設置窗口 第12章 quartus功能及應用8282 圖12.39 數(shù)據(jù)格式設置 第12章 quartus功能及應用8383
35、(4) 保存矢量波形文件。激勵波形設置完成后,單擊主窗口的保存按鈕,并對輸入波形文件命名后,就將其保存在工程文件夾中。第12章 quartus功能及應用84842仿真在主窗口中,執(zhí)行assignmentssettings菜單命令,在彈出的窗口的category類別中選擇simulator settings,彈出如圖12.40所示窗口。在其中的simulation mode下拉菜單中選擇functional,表示“功能仿真”?;蛘咴诓藛螜趫?zhí)行processingsimulator tool命令,打開圖12.41所示的simulator tool窗口,同樣可以設置仿真模式。選擇functional
36、功能仿真后,在仿真輸入中添加激勵文件。 第12章 quartus功能及應用8585本例中添加“add.vwf”波形文件,點擊“generate functional simulation netlist”命令,生成功能仿真的網表文件。注意選擇“overwrite simulation input file with simulation results”項,這樣就會在“add.vwf”波形文件中寫入仿真后的輸出波形。仿真參數(shù)設置完畢,可點擊start按鈕執(zhí)行仿真,同時在仿真過程中顯示仿真進度和處理時間。在仿真過程中,可點擊stop按鈕隨時中止仿真過程。仿真結束后,可點擊open或report按
37、鈕觀察仿真輸出波形。第12章 quartus功能及應用8686圖12.40 仿真器參數(shù)的設置 第12章 quartus功能及應用8787圖12.41 simulator tool窗口第12章 quartus功能及應用8888仿真順利完成后,系統(tǒng)會彈出對話框“simulator was successful”。功能仿真的結果如圖12.42所示。第12章 quartus功能及應用8989圖12.42 功能仿真結果第12章 quartus功能及應用909012.3.6 時序仿真功能仿真正確后,可以加入延時模型進行時序仿真。在菜單欄執(zhí)行processingsimulator tool命令,打開圖12.
38、41所示的simulator tool窗口,設置仿真模式。選擇“timing”時序仿真后,在仿真輸入中添加激勵文件。仿真參數(shù)設置完畢,可點擊start按鈕執(zhí)行仿真。時序仿真的結果如圖12.43所示,與圖12.42比較,可以明顯地看到輸出波形的延時及毛刺。第12章 quartus功能及應用9191圖12.43 時序仿真結果第12章 quartus功能及應用929212.3.7 器件編程和配置1配置文件首先將實驗開發(fā)板和pc通過通信線連接好,打開電源。本實驗使用的是byteblaster并口下載電纜。其次,執(zhí)行主窗口的toolsprogrammer菜單命令,啟動如圖12.44所示的下載窗口。圖中的
39、mode欄有4種編程模式可以選擇,即jtag、in-socket programming、passive serial、active serial programming,此處選擇默認的jtag模式,注意核對下載的文件名。若需要下載的文件沒有出現(xiàn),則需要在左側單擊add file按鈕,手動選擇12.3.1節(jié)的半加器,編譯成功后會產生adder.sof文件。選擇好文件后,注意勾選“program/configure”項。第12章 quartus功能及應用9393圖12.44 jatg編程窗口第12章 quartus功能及應用9494jtag模式和主動串行編程模式是quartus軟件的progra
40、mmer 編程器最常用的模式。如果是將設計下載至配置芯片上,則需要選擇mode為active serial programming,單擊add file按鈕,手動添加adder.pof文件,如圖12.45所示,注意勾選“program/configure”項。第12章 quartus功能及應用9595圖12.45 active serial programming編程窗口第12章 quartus功能及應用96962設置編程器在圖12.44中,點擊“hardware setup”選擇實驗所使用的下載電纜類型,如圖12.46所示。在“available hardware items”項中選中“by
41、teblasterlpt1”,然后點擊close按鈕,回到圖12.44所示的界面,點擊start按鈕,即可對實驗開發(fā)板的fpga器件進行下載。第12章 quartus功能及應用9797圖12.46 編程硬件設置第12章 quartus功能及應用9898當“progress”顯示下載進度為100%,quartus軟件的底部信息顯示欄顯示“configuration succeeded”時,表示編程成功,如圖12.47所示。成功下載后,可以通過實驗開發(fā)板觀察半加器的工作情況。第12章 quartus功能及應用9999圖12.47 編程下載成功第12章 quartus功能及應用10010012.4
42、lpm宏功能模塊與ip核的應用ip(intellectual property)即常說的知識產權,是指一些封裝好的、經過驗證的、成熟高效的設計代碼。美國dataquest咨詢公司將半導體產業(yè)的ip定義為用于asic、assp、pld等芯片當中的預先設計好的電路功能模塊。對于一個面向市場和實際工程應用的系統(tǒng)設計來說,開發(fā)效率和開發(fā)周期是非常重要的。但隨著數(shù)字系統(tǒng)設計的越來越復雜,如果將系統(tǒng)中的每個模塊都從頭開始設計則工作量是十分繁重的。因此設計者在自己的系統(tǒng)設計中,可以使用經過嚴格測試和優(yōu)化過的ip,從而簡化設計流程,提高設計質量,降低開發(fā)成本,加速開發(fā)效率。第12章 quartus功能及應用1
43、0110112.4.1 宏功能模塊概述altera 公司的lpm宏功能模塊屬于ip的一種,其中包括可參數(shù)化的lpm宏功能模塊和lpm函數(shù)。所有l(wèi)pm宏功能模塊經嚴格的測試和優(yōu)化,可以在altera專用器件結構中發(fā)揮出最佳性能。使用lpm宏功能模塊,能夠減少設計和測試時間。第12章 quartus功能及應用1021021宏功能模塊所包含的內容(1) 算術組件:包括累加器、加法器、乘法器和lpm算術函數(shù)。(2) 門電路:包括多路復用器和lpm門函數(shù)。(3) dsp塊:包括信號發(fā)生器(signal generation)、音頻視頻處理(video and image processing)等模塊。(
44、4) i/o組件:包括鎖相環(huán)(pll)、千兆位收發(fā)器塊(gxb)、lvds接收器和發(fā)送器、pll重新配置(pll_reconfig)和遠程更新(remote_update)等宏功能模塊。(5) 存儲器編譯器:包括fifo partitional、ram和rom宏功能模塊。(6) 存儲組件:包括存儲器、移位寄存器和lpm存儲器函數(shù)。第12章 quartus功能及應用1031032宏功能模塊的使用方法(1) 通過quartus軟件的ip工具megawizard plug-in manager建立或修改包含自定義宏功能模塊變量的設計文件,封裝后在用戶的設計代碼中調用該封裝文件。(2) 在quartu
45、s軟件中對宏功能模塊進行實例化。對宏功能模塊進行實例化的途徑包括在原理圖編輯窗口中直接實例化、在hdl代碼中通過端口和參數(shù)定義方法實例化等途徑。第12章 quartus功能及應用10410412.4.2 宏功能模塊的應用使用基本宏功能模塊設計項目的步驟如下:(1) 建立工程;(2) 使用megawizard plug-in manager工具定制宏功能模塊;(3) 在設計中實例化定制的宏功能模塊;(4) 繼續(xù)完成設計的其他部分;(5) 編譯及布局布線;(6) 仿真;(7) 時序分析。第12章 quartus功能及應用1051051建立工程(1) 執(zhí)行菜單欄的filenew project wi
46、zard命令新建立一個project,本例中建立的工程路徑為“e:/mult”,工程名稱為“mult”。建立工程的其他操作見12.3.1節(jié)的內容。(2) 工程建立后,執(zhí)行filenew命令,選擇block diagram/schematic file建立名為block1.bdf的頂層設計文件。第12章 quartus功能及應用1061062使用megawizard plug-in manager工具(1) 在生成的block1.bdf的頂層設計文件的原理圖編輯窗口的任意空白處雙擊鼠標左鍵,打開如圖12.48所示的輸入元器件窗口,點擊megawizard plug-in manager按鈕打開m
47、egawizard plug-in manager窗口,如圖12.49所示。第12章 quartus功能及應用107107圖12.48 輸入元器件窗口第12章 quartus功能及應用108108圖12.49 創(chuàng)建新的宏功能模塊第12章 quartus功能及應用109109(2) 在圖12.49中選擇創(chuàng)建新的宏功能模塊,然后單擊next按鈕,彈出如圖12.50所示的窗口,在左側欄中選擇“arithmetic”項下的“l(fā)pm_mult”,再選擇器件和輸出文件的hdl語言。本例中選擇cyclone器件和verilog hdl。本例中乘法器的名稱為mymult,存放的路徑為“e:mult”。第12章
48、 quartus功能及應用110110圖12.50 選擇乘法器宏功能模塊 第12章 quartus功能及應用111111(3) 點擊next按鈕,彈出如圖12.51所示的窗口,可設置數(shù)據(jù)線位寬。本例中乘法器的兩輸入端dataa和datab的位寬都為8位,其他使用默認設置。第12章 quartus功能及應用112112圖12.51 設置乘法器的數(shù)據(jù)線位寬第12章 quartus功能及應用113113(4) 點擊next按鈕后,彈出如圖12.52所示的窗口,可進行乘法器的其他選項設置,包括datab輸入端是否設置為固定值、乘法器類型和使用資源等,本例中都選用默認設置。第12章 quartus功能及
49、應用114114圖12.52 乘法器的參數(shù)設置第12章 quartus功能及應用115115(5) 點擊next按鈕,彈出如圖12.53所示的窗口,可進行時鐘信號、使能信號的設置及優(yōu)化方式的選擇。本例中選擇“yes, i want an output latency of 1 clock cycles”添加時鐘控制信號clock,并選擇“create an asynchronous clear input”添加異步清零信號aclr,其他使用默認設置。第12章 quartus功能及應用116116圖12.53 乘法器的時鐘信號、使能信號設置第12章 quartus功能及應用117117(6) 在
50、按照以上提示順序完成設置后,進入圖12.54所示界面,這里顯示為定制的乘法器宏功能模塊生成的各種文件類型。第12章 quartus功能及應用118118圖12.54 宏功能模塊生成的文件第12章 quartus功能及應用119119至此,使用megawizard plug-in manager工具建立了用戶自定義參數(shù)的乘法器。設置完成后的乘法器模塊符號如圖12.55所示。其中,dataa7.0為被乘數(shù),datab7.0為乘數(shù),clock為時鐘信號,aclr為異步清零信號,result15.0為相乘后的結果。第12章 quartus功能及應用120120圖12.55 創(chuàng)建完成的乘法器宏模塊mym
51、ultunsignedmultiplicationdataa7.0datab7.0clockaclrresult15.0mymultinst第12章 quartus功能及應用1211213完成設計的其他部分在原理圖編輯窗口為乘法器宏模塊mymult添加4個輸入端input,1個輸出端output。完成連線,并更改引腳的名稱,注意名稱命名的格式。最終完成的原理圖如圖12.56所示。第12章 quartus功能及應用122122圖12.56 乘法器原理圖unsignedmultiplicationdataa7.0datab7.0clockaclrresult15.0mymultinstvccclk
52、inputvccdataa7.0inputvccdatab7.0inputvccclrinputresult15.0output第12章 quartus功能及應用1231234編譯、布局布線及仿真 編譯、布局布線及仿真的具體步驟與前面講過的相同。本例中乘法器功能仿真的結果如圖12.57所示。由圖可知,隨著時鐘信號clk上升沿的到來,result的輸出為dataa與datab的乘積。清零信號clr高電平時,result的輸出為0。第12章 quartus功能及應用124124圖12.57 乘法器的功能仿真結果第12章 quartus功能及應用12512512.4.3 ip核的應用altera公司
53、ip核(或稱megacore)可以在quartus開發(fā)環(huán)境中使用。altera公司的megacore主要有數(shù)字信號處理、通信、接口和外設以及微處理器四類。此外,altera公司的一些合作伙伴ampp (altera megafunctions partnersprogram)也提供基于altera器件優(yōu)化的ip核。altera公司所有ip核的安裝文件都可以在網站免費下載,包括dsp、嵌入式處理器、接口協(xié)議、存儲器與控制器、光傳送網、外設等。第12章 quartus功能及應用126126(1) 在使用ip核時,同樣需要先建立工程及相關的block diagram/schematic file。之
54、后在原理圖編輯窗口雙擊,打開megawizard plug-in manager工具,在“dsp”的“transforms”中選擇安裝好的fft v8.1版本。在如圖12.58所示的界面中,選擇器件、語言、文件路徑及文件名。本例中生成的fft ip核的名稱為myfft,存放的路徑為“e:fft”。第12章 quartus功能及應用127127圖12.58 選擇ip核fft v8.1第12章 quartus功能及應用128128(2) 點擊next按鈕,出現(xiàn)“l(fā)oading ip toolbench”的狀態(tài)條,隨即彈出如圖12.59所示的ip toolbench窗口,單擊“about this
55、core”按鈕,即顯示fft ip核的基本信息,其中包括該ip核的版本號、發(fā)布時間、支持的器件等,如圖12.60所示。若單擊“documentation”按鈕,則顯示fft ip核的文檔列表界面,如圖12.61所示,由此可以打開fft ip核的名為“fft user guide”的幫助文件。第12章 quartus功能及應用129129圖12.59 ip toolbench窗口 第12章 quartus功能及應用130130 圖12.60 fft ip核的基本信息 第12章 quartus功能及應用131131(3) 生成fft ip核要經過三個步驟,即圖12.59所示的step1step3。
56、單擊step1按鈕,進入fft ip核的參數(shù)設置窗口,它包括parameters、architecture、implementation options三個選項卡,如圖12.62所示。在parameters界面中,選擇目標器件為“cyclone”,transform length(轉換的長度)設置為1024,data precision(輸入、輸出數(shù)據(jù)位寬精度)設置為8bits,twiddle precision(旋轉因子的位寬精度)設置為8bits。在architecture界面中設置fft ip核函數(shù)支持的i/o數(shù)據(jù)流結構,其中包括流(streaming)、變量流(variable str
57、eaming)、緩沖突發(fā)(buffered burt)、突發(fā)(burst)四種。本例采用默認設置流(streaming)結構。在implementation options界面中設置復數(shù)乘法器結構、時鐘信號等信息,本例使用默認設置。第12章 quartus功能及應用132132圖12.61 fft ip核的文檔列表 第12章 quartus功能及應用133133 圖12.62 fft ip核參數(shù)設置界面第12章 quartus功能及應用134134完成后,點擊finish按鈕返回ip toolbench窗口,單擊step2按鈕,進入建立仿真窗口,如圖12.63所示,選擇生成仿真模型,仿真語言為
58、verilog hdl,并選擇產生網表文件。第12章 quartus功能及應用135135圖12.63 fft ip核建立仿真界面第12章 quartus功能及應用136136點擊ok按鈕后返回ip toolbench窗口,單擊step3按鈕,生成所需的ip核。給生成fft ip核的模塊myfft添加輸入、輸出引腳,并修改引腳名,最終完成的電路圖如圖12.64所示。第12章 quartus功能及應用137137圖12.64 fft的電路圖clkreset_ninversesink_validsink_sopsink_eopsink_real7.0sink_imag7.0sink_error1.
59、0source_readysink_readysource_error1.0source_sopsource_eopsource_validsource_exp5.0source_real7.0source_imag7.0myfftinstvccclkinputvccresetinputvccinverseinputvccsink_sopinputvccsink_vaildinputvccsink_eopinputvccsource_readyinputvccsink_real7.0inputvccsink_imag7.0inputvccsink_error1.0inputsink_ready
60、outputsource_error1.0outputsource_sopoutputsource_eopoutputsource_vaildoutputsource_exp5.0outputsource_real7.0outputsource_imag7.0output第12章 quartus功能及應用138138第12章 quartus功能及應用139139保存運行后,正弦信號經過fft ip核的仿真結果如圖12.65所示。第12章 quartus功能及應用140140圖12.65 基于正弦信號的fft ip核的仿真結果第12章 quartus功能及應用14114112.5 signaltap嵌入式邏輯分
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024試用期接觸勞動合同范本
- 供應合同-省級國家機關、事業(yè)單位和社會團體計算機(或打印機)協(xié)議供貨合同
- 廣東省七年級上學期語文期中考試試卷5套【附答案】
- 2024年車輛物流運輸合同協(xié)議書
- 機械租賃合同模板集
- 展覽活動中的房產贈與合同
- 貨物倉儲出租協(xié)議
- 2024年詳細版租房協(xié)議書
- 手機銷售合同常見問題解答
- 2024版酒店經營合作協(xié)議模板
- 干果加工項目建議書范文
- 人教版初中語文教材分析(課堂PPT)
- 護理核心制度督查表20179
- 紅色古色綠色文化教育活動策劃方案
- 《Monsters 怪獸》中英對照歌詞
- 《正交分解法》導學案
- 建筑材料知識點匯總
- 平面構成作品欣賞
- 英語管道專業(yè)術語
- 社會工作畢業(yè)論文(優(yōu)秀范文8篇)
- 五篇500字左右的短劇劇本
評論
0/150
提交評論