版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第2章
SOPC開發(fā)流程及 QuartusII的使用
第2章
SOPC開發(fā)流程及 QuartusII的使用12.1SOPC開發(fā)流程和開發(fā)工具SOPC設(shè)計(jì)包括硬件和軟件兩部分。硬件設(shè)計(jì):主要基于QuartusII和 SOPCBuilder。軟件設(shè)計(jì):基于NiosIIIDE。2.1SOPC開發(fā)流程和開發(fā)工具SOPC設(shè)計(jì)包括硬件和軟件2SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定制指令&定制外設(shè)邏輯硬件抽象層(HAL)&外設(shè)驅(qū)動(dòng)程序用戶C/C++應(yīng)用程序代碼和定制的庫自定義的功能模塊建立QuartusII工程,建立頂層圖*.bdf打開SOPCBuilder定義和生成系統(tǒng)集成SOPC生成的系統(tǒng)到QuartusII工程使用NiosIIIDE開發(fā)軟件Altera的LPM模塊連接各功能模塊選擇FPGA型號并進(jìn)行管腳分配進(jìn)行編譯選項(xiàng)設(shè)置編譯硬件系統(tǒng)生成配置文件sof編譯軟件生成可執(zhí)行文件elf在目標(biāo)板上下載可執(zhí)行軟件到NiosII系統(tǒng)下載配置文件到FPGA器件在目標(biāo)板上運(yùn)行/調(diào)試軟件調(diào)試好的硬件和軟件在IDE中使用ISS運(yùn)行/調(diào)試軟件設(shè)置軟件運(yùn)行硬件環(huán)境屬性使用IDE編程工具燒寫配置文件和軟件代碼在進(jìn)行SOPC開發(fā)之前,首先必須確定系統(tǒng)的需求,如應(yīng)用系統(tǒng)需求的計(jì)算性能、需要的帶寬和吞吐量、需求的接口類型以及是否需求多線程的軟件等。每個(gè)開發(fā)過程開始時(shí)都應(yīng)建立一個(gè)工程,QuartusII是以工程的方式對設(shè)計(jì)過程進(jìn)行管理。在工程中建立頂層模塊文件.bdf相當(dāng)于傳統(tǒng)電路設(shè)計(jì)中的電路板(PCB)。在SOPCBuilder中添加需要的功能模塊(NiosII及其標(biāo)準(zhǔn)外設(shè)模塊),完成后生成一個(gè)系統(tǒng)模塊。如果需要,用戶可以定制指令和外設(shè)邏輯。(可參考第8章)SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定3SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定制指令&定制外設(shè)邏輯硬件抽象層(HAL)&外設(shè)驅(qū)動(dòng)程序用戶C/C++應(yīng)用程序代碼和定制的庫自定義的功能模塊建立QuartusII工程,建立頂層圖*.bdf集成SOPC生成的系統(tǒng)到QuartusII工程使用NiosIIIDE開發(fā)軟件Altera的LPM模塊連接各功能模塊選擇FPGA型號并進(jìn)行管腳分配進(jìn)行編譯選項(xiàng)設(shè)置編譯硬件系統(tǒng)生成配置文件sof編譯軟件生成可執(zhí)行文件elf在目標(biāo)板上下載可執(zhí)行軟件到NiosII系統(tǒng)下載配置文件到FPGA器件在目標(biāo)板上運(yùn)行/調(diào)試軟件調(diào)試好的硬件和軟件在IDE中使用ISS運(yùn)行/調(diào)試軟件設(shè)置軟件運(yùn)行硬件環(huán)境屬性在QuartusII軟件中包含了大量的Altera公司提供的LPM功能模塊,相當(dāng)與傳統(tǒng)設(shè)計(jì)中除處理器以外的邏輯芯片(如74系列);當(dāng)設(shè)計(jì)中現(xiàn)有模塊不能滿足設(shè)計(jì)要求時(shí),可設(shè)計(jì)自己的功能模塊。并在頂層模塊中使用;打開SOPCBuilder定義和生成系統(tǒng)在頂層模塊中,分別將SOPCBuilder生成的系統(tǒng)模塊、LPM功能模塊以及用戶自定義功能模塊添加到頂層模塊中;然后將各個(gè)功能模塊用連線連起來組成系統(tǒng)功能原理圖。這個(gè)兩過程類似傳統(tǒng)電路設(shè)計(jì)中,將所有要使用的芯片焊接到電路板上,然后通過PCB上的連線將各個(gè)芯片連接起來,組成電路系統(tǒng)。使用IDE編程工具燒寫配置文件和軟件代碼SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定4SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定制指令&定制外設(shè)邏輯硬件抽象層(HAL)&外設(shè)驅(qū)動(dòng)程序用戶C/C++應(yīng)用程序代碼和定制的庫自定義的功能模塊建立QuartusII工程,建立頂層圖*.bdf集成SOPC生成的系統(tǒng)到QuartusII工程使用NiosIIIDE開發(fā)軟件Altera的LPM模塊連接各功能模塊選擇FPGA型號并進(jìn)行管腳分配進(jìn)行編譯選項(xiàng)設(shè)置編譯硬件系統(tǒng)生成配置文件sof編譯軟件生成可執(zhí)行文件elf在目標(biāo)板上下載可執(zhí)行軟件到NiosII系統(tǒng)下載配置文件到FPGA器件在目標(biāo)板上運(yùn)行/調(diào)試軟件調(diào)試好的硬件和軟件在IDE中使用ISS運(yùn)行/調(diào)試軟件設(shè)置軟件運(yùn)行硬件環(huán)境屬性打開SOPCBuilder定義和生成系統(tǒng)為系統(tǒng)功能原理圖選擇芯片載體并為各個(gè)輸入輸出信號分配芯片的管腳;設(shè)置編譯選項(xiàng),從而讓編譯器按照用戶設(shè)定來進(jìn)行編譯;編譯系統(tǒng)生成硬件系統(tǒng)的配置文件*.sof和*.pof。編譯系統(tǒng)是一個(gè)非常復(fù)雜的過程,包括優(yōu)化邏輯的組合、綜合邏輯、適配FPGA、布線以及時(shí)序分析等步驟。使用IDE編程工具燒寫配置文件和軟件代碼SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定5SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定制指令&定制外設(shè)邏輯硬件抽象層(HAL)&外設(shè)驅(qū)動(dòng)程序用戶C/C++應(yīng)用程序代碼和定制的庫自定義的功能模塊建立QuartusII工程,建立頂層圖*.bdf集成SOPC生成的系統(tǒng)到QuartusII工程使用NiosIIIDE開發(fā)軟件Altera的LPM模塊連接各功能模塊選擇FPGA型號并進(jìn)行管腳分配進(jìn)行編譯選項(xiàng)設(shè)置編譯硬件系統(tǒng)生成配置文件sof編譯軟件生成可執(zhí)行文件elf在目標(biāo)板上下載可執(zhí)行軟件到NiosII系統(tǒng)下載配置文件到FPGA器件在目標(biāo)板上運(yùn)行/調(diào)試軟件調(diào)試好的硬件和軟件在IDE中使用ISS運(yùn)行/調(diào)試軟件設(shè)置軟件運(yùn)行硬件環(huán)境屬性打開SOPCBuilder定義和生成系統(tǒng)軟件開發(fā)也可以在SOPCBuilder生成系統(tǒng)模塊后立即進(jìn)行!與傳統(tǒng)軟件開發(fā)類似,唯一不同在于系統(tǒng)是自己定制的,所受局限??!使用IDE編程工具燒寫配置文件和軟件代碼SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定6SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定制指令&定制外設(shè)邏輯硬件抽象層(HAL)&外設(shè)驅(qū)動(dòng)程序用戶C/C++應(yīng)用程序代碼和定制的庫自定義的功能模塊建立QuartusII工程,建立頂層圖*.bdf集成SOPC生成的系統(tǒng)到QuartusII工程使用NiosIIIDE開發(fā)軟件Altera的LPM模塊連接各功能模塊選擇FPGA型號并進(jìn)行管腳分配進(jìn)行編譯選項(xiàng)設(shè)置編譯硬件系統(tǒng)生成配置文件sof編譯軟件生成可執(zhí)行文件elf在目標(biāo)板上下載可執(zhí)行軟件到NiosII系統(tǒng)下載配置文件到FPGA器件在目標(biāo)板上運(yùn)行/調(diào)試軟件調(diào)試好的硬件和軟件在IDE中使用ISS運(yùn)行/調(diào)試軟件設(shè)置軟件運(yùn)行硬件環(huán)境屬性打開SOPCBuilder定義和生成系統(tǒng)
設(shè)置好軟件運(yùn)行的硬件環(huán)境屬性后,便可進(jìn)行編譯、鏈接和調(diào)試、運(yùn)行程序。對用戶程序進(jìn)行編譯,生成可執(zhí)行文件*.elf。接下來在IDE的指令集仿真器(ISS)上仿真軟件和運(yùn)行/調(diào)試軟件。
將配置文件.sof下載到FPGA,將可執(zhí)行文件.elf下載到RAM。
在目標(biāo)板上反復(fù)調(diào)試軟件。
直到硬件和軟件設(shè)計(jì)都達(dá)到設(shè)計(jì)要求。
最后利用IDE的編程工具將配置文件燒寫到FPGA的配置芯片或Flash,將可執(zhí)行文件*.elf編程到Flash中。使用IDE編程工具燒寫配置文件和軟件代碼SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定72.1SOPC開發(fā)流程和開發(fā)工具硬件開發(fā)硬件開發(fā)使用QuartusII和SOPCBuilder配置NiosII處理器選擇并配置外設(shè).IP連接各外設(shè)模塊分配外設(shè)地址和中斷生成系統(tǒng)SOPCBuilderGUI自定義命令I(lǐng)P模塊處理器庫外設(shè)模塊庫硬件開發(fā)NiosIIIDE軟件開發(fā)QuartusIIGNUTools
用SOPCBuilder軟件從NiosII處理器內(nèi)核和NiosII開發(fā)套件提供的外設(shè)列表中選取合適的CPU、存儲(chǔ)器以及各外圍器件,并定制和配置它們的功能;
分配外設(shè)地址及中斷號;設(shè)定復(fù)位地址;最后生成系統(tǒng)。用戶也可以添加用戶自身定制指令邏輯到NiosII內(nèi)核以加速CPU性能;添加用戶自己設(shè)計(jì)的IP模塊。2.1SOPC開發(fā)流程和開發(fā)工具硬件開發(fā)硬件開發(fā)使用Qua82.1SOPC開發(fā)流程和開發(fā)工具硬件開發(fā)硬件開發(fā)使用QuartusII和SOPCBuilder配置NiosII處理器選擇并配置外設(shè).IP連接各外設(shè)模塊分配外設(shè)地址和中斷生成系統(tǒng)SOPCBuilderGUI自定義命令I(lǐng)P模塊處理器庫外設(shè)模塊庫硬件開發(fā)NiosIIIDE軟件開發(fā)QuartusIIGNUTools編譯QuartusII工程,對HDL文件進(jìn)行布局布線,從HDL源文件綜合生成一個(gè)適合目標(biāo)器件網(wǎng)表,生成FPGA配置文件(.sof);HDL源文件測試臺(tái)用戶邏輯設(shè)計(jì)其它的IP模塊SOPCBuilder的頂層.bdf文件管腳連接分配編譯(分析與綜合、布局布線、時(shí)序分析等)驗(yàn)證調(diào)試硬件配置文件JTAG串口、以太網(wǎng)片上調(diào)試(軟件跟蹤、硬件斷點(diǎn)SignalTapII)AlteraGPGA用下載電纜(如ByteBlasterII),將配置文件下載到目標(biāo)板上。硬件校驗(yàn)完成后,可將新的硬件配置文件下載到目標(biāo)板上的非易失存儲(chǔ)器(如EPCS器件)。2.1SOPC開發(fā)流程和開發(fā)工具硬件開發(fā)硬件開發(fā)使用Qua92.1SOPC開發(fā)流程和開發(fā)工具硬件開發(fā)配置NiosII處理器選擇并配置外設(shè).IP連接各外設(shè)模塊分配外設(shè)地址和中斷生成系統(tǒng)SOPCBuilderGUI自定義命令I(lǐng)P模塊處理器庫外設(shè)模塊庫硬件開發(fā)NiosIIIDE軟件開發(fā)QuartusIIGNUTools編譯QuartusII工程,對HDL文件進(jìn)行布局布線,從HDL源文件綜合生成一個(gè)適合目標(biāo)器件網(wǎng)表,生成FPGA配置文件(.sof);HDL源文件測試臺(tái)用戶邏輯設(shè)計(jì)其它的IP模塊SOPCBuilder的頂層.bdf文件管腳連接分配編譯(分析與綜合、布局布線、時(shí)序分析等)驗(yàn)證調(diào)試硬件配置文件JTAG串口、以太網(wǎng)片上調(diào)試(軟件跟蹤、硬件斷點(diǎn)SignalTapII)AlteraGPGA用下載電纜(如ByteBlasterII),將配置文件下載到目標(biāo)板上。硬件校驗(yàn)完成后,可將新的硬件配置文件下載到目標(biāo)板上的非易失存儲(chǔ)器(如EPCS器件)。2.1SOPC開發(fā)流程和開發(fā)工具硬件開發(fā)配置NiosII102.1SOPC開發(fā)流程和開發(fā)工具軟件開發(fā)軟件開發(fā)使用NiosIIIDE,它是一個(gè)基于EclipseIDE架構(gòu)的集成開發(fā)環(huán)境,它包括:GNU開發(fā)工具(標(biāo)準(zhǔn)GCC編譯器,連接器,匯編器和makefile工具等);基于GDB的調(diào)試器,包括軟件仿真和硬件調(diào)試;提供用戶一個(gè)硬件抽象層HAL;提供嵌入式操作系統(tǒng)MicroC/OS-II和LwTCP/IP協(xié)議棧的支持;提供幫助用戶快速入門的軟件模板;提供Flash下載支持(FlashProgrmmer和QuartusIIProgrammer)2.1SOPC開發(fā)流程和開發(fā)工具軟件開發(fā)112.1SOPC開發(fā)流程和開發(fā)工具軟件開發(fā)配置NiosII處理器選擇并配置外設(shè).IP連接各外設(shè)模塊分配外設(shè)地址和中斷生成系統(tǒng)SOPCBuilderGUI自定義命令I(lǐng)P模塊處理器庫外設(shè)模塊庫硬件開發(fā)NiosIIIDE軟件開發(fā)QuartusIIGNUTools
使用SOPCBuilder生成系統(tǒng)后,可以直接使用NiosIIIDE開始設(shè)計(jì)C/C++應(yīng)用程序代碼。Altera提供外設(shè)驅(qū)動(dòng)程序和硬件抽象層(HAL),使用戶能夠快速編寫與低級硬件細(xì)節(jié)無關(guān)的NiosII程序;HDL源文件測試臺(tái)用戶邏輯設(shè)計(jì)其它的IP模塊SOPCBuilder的頂層.bdf文件管腳連接分配編譯(分析與綜合、布局布線、時(shí)序分析等)驗(yàn)證調(diào)試硬件配置文件JTAG串口、以太網(wǎng)片上調(diào)試(軟件跟蹤、硬件斷點(diǎn)SignalTapII)AlteraGPGAC頭文件用戶庫函數(shù)外設(shè)驅(qū)動(dòng)
除了應(yīng)用代碼,用戶還可以在NiosIIIDE工程中設(shè)計(jì)和重新使用定制庫。用戶代碼庫函數(shù)操作系統(tǒng)(RTOS)硬件開發(fā)使用QuartusII和SOPCBuilder2.1SOPC開發(fā)流程和開發(fā)工具軟件開發(fā)配置NiosII122.2SOPC硬件開發(fā)實(shí)例
第一步是要進(jìn)行需求分析,根據(jù)這個(gè)要求來建立硬件系統(tǒng)。電子鐘的設(shè)計(jì)要求:在液晶屏上顯示日期、時(shí)間;可以設(shè)置日期、時(shí)間;
根據(jù)系統(tǒng)要求實(shí)現(xiàn)的功能,電子鐘的設(shè)計(jì)要用到的外圍器件有:LCD:電子鐘顯示屏幕;按鍵:電子鐘設(shè)置功能鍵;Flash存儲(chǔ)器:存儲(chǔ)軟、硬件程序;SRAM存儲(chǔ)器:程序運(yùn)行時(shí)將其導(dǎo)入SRAM。根據(jù)所要用到的外設(shè)、要實(shí)現(xiàn)的功能以及開發(fā)板的配置,在SOPCBuilder中建立系統(tǒng)要添加的模塊包括:NiosIICPU、定時(shí)器、按鍵PIO、LCD控制器、AVALON三態(tài)橋、外部RAM接口、外部Flash接口。2.2SOPC硬件開發(fā)實(shí)例第一步是要進(jìn)行需求分析132.2SOPC硬件開發(fā)實(shí)例使用的開發(fā)環(huán)境如下:WinXP操作系統(tǒng)NiosII6.0嵌入式處理器QuartusII6.0基于CycloneII的SOPC開發(fā)板2.2SOPC硬件開發(fā)實(shí)例使用的開發(fā)環(huán)境如下:142.2.1創(chuàng)建工程進(jìn)行完需求分析之后,進(jìn)行硬件系統(tǒng)的創(chuàng)建。首先必須建立一個(gè)QuartusII的工程,步驟如下:1.開始程序AlteraQuartusII6.1QuartusII 6.1(32 bit),啟動(dòng)QuartusII軟件;
2.選擇File菜單NewProjectWizard,出現(xiàn)Introduction頁面,該頁面介紹所要完成的具體任務(wù),點(diǎn)擊next。2.2.1創(chuàng)建工程進(jìn)行完需求分析之后,進(jìn)行硬件系統(tǒng)的創(chuàng)建。152.2.1創(chuàng)建工程2.2.1創(chuàng)建工程162.2.1創(chuàng)建工程2.2.1創(chuàng)建工程172.2.1創(chuàng)建工程3.進(jìn)行項(xiàng)目名稱的設(shè)定、工作目錄的選擇。指定工程存放的目錄,工程名和頂層實(shí)體名,工程名和頂層實(shí)體名要求相同,工程目錄可以隨意設(shè)置,但必須是英文的目錄,工程名和頂層實(shí)體名也要求是英文名字,我們的工程名和頂層實(shí)體名為clock,選擇Next。2.2.1創(chuàng)建工程3.進(jìn)行項(xiàng)目名稱的設(shè)定、工作目錄的182.2.1創(chuàng)建工程2.2.1創(chuàng)建工程192.2.1創(chuàng)建工程4.可以為工程添加先期已經(jīng)輸入的設(shè)計(jì)文件,指定用戶自定義的元件庫的路徑,這里我們沒有事先輸入好的文件,也沒有自定義的元件庫,點(diǎn)擊Next進(jìn)入下一步。2.2.1創(chuàng)建工程4.可以為工程添加先期已經(jīng)輸入的設(shè)計(jì)文件202.2.1創(chuàng)建工程2.2.1創(chuàng)建工程212.2.1創(chuàng)建工程5.用戶指定目標(biāo)器件,根據(jù)開發(fā)板的所使用的器件來選擇,實(shí)際開發(fā)中,通過查看核心板的參考手冊來獲取所使用的器件具體型號,可以使用窗口右邊的Filters來加快器件的選擇,選擇完畢點(diǎn)擊Next。2.2.1創(chuàng)建工程5.用戶指定目標(biāo)器件,根據(jù)開發(fā)板的所使222.2.1創(chuàng)建工程2.2.1創(chuàng)建工程232.2.1創(chuàng)建工程6.指定在QuartusII之外的用于,設(shè)計(jì)輸入、綜合、仿真、時(shí)序分析的第三方EDA工具,QuartusII對第三方工具的支持比較完善。這里我們不做選擇,直接點(diǎn)擊Next。2.2.1創(chuàng)建工程6.指定在QuartusII之外242.2.1創(chuàng)建工程2.2.1創(chuàng)建工程252.2.1創(chuàng)建工程所見新工程的信息,確認(rèn)所創(chuàng)建工程的主要信息,點(diǎn)擊Finish完成工程的建立,在開發(fā)的過程中,還可以通過菜單assignmentSettings來對這些配置進(jìn)行修改。點(diǎn)擊Finish按鈕,QuartusII自動(dòng)會(huì)打開這個(gè)工程,可以看到頂層實(shí)體名出現(xiàn)在工程導(dǎo)航窗口中。2.2.1創(chuàng)建工程所見新工程的信息,確認(rèn)所創(chuàng)建工程的主要信26SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件272.3創(chuàng)建NiosII系統(tǒng)模塊創(chuàng)建完成工程之后,需要?jiǎng)?chuàng)建頂層實(shí)體。創(chuàng)建完頂層設(shè)計(jì)文件之后,使用SOPCBuilder創(chuàng)建NIOSII嵌入式處理器,添加、配置系統(tǒng)的外設(shè)IP,組成NiosII系統(tǒng)模塊。NiosII系統(tǒng)模塊設(shè)計(jì)完成之后要加入到該頂層實(shí)體中,然后進(jìn)行其他片上邏輯的開發(fā)。2.3創(chuàng)建NiosII系統(tǒng)模塊創(chuàng)建完成工程之后,需要?jiǎng)?chuàng)282.3.1創(chuàng)建頂層實(shí)體(1)新建的工程窗口中,選擇FileNew;(2)在DeviceDesignFile頁中,選擇BlockDiagram/SchematicFile,即原理圖文件,也可以選擇硬件描述語言的文件形式。單擊OK。(3)出現(xiàn)一個(gè)模塊編輯窗口。2.3.1創(chuàng)建頂層實(shí)體(1)新建的工程窗口中,選擇File292.3.1創(chuàng)建頂層實(shí)體2.3.1創(chuàng)建頂層實(shí)體302.3.1創(chuàng)建頂層實(shí)體(4)選擇FileSaveAs,出現(xiàn)SaveAs對話框,顯示的目錄為之前設(shè)置的工程目錄,文件名為之前設(shè)置的頂層實(shí)體名(由于這是工程的第一個(gè)文件,系統(tǒng)會(huì)默認(rèn)為頂層設(shè)計(jì)實(shí)體的名字)。確定AddtoCurrentProject選項(xiàng)被選中,點(diǎn)擊Save文件被保存并被加入到工程中。2.3.1創(chuàng)建頂層實(shí)體(4)選擇FileSaveAs312.3.1創(chuàng)建頂層實(shí)體2.3.1創(chuàng)建頂層實(shí)體322.3.2創(chuàng)建NiosII系統(tǒng)模塊
創(chuàng)建NIOSII系統(tǒng)模塊需要使用SOPCBuilder,它是QuartusII中的一個(gè)工具,使用SOPCBuilder可以創(chuàng)建一個(gè)NiosII系統(tǒng)模塊,或者創(chuàng)建多主設(shè)備SOPC模塊。一個(gè)完整NiosII的系統(tǒng)模塊包括NiosII處理器和相關(guān)的系統(tǒng)外設(shè)。所以創(chuàng)建系統(tǒng)模塊的流程是先創(chuàng)建一個(gè)系統(tǒng),然后添加NiosIICPU和外設(shè)IP,然后進(jìn)行相應(yīng)的設(shè)置,最后生成實(shí)例,然后將其加入到工程的頂層實(shí)體中去。2.3.2創(chuàng)建NiosII系統(tǒng)模塊創(chuàng)建NIOSI332.3.2創(chuàng)建NiosII系統(tǒng)模塊一、創(chuàng)建系統(tǒng)啟動(dòng)SOPCBuilder,選擇ToolsSOPCBuilder,出現(xiàn)圖2-10的CreateNewSystem對話框。鍵入系統(tǒng)的名字,選擇硬件描述語言Verilog或者是VHDL。2.3.2創(chuàng)建NiosII系統(tǒng)模塊一、創(chuàng)建系統(tǒng)342.3.2創(chuàng)建NiosII系統(tǒng)模塊2.3.2創(chuàng)建NiosII系統(tǒng)模塊35SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件362.3.2創(chuàng)建Nios系統(tǒng)模塊二、設(shè)置系統(tǒng)主頻和指定目標(biāo)FPGA在Target欄中的Board部分指定我們這本書使用的核心開發(fā)板——CycloneII(EP2C35)。也可以在Board部分選擇Unspecified,然后在DeviceFamily選擇CycloneII。用戶需要設(shè)置系統(tǒng)的時(shí)鐘頻率,該頻率用于計(jì)算硬件和軟件開發(fā)中的定時(shí),比如時(shí)鐘分頻或波特率。這里我們設(shè)成85MHz,還可以選擇是否選用流水線。2.3.2創(chuàng)建Nios系統(tǒng)模塊二、設(shè)置系統(tǒng)主頻和指定目標(biāo)37三、加入NiosIICPU和IP模塊首先加入NiosII軟核,NiosII是軟核CPU,共有三種類型的CPU可供選擇:NiosII/e(經(jīng)濟(jì)型)、NiosII/s(標(biāo)準(zhǔn)型)和NiosII/f(快速型)。用戶可以根據(jù)實(shí)際的情況進(jìn)行選擇。NiosII是一個(gè)用戶可以自行進(jìn)行定制的CPU,用戶可以增加新的外設(shè)、新的指令等。三、加入NiosIICPU和IP模塊38添加NiosIICPU的步驟如下:1.AvalonComponents下面選擇NiosIIProcessor;2.點(diǎn)擊Add,出現(xiàn)NiosIICPU的配置向?qū)?,共有三種類型的CPU可供選擇;添加NiosIICPU的步驟如下:39SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件40根據(jù)需要選擇相應(yīng)的一種NiosII核,我們選擇標(biāo)準(zhǔn)型的NiosII核,HardwareMultiply選擇none,不選擇HardwareDivide點(diǎn)擊Next,進(jìn)入Caches&TightlyCoupledMemories設(shè)置窗口;根據(jù)需要選擇相應(yīng)的一種NiosII核,我們選擇標(biāo)準(zhǔn)型41SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件42設(shè)置NiosII的Cache和與CPU直接相連的存儲(chǔ)器端口(不通過Avalon總線),選擇InstructionCache為4Kbytes,不選中Includetightlycoupledinstructionmasterport(s),點(diǎn)擊Next進(jìn)入AdvancedFeatures設(shè)置頁面。
設(shè)置NiosII的Cache和與CPU直接相連的存儲(chǔ)43SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件44
AdvancedFeatures的設(shè)置頁面是QuartusII6.1版本才有的設(shè)置,這里不選擇Includecpu_resetrequestandcpu_resettakensignals點(diǎn)擊Next進(jìn)入JTAGDebugModule設(shè)置。AdvancedFeatures的設(shè)置頁面是Quar45SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件46共有4個(gè)調(diào)試級別可供選擇,這里選擇Level1即可,該級別支持軟件的斷點(diǎn)調(diào)試。JTAG調(diào)試模塊要占用較多的邏輯資源,如果整個(gè)系統(tǒng)調(diào)試完畢了可以選用NoDebugger以減少系統(tǒng)占用資源點(diǎn)擊Next進(jìn)入自定義指令的設(shè)置。共有4個(gè)調(diào)試級別可供選擇,這里選擇Level1即可,該47因?yàn)楸纠挥玫饺魏蔚淖远x指令,這里不作任何的設(shè)置,點(diǎn)擊Finish完成CPU模塊的添加。因?yàn)楸纠挥玫饺魏蔚淖远x指令,這里不作任何的設(shè)置,點(diǎn)48除了NiosIICPU,電子鐘設(shè)計(jì)需要添加的IP模塊包括:TimerButtonPIOLCD控制器ExternalRAMBusExternalFlashBusExternalRAMinterfaceExternalFlashInterface除了NiosIICPU,電子鐘設(shè)計(jì)需要添加的IP模塊包括491.添加定時(shí)器定時(shí)器和NiosIICPU一樣,用戶可以對其進(jìn)行定制。添加定時(shí)器的步驟如下:(1)在Avaloncomponents下的other庫中選 擇IntervalTimer并單擊Add,Avalon_Timer-timer_0的向?qū)Т翱诔霈F(xiàn);1.添加定時(shí)器50(2)配置定時(shí)器,點(diǎn)擊Finish,完成定時(shí)器的添加。(3)可以對Timer進(jìn)行重命名,我們這里取缺省的名字。(2)配置定時(shí)器,點(diǎn)擊Finish,完成定時(shí)器的添加。(3512.添加ButtonPIO
(1)在Avaloncomponents下的other下選擇PIO,單擊Add,出現(xiàn)AvalonPIO-PIO_0的向?qū)?;?)在BasicSettings頁中,設(shè)置width=4bits,direction為InputPortsOnly;(3)在InputOptions頁中,在EdgeCaptureRegister下選中SynchronouslyCapture,然后選擇EitherEdge;2.添加ButtonPIO52SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件53(4)在Interrupt下選中GenerateIRQ,然后選擇Edge;(5)點(diǎn)擊Finish,返回到AlteraSOPCBuilderNIOS2的窗口;(6)右鍵單擊ModuleName下的pio_0,從菜單選擇rename,重命名為button_pio.(4)在Interrupt下選中GenerateIRQ,然543.添加LCD控制器(1)在圖2-11的窗口中的左側(cè)的Avaloncomponents下的display庫中選擇CharacterLCD(162,Optrex16027),單擊Add;(2)ModuleName下出現(xiàn),lcd_16027_0;(3)將其重命名lcd_display。3.添加LCD控制器554.添加外部RAM接口(1)Avaloncomponents下的Memory下面選擇CypressCY7C1380CSSRAM,單擊Add,出現(xiàn)SSRAM(CypressCY7C1380C)-ext_ssram的向?qū)?;?)在TimingParameters下面設(shè)置ReadLatency為2clocks,在SSRAM下面設(shè)置MemorySize為2Mbytes(3)單擊Finish,返回到AlteraSOPCBuilderNIOS2的窗口;(4)右鍵單擊ModuleName下的ssram_0,從菜單選擇rename,重命名為ext-ssram。4.添加外部RAM接口56SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件575.添加外部閃存接口(1)在Avaloncomponents下的Memory下面選擇FlashMemory(CommonFlashInterface),單擊Add,出現(xiàn)外部閃存接口向?qū)?;?)在Attributes頁中,可以在Presets列表中選擇相應(yīng)的閃存的接口,這些閃存的接口都是經(jīng)過測試的,如果列表中沒有,用戶可以自己定義閃存的Size和DataWidth;5.添加外部閃存接口58SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件59(3)在timing頁中,可以設(shè)置閃存的讀寫時(shí)序要求,可以設(shè)置Setup,Waite,hold時(shí)間等參數(shù),通常保留缺省的設(shè)置;(4)如應(yīng)用選擇的閃存接口不在列表中,需要自己定義Size和DataWidth,和時(shí)序要求;(5)點(diǎn)擊Finish,返回到AlteraSOPCBuilderNIOS2的窗口,ModuleName出現(xiàn)cfi_flash_0,對其重命名為ext_flash。(3)在timing頁中,可以設(shè)置閃存的讀寫時(shí)序要求,可以設(shè)606.添加外部RAM總線和外部flash總線(Avalon三態(tài)總線橋)為了使NiosII系統(tǒng)能與開發(fā)板上的外部存儲(chǔ)器通信,必須在Avalon總線和外部存儲(chǔ)器之間加入Avalon三態(tài)橋。步驟如下:(1)在Bridge下,選擇AvalonTri-StateBridge,點(diǎn)擊Add,出現(xiàn)AvalonTri-StateBridge–tri_state_bridge_0向?qū)В?2)Registered選項(xiàng)默認(rèn)為選中;(3)單擊Finish,返回到AlteraSOPCBuilderNIOS2的窗口;6.添加外部RAM總線和外部flash總線(Avalo61SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件62(4)將其重命名為ext_ssram_bus;(5)重復(fù)前三個(gè)步驟,在添加一個(gè)Avalon三態(tài)總線橋,并重命名為ext_flash_bus.(4)將其重命名為ext_ssram_bus;637.添加JTAGUART(1)在Avaloncomponents下的Communication下選擇JTAGUART,點(diǎn)擊ADD,出現(xiàn)添加向?qū)?。?)按照缺省設(shè)置,點(diǎn)擊Finish。(3)將其重命名為JTAG_UART.7.添加JTAGUART647.NiosII系統(tǒng)的連接主要是外部RAM接口要和RAM的三態(tài)橋連接,外部的Flash接口要和flash的三態(tài)橋連接。所有添加的IP連接都是系統(tǒng)自動(dòng)完成的,除了上面提到的三態(tài)橋和外部存儲(chǔ)器的接口的連接之外,其它的連接用戶不用修改,但對于三態(tài)橋和外部存儲(chǔ)器接口的連接,系統(tǒng)的自動(dòng)連接可能和用戶的開發(fā)板不匹配,用戶需要進(jìn)行手動(dòng)的更改。針對我們所用的開發(fā)板的情況進(jìn)行的設(shè)置,因?yàn)楸緯玫降拈_發(fā)板外部的SRAM和外部的Flash沒有使用共用的數(shù)據(jù)線和地址線,所以必須為它們分別添加一個(gè)三態(tài)橋。7.NiosII系統(tǒng)的連接65SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件66Altera公司提供了豐富的外設(shè)IP可供用戶加入到設(shè)計(jì)當(dāng)中,如片內(nèi)ROM,communicationUART、LEDPIO、SevenSegmentPIO、外部DDRSDRAM的接口等等。本設(shè)計(jì)沒有用到上述的外設(shè)IP,所以不做講述,讀者可以通過QuartusII的幫助文件,或者通過Altera公司的技術(shù)資料來獲得相應(yīng)的信息。Altera公司提供了豐富的外設(shè)IP可供用戶加入到設(shè)計(jì)672.3.3分配IP模塊的地址和中斷號在以上添加IP的過程中,SOPCBuilder為各個(gè)IP模塊分配了一個(gè)默認(rèn)的基地址,用戶可以改變這些默認(rèn)的分配。如果用戶自己分配的地址出現(xiàn)沖突,SOPCBuilder會(huì)給出警告,用戶可以按照下面的步驟來進(jìn)行分配和解決地址沖突問題。2.3.3分配IP模塊的地址和中斷號在以上添加IP的過程中,68下面我們給出一種自定義的地址分配實(shí)例,將閃存的基地址設(shè)定為0x00000000,步驟如下:(1)單擊Flash外設(shè)的Base欄,將地址改為0x0,然后回車,這時(shí)SOPCBuilder的消息框中出現(xiàn)錯(cuò)誤的提示信息,這是因?yàn)殚W存的地址和其它的外設(shè)地址發(fā)生了沖突。(2)選擇Module菜單中的LockBaseAddress操作,一個(gè)掛鎖的圖標(biāo)出現(xiàn)在閃存基地址的旁邊。下面我們給出一種自定義的地址分配實(shí)例,將閃存的基地址設(shè)定為069(3)選擇System菜單中的AutoAssignBaseAddress操作,來解決外設(shè)的地址分配沖突問題,SOPCBuilder調(diào)整其它外設(shè)的地址來避開與閃存地址的沖突,錯(cuò)誤提示的消息就會(huì)消失了。(4)用戶可以手動(dòng)修改各個(gè)外設(shè)的中斷號,中斷號越低,中斷優(yōu)先級越高,用戶也可以采用自動(dòng)分配中斷號,選擇System菜單中的AutoAssignIRQs,但SOPCBuilder不處理軟件操作,采用自動(dòng)分配中斷的策略不一定是最優(yōu)的,用戶最好是根據(jù)自己的應(yīng)用來確定外設(shè)的中斷優(yōu)先級,采用手動(dòng)的分配。(3)選擇System菜單中的AutoAssignBas702.3.4配置NIOSII系統(tǒng)系統(tǒng)的IP模塊添加完成之后,還需要對系統(tǒng)進(jìn)行配置。點(diǎn)擊NiosIIMore“cpu_0”Settings頁,用戶可以進(jìn)行如下的設(shè)置:2.3.4配置NIOSII系統(tǒng)系統(tǒng)的IP模塊添加完成之71ResetAddress:可以選擇存放BootLoader的存儲(chǔ)器和設(shè)置BootLoader在存儲(chǔ)器中的偏移,我們這里選擇ext_flash,偏移選擇默認(rèn);ExceptionAddress:可以選擇存放異常向量表的存放的存儲(chǔ)器和設(shè)置異常向量表在存儲(chǔ)器中的偏移,我們選擇ext_ssram,偏移選擇默認(rèn);BreakLocation:如果NIOSII包含有一個(gè)JTAGDebug模塊,SOPCBuilder會(huì)顯示這項(xiàng)內(nèi)容。其MemoryModule總是JTAGDebugModule,Offset固定為0x20,地址由JTAGdebugmodule基地址決定。用戶不能修改BreakLocation的各個(gè)域的內(nèi)容。ResetAddress:可以選擇存放BootLoade722.3.5生成NIOSII并加入到工程中NIOSII系統(tǒng)是工程的一部分,我們首先是生成它,然后加入到工程中去,然后將整個(gè)工程下載到FPGA芯片中去。單擊SystemGeneration,在Option下進(jìn)行如下的設(shè)置:選中HDL,會(huì)生成系統(tǒng)模塊的硬件語言文件。選中Simulation,如果安裝了ModelSim軟件,會(huì)生成用于仿真的相應(yīng)的文件。單擊Generate,SOPCBuilder會(huì)提示生成體統(tǒng)的進(jìn)程,系統(tǒng)生成完成時(shí)會(huì)提示”SUCCESS:SYSTEMGENERATIONCOMPLETED”。單擊exit退出SOPCBuilder。2.3.5生成NIOSII并加入到工程中NIOSII系73SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件74系統(tǒng)生成完成之后,SOPCBuilder為這個(gè)定制的NIOSII系統(tǒng)模塊創(chuàng)建了一個(gè)符號,要把NiosII系統(tǒng)加入到工程中去,遵循如下的步驟:(1)在QuartusII軟件中,打開頂層實(shí)體(BDF格式),在BDF窗口中任意處雙擊,出現(xiàn)Symbol對話框;(2)在Symbol對話框中單擊Project來展開工程目錄,其下出現(xiàn)NIOS2(本例采用的系統(tǒng)名),選中它,右側(cè)出現(xiàn)了系統(tǒng)的符號表示;(3)單擊OK,Symbol對話框關(guān)閉,NIOS2的符號輪廓被附著在鼠標(biāo)的指針上。(4)BDF窗口中任意空白處單擊一下,NIOS2的符號出現(xiàn)在BDF窗口中,這樣我們創(chuàng)建的系統(tǒng)已經(jīng)被加入到工程中了。
系統(tǒng)生成完成之后,SOPCBuilder為這個(gè)定制的NIO75SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件762.3.6加入引腳和嵌入式鎖相環(huán)除了NIOSII系統(tǒng)之外,可能還要有其它的硬件邏輯單元,我們這里加入一個(gè)嵌入式鎖相環(huán),嵌入式鎖相環(huán)有兩個(gè)時(shí)鐘輸出,一個(gè)輸出SSRAM提供時(shí)鐘,另一個(gè)時(shí)鐘的輸出為NIOSIICPU提供時(shí)鐘,然后添加輸入、輸出、雙向引腳,以實(shí)現(xiàn)和FPGA外部的外設(shè)進(jìn)行通信。2.3.6加入引腳和嵌入式鎖相環(huán)除了NIOSII系統(tǒng)之外77加入嵌入式鎖相環(huán)的步驟如下:(1)點(diǎn)擊ToolsMegaWizardPlug-InManager,出現(xiàn)MegaWizardPlug-InManager向?qū)age1窗口,點(diǎn)擊next加入嵌入式鎖相環(huán)的步驟如下:78SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件79在MegaWizardPlug-InManagerPage2窗口中的IO下面選擇ALTPLL,器件選擇CycloneII,輸出文件類型選擇VHDL,文件名為ssram_pll,選中Returntothispageforanothercreateoperation,然后點(diǎn)擊Next,出現(xiàn)MegaWizardPlug-InManager-ALTPLL[Page3of9];在MegaWizardPlug-InManagerPa80SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件81在MegaWizardPlug-InManager-ALTPLL[Page4of10]窗口中,不做任何選擇,點(diǎn)擊next;在MegaWizardPlug-InManager-ALTPLL[Page5of10]窗口中,單擊next;在MegaWizardPlug-InManager-AL82SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件83在MegaWizardPlug-InManager-ALTPLL[Page6of10]窗口中,設(shè)置c0輸出時(shí)鐘,首先選中Usethisclock選項(xiàng),設(shè)置時(shí)鐘頻率為85MHz,占空比為50%。點(diǎn)擊Next會(huì)進(jìn)入c1輸出時(shí)鐘的設(shè)置;在MegaWizardPlug-InManager-AL84SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件85嵌入式PLL可提供3個(gè)輸出時(shí)鐘,我們使用其中的兩個(gè),MegaWizardPlug-InManager-ALTPLL[Page7of10]窗口中,在c1時(shí)鐘的設(shè)置頁面上,選中Usethisclock選項(xiàng),設(shè)置時(shí)鐘頻率為85MHz,點(diǎn)擊Next;嵌入式PLL可提供3個(gè)輸出時(shí)鐘,我們使用其中的兩個(gè),Mega86SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件87在MegaWizardPlug-InManager-ALTPLL[Page8of10]窗口中,不選中Usethisclock選項(xiàng),即我們不使用c2時(shí)鐘,點(diǎn)擊Next;在MegaWizardPlug-InManager-ALTPLL[Page9of10]窗口中,給出了用于仿真必須要產(chǎn)生的文件,點(diǎn)擊Next;在MegaWizardPlug-InManager-AL88在MegaWizardPlug-InManager-ALTPLL[Page10of10]窗口中,給出了用戶選擇要產(chǎn)生的文件,不做改變,采用默認(rèn)配置,點(diǎn)擊Finish完成PLL的生成。在頂層實(shí)體的bdf窗口中雙擊鼠標(biāo),出現(xiàn)Symbol添加窗口,在project下面選擇剛才建立的ssram_pll,點(diǎn)擊OK。ssram_pll的輪廓會(huì)附著在鼠標(biāo)上,點(diǎn)擊bdf窗口的空白處,將嵌入式鎖相環(huán)加入到了工程中。在MegaWizardPlug-InManager-AL89引腳添加的步驟如下:(1)在頂層實(shí)體的bdf窗口的空白處雙擊鼠標(biāo),出現(xiàn)Symbol添加窗口,在altera/quartus/libraries下面選擇primitives,再在其下選擇pin,在其中有三種類型的引腳,有bidir,input,output,分別為雙向、輸入和輸出引腳,選擇相應(yīng)類型的引腳,點(diǎn)擊OK。(2)點(diǎn)擊bdf窗口的空白處,即將引腳加入到了工程中。(3)重復(fù)上面的步驟添加為各個(gè)端口添加相應(yīng)類型的引腳。引腳添加的步驟如下:90SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件91連接引腳和命名引腳第一個(gè)加入的引腳的名稱缺省為pin_name,之后加入的引腳名稱依次為pin_name1,pin_name2向上遞增,為了便于理解和記憶,需要對引腳重新命名,使其和其傳輸?shù)男盘柭?lián)系起來。命名引腳的方法如下:
(1)雙擊引腳的“pin_namen”部分,pin_namen的文字變成高亮,可以對其編輯。(2)對其他的引腳重復(fù)以上的操作,修改成具有意義的名字。連接引腳和命名引腳92(3)對于總線型的引腳,引腳名稱之后要標(biāo)識出總線的位數(shù),如ddr_a[12..0],在引腳名稱之后加上方括號,然后寫上最高位和最低位,用兩個(gè)..隔開。(4)將嵌入式鎖相環(huán)和系統(tǒng)模塊等連接起來,并將引腳連接到相應(yīng)的端口上。(3)對于總線型的引腳,引腳名稱之后要標(biāo)識出總線的位數(shù),如93SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件942.4設(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)。2.4設(shè)計(jì)優(yōu)化設(shè)計(jì)優(yōu)化主要包括節(jié)省占用FPGA的面積和提高設(shè)952..1面積與速度的優(yōu)化打開我們剛才的工程——clock,然后選擇Assignment菜單下的Settings命令,彈出設(shè)置窗口。在對話框的左邊的Category欄下,列出了很多可設(shè)置的對象,包括EDAToolsSettings、CompilationProcessSettings、Analysis&SynthesisSettings、FitterSettings、TimingSettings、SimulationSettings等等,選中要設(shè)置的項(xiàng)目,窗口的右邊顯示供設(shè)置的選項(xiàng)和參數(shù)。在Analysis&SynthesisSettings頁面,用于對設(shè)計(jì)在分析與綜合時(shí)的優(yōu)化設(shè)置。在該頁面的OptimizationTechniques欄中,提供了Speed、Balanced和Area3種優(yōu)化選擇,其中Balanced是軟件缺省的優(yōu)化選擇。如果對Speed或Area有特殊的要求,則選中相應(yīng)的選項(xiàng)。2..1面積與速度的優(yōu)化打開我們剛才的工程——clock,96SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件972.4.2時(shí)序約束與設(shè)置選擇Settings下面的TimingAnalysisSettings,然后選擇ClassicTimingAnalyzerSettings。在此頁面中,可以對設(shè)計(jì)的延遲約束、時(shí)鐘頻率等做設(shè)置。延遲約束(DelayRequirements)設(shè)置包括tsu(建立時(shí)間)、tco(時(shí)鐘到輸出的延遲)、tpd(傳輸延遲)和th(保持時(shí)間)的設(shè)置。一般來說,用戶要根據(jù)目標(biāo)芯片的特性及PCB板走線的實(shí)際情況,給出設(shè)計(jì)需要滿足的時(shí)鐘頻率、建立時(shí)間、保持時(shí)間和傳輸延遲時(shí)間等參數(shù)。對一些簡單的應(yīng)用,對時(shí)序要求不嚴(yán)格,可以不做設(shè)置。2.4.2時(shí)序約束與設(shè)置選擇Settings下面的Timi98SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件992.4.3Fitter設(shè)置在Ssettings對話框中,用鼠標(biāo)左鍵單擊Category欄目中的FitterSettings項(xiàng),出現(xiàn)FitterSettings設(shè)置頁面。此頁面用于布局布線器的控制。在這里需要設(shè)置的主要是布局布線的策略(FitterEffort),有三種模式可供選擇:標(biāo)準(zhǔn)模式(StandardFit)、快速模式(FastFit)和自動(dòng)模式(AutoFit)。標(biāo)準(zhǔn)模式需要的時(shí)間比較長,但可以實(shí)現(xiàn)較高的最高頻率(fmax);快速模式可以節(jié)省50%的編譯時(shí)間,但會(huì)使最高頻率有所降低;自動(dòng)模式在達(dá)到設(shè)計(jì)要求的條件下,自動(dòng)平衡最高頻率和編譯時(shí)間。2.4.3Fitter設(shè)置在Ssettings對話框中,用100SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件1012.5編譯QuartusII編譯器由一系列處理模塊組成,包括分析與綜合、適配、匯編和時(shí)序分析等環(huán)節(jié)。通過QuartusII編譯器,可以檢查設(shè)計(jì)錯(cuò)誤,綜合邏輯,把設(shè)計(jì)配置到FPGA中去,并且為模擬、時(shí)序分析及器件配置生成輸出文件。2.5編譯QuartusII編譯器由一系列處理模塊組成,包1021.分析與綜合在編譯過程中,首先對設(shè)計(jì)文件進(jìn)行分析和檢查,如檢查原理圖的信號線有無漏接、信號有無雙重來源、硬件描述語言文件中有無語法錯(cuò)誤等,如存在錯(cuò)誤,編譯器會(huì)給出出錯(cuò)信息并標(biāo)出出錯(cuò)位置,供設(shè)計(jì)者修改,如果設(shè)計(jì)文件不存在錯(cuò)誤,接著進(jìn)行綜合,綜合完成的是設(shè)計(jì)邏輯到器件資源的映射。1.分析與綜合1032.適配適配完成的是設(shè)計(jì)邏輯在器件中的布局和布線、選擇適當(dāng)?shù)膬?nèi)部互聯(lián)路徑、引腳分配、邏輯元件分配等操作??梢栽O(shè)置適配的多個(gè)選項(xiàng),來采取不同的優(yōu)化策略。3.匯編適配完成后,進(jìn)入編程環(huán)節(jié)。在編程過程中,生成器件的編程映像文件,映像文件可以通過電纜下載到目標(biāo)芯片中。2.適配1044.時(shí)序分析在適配完成之后,設(shè)計(jì)邏輯在器件中的布局和布線、內(nèi)部互聯(lián)路徑已經(jīng)確定,在時(shí)序分析中,會(huì)計(jì)算給定設(shè)計(jì)在器件中延時(shí),完成時(shí)序分析和邏輯的性能分析。用戶可以預(yù)先設(shè)置Timingrequirement,可以針對整個(gè)的工程、特定的設(shè)計(jì)實(shí)體、節(jié)點(diǎn)和引腳指定所需的速度性能。編譯過程中會(huì)針對設(shè)置進(jìn)行適配。4.時(shí)序分析1052.5.1編譯設(shè)置在編譯前,用戶可以設(shè)置編譯器,可以實(shí)現(xiàn)對編譯過程控制的目的。編譯器根據(jù)相應(yīng)的設(shè)置進(jìn)行編譯。合理的設(shè)置可以提高工程編譯的速度,優(yōu)化器件的資源利用等。
單擊Assignments菜單中的Settings,出現(xiàn)下圖的窗口。2.5.1編譯設(shè)置在編譯前,用戶可以設(shè)置編譯器,可以實(shí)現(xiàn)對106SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件107在Device中,用戶可以設(shè)置和器件有關(guān)的選項(xiàng),F(xiàn)PGA的芯片通常在建立項(xiàng)目的時(shí)候就以經(jīng)選擇好了,所以通常不做修改。注意在編譯之前必須要對未使用的引腳做設(shè)置,將未使用的引腳設(shè)置成Asinputs,tri-stated。如果不做此項(xiàng)配置設(shè)計(jì)可能無法在開發(fā)板上運(yùn)行。在Device中,用戶可以設(shè)置和器件有關(guān)的選項(xiàng),F(xiàn)PGA的芯108設(shè)置未使用的引腳按照下面的步驟:(1)在Settings對話框中的Device頁中,單擊DeviceandPinOptions,出現(xiàn)DeviceandPinOptions對話框,缺省是General頁。(2)單擊UnusedPins標(biāo)簽,在Reserveallunusedpins下選擇,Asinputs,tri-stated。(3)在Deviceandpinsoptions中,其他的設(shè)置可以選用默認(rèn)的設(shè)置,不做修改,點(diǎn)擊確定。設(shè)置未使用的引腳按照下面的步驟:109SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件110設(shè)計(jì)優(yōu)化也是編譯設(shè)置的一部分,但是為了強(qiáng)調(diào)設(shè)計(jì)優(yōu)化的重要性,把它們單獨(dú)提出來介紹了,除了這些設(shè)置之外,還有下面的一些設(shè)置根編譯的過程有關(guān):在EDATools中,用戶可以指定在編譯過程中用到的其他第三方的工具軟件,通常不用設(shè)定。在CompilationProcessSettings中,用戶可以設(shè)置編譯過程的一些選項(xiàng),如是否使用增量編譯等。在TimingAnalyzer中,用戶可以設(shè)置時(shí)序分析報(bào)告中顯示的內(nèi)容。在Assembler中,指定匯編的選項(xiàng)。設(shè)計(jì)優(yōu)化也是編譯設(shè)置的一部分,但是為了強(qiáng)調(diào)設(shè)計(jì)優(yōu)化的重要性,1112.4.2引腳分配用戶需要進(jìn)行引腳分配,使得編譯器能把用戶設(shè)計(jì)中的信號分配到目標(biāo)器件上的特定引腳上。QuartusII提供了兩種引腳分配方法:一種是使用AssignmentsEditor來分配,方法為選擇Assignments菜單中的pins或者AssignmentsEditor;第二種方法是使用TCL腳本一次性分配所有的引腳。2.4.2引腳分配用戶需要進(jìn)行引腳分配,使得編譯器能把用戶112采用第一種方法即使用AssignmentsEditor進(jìn)行引腳分配步驟如下:(1)選擇選擇Assignments菜單中的pins或者AssignmentsEditor。(2)在NodeName下輸入引腳名稱,在Location選擇相應(yīng)的引腳。(3)選擇FileSave保存分配。這種分配方法效率較低,且容易出錯(cuò)。推薦使用TCL腳本文件的方法來進(jìn)行引腳分配。采用第一種方法即使用AssignmentsEditor進(jìn)行113用TCL腳本文件分配引腳,按照如下步驟:(1)選擇project下的generateTclfileforproject,在如下界面點(diǎn)擊ok。(2)打開標(biāo)準(zhǔn)工程目錄下的standard.tcl文件,把文件中帶有set_location_assignment指令,并且-to后面的參數(shù)與現(xiàn)有工程中使用的管腳名相關(guān)的語句拷貝到test.tcl文件的下面位置(最后一條set_global_assignment語句后),然后保存。(這個(gè)過程需要萬分的小心和仔細(xì),請大家注意)用TCL腳本文件分配引腳,按照如下步驟:114(3)Tools菜單下,選擇TCLscripts…,出現(xiàn)下圖的窗口。SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件115(4)選擇我們建立的引腳分配文件,本例中為pin.tcl,點(diǎn)擊RUN即可完成引腳分配。如果管腳名字與standard工程的對應(yīng)管腳名字不同,那么tcl文件的添加就沒有效果了。這種方法可以節(jié)省定義管腳的時(shí)間,尤其是在有參照工程管腳定義的情況下,更為方便。(4)選擇我們建立的引腳分配文件,本例中為pin.tcl,點(diǎn)1162.5.3編譯用戶設(shè)計(jì)選擇Processing菜單中的StartCompilation,或者點(diǎn)擊工具欄中的StartCompilation按鈕進(jìn)行全程編譯,也可以在Processing菜單中選擇Start子菜單中的分步編譯操作。編譯的時(shí)候,QuartusII會(huì)給出編譯進(jìn)度,CompilationReport窗口中給出編譯結(jié)果,編譯結(jié)果隨著編譯進(jìn)度隨時(shí)更新。Message窗口會(huì)給出編譯過程的具體情況,包括info,warning,error等,information多是完成的多是一些編譯的進(jìn)展的描述,warning可能會(huì)出現(xiàn)很多但并不影響編譯的進(jìn)行,如果出現(xiàn)Error那么設(shè)計(jì)是不能成功編譯的,用戶需要改正這些錯(cuò)誤,然后重新編譯??梢詫﹀e(cuò)誤進(jìn)行定位,選中錯(cuò)誤信息,單擊右鍵,在彈出的菜單中選擇Locate來實(shí)現(xiàn)對錯(cuò)誤的定位。2.5.3編譯用戶設(shè)計(jì)選擇Processing菜單中的St117編譯成功之后,會(huì)出現(xiàn)如圖的提示編譯成功之后,會(huì)出現(xiàn)如圖的提示118編譯成功之后,會(huì)出現(xiàn)CompileReport-FlowSummary窗口,F(xiàn)lowSummary只是CompileReport中的一項(xiàng),用戶可以點(diǎn)擊CompilationReport下的其他內(nèi)容來查看編譯相應(yīng)的編譯信息和結(jié)果,如Analysis&synthesis、Fitter、TimingAnalyzer等。編譯成功之后,會(huì)出現(xiàn)CompileReport-Flow119SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件1202.6編程下載編譯成功之后,QuartusII編譯器生成配置文件,有SRAM目標(biāo)文件(.sof)和編程目標(biāo)(.pof),.sof文件一般在調(diào)試時(shí)下載到FPGA的SRAM中,.pof文件是用于EPCS的編程文件。編程下載就是編程器將這些文件下載到可編程邏輯器件中去,用它們對器件編程和配置。用戶要進(jìn)行編程下載必須將開發(fā)設(shè)計(jì)的電腦與開發(fā)板來接起來,可以使用ByteBlaster電纜通過并行口或者使用USBBlaster線纜通過USB接口連接。本書采用的下載線為USBBlaster。2.6編程下載編譯成功之后,QuartusII編譯器生1212.6.1下載我們這里將生成的.sof文件下載到FPGA中去。下載的步驟如下:(1)同過USBBlaster電纜將目標(biāo)板和計(jì)算機(jī)相連,接通目標(biāo)板的電源。(2)在QuartusII軟件中選擇ToolsProgrammer,打開編程器的窗口,可以看到配置文件clock.sof。2.6.1下載我們這里將生成的.sof文件下載到FPGA中122SOPC技術(shù)基礎(chǔ)教程第2章QuartusII開發(fā)環(huán)境的使用課件1233)點(diǎn)擊編程器窗口中的HardwareSetup,出現(xiàn)硬件設(shè)置窗口,在Currentlyselectedhardware下拉框中選擇NiosIIEvaluationBoard[USB-0]。然后點(diǎn)擊close,返回編程器窗口。3)點(diǎn)擊編程器窗口中的HardwareSetup,出現(xiàn)硬124(4)選中Program/Configure,然后點(diǎn)擊start開始按鈕,開始下載,可以從Progress欄看到下載進(jìn)度。(4)選中Program/Configure,然后點(diǎn)擊sta1252.6.2驗(yàn)證在硬件下載到開發(fā)板上的FPGA芯片之后,用戶可以編寫一些個(gè)簡單的小程序來測試系統(tǒng)的功能。2.6.2驗(yàn)證在硬件下載到開發(fā)板上的FPGA芯片之后,用戶126演講完畢,謝謝觀看!演講完畢,謝謝觀看!127第2章
SOPC開發(fā)流程及 QuartusII的使用
第2章
SOPC開發(fā)流程及 QuartusII的使用1282.1SOPC開發(fā)流程和開發(fā)工具SOPC設(shè)計(jì)包括硬件和軟件兩部分。硬件設(shè)計(jì):主要基于QuartusII和 SOPCBuilder。軟件設(shè)計(jì):基于NiosIIIDE。2.1SOPC開發(fā)流程和開發(fā)工具SOPC設(shè)計(jì)包括硬件和軟件129SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定制指令&定制外設(shè)邏輯硬件抽象層(HAL)&外設(shè)驅(qū)動(dòng)程序用戶C/C++應(yīng)用程序代碼和定制的庫自定義的功能模塊建立QuartusII工程,建立頂層圖*.bdf打開SOPCBuilder定義和生成系統(tǒng)集成SOPC生成的系統(tǒng)到QuartusII工程使用NiosIIIDE開發(fā)軟件Altera的LPM模塊連接各功能模塊選擇FPGA型號并進(jìn)行管腳分配進(jìn)行編譯選項(xiàng)設(shè)置編譯硬件系統(tǒng)生成配置文件sof編譯軟件生成可執(zhí)行文件elf在目標(biāo)板上下載可執(zhí)行軟件到NiosII系統(tǒng)下載配置文件到FPGA器件在目標(biāo)板上運(yùn)行/調(diào)試軟件調(diào)試好的硬件和軟件在IDE中使用ISS運(yùn)行/調(diào)試軟件設(shè)置軟件運(yùn)行硬件環(huán)境屬性使用IDE編程工具燒寫配置文件和軟件代碼在進(jìn)行SOPC開發(fā)之前,首先必須確定系統(tǒng)的需求,如應(yīng)用系統(tǒng)需求的計(jì)算性能、需要的帶寬和吞吐量、需求的接口類型以及是否需求多線程的軟件等。每個(gè)開發(fā)過程開始時(shí)都應(yīng)建立一個(gè)工程,QuartusII是以工程的方式對設(shè)計(jì)過程進(jìn)行管理。在工程中建立頂層模塊文件.bdf相當(dāng)于傳統(tǒng)電路設(shè)計(jì)中的電路板(PCB)。在SOPCBuilder中添加需要的功能模塊(NiosII及其標(biāo)準(zhǔn)外設(shè)模塊),完成后生成一個(gè)系統(tǒng)模塊。如果需要,用戶可以定制指令和外設(shè)邏輯。(可參考第8章)SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定130SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定制指令&定制外設(shè)邏輯硬件抽象層(HAL)&外設(shè)驅(qū)動(dòng)程序用戶C/C++應(yīng)用程序代碼和定制的庫自定義的功能模塊建立QuartusII工程,建立頂層圖*.bdf集成SOPC生成的系統(tǒng)到QuartusII工程使用NiosIIIDE開發(fā)軟件Altera的LPM模塊連接各功能模塊選擇FPGA型號并進(jìn)行管腳分配進(jìn)行編譯選項(xiàng)設(shè)置編譯硬件系統(tǒng)生成配置文件sof編譯軟件生成可執(zhí)行文件elf在目標(biāo)板上下載可執(zhí)行軟件到NiosII系統(tǒng)下載配置文件到FPGA器件在目標(biāo)板上運(yùn)行/調(diào)試軟件調(diào)試好的硬件和軟件在IDE中使用ISS運(yùn)行/調(diào)試軟件設(shè)置軟件運(yùn)行硬件環(huán)境屬性在QuartusII軟件中包含了大量的Altera公司提供的LPM功能模塊,相當(dāng)與傳統(tǒng)設(shè)計(jì)中除處理器以外的邏輯芯片(如74系列);當(dāng)設(shè)計(jì)中現(xiàn)有模塊不能滿足設(shè)計(jì)要求時(shí),可設(shè)計(jì)自己的功能模塊。并在頂層模塊中使用;打開SOPCBuilder定義和生成系統(tǒng)在頂層模塊中,分別將SOPCBuilder生成的系統(tǒng)模塊、LPM功能模塊以及用戶自定義功能模塊添加到頂層模塊中;然后將各個(gè)功能模塊用連線連起來組成系統(tǒng)功能原理圖。這個(gè)兩過程類似傳統(tǒng)電路設(shè)計(jì)中,將所有要使用的芯片焊接到電路板上,然后通過PCB上的連線將各個(gè)芯片連接起來,組成電路系統(tǒng)。使用IDE編程工具燒寫配置文件和軟件代碼SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定131SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定制指令&定制外設(shè)邏輯硬件抽象層(HAL)&外設(shè)驅(qū)動(dòng)程序用戶C/C++應(yīng)用程序代碼和定制的庫自定義的功能模塊建立QuartusII工程,建立頂層圖*.bdf集成SOPC生成的系統(tǒng)到QuartusII工程使用NiosIIIDE開發(fā)軟件Altera的LPM模塊連接各功能模塊選擇FPGA型號并進(jìn)行管腳分配進(jìn)行編譯選項(xiàng)設(shè)置編譯硬件系統(tǒng)生成配置文件sof編譯軟件生成可執(zhí)行文件elf在目標(biāo)板上下載可執(zhí)行軟件到NiosII系統(tǒng)下載配置文件到FPGA器件在目標(biāo)板上運(yùn)行/調(diào)試軟件調(diào)試好的硬件和軟件在IDE中使用ISS運(yùn)行/調(diào)試軟件設(shè)置軟件運(yùn)行硬件環(huán)境屬性打開SOPCBuilder定義和生成系統(tǒng)為系統(tǒng)功能原理圖選擇芯片載體并為各個(gè)輸入輸出信號分配芯片的管腳;設(shè)置編譯選項(xiàng),從而讓編譯器按照用戶設(shè)定來進(jìn)行編譯;編譯系統(tǒng)生成硬件系統(tǒng)的配置文件*.sof和*.pof。編譯系統(tǒng)是一個(gè)非常復(fù)雜的過程,包括優(yōu)化邏輯的組合、綜合邏輯、適配FPGA、布線以及時(shí)序分析等步驟。使用IDE編程工具燒寫配置文件和軟件代碼SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定132SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定制指令&定制外設(shè)邏輯硬件抽象層(HAL)&外設(shè)驅(qū)動(dòng)程序用戶C/C++應(yīng)用程序代碼和定制的庫自定義的功能模塊建立QuartusII工程,建立頂層圖*.bdf集成SOPC生成的系統(tǒng)到QuartusII工程使用NiosIIIDE開發(fā)軟件Altera的LPM模塊連接各功能模塊選擇FPGA型號并進(jìn)行管腳分配進(jìn)行編譯選項(xiàng)設(shè)置編譯硬件系統(tǒng)生成配置文件sof編譯軟件生成可執(zhí)行文件elf在目標(biāo)板上下載可執(zhí)行軟件到NiosII系統(tǒng)下載配置文件到FPGA器件在目標(biāo)板上運(yùn)行/調(diào)試軟件調(diào)試好的硬件和軟件在IDE中使用ISS運(yùn)行/調(diào)試軟件設(shè)置軟件運(yùn)行硬件環(huán)境屬性打開SOPCBuilder定義和生成系統(tǒng)軟件開發(fā)也可以在SOPCBuilder生成系統(tǒng)模塊后立即進(jìn)行!與傳統(tǒng)軟件開發(fā)類似,唯一不同在于系統(tǒng)是自己定制的,所受局限??!使用IDE編程工具燒寫配置文件和軟件代碼SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定133SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定制指令&定制外設(shè)邏輯硬件抽象層(HAL)&外設(shè)驅(qū)動(dòng)程序用戶C/C++應(yīng)用程序代碼和定制的庫自定義的功能模塊建立QuartusII工程,建立頂層圖*.bdf集成SOPC生成的系統(tǒng)到QuartusII工程使用NiosIIIDE開發(fā)軟件Altera的LPM模塊連接各功能模塊選擇FPGA型號并進(jìn)行管腳分配進(jìn)行編譯選項(xiàng)設(shè)置編譯硬件系統(tǒng)生成配置文件sof編譯軟件生成可執(zhí)行文件elf在目標(biāo)板上下載可執(zhí)行軟件到NiosII系統(tǒng)下載配置文件到FPGA器件在目標(biāo)板上運(yùn)行/調(diào)試軟件調(diào)試好的硬件和軟件在IDE中使用ISS運(yùn)行/調(diào)試軟件設(shè)置軟件運(yùn)行硬件環(huán)境屬性打開SOPCBuilder定義和生成系統(tǒng)
設(shè)置好軟件運(yùn)行的硬件環(huán)境屬性后,便可進(jìn)行編譯、鏈接和調(diào)試、運(yùn)行程序。對用戶程序進(jìn)行編譯,生成可執(zhí)行文件*.elf。接下來在IDE的指令集仿真器(ISS)上仿真軟件和運(yùn)行/調(diào)試軟件。
將配置文件.sof下載到FPGA,將可執(zhí)行文件.elf下載到RAM。
在目標(biāo)板上反復(fù)調(diào)試軟件。
直到硬件和軟件設(shè)計(jì)都達(dá)到設(shè)計(jì)要求。
最后利用IDE的編程工具將配置文件燒寫到FPGA的配置芯片或Flash,將可執(zhí)行文件*.elf編程到Flash中。使用IDE編程工具燒寫配置文件和軟件代碼SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定1342.1SOPC開發(fā)流程和開發(fā)工具硬件開發(fā)硬件開發(fā)使用QuartusII和SOPCBuilder配置NiosII處理器選擇并配置外設(shè).IP連接各外設(shè)模塊分配外設(shè)地址和中斷生成系統(tǒng)SOPCBuilderGUI自定義命令I(lǐng)P模塊處理器庫外設(shè)模塊庫硬件開發(fā)NiosIIIDE軟件開發(fā)QuartusIIGNUTools
用SOPCBuilder軟件從NiosII處理器內(nèi)核和NiosII開發(fā)套件提供的外設(shè)列表中選取合適的CPU、存儲(chǔ)器以及各外圍器件,并定制和配置它們的功能;
分配外設(shè)地址及中斷號;設(shè)定復(fù)位地址;最后生成系統(tǒng)。用戶也可以添加用戶自身定制指令邏輯到NiosII內(nèi)核以加速CPU性能;添加用戶自己設(shè)計(jì)的IP模塊。2.1SOPC開發(fā)流程和開發(fā)工具硬件開發(fā)硬件開發(fā)使用Qua1352.1SOPC開發(fā)流程和開發(fā)工具硬件開發(fā)硬件開發(fā)使用QuartusII和SOPCBuilder配置NiosII處理器選擇并配置外設(shè).IP連接各外設(shè)模塊分配外設(shè)地址和中斷生成系統(tǒng)SOPCBuilderGUI自定義命令I(lǐng)P模塊處理器庫外設(shè)模塊庫硬件開發(fā)NiosIIIDE軟件開發(fā)QuartusIIGNUTools編譯QuartusII工程,對HDL文件進(jìn)行布局布線,從HDL源文件綜合生成一個(gè)適合目標(biāo)器件網(wǎng)表,生成FPGA配置文件(.sof);HDL源文件測試臺(tái)用戶邏輯設(shè)計(jì)其它的IP模塊SOPCBuilder的頂層.bdf文件管腳連接分配編譯(分析與綜合、布局布線、時(shí)序分析等)驗(yàn)證調(diào)試硬件配置文件JTAG串口、以太網(wǎng)片上調(diào)試(軟件跟蹤、硬件斷點(diǎn)SignalTapII)AlteraGPGA用下載電纜(如ByteBlasterII),將配置文件下載到目標(biāo)板上。硬件校驗(yàn)完成后,可將新的硬件配置文件下載到目標(biāo)板上的非易失存儲(chǔ)器(如EPCS器件)。2.1SOPC開發(fā)流程和開發(fā)工具硬件開發(fā)硬件開發(fā)使用Qua1362.1SOPC開發(fā)流程和開發(fā)工具硬件開發(fā)配置NiosII處理器選擇并配置外設(shè).IP連接各外設(shè)模塊分配外設(shè)地址和中斷生成系統(tǒng)SOPCBuilderGUI自定義命令I(lǐng)P模塊處理器庫外設(shè)模塊庫硬件開發(fā)NiosIIIDE軟件開發(fā)QuartusIIGNUTools編譯QuartusII工程,對HDL文件進(jìn)行布局布線,從HDL源文件綜合生成
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026廣東廣州市醫(yī)藥職業(yè)學(xué)校招聘臨時(shí)代課教師3人參考考試題庫附答案解析
- 2026年遼寧省文物考古研究院面向社會(huì)公開招聘工作人員招聘參考考試試題附答案解析
- 超市全員安全生產(chǎn)制度
- 生產(chǎn)車間勞保管理制度
- 中空玻璃生產(chǎn)制度
- 2026天津大學(xué)出版社有限責(zé)任公司招聘4人參考考試題庫附答案解析
- 無人機(jī)生產(chǎn)安全管理制度
- 生產(chǎn)職業(yè)安全管理制度
- 管道工安全生產(chǎn)責(zé)任制度
- 鑄造業(yè)安全生產(chǎn)檢查制度
- 江蘇省連云港市2024-2025學(xué)年第一學(xué)期期末調(diào)研考試高二歷史試題
- 文化館安全生產(chǎn)制度
- (2025年)保安員(初級)證考試題庫及答案
- 2026年浙江省軍士轉(zhuǎn)業(yè)崗位履職能力考點(diǎn)練習(xí)題及答案
- 安全設(shè)備設(shè)施安裝、使用、檢驗(yàn)、維修、改造、驗(yàn)收、報(bào)廢管理制度
- 2026屆四川省成都市2023級高三一診英語試題(附答案和音頻)
- 《煤礦安全規(guī)程(2025)》防治水部分解讀課件
- 2025至2030中國新癸酸縮水甘油酯行業(yè)項(xiàng)目調(diào)研及市場前景預(yù)測評估報(bào)告
- JJF 2333-2025恒溫金屬浴校準(zhǔn)規(guī)范
- 員工自互檢培訓(xùn)
- (2025年)司法考試法理學(xué)歷年真題及答案
評論
0/150
提交評論