NiOSIISOPC嵌入式系統(tǒng)基礎(chǔ)教程課件_第1頁(yè)
NiOSIISOPC嵌入式系統(tǒng)基礎(chǔ)教程課件_第2頁(yè)
NiOSIISOPC嵌入式系統(tǒng)基礎(chǔ)教程課件_第3頁(yè)
NiOSIISOPC嵌入式系統(tǒng)基礎(chǔ)教程課件_第4頁(yè)
NiOSIISOPC嵌入式系統(tǒng)基礎(chǔ)教程課件_第5頁(yè)
已閱讀5頁(yè),還剩71頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第2章

SOPC硬件開(kāi)發(fā)環(huán)境及流程

第2章

SOPC硬件開(kāi)發(fā)環(huán)境及流程2.1SOPC開(kāi)發(fā)流程和開(kāi)發(fā)工具SOPC設(shè)計(jì)包括硬件和軟件兩部分。硬件設(shè)計(jì):基于QuartusII和SOPCBuilder

軟件設(shè)計(jì):基于NiosIIIDE

仿真:ModelSimDSP的開(kāi)發(fā):Matlab和DSPBuilder開(kāi)發(fā)環(huán)境:

QuartusII6.0(8.0)SOPCBuilder6.0(8.0)NiosIIIDE6.0(8.0)

基于CycloneII的SOPC開(kāi)發(fā)板2.1SOPC開(kāi)發(fā)流程和開(kāi)發(fā)工具SOPC設(shè)計(jì)包括硬件和軟件

Quartus完成NiosII整個(gè)系統(tǒng)的設(shè)計(jì)、分析、綜合、硬件優(yōu)化和適配配置文件編程下載、硬件系統(tǒng)測(cè)試

SOPCBuilderNIOSII系統(tǒng)硬件開(kāi)發(fā)環(huán)境實(shí)現(xiàn)NiosII系統(tǒng)配置和生成NiosII系統(tǒng)相關(guān)的監(jiān)控和軟件調(diào)試平臺(tái)的生成

IDE完成基于NiosII系統(tǒng)的軟件開(kāi)發(fā)和調(diào)試將FPGA配置信息寫(xiě)入Flash或者EPCSSOPCBuilderNiosIIIDEQuartusII8.0AlteraSOPCBuilderNiosIIIDEQuartus

名詞解釋-與SOPC相關(guān)的名詞QuartusII:Altera公司的第四代可編程邏輯器件集成開(kāi)發(fā)環(huán)境,提供從設(shè)計(jì)輸入到器件編程的全部功能。QuartusII?QuartusII5.0軟件界面雙擊QuartusII圖標(biāo)名詞解釋-與SOPC相關(guān)的名詞QuartusII:Qu

名詞解釋-與SOPC相關(guān)的名詞SOPCBuilder:功能強(qiáng)大的基于圖形界面的片上系統(tǒng)定義和定制工具。SOPCBuilder庫(kù)中包括處理器和大量的IP核及外設(shè)。SOPCBuilder包含在QuartusII軟件中

SOPCBuilder?啟動(dòng):QuartusII→Tools→SOPCBuilder名詞解釋-與SOPC相關(guān)的名詞SOPCBuilder:

名詞解釋-與SOPC相關(guān)的名詞NiosII:NiosII系列嵌入式處理器的基本軟件開(kāi)發(fā)工具。所有軟件開(kāi)發(fā)任務(wù)都可以NiosIIIDE下完成,包括編輯、編譯和調(diào)試程序。

NiosIIIDE軟件界面NiosIIIDE?雙擊NiosIIIDE圖標(biāo)名詞解釋-與SOPC相關(guān)的名詞NiosII:NiosModelSim:HDL仿真軟件,對(duì)設(shè)計(jì)的硬件系統(tǒng)進(jìn)行RTL級(jí)的仿真。DSPBuilder:Altera公司的數(shù)字信號(hào)處理軟件,實(shí)現(xiàn)算法和硬件的無(wú)縫過(guò)渡,可以在Matlab的Simulink中完成算法的仿真、驗(yàn)證,后通過(guò)SignalCompiler將模型文件轉(zhuǎn)換成硬件描述語(yǔ)言。ModelSim:HDL仿真軟件,對(duì)設(shè)計(jì)的硬件系統(tǒng)進(jìn)行RTL采用NIOSII處理器設(shè)計(jì)嵌入式系統(tǒng)的流程:

1.分析系統(tǒng)需求說(shuō)明,包括功能需求和性能要求等;

2.建立QuartusII工程,建立頂層實(shí)體;

3.SOPCBuilder生成用戶定制的系統(tǒng)模塊(NIOSII+?)

4.將NIOSII系統(tǒng)模塊集成到硬件工程中,添加一些模塊,可以是

Altera公司提供的LPM(logicprogrammablemodule)宏功能塊或用戶自己定制的模塊;

5.在頂層實(shí)體中,將NIOSII系統(tǒng)模塊、Altera的LPM或用戶自定義的邏輯模塊連接起來(lái);2.1SOPC開(kāi)發(fā)流程和開(kāi)發(fā)工具采用NIOSII處理器設(shè)計(jì)嵌入式系統(tǒng)的流程:2.1SOP6.分配引腳(Tcl腳本語(yǔ)言)和編譯工程,編譯生成系統(tǒng)的硬件配置文件.sof和.pof文件;(二者區(qū)別:SRAM\EEPROM)

7.下載工程,將配置文件下載到開(kāi)發(fā)板上進(jìn)行驗(yàn)證;(可選)

8.使用IDE開(kāi)發(fā)環(huán)境進(jìn)行軟件開(kāi)發(fā)

9.編譯軟件工程,生成可執(zhí)行文件.elf;10.調(diào)試程序,將硬件配置文件下載到開(kāi)發(fā)板,將可執(zhí)行文件下載到RAM,軟硬件協(xié)同工作。6.分配引腳(Tcl腳本語(yǔ)言)和編譯工程,編譯生成系每個(gè)開(kāi)發(fā)過(guò)程開(kāi)始時(shí)都應(yīng)建立一個(gè)工程,QuartusII是以工程的方式對(duì)設(shè)計(jì)過(guò)程進(jìn)行管理。在工程中建立頂層模塊文件.bdf相當(dāng)于傳統(tǒng)電路設(shè)計(jì)中的電路板(PCB)。SOPC開(kāi)發(fā)流程簡(jiǎn)圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定制指令&定制外設(shè)邏輯硬件抽象層(HAL)&外設(shè)驅(qū)動(dòng)程序用戶C/C++應(yīng)用程序代碼和定制的庫(kù)自定義的功能模塊建立QuartusII工程,建立頂層圖*.bdf打開(kāi)SOPCBuilder定義和生成系統(tǒng)集成SOPC生成的系統(tǒng)到QuartusII工程使用NiosIIIDE開(kāi)發(fā)軟件Altera的LPM模塊連接各功能模塊選擇FPGA型號(hào)并進(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編程工具燒寫(xiě)配置文件和軟件代碼在SOPCBuilder中添加需要的功能模塊(NiosII及其標(biāo)準(zhǔn)外設(shè)模塊),完成后生成一個(gè)系統(tǒng)模塊。如果需要,用戶可以定制指令和外設(shè)邏輯。(可參考第8章)在進(jìn)行SOPC開(kāi)發(fā)之前,首先必須確定系統(tǒng)的需求:如系統(tǒng)需求的性能、CPU軟核類型(硬件乘法器?)外圍器件和數(shù)量、需要的帶寬和吞吐量、需求的接口類型以及DMA通道數(shù)量等。每個(gè)開(kāi)發(fā)過(guò)程開(kāi)始時(shí)都應(yīng)建立一個(gè)工程,QuartusII是以SOPC開(kāi)發(fā)流程簡(jiǎn)圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定制指令&定制外設(shè)邏輯硬件抽象層(HAL)&外設(shè)驅(qū)動(dòng)程序用戶C/C++應(yīng)用程序代碼和定制的庫(kù)自定義的功能模塊建立QuartusII工程,建立頂層圖*.bdf集成SOPC生成的系統(tǒng)到QuartusII工程使用NiosIIIDE開(kāi)發(fā)軟件Altera的LPM模塊連接各功能模塊選擇FPGA型號(hào)并進(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系列);打開(kāi)SOPCBuilder定義和生成系統(tǒng)在頂層模塊中,分別將SOPCBuilder生成的系統(tǒng)模塊、LPM功能模塊以及用戶自定義功能模塊添加到頂層模塊中;然后將各個(gè)功能模塊用連線連起來(lái)組成系統(tǒng)功能原理圖。這個(gè)兩過(guò)程類似傳統(tǒng)電路設(shè)計(jì)中,將所有要使用的芯片焊接到電路板上,然后通過(guò)PCB上的連線將各個(gè)芯片連接起來(lái),組成電路系統(tǒng)。

使用IDE編程工具燒寫(xiě)配置文件和軟件代碼根據(jù)系統(tǒng)要求,設(shè)計(jì)自己的邏輯功能模塊。并在頂層模塊中使用;SOPC開(kāi)發(fā)流程簡(jiǎn)圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定SOPC開(kāi)發(fā)流程簡(jiǎn)圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定制指令&定制外設(shè)邏輯硬件抽象層(HAL)&外設(shè)驅(qū)動(dòng)程序用戶C/C++應(yīng)用程序代碼和定制的庫(kù)自定義的功能模塊建立QuartusII工程,建立頂層圖*.bdf集成SOPC生成的系統(tǒng)到QuartusII工程使用NiosIIIDE開(kāi)發(fā)軟件Altera的LPM模塊連接各功能模塊選擇FPGA型號(hào)并進(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)境屬性打開(kāi)SOPCBuilder定義和生成系統(tǒng)為系統(tǒng)原理圖,選擇載體并為各個(gè)輸入輸出信號(hào)分配管腳;設(shè)置編譯選項(xiàng),從而讓編譯器按照用戶設(shè)定來(lái)進(jìn)行編譯;編譯系統(tǒng)生成硬件系統(tǒng)的配置文件*.sof和*.pof。編譯系統(tǒng)是一個(gè)非常復(fù)雜的過(guò)程,包括優(yōu)化邏輯的組合、綜合邏輯、適配FPGA、布線以及時(shí)序分析等步驟。使用IDE編程工具燒寫(xiě)配置文件和軟件代碼SOPC開(kāi)發(fā)流程簡(jiǎn)圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定SOPC開(kāi)發(fā)流程簡(jiǎn)圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定制指令&定制外設(shè)邏輯硬件抽象層(HAL)&外設(shè)驅(qū)動(dòng)程序用戶C/C++應(yīng)用程序代碼和定制的庫(kù)自定義的功能模塊建立QuartusII工程,建立頂層圖*.bdf集成SOPC生成的系統(tǒng)到QuartusII工程使用NiosIIIDE開(kāi)發(fā)軟件Altera的LPM模塊連接各功能模塊選擇FPGA型號(hào)并進(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)境屬性打開(kāi)SOPCBuilder定義和生成系統(tǒng)軟件開(kāi)發(fā)也可以在SOPCBuilder

生成系統(tǒng)模塊后立即進(jìn)行!(。PTF文件:硬件系統(tǒng)配置)與傳統(tǒng)軟件開(kāi)發(fā)類似,唯一不同在于系統(tǒng)是自己定制的,所受局限??!使用IDE編程工具燒寫(xiě)配置文件和軟件代碼SOPC開(kāi)發(fā)流程簡(jiǎn)圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定SOPC開(kāi)發(fā)流程簡(jiǎn)圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定制指令&定制外設(shè)邏輯硬件抽象層(HAL)&外設(shè)驅(qū)動(dòng)程序用戶C/C++應(yīng)用程序代碼和定制的庫(kù)自定義的功能模塊建立QuartusII工程,建立頂層圖*.bdf集成SOPC生成的系統(tǒng)到QuartusII工程使用NiosIIIDE開(kāi)發(fā)軟件Altera的LPM模塊連接各功能模塊選擇FPGA型號(hào)并進(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)境屬性打開(kāi)SOPCBuilder定義和生成系統(tǒng)

設(shè)置好軟件運(yùn)行的硬件環(huán)境屬性后,便可進(jìn)行編譯、鏈接和調(diào)試、運(yùn)行程序。對(duì)用戶程序進(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的編程工具將配置文件燒寫(xiě)到FPGA的配置芯片或Flash,將可執(zhí)行文件*.elf編程到Flash中使用IDE編程工具燒寫(xiě)配置文件和軟件代碼SOPC開(kāi)發(fā)流程簡(jiǎn)圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定SOPC硬件開(kāi)發(fā)流程

從開(kāi)發(fā)套件提供的外設(shè)列表中選取合適的CPU、存儲(chǔ)器及外圍器件,定制和配置其功能;

分配外設(shè)地址及中斷號(hào);設(shè)定復(fù)位地址;

生成系統(tǒng)。

添加用戶自身定制指令邏輯到NiosII內(nèi)核加速CPU性能

添加用戶自己設(shè)計(jì)的IP模塊。

編譯,綜合,布局布線,從

HDL源文件綜合成一個(gè)適合目標(biāo)器件網(wǎng)表,生成FPGA

配置文件(.sof);

用下載電纜將配置文件下載到目標(biāo)板。調(diào)試完成后,將硬件配置文件下載到目標(biāo)板的非易失存儲(chǔ)器(如flash)。SOPC硬件開(kāi)發(fā)流程從開(kāi)發(fā)套件提供的外設(shè)列表中選取合適的2.2SOPC硬件開(kāi)發(fā)實(shí)例電子鐘的設(shè)計(jì)第一步是要進(jìn)行需求分析,建立系統(tǒng)在液晶屏上顯示日期、時(shí)間;可以設(shè)置日期、時(shí)間;

根據(jù)系統(tǒng)要求,設(shè)計(jì)要用到的外圍器件

LCD:電子鐘顯示屏幕;按鍵:電子鐘設(shè)置功能鍵;

Flash存儲(chǔ)器:存儲(chǔ)軟、硬件程序;

SRAM存儲(chǔ)器:程序運(yùn)行時(shí)將其導(dǎo)入SRAM。根據(jù)所用到的外設(shè)、功能以及開(kāi)發(fā)板的配置,在SOPCBuilder中建立系統(tǒng)要添加的模塊包括

NiosIICPU、定時(shí)器、按鍵PIO、LCD控制器、AVALON三態(tài)橋、外部RAM接口、外部Flash接口。2.2SOPC硬件開(kāi)發(fā)實(shí)例電子鐘的設(shè)計(jì)2.2.1創(chuàng)建工程進(jìn)行完需求分析之后,進(jìn)行硬件系統(tǒng)的創(chuàng)建。首先必須建立一個(gè)QuartusII的工程,步驟如下:

1.啟動(dòng)QuartusII軟件;

2.選擇File菜單

NewProjectWizard,出現(xiàn)Introduction頁(yè)面,該頁(yè)面介紹所要完成的具體任務(wù),點(diǎn)擊next。2.2SOPC硬件開(kāi)發(fā)實(shí)例2.2.1創(chuàng)建工程進(jìn)行完需求分析之后,進(jìn)行硬件系統(tǒng)的創(chuàng)建。2.2.1創(chuàng)建工程2.2.1創(chuàng)建工程2.2.1創(chuàng)建工程注意1:工程名和頂層實(shí)體名字一致注意2:路徑、工程名、頂層實(shí)體名均為英文3.目錄、頂層實(shí)體名和工程名2.2.1創(chuàng)建工程注意1:注意2:3.目錄、頂層實(shí)體名和2.2.1創(chuàng)建工程4.可以為工程添加先期已經(jīng)輸入的設(shè)計(jì)文件,指定用戶自定義的元件庫(kù)的路徑。2.2.1創(chuàng)建工程4.可以為工程添加先期已經(jīng)輸入的設(shè)計(jì)文件2.2.1創(chuàng)建工程5.指定目標(biāo)器件,根據(jù)開(kāi)發(fā)板使用的器件來(lái)選擇。注意3:器件型號(hào)CycloneIIEP2C35F672C82.2.1創(chuàng)建工程5.指定目標(biāo)器件,根據(jù)開(kāi)發(fā)板使用的器件2.2.1創(chuàng)建工程6.指定在QuartusII之外的用于設(shè)計(jì)輸入、綜合、仿真、時(shí)序分析的第三方EDA工具。(PrecisionSynthesis\Synplify等)2.2.1創(chuàng)建工程6.指定在QuartusII之外7.新工程的信息。在設(shè)計(jì)的過(guò)程中,還可以通過(guò)菜單assignment

Settings來(lái)對(duì)這些配置進(jìn)行修改。7.新工程的信息。在設(shè)計(jì)的過(guò)程中,還可以通過(guò)菜單a8.點(diǎn)擊Finish按鈕,QuartusII自動(dòng)會(huì)打開(kāi)這個(gè)工程,可以看到頂層實(shí)體名出現(xiàn)在工程導(dǎo)航窗口中。NiOSIISOPC嵌入式系統(tǒng)基礎(chǔ)教程課件2.3創(chuàng)建NiosII系統(tǒng)模塊創(chuàng)建頂層實(shí)體創(chuàng)建NiosII系統(tǒng)模塊:NIOSII嵌入式處理器,添加、配置系統(tǒng)的外設(shè)IPNiosII系統(tǒng)模塊+其他片上邏輯+用戶邏輯:加入頂層實(shí)體2.3創(chuàng)建NiosII系統(tǒng)模塊創(chuàng)建頂層實(shí)體2.3.1創(chuàng)建頂層實(shí)體(1)選擇File

New;在DeviceDesignFile頁(yè)中,選擇BlockDiagram/SchematicFile,即原理圖文件(也可以選擇硬件描述語(yǔ)言的文件形式),單擊OK。2.3.1創(chuàng)建頂層實(shí)體(1)選擇FileNew;在Dev2.3.1創(chuàng)建頂層實(shí)體(2)選擇File

SaveAs,顯示的目錄為之前設(shè)置的工程目錄,文件名為之前設(shè)置的頂層實(shí)體名.2.3.1創(chuàng)建頂層實(shí)體(2)選擇FileSaveAs2.3.2創(chuàng)建NiosII系統(tǒng)模塊

使用工具:SOPCBuilderNiosII系統(tǒng)模塊:NiosII處理器和相關(guān)的系統(tǒng)外設(shè)。創(chuàng)建系統(tǒng)模塊的流程:先創(chuàng)建一個(gè)系統(tǒng),然后添加NiosIICPU和外設(shè)IP,生成實(shí)例或者模塊,加入到工程的頂層實(shí)體。SOPCBuilder2.3.2創(chuàng)建NiosII系統(tǒng)模塊使用工具:SOP2.3.2創(chuàng)建NiosII系統(tǒng)模塊一、創(chuàng)建系統(tǒng)啟動(dòng)SOPCBuilder(Tools

SOPCBuilder)注意4:系統(tǒng)名稱2.3.2創(chuàng)建NiosII系統(tǒng)模塊一、創(chuàng)建系統(tǒng)注意4:二、設(shè)置系統(tǒng)主頻和指定目標(biāo)FPGA設(shè)置系統(tǒng)的時(shí)鐘頻率版本6.0:在Target欄中的Board部分指定核心開(kāi)發(fā)板——CycloneII(EP2C35)。(IDE:flash器件編程)版本8.0:在DeviceFamily選擇CycloneII。(注意5?。┒?、設(shè)置系統(tǒng)主頻和指定目標(biāo)FPGA三、加入NiosIICPU和IP模塊首先加入NiosII軟核1.AvalonComponents下面選擇NiosIIProcessor;2.雙擊或者右鍵Add,出現(xiàn)NiosIICPU的配置向?qū)⒓尤隢iosIICPU和IP模塊根據(jù)需要選擇NiosII核HardwareMultiply選擇none,不選擇HardwareDivide

注意6:EmbeddedMultipliers:使用專門(mén)的內(nèi)嵌硬件乘法單元(乘法速度最快)。②LogicElements,使用邏輯單元也就是FPGA中的查找表(速度較慢)。③None:只能通過(guò)軟件模擬乘法,速度最慢。

根據(jù)需要選擇NiosII核點(diǎn)擊Next,進(jìn)入緩存設(shè)置窗口;可設(shè)InstructionCache為4Kbytes,DataCache2Kbytes點(diǎn)擊Next,進(jìn)入緩存設(shè)置窗口;AdvancedFeatures設(shè)置不選擇Includecpu_resetrequestandcpu_resettakensignals(注意7:resetrequest—該復(fù)位信號(hào)僅復(fù)位處理器。處理器在收到該信號(hào)后,先執(zhí)行完流水線的所有指令,然后進(jìn)入復(fù)位狀態(tài)。處理器在復(fù)位完成后會(huì)使cpu_resettaken信號(hào)生效一個(gè)時(shí)鐘周期)點(diǎn)擊Next進(jìn)入MMUandMPU設(shè)置。(Quartus8.0)(注意8:存儲(chǔ)器管理單元MMU和存儲(chǔ)器保護(hù)單元MPU)AdvancedFeatures設(shè)置JTAG調(diào)試級(jí)別選擇選擇Level1:該級(jí)別支持軟件的斷點(diǎn)調(diào)試。

JTAG調(diào)試模塊要占用較多的邏輯資源,系統(tǒng)調(diào)試完畢了可以選用NoDebuggerJTAG調(diào)試級(jí)別選擇自定義指令的設(shè)置,不作任何的設(shè)置。點(diǎn)擊Finish完成NIOSII處理器的添加處理器的編輯和修改自定義指令的設(shè)置,不作任何的設(shè)置。點(diǎn)擊Finish完成NIO添加其它外設(shè)IP模塊除了NiosIICPU,電子鐘設(shè)計(jì)需要添加的IP模塊包括:TimerButtonPIOLCD控制器ExternalSRAM總線ExternalFlash總線ExternalSRAM接口ExternalFlash接口添加其它外設(shè)IP模塊除了NiosIICPU,電子鐘設(shè)計(jì)需

1.添加定時(shí)器(1)如圖選IntervalTimer并雙擊,向?qū)Т翱诔霈F(xiàn);(注意9)

(2)配置定時(shí)器,點(diǎn)Finish,完成定時(shí)器的添加??芍孛?。1.添加定時(shí)器(2)配置定時(shí)器,點(diǎn)Finish,完成

2.添加ButtonPIO

(1)在BasicSettings,設(shè)width?direction?(2)在InputOptions,EdgeCaptureRegister選中

SynchronouslyCapture,選擇EitherEdge;(3)點(diǎn)擊Finish完成,重命名2.添加ButtonPIO

3.添加LCD控制器(1)如圖選CharacterLCD(Optrex16027),雙擊。(注意10)(2)ModuleName下出現(xiàn),lcd_16027_0;(3)將其重命名lcd_display。3.添加LCD控制器4.添加外部RAM接口(1)如圖單擊Add,出現(xiàn)SSRAM(CypressCY7C1380C)向?qū)В?)設(shè)置ReadLatency和MemorySize

