第二章SOPC開發(fā)流程及QuartusII的使用.ppt_第1頁
第二章SOPC開發(fā)流程及QuartusII的使用.ppt_第2頁
第二章SOPC開發(fā)流程及QuartusII的使用.ppt_第3頁
第二章SOPC開發(fā)流程及QuartusII的使用.ppt_第4頁
第二章SOPC開發(fā)流程及QuartusII的使用.ppt_第5頁
已閱讀5頁,還剩120頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第二章 SOPC開發(fā)流程及Quartus II的使用,2.1SOPC開發(fā)流程和開發(fā)工具 2.2 Quartus II操作基礎(chǔ) 2.3 SOPC硬件開發(fā)實(shí)例 2.4創(chuàng)建Nios II 系統(tǒng)模塊 2.5設(shè)計(jì)優(yōu)化 2.6編譯 2.7編程下載,SOPC開發(fā)流程和開發(fā)工具,SOPC設(shè)計(jì)包括硬件和軟件兩部分。 硬件設(shè)計(jì):主要基于Quartus II和 SOPC Builder。 軟件設(shè)計(jì):基于Nios II IDE。,SOPC開發(fā)流程,分析系統(tǒng)需求: 在進(jìn)行SOPC開發(fā)之前,首先必須確定系統(tǒng)的需求,如應(yīng)用系統(tǒng)需求的計(jì)算性能、需要的帶寬和吞吐量、需求的接口類型以及是否需求多線程的軟件等。,建立Quartus

2、 II工程:每個(gè)開發(fā)過程開始時(shí)都應(yīng)建立一個(gè)工程,Quartus II是以工程的方式對(duì)設(shè)計(jì)過程進(jìn)行管理。在工程中建立頂層模塊文件.bdf相當(dāng)于傳統(tǒng)電路設(shè)計(jì)中的電路板(PCB)。,定義和生成系統(tǒng):在SOPC Builder中添加需要的功能模塊(Nios II及其標(biāo)準(zhǔn)外設(shè)模塊),完成后生成一個(gè)系統(tǒng)模塊。,定制指令 連接各功能模塊:將各個(gè)功能模塊用連線連起來組成系統(tǒng)功能原理圖。,選擇FPGA型號(hào)并進(jìn)行管腳分配 :為系統(tǒng)功能原理圖選擇芯片載體并為各個(gè)輸入輸出信號(hào)分配芯片的管腳; 進(jìn)行編譯選項(xiàng)設(shè)置:設(shè)置編譯選項(xiàng),從而讓編譯器按照用戶設(shè)定來進(jìn)行編譯;,編譯硬件系統(tǒng)生成配置文件sof :編譯系統(tǒng)生成硬件系統(tǒng)的

3、配置文件*.sof和*.pof。編譯系統(tǒng)是一個(gè)非常復(fù)雜的過程,包括優(yōu)化邏輯的組合、綜合邏輯、適配FPGA、布線以及時(shí)序分析等步驟。 下載配置文件到FPGA器件:將配置文件.sof下載到FPGA.,設(shè)置軟件運(yùn)行硬件環(huán)境屬性:設(shè)置好軟件運(yùn)行的硬件環(huán)境屬性后,便可進(jìn)行編譯、鏈接和調(diào)試、運(yùn)行程序。 編譯軟件:對(duì)用戶程序進(jìn)行編譯,生成可執(zhí)行文件*.elf。 ISS運(yùn)行/調(diào)試 :接下來在IDE的指令集仿真器(ISS)上仿真軟件和運(yùn)行/調(diào)試軟件。,在目標(biāo)板上下載可執(zhí)行軟件到Nios II系統(tǒng):將可執(zhí)行文件.elf下載到RAM。 在目標(biāo)板上運(yùn)行/調(diào)試軟件 :在目標(biāo)板上反復(fù)調(diào)試軟件。 使用IDE編程工具 燒寫配

4、置文件和軟件代碼 :最后利用IDE的編程工具將配置文件燒寫到FPGA的配置芯片或Flash,將可執(zhí)行文件*.elf編程到Flash中。,Quartus II操作基礎(chǔ),把Quartus安裝光盤放入計(jì)算機(jī)的光驅(qū)中,在自動(dòng)出現(xiàn)的光盤安裝目錄中選擇安裝Quartus軟件和Megacore IP library兩項(xiàng),安裝光盤將自動(dòng)引導(dǎo)完成軟件的安裝; 軟件安裝完成之后,在軟件中指定Altera公司的授權(quán)文件(License.dat),才能正常使用 ; 授權(quán)文件可以在Altera的網(wǎng)頁上申請(qǐng)或者購買獲得。 安裝Altera的硬件驅(qū)動(dòng)程序。驅(qū)動(dòng)程序存放在Quartus安裝目錄下的quartusdrivers

