第9章SOPC系統(tǒng)構(gòu)架_第1頁(yè)
第9章SOPC系統(tǒng)構(gòu)架_第2頁(yè)
第9章SOPC系統(tǒng)構(gòu)架_第3頁(yè)
第9章SOPC系統(tǒng)構(gòu)架_第4頁(yè)
第9章SOPC系統(tǒng)構(gòu)架_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第9章 SOPC系統(tǒng)構(gòu)架 Nios II是軟核處理器,可以借助開(kāi)發(fā)工具對(duì)其進(jìn)行配置,然后下載到可編程芯片中。其優(yōu)勢(shì)就是,可以根據(jù)設(shè)計(jì)需要選擇處理器和外設(shè),并進(jìn)行靈活配置,組成SOPC系統(tǒng)。這里指的SOPC系統(tǒng)是包含NiosII軟核處理器和UART、SPI、定制外設(shè)等外設(shè)集合的系統(tǒng),如圖9.1所示。9.1 Nios 處理器體系結(jié)構(gòu) Nios II實(shí)現(xiàn)了標(biāo)準(zhǔn)的有流水線支持的RISC處理器。它含有32個(gè)通用寄存器,采用3種指令格式和哈佛結(jié)構(gòu),使用獨(dú)立的32位指令通路和32位數(shù)據(jù)通路,具有可配置的指令和數(shù)據(jù)Cache,具有特有的緊耦合存儲(chǔ)器,使用專(zhuān)用通道連接片內(nèi)存儲(chǔ)器,為用戶(hù)提供一種簡(jiǎn)單高效的存儲(chǔ)器方

2、案。9.1.1 Nios II的內(nèi)部寄存器 Nios II處理器包含32個(gè)通用寄存器、6個(gè)控制寄存器。該結(jié)構(gòu)支持管理模式和用戶(hù)模式,防止控制寄存器受到出錯(cuò)程序的破壞。9.1.1 Nios II的內(nèi)部寄存器 1通用寄存器寄存器名字功能寄存器名字功能r0zero清零r16子程序要保存的寄存器r1at匯編的臨時(shí)變量寄存器r17子程序要保存的寄存器r2函數(shù)返回值(低32位)r18子程序要保存的寄存器r3函數(shù)返回值(高32位)r19子程序要保存的寄存器r4傳遞給函數(shù)的參數(shù)r20子程序要保存的寄存器r5傳遞給函數(shù)的參數(shù)r21子程序要保存的寄存器r6傳遞給函數(shù)的參數(shù)r22子程序要保存的寄存器r7傳遞給函數(shù)的

3、參數(shù)r23子程序要保存的寄存器r8調(diào)用者要保存的寄存器r24et為異常處理保留r9調(diào)用者要保存的寄存器r25bt為程序斷點(diǎn)保留r10調(diào)用者要保存的寄存器r26gp全局指針r11調(diào)用者要保存的寄存器r27sp堆棧指針r12調(diào)用者要保存的寄存器r28fp幀指針r13調(diào)用者要保存的寄存器r29ea異常返回地址r14調(diào)用者要保存的寄存器r30ba斷點(diǎn)返回地址r15調(diào)用者要保存的寄存器r31ra函數(shù)返回地址9.1.1 Nios II的內(nèi)部寄存器 2控制寄存器寄存器名字bit位意義: 31210ct10status保留UPIEct11estatus保留EUEPIEct12bstatus保留BUBPIEct

4、13ienable中斷允許位ct14ipending中斷發(fā)生標(biāo)志位ct15cpuid唯一的處理器標(biāo)識(shí)號(hào)9.1.2 Nios II存儲(chǔ)器與I/O組織 NIos 體系結(jié)構(gòu)采用哈佛結(jié)構(gòu),指令總線和數(shù)據(jù)總線分開(kāi)。指令總線和數(shù)據(jù)總線均為遵循Avalon主端口規(guī)范的主端口,數(shù)據(jù)主端口可連接存儲(chǔ)器和外設(shè),指令主端口只連接存儲(chǔ)器。NIos 處理器的存儲(chǔ)器和I/O結(jié)構(gòu),如圖9.3所示。 1存儲(chǔ)器的訪問(wèn) 2Nios II系統(tǒng)的地址映射 3緊耦合存儲(chǔ)器 4NIos 系統(tǒng)的尋址方式9.2 Nios II的異常處理 由于中斷或需要立即響應(yīng)的的處理器內(nèi)部或外部事件需要離開(kāi)正常程序執(zhí)行流程,處理器需要這樣的一種轉(zhuǎn)換機(jī)制,這

