SOPC嵌入式系統(tǒng)基礎(chǔ)教程:第8章 Nios II系統(tǒng)深入設(shè)計_第1頁
SOPC嵌入式系統(tǒng)基礎(chǔ)教程:第8章 Nios II系統(tǒng)深入設(shè)計_第2頁
SOPC嵌入式系統(tǒng)基礎(chǔ)教程:第8章 Nios II系統(tǒng)深入設(shè)計_第3頁
SOPC嵌入式系統(tǒng)基礎(chǔ)教程:第8章 Nios II系統(tǒng)深入設(shè)計_第4頁
SOPC嵌入式系統(tǒng)基礎(chǔ)教程:第8章 Nios II系統(tǒng)深入設(shè)計_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第8章 Nios II系統(tǒng)深入設(shè)計-SOPC嵌入式系統(tǒng)基礎(chǔ)教程北京航空航天大學(xué)出版社出版周立功 等編著本章是有關(guān)SOPC的深入設(shè)計,幫助讀者掌握如何定制用戶指令。定制用戶邏輯外設(shè)和定制用戶指令是使用Nios II嵌入式軟核處理器的SOPC系統(tǒng)的重要特性,用戶還可以通過定制用戶邏輯外設(shè)和定制用戶指令來實現(xiàn)各種應(yīng)用要求。主要內(nèi)容第8章 目錄8.1 定制基于Avalon的用戶外設(shè)8.2 定制Nios II用戶指令第8章 目錄8.1 定制基于Avalon的用戶外設(shè)8.2 定制Nios II用戶指令8.1 定制基于Avalon的用戶外設(shè)定制用戶外設(shè)簡介一個典型元件定制的步驟如下:1規(guī)劃元件的硬件功能。2

2、如將采用微控制器來控制該元件,則規(guī)劃訪問該硬件的應(yīng)用程序接口(API)。3在硬件和軟件要求的基礎(chǔ)上,定義一個恰當(dāng)?shù)腁valon接口。4使用Verilog或VHDL來描述硬件邏輯。5單獨驗證元件的硬件功能。6寫用于描述寄存器的C頭文件來為軟件定義硬件寄存器映像。7使用元件編輯器來封裝硬件HDL和軟件文件,得到一個元件。8將該元件集成到一個簡單的NiosII系統(tǒng)中。8.1 定制基于Avalon的用戶外設(shè)定制用戶外設(shè)簡介一個典型元件定制的步驟如下:9使用NiosII來測試寄存器級的訪問是否正確。10如果以后將使用微控制器來訪問該元件,就要寫元件的驅(qū)動軟件。11反復(fù)改進(jìn)元件的硬件設(shè)計和軟件驅(qū),并使用元

3、件編輯器來更新所做的修改。12建立一個完整的SOPC Builder system,里面含有一個或多個該元件。13執(zhí)行系統(tǒng)級的驗證,如果需要再進(jìn)行改進(jìn)。14完成元件定制,并分發(fā)給其它設(shè)計者。8.1 定制基于Avalon的用戶外設(shè)定制用戶外設(shè)簡介帶Avalon Slave端口的典型元件組成框圖8.1 定制基于Avalon的用戶外設(shè)PWM設(shè)計說明PWM輸出一個占空比可調(diào)的方波。當(dāng)一個周期11個時鐘,高電平輸出7個時鐘時的PWM輸出波形如下圖所示。PWM輸出波形8.1 定制基于Avalon的用戶外設(shè)PWM設(shè)計說明本實例的PWM是按下列要求設(shè)計的:1任務(wù)邏輯按一個簡單時鐘進(jìn)行同步操作。2任務(wù)邏輯使用3

4、2位計數(shù)器為PWM提供一個一定范圍的周期和占空比,最大周期可設(shè)為232個clk。3可以使用微控制器(Nios II)來設(shè)置PWM的周期和占空比的值。因此要提供一個可對PWM寄存器進(jìn)行讀寫的接口和控制邏輯。4定義寄存器來存儲PWM周期和占空比的值。5微控制器可以通過控制寄存器的禁止位來關(guān)閉PWM輸出。8.1 定制基于Avalon的用戶外設(shè)PWM設(shè)計說明任務(wù)邏輯結(jié)構(gòu)圖8.1 定制基于Avalon的用戶外設(shè)PWM設(shè)計說明寄存器名地址偏移量訪問屬性描 述clock_divide00讀/寫用來設(shè)定PWM輸出周期的時鐘數(shù)duty_cycle01讀/寫用來設(shè)定一個周期內(nèi)PWM輸出低電平的時鐘個數(shù)enable

5、10讀/寫使能和關(guān)閉PWM輸出,為1時使能PWM輸出保留11表8.2 HAL數(shù)據(jù)類型定義8.1 定制基于Avalon的用戶外設(shè)PWM設(shè)計說明HDL中的信號名Avalon信號類型寬度方向描述clockclock1input同步數(shù)據(jù)傳輸與任務(wù)邏輯resetnreset_n1input復(fù)位信號,低有效chip_selectchipselect1input片選信號addressaddress2input2位地址,只有其中3個譯碼被使用writewrite1input寫使能信號write_datawrite_data32input32位寫數(shù)據(jù)值readread1input讀使能信號read_datare