5、文件夾中。驅(qū)動(dòng)安裝后才能將設(shè)計(jì)結(jié)果通過計(jì)算機(jī)的通信接口編程下載到目標(biāo)芯片中。,Quartus軟件的安裝,Quartus軟件的用戶界面,啟動(dòng)Quartus軟件后默認(rèn)的界面主要由標(biāo)題欄、菜單欄、工具欄、資源管理窗口、編譯狀態(tài)顯示窗口、信息顯示窗口和工程工作區(qū)等部分組成。,Quartus II操作基礎(chǔ),Quartus軟件的用戶界面,Quartus II操作基礎(chǔ),標(biāo)題欄中顯示當(dāng)前工程的路徑和工程名。,Quartus軟件的用戶界面,Quartus II操作基礎(chǔ),菜單欄主要由文件(File)、編輯(Edit)、視圖(View)、工程(Project)、資源分配(Assignments)、操作(Proces

6、sing)、工具(Tools)、窗口(Window)和幫助(Help)等下拉菜單組成。,Quartus軟件的用戶界面,Quartus II操作基礎(chǔ),工具欄中包含了常用命令的快捷圖標(biāo)。,Quartus軟件的用戶界面,Quartus II操作基礎(chǔ),資源管理窗口用于顯示當(dāng)前工程中所有相關(guān)的資源文件。,Quartus軟件的用戶界面,Quartus II操作基礎(chǔ),工程工作區(qū) 當(dāng)Quartus實(shí)現(xiàn)不同的功能時(shí),此區(qū)域?qū)⒋蜷_對(duì)應(yīng)的操作窗口,顯示不同的內(nèi)容,進(jìn)行不同的操作,如器件設(shè)置、定時(shí)約束設(shè)置、編譯報(bào)告等均顯示在此窗口中。,Quartus軟件的用戶界面,Quartus II操作基礎(chǔ),編譯狀態(tài)顯示窗口 此窗

7、口主要顯示模塊綜合、布局布線過程及時(shí)間。,Quartus軟件的用戶界面,Quartus II操作基礎(chǔ),信息顯示窗口 該窗口主要顯示模塊綜合、布局布線過程中的信息,如編譯中出現(xiàn)的警告、錯(cuò)誤等,同時(shí)給出警告和錯(cuò)誤的具體原因。,Quartus的開發(fā)流程,按照一般編程邏輯設(shè)計(jì)的步驟,利用Quartus軟件進(jìn)行開發(fā)可以分為以下四個(gè)步驟: (1)輸入設(shè)計(jì)文件; (2)編譯設(shè)計(jì)文件; (3)仿真設(shè)計(jì)文件; (4)編程下載設(shè)計(jì)文件。,Quartus II操作基礎(chǔ),輸入設(shè)計(jì)文件,Quartus軟件的輸入法有: 1)原理圖輸入方式、 2)文本輸入方式(如VHDL、Verilog HDL) 3)AHDL輸入方式、

8、4)模塊輸入方式以及 5)第三方EDA工具產(chǎn)生的文件以及混合使用以上幾種設(shè)計(jì)輸入方法進(jìn)行設(shè)計(jì) 原理圖輸入法 原理圖輸入法也稱為圖形編輯輸入法,用Quartus原理圖輸入設(shè)計(jì)法進(jìn)行數(shù)字系統(tǒng)設(shè)計(jì)時(shí),不需要任何硬件描述語言的知識(shí),在具有數(shù)字邏輯電路基本知識(shí)的基礎(chǔ)上,利用Quartus軟件提供的EDA平臺(tái)設(shè)計(jì)數(shù)字電路或系統(tǒng)。,Quartus II操作基礎(chǔ),1、原理圖輸入法建立設(shè)計(jì)工程 建立設(shè)計(jì)工程的方法如圖示:,新建工程選項(xiàng),新建工程第一頁,Quartus II操作基礎(chǔ),1、原理圖輸入法建立設(shè)計(jì)工程 建立設(shè)計(jì)工程的方法圖示:,新建工程第二頁,新建工程第三頁,Quartus II操作基礎(chǔ),1、原理圖輸入

9、法建立設(shè)計(jì)工程 建立設(shè)計(jì)工程的方法圖示:,新建工程第四頁,新建工程第五頁,Quartus II操作基礎(chǔ),2、原理圖輸入法輸入設(shè)計(jì)文件 1)新建工程之后,便可以進(jìn)行電路系統(tǒng)設(shè)計(jì)文件的輸入。選擇file菜單中的New命令,彈出如圖所示的新建設(shè)計(jì)文件類型選擇窗口。,Quartus II操作基礎(chǔ),2)選擇New對(duì)話框 中的Device Design files頁下的Block Diagram/Schematic File,點(diǎn)擊OK, 打開下圖所示的圖 形編輯器對(duì)話框, 進(jìn)行設(shè)計(jì)文件輸入。,圖形編輯器對(duì)話框,2、原理圖輸入法輸入設(shè)計(jì)文件,Quartus II操作基礎(chǔ),2、原理圖輸入法輸入設(shè)計(jì)文件 3)在