5、就是異常。Nios II結(jié)構(gòu)提供了一個(gè)簡(jiǎn)單的,非向量異??刂破鱽?lái)處理異常。異常處理是指響應(yīng)異常所進(jìn)行的處理,并且返回到異常產(chǎn)生前的程序執(zhí)行狀態(tài)。異常的類(lèi)型,如圖9.5所示。Nios II異常主要包含以下幾類(lèi):硬件中斷、軟件陷阱、未實(shí)現(xiàn)指令和其它。9.2.1硬件中斷 Nios II體系結(jié)構(gòu)支持32個(gè)外部硬件中斷irq0irq31,每個(gè)中斷對(duì)應(yīng)一個(gè)獨(dú)立的中斷通道,外設(shè)通過(guò)處理器32個(gè)中斷輸入通道請(qǐng)求產(chǎn)生硬件中斷。硬件中斷產(chǎn)生的條件是: (1)status寄存器中PIE位為1。 (2)中斷輸入請(qǐng)求irqn有效。 (3)ienable寄存器的相應(yīng)位是1。9.2.2軟件異常 當(dāng)程序遇到軟件陷阱指令時(shí),將

6、產(chǎn)生軟件陷阱異常。軟件陷阱在程序需要操作系統(tǒng)服務(wù)時(shí)常用到,操作系統(tǒng)的異常處理程序判斷產(chǎn)生軟件陷阱的原因,然后執(zhí)行相應(yīng)任務(wù)。9.2.3NIos II的異常處理流程 產(chǎn)生異常時(shí),處理器自動(dòng)執(zhí)行的處理流程,如圖9.6所示。異常處理程序必須確定異常產(chǎn)生原因,然后轉(zhuǎn)到相應(yīng)的異常處理子程序。下面顯示了一個(gè)確定異常產(chǎn)生的流程,如圖9.7所示。9.3 算術(shù)邏輯單元和復(fù)位信號(hào) Nios II的算術(shù)邏輯單元(ALU)可以對(duì)通用寄存器中的數(shù)據(jù)進(jìn)行操作。9.3.1算術(shù)邏輯單元 ALU操作從寄存器中取一個(gè)或者兩個(gè)操作數(shù),并將運(yùn)算結(jié)果存回到寄存器中。ALU支持的數(shù)據(jù)操作,如表9.5所示。種類(lèi)細(xì)節(jié)描述算術(shù)運(yùn)算ALU支持有符

7、號(hào)和無(wú)符號(hào)數(shù)的加、減、乘、除關(guān)系運(yùn)算支持有符號(hào)和無(wú)符號(hào)數(shù)的等于、不等于、大于等于和小于(=,!=,=,)關(guān)系運(yùn)算邏輯運(yùn)算支持AND、OR、NOR和XOR邏輯運(yùn)算移位運(yùn)算支持移位和循環(huán)移位運(yùn)算,每條指令中可以將數(shù)據(jù)移位和循環(huán)移為031位,支持算術(shù)右移、左移和邏輯右移、左移,還支持循環(huán)左、右移位9.3.2 復(fù)位信號(hào) Nios II處理器支持兩種復(fù)位信號(hào),reset和cpu_resetrequest。reset是強(qiáng)制處理器核立即進(jìn)入復(fù)位狀態(tài)的全局硬件復(fù)位信號(hào)。cpu_resetrequest是可以讓處理器核復(fù)位但不影響Nios II系統(tǒng)其它外設(shè)的局部復(fù)位信號(hào)。CPU復(fù)位后,Nios II處理器將執(zhí)行