6、addata32output32位讀數(shù)據(jù)值表8.3 HAL數(shù)據(jù)類型定義8.1 定制基于Avalon的用戶外設(shè)將PWM設(shè)計封裝為SOPC Builder元件將PWM設(shè)計文件封裝為SOPC Builder元件執(zhí)行以下步驟:1將下載得到的PWM設(shè)計文件拷貝到硬盤任意目錄中,但是文件夾名稱不能為中文。本實例拷貝到F:sopcexample。2打開一個Quartus II工程,本例為SmartSOPC_standard_1c6_pwm。這里,打開工程的目的只是為了打開SOPC Builder而已。3在Quartus II中,從【Tools】【SOPC Builder】打開SOPC Builder。8.1

7、 定制基于Avalon的用戶外設(shè)4在SOPC Builder中,點擊Creat New Component或選擇【File】【New Component】打開創(chuàng)建新元件向?qū)Фㄖ圃慕榻B8.1 定制基于Avalon的用戶外設(shè)5選擇HDL Files選項卡,點擊 按鈕打開添加文件窗口,將路徑指向PWM設(shè)計文件所在的目錄,如圖8.5所示。逐一添加各文件,或按住鍵盤上的Ctrl鍵同時選中3個文件,然后按 一次完成添加。添加硬件描述文件8.1 定制基于Avalon的用戶外設(shè)6添加完硬件文件后,HDL Files欄中可看到剛添加的3個文件。添加完硬件文件后的窗口8.1 定制基于Avalon的用戶外設(shè)7.

8、 選擇Signals選項卡,進(jìn)行信號的設(shè)置。8.選擇Interfaces選項卡,修改Avalon Slave的名稱為control_slave.9.選擇SW Files選項卡打開添加文件對話框,將路徑指向軟件文件所在的文件夾。10.選擇Component Wizard選項卡。11.可以單擊Preview the Wizard 按鈕進(jìn)行預(yù)覽。12.關(guān)閉預(yù)覽窗口,單擊Finish按鈕,彈出一個消息框,告訴設(shè)計者元件存放的路徑,創(chuàng)建了哪些文件等。13、在SOPC Builder中左邊的可用元件列表中,將產(chǎn)生一個User Logic的新組,在下面出現(xiàn)剛才創(chuàng)建的元件pwm_avalon_interfac

9、e。8.1 定制基于Avalon的用戶外設(shè)使用并驗證新創(chuàng)建的PWM元件設(shè)置信號創(chuàng)建測試PWM的工程8.1 定制基于Avalon的用戶外設(shè)手工修改創(chuàng)建的元件例如修改讀寫信號的共享屬性,找到read_n和write_n所在的位置,將“is_shared=0;”改為“is_shared=1;”即可,如右圖所示。當(dāng)然,如果不設(shè)置成共享,在FPGA內(nèi)部將所有讀信號(nOE)信號、寫信號(nWE)各自通過與門相與后再輸出也是可行的。修改元件的讀寫信號共用第8章 目錄8.1 定制基于Avalon的用戶外設(shè)8.2 定制Nios II用戶指令8.2 定制Nios II用戶指令Nios II定制指令綜述NiosI

10、I處理器用戶指令硬件模塊框圖具有定制指令的NiosII硬件結(jié)構(gòu)8.2 定制Nios II用戶指令Nios II定制指令綜述多周期指令結(jié)構(gòu)框圖組合邏輯指令結(jié)構(gòu)框圖8.2 定制Nios II用戶指令Nios II定制指令綜述多周期指令的時序圖8.2 定制Nios II用戶指令Nios II定制指令綜述擴(kuò)展指令結(jié)構(gòu)框圖帶內(nèi)部寄存器的乘加指令結(jié)構(gòu)框圖8.2 定制Nios II用戶指令Nios II定制指令綜述擴(kuò)展接口用戶指令的結(jié)構(gòu)框圖8.2 定制Nios II用戶指令定制指令實現(xiàn)方式定制指令支持多種設(shè)計文件,包括:Verilog HDL, VHDL, EDIF netlist file, Quartu

11、s II Block Design File (.bdf), 和Verilog Quartus Mapping File (.vqm)。具體實現(xiàn)方法有:1導(dǎo)入HDL文件實現(xiàn)定制指令,見下節(jié);2通過DSP Builder實現(xiàn)定制指令加速模塊;3直接使用SOPC Builder中自帶的定制指令。8.2 定制Nios II用戶指令定制指令設(shè)計示例在定制指令前,首先要正確的實現(xiàn)硬件邏輯功能,包括編寫HDL文件和驗證用戶邏輯。1.編寫HDL文件2.驗證用戶邏輯功能3.在SOPC Builder中添加HDL文件8.2 定制Nios II用戶指令定制指令的使用方法NiosII指令的使用方法一般來說有2種:1通過內(nèi)建(Built-in)函數(shù)和宏定義使用;2直接使用匯編指令。8.2 定制Nios II用戶指令定制指令的使用方法最簡單的也最容易使用的是通過內(nèi)建(Built-in)函數(shù)和宏定義使用定制指令。內(nèi)建(Built-in)函數(shù)的格式如下:_builtin_custom_ni表示int(整型

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論