10、圖形編輯窗口 中的任何一個(gè)位置 雙擊鼠標(biāo),或點(diǎn)擊 圖中的“符號(hào)工具” 按鈕,或選擇菜單 Edit下的Insert Symbol命令,彈出 如右圖所示的元件 選擇窗口 Symbol 對(duì)話框。,元件選擇窗口,Quartus II操作基礎(chǔ),2、原理圖輸入法輸入設(shè)計(jì)文件,元件選擇窗口,Quartus II操作基礎(chǔ),4)用鼠標(biāo)點(diǎn)擊單元庫前面的加號(hào)(+),庫中的元件符號(hào)以列表的方式顯示出來,選擇所需要的元件符號(hào),該符號(hào)顯示在Symbol對(duì)話框的右邊,點(diǎn)擊OK按鈕,添加相應(yīng)元件符號(hào)在圖像編輯工作區(qū)中,連接原理圖。,2、原理圖輸入法輸入設(shè)計(jì)文件 十六進(jìn)制同步計(jì)數(shù)器的原理圖如下:,Quartus II操作基礎(chǔ),

11、3、原理圖輸入法優(yōu)缺點(diǎn): 優(yōu)點(diǎn): 1)可以與傳統(tǒng)的數(shù)字電路設(shè)計(jì)法接軌,即使用傳統(tǒng)設(shè)計(jì)方法得到電路原理圖,然后在Quartus平臺(tái)完成設(shè)計(jì)電路的輸入、仿真驗(yàn)證和綜合,最后下載到目標(biāo)芯片中。 2) 它將傳統(tǒng)的電路設(shè)計(jì)過程的布局布線、繪制印刷電路板、電路焊接、電路加電測試等過程取消,提高了設(shè)計(jì)效率,降低了設(shè)計(jì)成本,減輕了設(shè)計(jì)者的勞動(dòng)強(qiáng)度。 缺點(diǎn): 1)原理圖設(shè)計(jì)方法沒有實(shí)現(xiàn)標(biāo)準(zhǔn)化,不同的EDA軟件中的圖形處理工具對(duì)圖形的設(shè)計(jì)規(guī)則、存檔格式和圖形編譯方式都不同,因此兼容性差,難以交換和管理。 2)由于兼容性不好,性能優(yōu)秀的電路模塊的移植和再利用非常困難,難以實(shí)現(xiàn)用戶所希望的面積、速度以及不同風(fēng)格的綜合

12、優(yōu)化 3)原理圖輸入的設(shè)計(jì)方法不能實(shí)現(xiàn)真實(shí)意義上的自頂向下的設(shè)計(jì)方案,無法建立行為模型,從而偏離了電子設(shè)計(jì)自動(dòng)化最本質(zhì)的涵義。,Quartus II操作基礎(chǔ),編譯設(shè)計(jì)文件,Quartus編譯器的主要任務(wù)是對(duì)設(shè)計(jì)項(xiàng)目進(jìn)行檢查并完成邏輯綜合,同時(shí)將項(xiàng)目最終設(shè)計(jì)結(jié)果生成器件的下載文件。編譯開始前,可以先對(duì)工程的參數(shù)進(jìn)行設(shè)置。 Quartus軟件中的編譯類型有全編譯和分步編譯兩種。 選擇Quartus主窗口Process菜單下Start Compilation命令,或者在主窗口的工具欄上直接點(diǎn)擊圖標(biāo) 可以進(jìn)行全編譯 全編譯的過程包括分析與綜合(Analysis (3)將其重命名lcd_display。

13、,4.添加外部RAM接口 (1)Avalon components下的Memory下面選擇Cypress CY7C1380C SSRAM,單擊Add,出現(xiàn)SSRAM (Cypress CY7C1380C)-ext_ssram的向?qū)В?(2)在Timing Parameters下面設(shè)置Read Latency 為2 clocks,在SSRAM下面設(shè)置Memory Size為2Mbytes (3)單擊Finish,返回到Altera SOPC Builder NIOS2的窗口; (4)右鍵單擊Module Name下的ssram_0,從菜單選擇rename,重命名為ext-ssram。,5. 添加