8、下列操作:9.4 JTAG調(diào)試模塊 Nios II結(jié)構(gòu)中包含JTAG調(diào)試模塊,提供片上仿真部件,便于PC主機(jī)對(duì)處理器進(jìn)行遠(yuǎn)程控制。PC機(jī)上的軟件調(diào)試工具可以通過(guò)與JTAG調(diào)試模塊通信,提供調(diào)試和診斷功能。例如, 把程序下載到存儲(chǔ)器中。 啟動(dòng)和停止程序的執(zhí)行。 設(shè)置斷點(diǎn)和觀察點(diǎn)。 分析寄存器和存儲(chǔ)器。 采集實(shí)時(shí)的執(zhí)行跟蹤數(shù)據(jù)。9.5 Avalon總線 為了輕松、方便地連接處理器和片內(nèi)/片外的外設(shè),Altera開(kāi)發(fā)了Avalon總線。這是構(gòu)成SOPC的重要技術(shù)。在SOPC Builder添加外設(shè)時(shí),Avalon總線會(huì)自動(dòng)生成,還會(huì)隨著外設(shè)的增加和刪減而自動(dòng)調(diào)整。對(duì)于普通用戶(hù),可以不必關(guān)心Avalo

9、n總線的細(xì)節(jié),但對(duì)于開(kāi)發(fā)外設(shè)的用戶(hù)來(lái)說(shuō),需要了解Avalon互聯(lián)規(guī)范,以便使自己設(shè)計(jì)的外設(shè)符合要求。9.5.1 Avalon互聯(lián)規(guī)范 Avalon互聯(lián)規(guī)范是Altera為Nios II處理器設(shè)計(jì)的專(zhuān)用互聯(lián)規(guī)范。它描述了主從組件間的端口連接關(guān)系,以及組件間通信的時(shí)序關(guān)系。9.5.2 Avalon總線的概念 Avalon總線與傳統(tǒng)的總線有顯著的不同,用的許多術(shù)語(yǔ)和概念是全新的,這些構(gòu)成了Avalon總線規(guī)范的概念框架。為了更好地理解Avalon總線規(guī)范,有必要說(shuō)明相關(guān)術(shù)語(yǔ)和概念,以免混淆。 1Avalon信號(hào) 2Avalon外設(shè) 3主端口和從端口 4總線傳輸 5主從端口對(duì) 6總線周期 7流傳輸模式

10、 8延遲讀傳輸模式 9Avalon總線模塊9.5.3 Avalon總線信號(hào) 由于Avalon總線是一個(gè)由HDL文件綜合而來(lái),所以在連接Avalon總線模塊和Avalon外設(shè)時(shí)需要考慮一些特別的問(wèn)題,SOPC Builder必須準(zhǔn)確地了解每個(gè)外設(shè)提供了哪些Avalon端口,以便連接外設(shè)與Avalon總線模塊。還需要了解每個(gè)端口的名稱(chēng)和類(lèi)型,這些信息都在系統(tǒng)ptf文件中定義。 1Avalon從端口信號(hào) 2Avalon主端口信號(hào)9.5.4 Avalon的中斷與復(fù)位信號(hào) Avalon接口提供系統(tǒng)級(jí)功能的控制信號(hào),如中斷請(qǐng)求信號(hào)和復(fù)位請(qǐng)求信號(hào)。這些信號(hào)與單個(gè)數(shù)據(jù)傳輸不直接相關(guān)。 1中斷請(qǐng)求信號(hào) 2復(fù)位控制信號(hào)9.5.5 Avalon總線傳輸 Avalon總線規(guī)范定義了主端口和從端口之間通過(guò)Avalon總線模塊傳輸數(shù)據(jù)所需的信號(hào)和時(shí)序。主傳輸與從傳輸?shù)慕涌诓煌?,因而主端口與從端口的信號(hào)定義不同。Avalon總線模塊和外設(shè)接口之間的信號(hào)隨著傳輸模式的不同而不同。此外,根據(jù)系統(tǒng)ptf文件的設(shè)置,所需信號(hào)的確切類(lèi)型與數(shù)量也是可變的。為了滿(mǎn)足不同類(lèi)型外設(shè)的需要,Avalon總線規(guī)范提供了

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論