(3)Finish完成,重命名為ext-ssram。4.添加外部RAM接口5.添加外部閃存接口(1)前圖雙擊,外部flash接口;(2)在Attributes中,Presets列表中選擇相應(yīng)的flash。(3)若所使用Flash沒(méi)有在列表中:自定義寬度和時(shí)序5.添加外部閃存接口6.添加外部RAM和flash總線(Avalon三態(tài)總線橋)

NiosII系統(tǒng)與外部存儲(chǔ)器通信,要在Avalon總線和外部存儲(chǔ)器之間加入Avalon三態(tài)橋。

(1)如圖選擇AvalonTri-StateBridge,點(diǎn)擊Add,出現(xiàn)向?qū)В?/p>

(2)Registered選項(xiàng)默認(rèn)為選中;重命名為ext_ssram_bus;(3)再添加一個(gè)Avalon三態(tài)總線橋,重命名為ext_flash_bus.6.添加外部RAM和flash總線(Avalon三態(tài)總7.NiosII系統(tǒng)的連接(注意11)所有添加的IP連接是系統(tǒng)自動(dòng)完成的。對(duì)于三態(tài)橋和外部存儲(chǔ)器接口的連接,系統(tǒng)的自動(dòng)連接可能和用戶的開(kāi)發(fā)板不匹配,用戶需要進(jìn)行手動(dòng)的更改。主要是外部RAM接口要和RAM的三態(tài)橋連接,外部的Flash接口要和flash的三態(tài)橋連接。針對(duì)用的開(kāi)發(fā)板的情況進(jìn)行的設(shè)置,實(shí)驗(yàn)用的開(kāi)發(fā)板SRAM和flash沒(méi)有使用共用的數(shù)據(jù)線和地址線。

所以必須為它們分別添加一個(gè)三態(tài)橋。7.NiosII系統(tǒng)的連接(注意11)NiOSIISOPC嵌入式系統(tǒng)基礎(chǔ)教程課件2.3.3分配IP模塊的地址和中斷號(hào)SOPCBuilder為各個(gè)IP模塊分配了一個(gè)默認(rèn)的基地址,用戶可以改變這些地址。如果分配的地址出現(xiàn)沖突,如下:2.3.3分配IP模塊的地址和中斷號(hào)SOPCBuilder(1)自動(dòng)分配地址:System菜單的AutoAssignBaseAddress(2)手動(dòng)分配地址:Flash外設(shè)的Base欄,將地址改為0x0,如果沖突SOPCBuilder會(huì)出現(xiàn)錯(cuò)誤的提示。(3)鎖定地址:選擇Module菜單中的LockBaseAddress

(4)手動(dòng)修改外設(shè)的中斷號(hào):號(hào)越小,優(yōu)先級(jí)越高(5)自動(dòng)分配中斷號(hào):選擇System菜單中的AutoAssignIRQs。

建議采用手動(dòng)的分配。(1)自動(dòng)分配地址:System菜單的AutoAssign注意:!!注意:!!2.3.4配置NIOSII系統(tǒng)ResetAddress:選擇存放BootLoader的存儲(chǔ)器和設(shè)置BootLoader在存儲(chǔ)器中的偏移。選擇ext_flash,偏移選擇默認(rèn);ExceptionAddress:選擇存放異常向量表存放的存儲(chǔ)器和異常向量表在存儲(chǔ)器偏移,選擇ext_ssram,偏移選擇默認(rèn);2.3.4配置NIOSII系統(tǒng)ResetAddres2.3.5生成NIOSII并加入到工程中單擊SystemGeneration若選中Simulation,生成用于仿真的相應(yīng)的文件。點(diǎn)Generate,SOPCBuilder提示生成系統(tǒng)的進(jìn)程,需3-4分鐘2.3.5生成NIOSII并加入到工程中單擊System系統(tǒng)生成完成后,SOPCBuilder為這個(gè)定制的NIOSII系統(tǒng)模塊創(chuàng)建了一個(gè)符號(hào),NiosII系統(tǒng)再加入到工程中:(1)打開(kāi)頂層實(shí)體(BDF),任意處雙擊,出現(xiàn)Symbol對(duì)話框(2)在Symbol對(duì)話框中單擊Project來(lái)展開(kāi)工程目錄,其下出現(xiàn)

NIOS2,選中它,右側(cè)出現(xiàn)了系統(tǒng)的符號(hào)表示;(3)點(diǎn)OK,NIOS2出現(xiàn)在BDF窗口中,創(chuàng)建的系統(tǒng)加入到工程

系統(tǒng)生成完成后,SOPCBuilder為這個(gè)定制的NIOS2.3.6加入引腳和嵌入式鎖相環(huán)嵌入式鎖相環(huán)有兩個(gè)時(shí)鐘輸出,一個(gè)輸出SSRAM提供時(shí)鐘,另一個(gè)時(shí)鐘的輸出為NIOSIICPU提供時(shí)鐘.加嵌入式鎖相環(huán)步驟如下:(1)點(diǎn)擊Tools

MegaWizardPlug-InManager,出現(xiàn)MegaWizardPlug-InManager向?qū)Т翱?點(diǎn)擊next2.3.6加入引腳和嵌入式鎖相環(huán)嵌入式鎖相環(huán)有兩個(gè)時(shí)鐘輸出IO下面選擇ALTPLL,器件選擇CycloneII,輸出文件類型選擇VHDL,文件名為ssram_pllIO下面選擇ALTPLL,器件選擇CycloneII,輸出NiOSIISOPC嵌入式系統(tǒng)基礎(chǔ)教程課件NiOSIISOPC嵌入式系統(tǒng)基礎(chǔ)教程課件引腳添加(1)頂層實(shí)體的bdf窗口的空白處雙擊鼠標(biāo),出現(xiàn)Symbol添加窗口,選擇pin,選擇相應(yīng)類型的引腳,點(diǎn)擊OK。(2)點(diǎn)擊bdf窗口的空白處,即將引腳加入到了工程中。(3)重復(fù)上面的步驟添加為各個(gè)端口添加相應(yīng)類型的引腳。(4)命名引腳方法:雙擊引腳的“pin_name“,對(duì)其編輯。對(duì)于總線型的引腳,引腳名稱+總線位數(shù):如ddr_a[12..0]引腳添加將嵌入式鎖相環(huán)和系統(tǒng)模塊等連接起來(lái),將引腳連接到相應(yīng)的端口上。將嵌入式鎖相環(huán)和系統(tǒng)模塊等連接起來(lái),將引腳連接到相應(yīng)的端口上2.4設(shè)計(jì)優(yōu)化設(shè)計(jì)優(yōu)化:節(jié)省占用FPGA的面積和提高系統(tǒng)速度?!懊娣e”;“速度”是指設(shè)計(jì)的系統(tǒng)在目標(biāo)芯片上穩(wěn)定運(yùn)行時(shí)能夠達(dá)到的最高頻率2.4設(shè)計(jì)優(yōu)化設(shè)計(jì)優(yōu)化:節(jié)省占用FPGA的面積和提高系統(tǒng)速度1.面積與速度的優(yōu)化選擇Assignment菜單下的Settings命令在Analysis&SynthesisSettings:OptimizationTechniques欄中,有Speed、Balanced和Area3種優(yōu)化選擇,Balanced是軟件缺省的優(yōu)化選擇。1.面積與速度的優(yōu)化選擇Assignment菜單下的Set2.時(shí)序約束與設(shè)置選擇Settings下面的TimingAnalysisSettings選擇ClassicTimingAnalyzerSettings??梢愿鶕?jù)目標(biāo)芯片的特性及PCB板走線的實(shí)際情況,給出設(shè)計(jì)需要滿足的時(shí)鐘頻率、建立時(shí)間、保持時(shí)間和傳輸延遲時(shí)間等參數(shù)。簡(jiǎn)單應(yīng)用,不需要!2.時(shí)序約束與設(shè)置選擇Settings下面的Timing2.5編譯QuartusII編譯器由一系列處理模塊組成包括:分析與綜合、適配、匯編和時(shí)序分析等。編譯設(shè)置:合理編譯的設(shè)置可以提高工程編譯的速度,優(yōu)化器件的資源利用,甚至降低系統(tǒng)的功耗?。【幾g之前須對(duì)未使用的引腳做設(shè)置:將未使用的引腳設(shè)置成Asinputs,tri-stated。2.5編譯QuartusII編譯器由一系列處理模塊組成!步驟(注意):(1)在Settings對(duì)話框中的Device中,單擊DeviceandPinOptions,出現(xiàn)DeviceandPinOptions。(2)單擊UnusedPins,在Reserveallunusedpins下選擇,Asinputs,tri-stated。步驟(注意):(1)在Settings對(duì)話框中的Devic2.5.1引腳分配引腳分配:使編譯器能把設(shè)計(jì)的信號(hào)分配到目標(biāo)器件上的特定引腳上。兩種引腳分配方法:第一種:使用AssignmentsEditor或pins或pinplanner第二種:使用TCL腳本一次性分配所有的引腳2.5.1引腳分配引腳分配:使編譯器能把設(shè)計(jì)的信號(hào)分配到目

(1)選Assignments菜單中的pins或pinplanner或

AssignmentsEditor。(2)在NodeName下輸入引腳名稱,在Location選擇相應(yīng)的引腳。(3)選擇File

Save保存分配。

這種分配方法效率較低,適合較少管腳的分配。1.AssignmentsEditor(1)選Assign

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論