14、外部閃存接口 (1)在Avalon components下的Memory下面選擇Flash Memory(Common Flash Interface),單擊Add,出現(xiàn)外部閃存接口向?qū)В?(2)在Attributes頁中,可以在Presets列表中選擇相應(yīng)的閃存的接口,這些閃存的接口都是經(jīng)過測試的,如果列表中沒有,用戶可以自己定義閃存的Size和Data Width;,創(chuàng)建Nios II 系統(tǒng)模塊,(3)在timing頁中,可以設(shè)置閃存的讀寫時(shí)序要求,可以設(shè)置Setup, Waite, hold時(shí)間等參數(shù),通常保留缺省的設(shè)置; (4)如應(yīng)用選擇的閃存接口不在列表中,需要自己定義Size和Da

15、ta Width,和時(shí)序要求; (5)點(diǎn)擊Finish,返回到Altera SOPC Builder NIOS2的窗口,Module Name出現(xiàn)cfi_flash_0,對(duì)其重命名為ext_flash。,創(chuàng)建Nios II 系統(tǒng)模塊,6. 添加外部RAM總線和外部flash總線(Avalon三態(tài)總線橋) 為了使Nios II 系統(tǒng)能與開發(fā)板上的外部存儲(chǔ)器通信,必須在Avalon總線和外部存儲(chǔ)器之間加入Avalon三態(tài)橋。,步驟如下: (1) 在Bridge下,選擇Avalon Tri-State Bridge,點(diǎn)擊Add,出現(xiàn)Avalon Tri-State Bridge tri_state_

16、bridge_0向?qū)В?(2) Registered選項(xiàng)默認(rèn)為選中; (3)單擊Finish,返回到Altera SOPC Builder NIOS2的窗口; (4) 將其重命名為ext_ssram_bus; (5) 重復(fù)前三個(gè)步驟,在添加一個(gè)Avalon三態(tài)總線橋,并重命名為ext_flash_bus.,7.添加JTAG UART (1)在Avalon components下的Communication下選擇 JTAG UART,點(diǎn)擊ADD,出現(xiàn)添加向?qū)А?(2)按照缺省設(shè)置,點(diǎn)擊Finish。 (3) 將其重命名為JTAG_UART. 8. Nios II系統(tǒng)的連接 主要是外部RAM接口要

17、和RAM的三態(tài)橋連接,外部的Flash接口要和flash的三態(tài)橋連接。所有添加的IP連接都是系統(tǒng)自動(dòng)完成的,除了上面提到的三態(tài)橋和外部存儲(chǔ)器的接口的連接之外,其它的連接用戶不用修改,但對(duì)于三態(tài)橋和外部存儲(chǔ)器接口的連接,系統(tǒng)的自動(dòng)連接可能和用戶的開發(fā)板不匹配,用戶需要進(jìn)行手動(dòng)的更改。針對(duì)我們所用的開發(fā)板的情況進(jìn)行的設(shè)置,因?yàn)楸緯玫降拈_發(fā)板外部的SRAM和外部的Flash沒有使用共用的數(shù)據(jù)線和地址線,所以必須為它們分別添加一個(gè)三態(tài)橋。,創(chuàng)建Nios II 系統(tǒng)模塊,創(chuàng)建Nios II 系統(tǒng)模塊,三、分配IP模塊的地址和中斷號(hào) 在以上添加IP的過程中,SOPC Builder為各個(gè)IP模塊分配了一

18、個(gè)默認(rèn)的基地址,用戶可以改變這些默認(rèn)的分配。如果用戶自己分配的地址出現(xiàn)沖突,SOPC Builder會(huì)給出警告,用戶可以按照下面的步驟來進(jìn)行分配和解決地址沖突問題。,創(chuàng)建Nios II 系統(tǒng)模塊,下面我們給出一種自定義的地址分配實(shí)例,將閃存的基地址設(shè)定為0 x00000000,步驟如下: (1)單擊Flash外設(shè)的Base欄,將地址改為0 x0,然后回車,這時(shí)SOPC Builder的消息框中出現(xiàn)錯(cuò)誤的提示信息,這是因?yàn)殚W存的地址和其它的外設(shè)地址發(fā)生了沖突。 (2)選擇Module菜單中的Lock Base Address操作,一個(gè)掛鎖的圖標(biāo)出現(xiàn)在閃存基地址的旁邊。 (3)選擇System菜單

