




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第二章 SOPC開發(fā)流程及Quartus II的使用,2.1SOPC開發(fā)流程和開發(fā)工具 2.2 Quartus II操作基礎 2.3 SOPC硬件開發(fā)實例 2.4創(chuàng)建Nios II 系統(tǒng)模塊 2.5設計優(yōu)化 2.6編譯 2.7編程下載,SOPC開發(fā)流程和開發(fā)工具,SOPC設計包括硬件和軟件兩部分。 硬件設計:主要基于Quartus II和 SOPC Builder。 軟件設計:基于Nios II IDE。,SOPC開發(fā)流程,分析系統(tǒng)需求: 在進行SOPC開發(fā)之前,首先必須確定系統(tǒng)的需求,如應用系統(tǒng)需求的計算性能、需要的帶寬和吞吐量、需求的接口類型以及是否需求多線程的軟件等。,建立Quartus
2、 II工程:每個開發(fā)過程開始時都應建立一個工程,Quartus II是以工程的方式對設計過程進行管理。在工程中建立頂層模塊文件.bdf相當于傳統(tǒng)電路設計中的電路板(PCB)。,定義和生成系統(tǒng):在SOPC Builder中添加需要的功能模塊(Nios II及其標準外設模塊),完成后生成一個系統(tǒng)模塊。,定制指令 連接各功能模塊:將各個功能模塊用連線連起來組成系統(tǒng)功能原理圖。,選擇FPGA型號并進行管腳分配 :為系統(tǒng)功能原理圖選擇芯片載體并為各個輸入輸出信號分配芯片的管腳; 進行編譯選項設置:設置編譯選項,從而讓編譯器按照用戶設定來進行編譯;,編譯硬件系統(tǒng)生成配置文件sof :編譯系統(tǒng)生成硬件系統(tǒng)的
3、配置文件*.sof和*.pof。編譯系統(tǒng)是一個非常復雜的過程,包括優(yōu)化邏輯的組合、綜合邏輯、適配FPGA、布線以及時序分析等步驟。 下載配置文件到FPGA器件:將配置文件.sof下載到FPGA.,設置軟件運行硬件環(huán)境屬性:設置好軟件運行的硬件環(huán)境屬性后,便可進行編譯、鏈接和調試、運行程序。 編譯軟件:對用戶程序進行編譯,生成可執(zhí)行文件*.elf。 ISS運行/調試 :接下來在IDE的指令集仿真器(ISS)上仿真軟件和運行/調試軟件。,在目標板上下載可執(zhí)行軟件到Nios II系統(tǒng):將可執(zhí)行文件.elf下載到RAM。 在目標板上運行/調試軟件 :在目標板上反復調試軟件。 使用IDE編程工具 燒寫配
4、置文件和軟件代碼 :最后利用IDE的編程工具將配置文件燒寫到FPGA的配置芯片或Flash,將可執(zhí)行文件*.elf編程到Flash中。,Quartus II操作基礎,把Quartus安裝光盤放入計算機的光驅中,在自動出現(xiàn)的光盤安裝目錄中選擇安裝Quartus軟件和Megacore IP library兩項,安裝光盤將自動引導完成軟件的安裝; 軟件安裝完成之后,在軟件中指定Altera公司的授權文件(License.dat),才能正常使用 ; 授權文件可以在Altera的網(wǎng)頁上申請或者購買獲得。 安裝Altera的硬件驅動程序。驅動程序存放在Quartus安裝目錄下的quartusdrivers
5、文件夾中。驅動安裝后才能將設計結果通過計算機的通信接口編程下載到目標芯片中。,Quartus軟件的安裝,Quartus軟件的用戶界面,啟動Quartus軟件后默認的界面主要由標題欄、菜單欄、工具欄、資源管理窗口、編譯狀態(tài)顯示窗口、信息顯示窗口和工程工作區(qū)等部分組成。,Quartus II操作基礎,Quartus軟件的用戶界面,Quartus II操作基礎,標題欄中顯示當前工程的路徑和工程名。,Quartus軟件的用戶界面,Quartus II操作基礎,菜單欄主要由文件(File)、編輯(Edit)、視圖(View)、工程(Project)、資源分配(Assignments)、操作(Proces
6、sing)、工具(Tools)、窗口(Window)和幫助(Help)等下拉菜單組成。,Quartus軟件的用戶界面,Quartus II操作基礎,工具欄中包含了常用命令的快捷圖標。,Quartus軟件的用戶界面,Quartus II操作基礎,資源管理窗口用于顯示當前工程中所有相關的資源文件。,Quartus軟件的用戶界面,Quartus II操作基礎,工程工作區(qū) 當Quartus實現(xiàn)不同的功能時,此區(qū)域將打開對應的操作窗口,顯示不同的內(nèi)容,進行不同的操作,如器件設置、定時約束設置、編譯報告等均顯示在此窗口中。,Quartus軟件的用戶界面,Quartus II操作基礎,編譯狀態(tài)顯示窗口 此窗
7、口主要顯示模塊綜合、布局布線過程及時間。,Quartus軟件的用戶界面,Quartus II操作基礎,信息顯示窗口 該窗口主要顯示模塊綜合、布局布線過程中的信息,如編譯中出現(xiàn)的警告、錯誤等,同時給出警告和錯誤的具體原因。,Quartus的開發(fā)流程,按照一般編程邏輯設計的步驟,利用Quartus軟件進行開發(fā)可以分為以下四個步驟: (1)輸入設計文件; (2)編譯設計文件; (3)仿真設計文件; (4)編程下載設計文件。,Quartus II操作基礎,輸入設計文件,Quartus軟件的輸入法有: 1)原理圖輸入方式、 2)文本輸入方式(如VHDL、Verilog HDL) 3)AHDL輸入方式、
8、4)模塊輸入方式以及 5)第三方EDA工具產(chǎn)生的文件以及混合使用以上幾種設計輸入方法進行設計 原理圖輸入法 原理圖輸入法也稱為圖形編輯輸入法,用Quartus原理圖輸入設計法進行數(shù)字系統(tǒng)設計時,不需要任何硬件描述語言的知識,在具有數(shù)字邏輯電路基本知識的基礎上,利用Quartus軟件提供的EDA平臺設計數(shù)字電路或系統(tǒng)。,Quartus II操作基礎,1、原理圖輸入法建立設計工程 建立設計工程的方法如圖示:,新建工程選項,新建工程第一頁,Quartus II操作基礎,1、原理圖輸入法建立設計工程 建立設計工程的方法圖示:,新建工程第二頁,新建工程第三頁,Quartus II操作基礎,1、原理圖輸入
9、法建立設計工程 建立設計工程的方法圖示:,新建工程第四頁,新建工程第五頁,Quartus II操作基礎,2、原理圖輸入法輸入設計文件 1)新建工程之后,便可以進行電路系統(tǒng)設計文件的輸入。選擇file菜單中的New命令,彈出如圖所示的新建設計文件類型選擇窗口。,Quartus II操作基礎,2)選擇New對話框 中的Device Design files頁下的Block Diagram/Schematic File,點擊OK, 打開下圖所示的圖 形編輯器對話框, 進行設計文件輸入。,圖形編輯器對話框,2、原理圖輸入法輸入設計文件,Quartus II操作基礎,2、原理圖輸入法輸入設計文件 3)在
10、圖形編輯窗口 中的任何一個位置 雙擊鼠標,或點擊 圖中的“符號工具” 按鈕,或選擇菜單 Edit下的Insert Symbol命令,彈出 如右圖所示的元件 選擇窗口 Symbol 對話框。,元件選擇窗口,Quartus II操作基礎,2、原理圖輸入法輸入設計文件,元件選擇窗口,Quartus II操作基礎,4)用鼠標點擊單元庫前面的加號(+),庫中的元件符號以列表的方式顯示出來,選擇所需要的元件符號,該符號顯示在Symbol對話框的右邊,點擊OK按鈕,添加相應元件符號在圖像編輯工作區(qū)中,連接原理圖。,2、原理圖輸入法輸入設計文件 十六進制同步計數(shù)器的原理圖如下:,Quartus II操作基礎,
11、3、原理圖輸入法優(yōu)缺點: 優(yōu)點: 1)可以與傳統(tǒng)的數(shù)字電路設計法接軌,即使用傳統(tǒng)設計方法得到電路原理圖,然后在Quartus平臺完成設計電路的輸入、仿真驗證和綜合,最后下載到目標芯片中。 2) 它將傳統(tǒng)的電路設計過程的布局布線、繪制印刷電路板、電路焊接、電路加電測試等過程取消,提高了設計效率,降低了設計成本,減輕了設計者的勞動強度。 缺點: 1)原理圖設計方法沒有實現(xiàn)標準化,不同的EDA軟件中的圖形處理工具對圖形的設計規(guī)則、存檔格式和圖形編譯方式都不同,因此兼容性差,難以交換和管理。 2)由于兼容性不好,性能優(yōu)秀的電路模塊的移植和再利用非常困難,難以實現(xiàn)用戶所希望的面積、速度以及不同風格的綜合
12、優(yōu)化 3)原理圖輸入的設計方法不能實現(xiàn)真實意義上的自頂向下的設計方案,無法建立行為模型,從而偏離了電子設計自動化最本質的涵義。,Quartus II操作基礎,編譯設計文件,Quartus編譯器的主要任務是對設計項目進行檢查并完成邏輯綜合,同時將項目最終設計結果生成器件的下載文件。編譯開始前,可以先對工程的參數(shù)進行設置。 Quartus軟件中的編譯類型有全編譯和分步編譯兩種。 選擇Quartus主窗口Process菜單下Start Compilation命令,或者在主窗口的工具欄上直接點擊圖標 可以進行全編譯 全編譯的過程包括分析與綜合(Analysis (3)將其重命名lcd_display。
13、,4.添加外部RAM接口 (1)Avalon components下的Memory下面選擇Cypress CY7C1380C SSRAM,單擊Add,出現(xiàn)SSRAM (Cypress CY7C1380C)-ext_ssram的向導; (2)在Timing Parameters下面設置Read Latency 為2 clocks,在SSRAM下面設置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)外部閃存接口向導; (2)在Attributes頁中,可以在Presets列表中選擇相應的閃存的接口,這些閃存的接口都是經(jīng)過測試的,如果列表中沒有,用戶可以自己定義閃存的Size和Data Width;,創(chuàng)建Nios II 系統(tǒng)模塊,(3)在timing頁中,可以設置閃存的讀寫時序要求,可以設置Setup, Waite, hold時間等參數(shù),通常保留缺省的設置; (4)如應用選擇的閃存接口不在列表中,需要自己定義Size和Da
15、ta Width,和時序要求; (5)點擊Finish,返回到Altera SOPC Builder NIOS2的窗口,Module Name出現(xiàn)cfi_flash_0,對其重命名為ext_flash。,創(chuàng)建Nios II 系統(tǒng)模塊,6. 添加外部RAM總線和外部flash總線(Avalon三態(tài)總線橋) 為了使Nios II 系統(tǒng)能與開發(fā)板上的外部存儲器通信,必須在Avalon總線和外部存儲器之間加入Avalon三態(tài)橋。,步驟如下: (1) 在Bridge下,選擇Avalon Tri-State Bridge,點擊Add,出現(xiàn)Avalon Tri-State Bridge tri_state_
16、bridge_0向導; (2) Registered選項默認為選中; (3)單擊Finish,返回到Altera SOPC Builder NIOS2的窗口; (4) 將其重命名為ext_ssram_bus; (5) 重復前三個步驟,在添加一個Avalon三態(tài)總線橋,并重命名為ext_flash_bus.,7.添加JTAG UART (1)在Avalon components下的Communication下選擇 JTAG UART,點擊ADD,出現(xiàn)添加向導。 (2)按照缺省設置,點擊Finish。 (3) 將其重命名為JTAG_UART. 8. Nios II系統(tǒng)的連接 主要是外部RAM接口要
17、和RAM的三態(tài)橋連接,外部的Flash接口要和flash的三態(tài)橋連接。所有添加的IP連接都是系統(tǒng)自動完成的,除了上面提到的三態(tài)橋和外部存儲器的接口的連接之外,其它的連接用戶不用修改,但對于三態(tài)橋和外部存儲器接口的連接,系統(tǒng)的自動連接可能和用戶的開發(fā)板不匹配,用戶需要進行手動的更改。針對我們所用的開發(fā)板的情況進行的設置,因為本書用到的開發(fā)板外部的SRAM和外部的Flash沒有使用共用的數(shù)據(jù)線和地址線,所以必須為它們分別添加一個三態(tài)橋。,創(chuàng)建Nios II 系統(tǒng)模塊,創(chuàng)建Nios II 系統(tǒng)模塊,三、分配IP模塊的地址和中斷號 在以上添加IP的過程中,SOPC Builder為各個IP模塊分配了一
18、個默認的基地址,用戶可以改變這些默認的分配。如果用戶自己分配的地址出現(xiàn)沖突,SOPC Builder會給出警告,用戶可以按照下面的步驟來進行分配和解決地址沖突問題。,創(chuàng)建Nios II 系統(tǒng)模塊,下面我們給出一種自定義的地址分配實例,將閃存的基地址設定為0 x00000000,步驟如下: (1)單擊Flash外設的Base欄,將地址改為0 x0,然后回車,這時SOPC Builder的消息框中出現(xiàn)錯誤的提示信息,這是因為閃存的地址和其它的外設地址發(fā)生了沖突。 (2)選擇Module菜單中的Lock Base Address操作,一個掛鎖的圖標出現(xiàn)在閃存基地址的旁邊。 (3)選擇System菜單
19、中的Auto Assign Base Address操作,來解決外設的地址分配沖突問題,SOPC Builder調整其它外設的地址來避開與閃存地址的沖突,錯誤提示的消息就會消失了。 (4)用戶可以手動修改各個外設的中斷號,中斷號越低,中斷優(yōu)先級越高,用戶也可以采用自動分配中斷號,選擇System菜單中的Auto Assign IRQs,但SOPC Builder不處理軟件操作,采用自動分配中斷的策略不一定是最優(yōu)的,用戶最好是根據(jù)自己的應用來確定外設的中斷優(yōu)先級,采用手動的分配。,創(chuàng)建Nios II 系統(tǒng)模塊,四、配置NIOS II 系統(tǒng),系統(tǒng)的IP模塊添加完成之后,還需要對系統(tǒng)進行配置。點擊N
20、ios II More “cpu_0” Settings 頁,用戶可以進行如下的設置:,Reset Address:可以選擇存放Boot Loader的存儲器和設置Boot Loader在存儲器中的偏移,我們這里選擇ext_flash,偏移選擇默認;,Exception Address:可以選擇存放異常向量表的存放的存儲器和設置異常向量表在存儲器中的偏移,我們選擇ext_ssram,偏移選擇默認;,Break Location:如果NIOS II 包含有一個JTAG Debug模塊,SOPC Builder會顯示這項內(nèi)容。其Memory Module總是JTAG Debug Module,Of
21、fset 固定為0 x20, 地址由JTAG debug module基地址決定。用戶不能修改Break Location的各個域的內(nèi)容。,五、生成NIOS II并加入到工程中 NIOS II系統(tǒng)是工程的一部分,我們首先是生成它,然后加入到工程中去,然后將整個工程下載到FPGA芯片中去。單擊System Generation,在Option下進行如下的設置:,創(chuàng)建Nios II 系統(tǒng)模塊,選中 Simulation,如果安裝了ModelSim軟件,會生成用于仿真的相應的文件。,單擊exit 退出SOPC Builder。,單擊 Generate,SOPC Builder會提示生成系統(tǒng)的進程,系
22、統(tǒng)生成完成時會提示”SUCCESS: SYSTEM GENERATION COMPLETED”。,選中 HDL,會生成系統(tǒng)模塊的硬件語言文件。,系統(tǒng)生成完成之后,SOPC Builder為這個定制的NIOS II系統(tǒng)模塊創(chuàng)建了一個符號,要把Nios II系統(tǒng)加入到工程中去,遵循如下的步驟: (1)在 Quartus II軟件中,打開頂層實體(BDF格式),在BDF窗口中任意處雙擊,出現(xiàn) Symbol對話框; (2)在Symbol對話框中單擊Project來展開工程目錄,其下出現(xiàn)NIOS2(本例采用的系統(tǒng)名),選中它,右側出現(xiàn)了系統(tǒng)的符號表示; (3)單擊OK,Symbol對話框關閉,NIOS2
23、的符號輪廓被附著在鼠標的指針上。 (4)BDF窗口中任意空白處單擊一下,NIOS2的符號出現(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)之外,可能還要有其它的硬件邏輯,我們這里加入一個嵌入式鎖相環(huán),嵌入式鎖相環(huán)有兩個時鐘輸出,一個輸出SSRAM提供時鐘,另一個時鐘的輸出為NIOS II CPU提供時鐘,然后添加輸入、輸出、雙向引腳,以實現(xiàn)和FPGA外部的外設進行通信。 加入嵌入式鎖相環(huán)的步驟如下:,創(chuàng)建Nios II 系統(tǒng)模塊,(1) 點擊ToolsMegaWizard Pl
24、ug-In Manager,出現(xiàn)MegaWizard Plug-In Manager向導Page1窗口,點擊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,然后點擊Next,出現(xiàn)MegaWizard Plug-In Manager-ALTPLL Page 3of 10;,創(chuàng)建Nios II 系統(tǒng)模塊,(3)在窗
25、口中,做如圖選擇,點擊next, 進入page 4 (4)在page 4中不作任何配置,直接點擊next;,創(chuàng)建Nios II 系統(tǒng)模塊,(5)點擊next,創(chuàng)建Nios II 系統(tǒng)模塊,(6)在Page 6 窗口中,設置c0輸出時鐘,首先選中Use this clock選項,設置時鐘頻率為85MHz,占空比為50%。點擊Next會進入c1輸出時鐘的設置;,創(chuàng)建Nios II 系統(tǒng)模塊,(7) 嵌入式PLL可提供3個輸出時鐘,我們使用其中的兩個,Page 7 窗口中,在c1時鐘的設置頁面上,選中Use this clock選項,設置時鐘頻率為85MHz,點擊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選項,即我們不使用c2時鐘,點擊Next; (9)在MegaWizard Plug-In Manager-ALTPLL Page 9 of 10窗口中,給出了用于仿真必須要產(chǎn)生的文件,點擊Next; (10)在MegaWizard Plug-In Manager-ALTPLL Page 10 of 10窗口中,給出了用戶選擇要產(chǎn)生的文件,不做改變,采用默認配置,點擊Finish完成PLL的生成。 在頂層實體的bdf窗口
27、中雙擊鼠標,出現(xiàn)Symbol添加窗口,在project下面選擇剛才建立的ssram_pll,點擊OK。ssram_pll的輪廓會附著在鼠標上,點擊bdf窗口的空白處,將嵌入式鎖相環(huán)加入到了工程中。,引腳添加的步驟如下: (1)在頂層實體的bdf窗口的空白處雙擊鼠標,出現(xiàn)Symbol添加窗口,(2)在alteraquartuslibraries下面選擇primitives,再在其下選擇pin,在其中有三種類型的引腳,有bidir,input,output,分別為雙向、輸入和輸出引腳,選擇相應類型的引腳,點擊OK。,(3)點擊bdf窗口的空白處,即將引腳加入到了工程中。,(4)重復上面的步驟添加為
28、各個端口添加相應類型的引腳。,創(chuàng)建Nios II 系統(tǒng)模塊,連接引腳和命名引腳 第一個加入的引腳的名稱缺省為pin_name,之后加入的引腳名稱依次為pin_name1,pin_name2向上遞增,為了便于理解和記憶,需要對引腳重新命名,使其和其傳輸?shù)男盘柭?lián)系起來。 命名引腳的方法如下: (1) 雙擊引腳的“pin_namen”部分,pin_namen的文字變成高亮,可以對其編輯。 (2) 對其他的引腳重復以上的操作,修改成具有意義的名字。 (3) 對于總線型的引腳,引腳名稱之后要標識出總線的位數(shù),如ddr_a12.0,在引腳名稱之后加上方括號,然后寫上最高位和最低位,用兩個.隔開。 (4)將
29、嵌入式鎖相環(huán)和系統(tǒng)模塊等連接起來,并將引腳連接到相應的端口上。,創(chuàng)建Nios II 系統(tǒng)模塊,連接好的頂層模塊圖,設計優(yōu)化,設計優(yōu)化主要包括節(jié)省占用FPGA的面積和提高設計系統(tǒng)運行速度兩個方面。這里的“面積”是指一個設計所消耗的FPGA的邏輯資源的數(shù)量,一般以設計占用的等價邏輯門數(shù)來衡量?!八俣取笔侵冈O計的系統(tǒng)在目標芯片上穩(wěn)定運行時能夠達到的最高頻率,它與設計的時鐘周期、時鐘建立時間、時鐘保持時間、時鐘到輸出端口的延遲時間等諸多因素有關。,面積與速度的優(yōu)化 打開我們剛才的工程clock,然后選擇Assignment菜單下的Settings命令,彈出設置窗口。,在對話框的左邊的Category欄
30、下,列出了很多可設置的對象,包括EDA Tools Settings、Compilation Process Settings、Analysis & Synthesis Settings、Fitter Settings、Timing Settings、Simulation Settings等等,選中要設置的項目,窗口的右邊顯示供設置的選項和參數(shù)。,在Analysis & Synthesis Settings頁面,用于對設計在分析與綜合時的優(yōu)化設置。在該頁面的Optimization Techniques欄中,提供了Speed、Balanced和Area3種優(yōu)化選擇,其中Balanced是軟件缺
31、省的優(yōu)化選擇。如果對Speed或Area有特殊的要求,則選中相應的選項。,設計優(yōu)化,時序約束與設置 選擇Settings下面的Timing Analysis Settings,然后選擇Classic Timing Analyzer Settings。,在此頁面中,可以對設計的延遲約束、時鐘頻率等做設置。延遲約束(Delay Requirements)設置包括tsu(建立時間)、tco(時鐘到輸出的延遲)、tpd(傳輸延遲)和th(保持時間)的設置。,一般來說,用戶要根據(jù)目標芯片的特性及PCB板走線的實際情況,給出設計需要滿足的時鐘頻率、建立時間、保持時間和傳輸延遲時間等參數(shù)。對一些簡單的應用,
32、對時序要求不嚴格 ,可以不做設置。,設計優(yōu)化,Fitter設置 在Ssettings對話框中,用鼠標左鍵單擊Category欄目中的Fitter Settings項,出現(xiàn)Fitter Settings設置頁面。此頁面用于布局布線器的控制。,在這里需要設置的主要是布局布線的策略(Fitter Effort),有三種模式可供選擇:標準模式(Standard Fit)、快速模式(Fast Fit)和自動模式(Auto Fit)。標準模式需要的時間比較長,但可以實現(xiàn)較高的最高頻率(fmax);快速模式可以節(jié)省50%的編譯時間,但會使最高頻率有所降低;自動模式在達到設計要求的條件下,自動平衡最高頻率和編
33、譯時間。,編譯,Quartus II編譯器由一系列處理模塊組成,包括分析與綜合、適配、匯編和時序分析等環(huán)節(jié)。通過Quartus II編譯器,可以檢查設計錯誤,綜合邏輯,把設計配置到FPGA中去,并且為模擬、時序分析及器件配置生成輸出文件。 1. 分析與綜合 在編譯過程中,首先對設計文件進行分析和檢查,如檢查原理圖的信號線有無漏接、信號有無雙重來源、硬件描述語言文件中有無語法錯誤等,如存在錯誤,編譯器會給出出錯信息并標出出錯位置,供設計者修改,如果設計文件不存在錯誤,接著進行綜合,綜合完成的是設計邏輯到器件資源的映射。 2. 適配 適配完成的是設計邏輯在器件中的布局和布線、選擇適當?shù)膬?nèi)部互聯(lián)路徑
34、、引腳分配、邏輯元件分配等操作??梢栽O置適配的多個選項,來采取不同的優(yōu)化策略。,編譯,3. 匯編 適配完成后,進入編程環(huán)節(jié)。在編程過程中,生成器件的編程映像文件,映像文件可以通過電纜下載到目標芯片中。 4. 時序分析 在適配完成之后,設計邏輯在器件中的布局和布線、內(nèi)部互聯(lián)路徑已經(jīng)確定,在時序分析中,會計算給定設計在器件中延時,完成時序分析和邏輯的性能分析。用戶可以預先設置Timing requirement,可以針對整個的工程、特定的設計實體、節(jié)點和引腳指定所需的速度性能。編譯過程中會針對設置進行適配。,編譯,一、編譯設置 在編譯前,用戶可以設置編譯器,可以實現(xiàn)對編譯過程控制的目的。編譯器根據(jù)
35、相應的設置進行編譯。合理的設置可以提高工程編譯的速度,優(yōu)化器件的資源利用等。 單擊Assignments菜單中的Settings,出現(xiàn)下圖的窗口。,編譯,在Device中,用戶可以設置和器件有關的選項,F(xiàn)PGA的芯片通常在建立項目的時候就已經(jīng)選擇好了,所以通常不做修改。,注意在編譯之前必須要對未使用的引腳做設置,將未使用的引腳設置成As inputs,tri-stated。如果不做此項配置設計可能無法在開發(fā)板上運行。,設置未使用的引腳按照下面的步驟: (1) 在Settings對話框中的Device頁中,單擊Device and Pin Options,出現(xiàn)Device and Pin Opt
36、ions對話框,缺省是General頁。,編譯,(2)單擊Unused Pins標簽,在Reserve all unused pins下選擇,As inputs,tri-stated。 (3)在Device and pins options中,其他的設置可以選用默認的設置,不做修改,點擊確定。,編譯,設計優(yōu)化也是編譯設置的一部分,但是為了強調設計優(yōu)化的重要性,把它們單獨提出來介紹了,除了這些設置之外,還有下面的一些設置跟編譯的過程有關: 在EDA Tools中,用戶可以指定在編譯過程中用到的其他第三方的工具軟件,通常不用設定。 在Compilation Process Settings中,用戶
37、可以設置編譯過程的一些選項,如是否使用增量編譯等。 在Timing Analyzer中,用戶可以設置時序分析報告中顯示的內(nèi)容。 在Assembler中,指定匯編的選項。,編譯,二、引腳分配 用戶需要進行引腳分配,使得編譯器能把用戶設計中的信號分配到目標器件上的特定引腳上。Quartus II 提供了兩種引腳分配方法: 一種是使用Assignments Editor來分配,方法為選擇Assignments菜單中的pins或者Assignments Editor; 第二種方法是使用TCL腳本一次性分配所有的引腳。,編譯,采用第一種方法即使用Assignments Editor進行引腳分配步驟如下:
38、 (1)選擇選擇Assignments菜單中的pins或者Assignments Editor。 (2)在Node Name下輸入引腳名稱,在Location選擇相應的引腳。 (3)選擇FileSave保存分配。 這種分配方法效率較低,且容易出錯。推薦使用TCL腳本文件的方法來進行引腳分配。,編譯,用TCL腳本文件分配引腳,按照如下步驟: (1)選擇project下的generate tcl file for project,在如下界面點擊ok。,(2)打開標準工程(Standard)目錄下的standard.tcl文件,把文件中帶有set_location_assignment指令,并且-to后面的參數(shù)與現(xiàn)有工程中使用的管腳名相關的語句拷貝到pin.tcl文件的下面位置(最后一條set_global_assignment語句后),然后保存。(這個過程需要萬分的小心和仔細,請大家注意) (3)Tools菜單下,選擇TCL scripts,出現(xiàn)下圖的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 超高性能混凝土的創(chuàng)新研究與應用進展
- 虛擬仿真實驗技術-第1篇-洞察及研究
- 公用物資使用管理辦法
- 紅心獼猴桃品質與環(huán)境因子關系研究
- 現(xiàn)代農(nóng)業(yè)灌溉系統(tǒng)智能化管理規(guī)范研究
- 教師職業(yè)角色定位與專業(yè)發(fā)展路徑探究
- 公共財物授權管理辦法
- 固定資產(chǎn)管理系統(tǒng)設計:理論與實踐
- 國際金融治理中的主權邊界問題研究
- 生活藝術與創(chuàng)意表達
- 2024年質量工程師備考常見問答試題及答案
- 三通四通尺寸數(shù)據(jù)及標準表
- 2025-2030全球及中國管道運輸服務行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 安慶市桐城經(jīng)開區(qū)建設投資集團有限公司招聘筆試題庫2025
- JJF 2244-2025公共機構重點用能單位能源資源計量審查規(guī)范
- 警犬基地人員管理制度
- 2025年甘肅省建筑安全員B證(項目經(jīng)理)考試題庫
- ICU感控管理分析報告
- 垃圾分類創(chuàng)新創(chuàng)業(yè)項目
- 體育賽事中的后勤保障工作
- 建材家居業(yè)商業(yè)計劃書
評論
0/150
提交評論