19、中的Auto Assign Base Address操作,來解決外設(shè)的地址分配沖突問題,SOPC Builder調(diào)整其它外設(shè)的地址來避開與閃存地址的沖突,錯(cuò)誤提示的消息就會(huì)消失了。 (4)用戶可以手動(dòng)修改各個(gè)外設(shè)的中斷號(hào),中斷號(hào)越低,中斷優(yōu)先級(jí)越高,用戶也可以采用自動(dòng)分配中斷號(hào),選擇System菜單中的Auto Assign IRQs,但SOPC Builder不處理軟件操作,采用自動(dòng)分配中斷的策略不一定是最優(yōu)的,用戶最好是根據(jù)自己的應(yīng)用來確定外設(shè)的中斷優(yōu)先級(jí),采用手動(dòng)的分配。,創(chuàng)建Nios II 系統(tǒng)模塊,四、配置NIOS II 系統(tǒng),系統(tǒng)的IP模塊添加完成之后,還需要對(duì)系統(tǒng)進(jìn)行配置。點(diǎn)擊N

20、ios II More “cpu_0” Settings 頁,用戶可以進(jìn)行如下的設(shè)置:,Reset Address:可以選擇存放Boot Loader的存儲(chǔ)器和設(shè)置Boot Loader在存儲(chǔ)器中的偏移,我們這里選擇ext_flash,偏移選擇默認(rèn);,Exception Address:可以選擇存放異常向量表的存放的存儲(chǔ)器和設(shè)置異常向量表在存儲(chǔ)器中的偏移,我們選擇ext_ssram,偏移選擇默認(rèn);,Break Location:如果NIOS II 包含有一個(gè)JTAG Debug模塊,SOPC Builder會(huì)顯示這項(xiàng)內(nèi)容。其Memory Module總是JTAG Debug Module,Of

21、fset 固定為0 x20, 地址由JTAG debug module基地址決定。用戶不能修改Break Location的各個(gè)域的內(nèi)容。,五、生成NIOS II并加入到工程中 NIOS II系統(tǒng)是工程的一部分,我們首先是生成它,然后加入到工程中去,然后將整個(gè)工程下載到FPGA芯片中去。單擊System Generation,在Option下進(jìn)行如下的設(shè)置:,創(chuàng)建Nios II 系統(tǒng)模塊,選中 Simulation,如果安裝了ModelSim軟件,會(huì)生成用于仿真的相應(yīng)的文件。,單擊exit 退出SOPC Builder。,單擊 Generate,SOPC Builder會(huì)提示生成系統(tǒng)的進(jìn)程,系

22、統(tǒng)生成完成時(shí)會(huì)提示”SUCCESS: SYSTEM GENERATION COMPLETED”。,選中 HDL,會(huì)生成系統(tǒng)模塊的硬件語言文件。,系統(tǒng)生成完成之后,SOPC Builder為這個(gè)定制的NIOS II系統(tǒng)模塊創(chuàng)建了一個(gè)符號(hào),要把Nios II系統(tǒng)加入到工程中去,遵循如下的步驟: (1)在 Quartus II軟件中,打開頂層實(shí)體(BDF格式),在BDF窗口中任意處雙擊,出現(xiàn) Symbol對(duì)話框; (2)在Symbol對(duì)話框中單擊Project來展開工程目錄,其下出現(xiàn)NIOS2(本例采用的系統(tǒng)名),選中它,右側(cè)出現(xiàn)了系統(tǒng)的符號(hào)表示; (3)單擊OK,Symbol對(duì)話框關(guān)閉,NIOS2

23、的符號(hào)輪廓被附著在鼠標(biāo)的指針上。 (4)BDF窗口中任意空白處單擊一下,NIOS2的符號(hào)出現(xiàn)在BDF窗口中,這樣我們創(chuàng)建的系統(tǒng)已經(jīng)被加入到工程中了。,創(chuàng)建Nios II 系統(tǒng)模塊,創(chuàng)建Nios II 系統(tǒng)模塊,六、引腳和嵌入式鎖相環(huán) 除了NIOS II系統(tǒng)之外,可能還要有其它的硬件邏輯,我們這里加入一個(gè)嵌入式鎖相環(huán),嵌入式鎖相環(huán)有兩個(gè)時(shí)鐘輸出,一個(gè)輸出SSRAM提供時(shí)鐘,另一個(gè)時(shí)鐘的輸出為NIOS II CPU提供時(shí)鐘,然后添加輸入、輸出、雙向引腳,以實(shí)現(xiàn)和FPGA外部的外設(shè)進(jìn)行通信。 加入嵌入式鎖相環(huán)的步驟如下:,創(chuàng)建Nios II 系統(tǒng)模塊,(1) 點(diǎn)擊ToolsMegaWizard Pl

24、ug-In Manager,出現(xiàn)MegaWizard Plug-In Manager向?qū)age1窗口,點(diǎn)擊next,創(chuàng)建Nios II 系統(tǒng)模塊,(2) 在MegaWizard Plug-In Manager Page2 窗口中的IO下面選擇ALTPLL,器件選擇Cyclone II,輸出文件類型選擇VHDL,文件名為ssram_pll,選中Return to this page for another create operation,然后點(diǎn)擊Next,出現(xiàn)MegaWizard Plug-In Manager-ALTPLL Page 3of 10;,創(chuàng)建Nios II 系統(tǒng)模塊,(3)在窗

25、口中,做如圖選擇,點(diǎn)擊next, 進(jìn)入page 4 (4)在page 4中不作任何配置,直接點(diǎn)擊next;,創(chuàng)建Nios II 系統(tǒng)模塊,(5)點(diǎn)擊next,創(chuàng)建Nios II 系統(tǒng)模塊,(6)在Page 6 窗口中,設(shè)置c0輸出時(shí)鐘,首先選中Use this clock選項(xiàng),設(shè)置時(shí)鐘頻率為85MHz,占空比為50%。點(diǎn)擊Next會(huì)進(jìn)入c1輸出時(shí)鐘的設(shè)置;,創(chuàng)建Nios II 系統(tǒng)模塊,(7) 嵌入式PLL可提供3個(gè)輸出時(shí)鐘,我們使用其中的兩個(gè),Page 7 窗口中,在c1時(shí)鐘的設(shè)置頁面上,選中Use this clock選項(xiàng),設(shè)置時(shí)鐘頻率為85MHz,點(diǎn)擊Next;,創(chuàng)建Nios II 系統(tǒng)

26、模塊,創(chuàng)建Nios II 系統(tǒng)模塊,(8)在MegaWizard Plug-In Manager-ALTPLL Page 8 of 10窗口中,不選中Use this clock選項(xiàng),即我們不使用c2時(shí)鐘,點(diǎn)擊Next; (9)在MegaWizard Plug-In Manager-ALTPLL Page 9 of 10窗口中,給出了用于仿真必須要產(chǎn)生的文件,點(diǎn)擊Next; (10)在MegaWizard Plug-In Manager-ALTPLL Page 10 of 10窗口中,給出了用戶選擇要產(chǎn)生的文件,不做改變,采用默認(rèn)配置,點(diǎn)擊Finish完成PLL的生成。 在頂層實(shí)體的bdf窗口

27、中雙擊鼠標(biāo),出現(xiàn)Symbol添加窗口,在project下面選擇剛才建立的ssram_pll,點(diǎn)擊OK。ssram_pll的輪廓會(huì)附著在鼠標(biāo)上,點(diǎn)擊bdf窗口的空白處,將嵌入式鎖相環(huán)加入到了工程中。,引腳添加的步驟如下: (1)在頂層實(shí)體的bdf窗口的空白處雙擊鼠標(biāo),出現(xiàn)Symbol添加窗口,(2)在alteraquartuslibraries下面選擇primitives,再在其下選擇pin,在其中有三種類型的引腳,有bidir,input,output,分別為雙向、輸入和輸出引腳,選擇相應(yīng)類型的引腳,點(diǎn)擊OK。,(3)點(diǎn)擊bdf窗口的空白處,即將引腳加入到了工程中。,(4)重復(fù)上面的步驟添加為

28、各個(gè)端口添加相應(yīng)類型的引腳。,創(chuàng)建Nios II 系統(tǒng)模塊,連接引腳和命名引腳 第一個(gè)加入的引腳的名稱缺省為pin_name,之后加入的引腳名稱依次為pin_name1,pin_name2向上遞增,為了便于理解和記憶,需要對(duì)引腳重新命名,使其和其傳輸?shù)男盘?hào)聯(lián)系起來。 命名引腳的方法如下: (1) 雙擊引腳的“pin_namen”部分,pin_namen的文字變成高亮,可以對(duì)其編輯。 (2) 對(duì)其他的引腳重復(fù)以上的操作,修改成具有意義的名字。 (3) 對(duì)于總線型的引腳,引腳名稱之后要標(biāo)識(shí)出總線的位數(shù),如ddr_a12.0,在引腳名稱之后加上方括號(hào),然后寫上最高位和最低位,用兩個(gè).隔開。 (4)將

29、嵌入式鎖相環(huán)和系統(tǒng)模塊等連接起來,并將引腳連接到相應(yīng)的端口上。,創(chuàng)建Nios II 系統(tǒng)模塊,連接好的頂層模塊圖,設(shè)計(jì)優(yōu)化,設(shè)計(jì)優(yōu)化主要包括節(jié)省占用FPGA的面積和提高設(shè)計(jì)系統(tǒng)運(yùn)行速度兩個(gè)方面。這里的“面積”是指一個(gè)設(shè)計(jì)所消耗的FPGA的邏輯資源的數(shù)量,一般以設(shè)計(jì)占用的等價(jià)邏輯門數(shù)來衡量?!八俣取笔侵冈O(shè)計(jì)的系統(tǒng)在目標(biāo)芯片上穩(wěn)定運(yùn)行時(shí)能夠達(dá)到的最高頻率,它與設(shè)計(jì)的時(shí)鐘周期、時(shí)鐘建立時(shí)間、時(shí)鐘保持時(shí)間、時(shí)鐘到輸出端口的延遲時(shí)間等諸多因素有關(guān)。,面積與速度的優(yōu)化 打開我們剛才的工程clock,然后選擇Assignment菜單下的Settings命令,彈出設(shè)置窗口。,在對(duì)話框的左邊的Category欄

30、下,列出了很多可設(shè)置的對(duì)象,包括EDA Tools Settings、Compilation Process Settings、Analysis & Synthesis Settings、Fitter Settings、Timing Settings、Simulation Settings等等,選中要設(shè)置的項(xiàng)目,窗口的右邊顯示供設(shè)置的選項(xiàng)和參數(shù)。,在Analysis & Synthesis Settings頁面,用于對(duì)設(shè)計(jì)在分析與綜合時(shí)的優(yōu)化設(shè)置。在該頁面的Optimization Techniques欄中,提供了Speed、Balanced和Area3種優(yōu)化選擇,其中Balanced是軟件缺

31、省的優(yōu)化選擇。如果對(duì)Speed或Area有特殊的要求,則選中相應(yīng)的選項(xiàng)。,設(shè)計(jì)優(yōu)化,時(shí)序約束與設(shè)置 選擇Settings下面的Timing Analysis Settings,然后選擇Classic Timing Analyzer Settings。,在此頁面中,可以對(duì)設(shè)計(jì)的延遲約束、時(shí)鐘頻率等做設(shè)置。延遲約束(Delay Requirements)設(shè)置包括tsu(建立時(shí)間)、tco(時(shí)鐘到輸出的延遲)、tpd(傳輸延遲)和th(保持時(shí)間)的設(shè)置。,一般來說,用戶要根據(jù)目標(biāo)芯片的特性及PCB板走線的實(shí)際情況,給出設(shè)計(jì)需要滿足的時(shí)鐘頻率、建立時(shí)間、保持時(shí)間和傳輸延遲時(shí)間等參數(shù)。對(duì)一些簡單的應(yīng)用,

32、對(duì)時(shí)序要求不嚴(yán)格 ,可以不做設(shè)置。,設(shè)計(jì)優(yōu)化,Fitter設(shè)置 在Ssettings對(duì)話框中,用鼠標(biāo)左鍵單擊Category欄目中的Fitter Settings項(xiàng),出現(xiàn)Fitter Settings設(shè)置頁面。此頁面用于布局布線器的控制。,在這里需要設(shè)置的主要是布局布線的策略(Fitter Effort),有三種模式可供選擇:標(biāo)準(zhǔn)模式(Standard Fit)、快速模式(Fast Fit)和自動(dòng)模式(Auto Fit)。標(biāo)準(zhǔn)模式需要的時(shí)間比較長,但可以實(shí)現(xiàn)較高的最高頻率(fmax);快速模式可以節(jié)省50%的編譯時(shí)間,但會(huì)使最高頻率有所降低;自動(dòng)模式在達(dá)到設(shè)計(jì)要求的條件下,自動(dòng)平衡最高頻率和編

33、譯時(shí)間。,編譯,Quartus II編譯器由一系列處理模塊組成,包括分析與綜合、適配、匯編和時(shí)序分析等環(huán)節(jié)。通過Quartus II編譯器,可以檢查設(shè)計(jì)錯(cuò)誤,綜合邏輯,把設(shè)計(jì)配置到FPGA中去,并且為模擬、時(shí)序分析及器件配置生成輸出文件。 1. 分析與綜合 在編譯過程中,首先對(duì)設(shè)計(jì)文件進(jìn)行分析和檢查,如檢查原理圖的信號(hào)線有無漏接、信號(hào)有無雙重來源、硬件描述語言文件中有無語法錯(cuò)誤等,如存在錯(cuò)誤,編譯器會(huì)給出出錯(cuò)信息并標(biāo)出出錯(cuò)位置,供設(shè)計(jì)者修改,如果設(shè)計(jì)文件不存在錯(cuò)誤,接著進(jìn)行綜合,綜合完成的是設(shè)計(jì)邏輯到器件資源的映射。 2. 適配 適配完成的是設(shè)計(jì)邏輯在器件中的布局和布線、選擇適當(dāng)?shù)膬?nèi)部互聯(lián)路徑

34、、引腳分配、邏輯元件分配等操作??梢栽O(shè)置適配的多個(gè)選項(xiàng),來采取不同的優(yōu)化策略。,編譯,3. 匯編 適配完成后,進(jìn)入編程環(huán)節(jié)。在編程過程中,生成器件的編程映像文件,映像文件可以通過電纜下載到目標(biāo)芯片中。 4. 時(shí)序分析 在適配完成之后,設(shè)計(jì)邏輯在器件中的布局和布線、內(nèi)部互聯(lián)路徑已經(jīng)確定,在時(shí)序分析中,會(huì)計(jì)算給定設(shè)計(jì)在器件中延時(shí),完成時(shí)序分析和邏輯的性能分析。用戶可以預(yù)先設(shè)置Timing requirement,可以針對(duì)整個(gè)的工程、特定的設(shè)計(jì)實(shí)體、節(jié)點(diǎn)和引腳指定所需的速度性能。編譯過程中會(huì)針對(duì)設(shè)置進(jìn)行適配。,編譯,一、編譯設(shè)置 在編譯前,用戶可以設(shè)置編譯器,可以實(shí)現(xiàn)對(duì)編譯過程控制的目的。編譯器根據(jù)

35、相應(yīng)的設(shè)置進(jìn)行編譯。合理的設(shè)置可以提高工程編譯的速度,優(yōu)化器件的資源利用等。 單擊Assignments菜單中的Settings,出現(xiàn)下圖的窗口。,編譯,在Device中,用戶可以設(shè)置和器件有關(guān)的選項(xiàng),F(xiàn)PGA的芯片通常在建立項(xiàng)目的時(shí)候就已經(jīng)選擇好了,所以通常不做修改。,注意在編譯之前必須要對(duì)未使用的引腳做設(shè)置,將未使用的引腳設(shè)置成As inputs,tri-stated。如果不做此項(xiàng)配置設(shè)計(jì)可能無法在開發(fā)板上運(yùn)行。,設(shè)置未使用的引腳按照下面的步驟: (1) 在Settings對(duì)話框中的Device頁中,單擊Device and Pin Options,出現(xiàn)Device and Pin Opt

36、ions對(duì)話框,缺省是General頁。,編譯,(2)單擊Unused Pins標(biāo)簽,在Reserve all unused pins下選擇,As inputs,tri-stated。 (3)在Device and pins options中,其他的設(shè)置可以選用默認(rèn)的設(shè)置,不做修改,點(diǎn)擊確定。,編譯,設(shè)計(jì)優(yōu)化也是編譯設(shè)置的一部分,但是為了強(qiáng)調(diào)設(shè)計(jì)優(yōu)化的重要性,把它們單獨(dú)提出來介紹了,除了這些設(shè)置之外,還有下面的一些設(shè)置跟編譯的過程有關(guān): 在EDA Tools中,用戶可以指定在編譯過程中用到的其他第三方的工具軟件,通常不用設(shè)定。 在Compilation Process Settings中,用戶

37、可以設(shè)置編譯過程的一些選項(xiàng),如是否使用增量編譯等。 在Timing Analyzer中,用戶可以設(shè)置時(shí)序分析報(bào)告中顯示的內(nèi)容。 在Assembler中,指定匯編的選項(xiàng)。,編譯,二、引腳分配 用戶需要進(jìn)行引腳分配,使得編譯器能把用戶設(shè)計(jì)中的信號(hào)分配到目標(biāo)器件上的特定引腳上。Quartus II 提供了兩種引腳分配方法: 一種是使用Assignments Editor來分配,方法為選擇Assignments菜單中的pins或者Assignments Editor; 第二種方法是使用TCL腳本一次性分配所有的引腳。,編譯,采用第一種方法即使用Assignments Editor進(jìn)行引腳分配步驟如下:

38、 (1)選擇選擇Assignments菜單中的pins或者Assignments Editor。 (2)在Node Name下輸入引腳名稱,在Location選擇相應(yīng)的引腳。 (3)選擇FileSave保存分配。 這種分配方法效率較低,且容易出錯(cuò)。推薦使用TCL腳本文件的方法來進(jìn)行引腳分配。,編譯,用TCL腳本文件分配引腳,按照如下步驟: (1)選擇project下的generate tcl file for project,在如下界面點(diǎn)擊ok。,(2)打開標(biāo)準(zhǔn)工程(Standard)目錄下的standard.tcl文件,把文件中帶有set_location_assignment指令,并且-to后面的參數(shù)與現(xiàn)有工程中使用的管腳名相關(guān)的語句拷貝到pin.tcl文件的下面位置(最后一條set_global_assignment語句后),然后保存。(這個(gè)過程需要萬分的小心和仔細(xì),請(qǐng)大家注意) (3)Tools菜單下,選擇TCL scripts,出現(xiàn)下圖的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論