亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        嵌入式SOPC的應(yīng)用與研究

        2008-12-31 00:00:00屈曉平
        電腦知識與技術(shù) 2008年30期

        摘要:針對當(dāng)前傳統(tǒng)的嵌入式開發(fā)方法不能滿足嵌入式應(yīng)用需求的這一現(xiàn)狀,介紹一種新的嵌入式開發(fā)方法SOPC。對當(dāng)前基于FPGA嵌入IP硬、軟核的SOPC系統(tǒng)進行全面的分析與研究,系統(tǒng)的闡述了嵌入式SOPC的開發(fā)流程,并對嵌入式SOPC硬件開發(fā)和軟件開發(fā)的關(guān)鍵問題進行了詳敘,最后通過一個簡單LED實例,深入的分析了嵌入式SOPC開發(fā)的全過程。

        關(guān)鍵詞:嵌入式;片上系統(tǒng);SOPC;NIOS II核

        中圖分類號:TP311文獻標(biāo)識碼:A 文章編號:1009-3044(2008)30-0738-02

        The Application and Research of Embedded SOPC

        QU Xiao-ping,GAO Ning

        (Information Science and Technology College, Jiujiang University, Jiujiang 332005,China)

        Abstract: Since the raditional means can not meet the current application requirements of embedded systems, a new development method for SOPC is discussed. A complete analysis and research of SOPC with embedded IP hardcor/softcore, which is based on FPGA, is carried out, and the development flow of embedded SOPC is systematically decribed, as well as the critical questions during hardware/software development is discussed in detail. Finally the full development progress of embedded SOPC is explained in detail with an LED as an example.

        Key words: embedded; system on chip; SOPC; NIOS II Core

        1 引言

        隨著信息化技術(shù)的發(fā)展和數(shù)字化產(chǎn)品的普及,大規(guī)模集成電路技術(shù)的進步和制造工藝水平的提高,以計算機技術(shù)、芯片技術(shù)和軟件技術(shù)為核心的嵌入式系統(tǒng)開發(fā)變得日益復(fù)雜。傳統(tǒng)的嵌入式系統(tǒng)設(shè)計方法已經(jīng)不能適應(yīng)當(dāng)前嵌入式系統(tǒng)的單片容量大、功能多、體積小、設(shè)計便利等需求。本文主要闡述一種全新的、靈活的、高效的嵌入式系統(tǒng)設(shè)計方法SOPC(System On Progranmable Chip,可編程的片上系統(tǒng)),它是基于FPGA解決方案的SOC,它將處理器、存儲器、I/O口、LVDS、CDR等系統(tǒng)設(shè)計需要的功能模塊集成到一個可編程的器件上,構(gòu)成一個可編程的片上系統(tǒng)。

        2 嵌入式SOPC概述

        SOPC(System On Progranmable Chip,可編程的片上系統(tǒng))是Altera公司提出的一種靈活高效的SOC的解決方案,它是PLD和ASIC技術(shù)融合的結(jié)果,目前,0.13um的ASIC產(chǎn)品制造價格仍然相當(dāng)昂貴,而集成了硬核和軟核CPU、DSP、存儲器、I/O設(shè)備和可編程邏輯的SOPC芯片在應(yīng)用靈活性上和價格上有相當(dāng)大的優(yōu)勢。現(xiàn)今,普遍認為SOPC是基于FPGA解決方案的SOC,與ASIC的SOC解決方案相比,SOPC系統(tǒng)及其開發(fā)技術(shù)具有更多的特色,構(gòu)成SOPC的方案也有多種途徑。

        2.1 基于FPAG嵌入IP硬核的SOPC系統(tǒng)的優(yōu)點[2]

        基于FPGA嵌入IP硬核的SOPC系統(tǒng)是指在FPGA中預(yù)先移入處理器。目前最常用的嵌入式處理器大多是采用含有ARM32位知識產(chǎn)權(quán)處理器核的器件。為了達到通用性,必須為常規(guī)的嵌入式處理器集成諸多通用和專用的接口,但這樣無疑會增加芯片的成本和功耗。如果將ARM或其他處理器核以硬核方式植入FPGA中,利用FPGA中的可編程邏輯資源,可按照系統(tǒng)功能需求來添加接口功能模塊,這樣既能實現(xiàn)目標(biāo)系統(tǒng)的功能,又能降低系統(tǒng)的成本和功耗。這樣就能使得FPGA靈活的硬件設(shè)計與處理器的強大軟件功能有機的結(jié)合在一起,高率的實現(xiàn)SOPC系統(tǒng)。

        2.2 基于FPGA嵌入IP硬核的SOPC系統(tǒng)缺點[2,3]

        將IP硬核直接植入FPGA的解決方案存在以下幾種不足:

        1)由于此類硬核多來自第三方公司,F(xiàn)PGA廠商通常無法直接控制其知識產(chǎn)權(quán)費用,從而導(dǎo)致FPGA器件價格相對偏高。2)由于硬核是預(yù)先植入的,設(shè)計者無法根據(jù)實際需要改變處理器的結(jié)構(gòu),如總線規(guī)模、接口方式、指令形式、更不可能將FPGA邏輯資源構(gòu)成的硬件模塊以指令的形式嵌入硬件加速模塊。3)無法根據(jù)實際設(shè)計需要在同一FPGA中集成多個處理器。4)無法根據(jù)需要裁減處理器硬件資源以降低FPGA成本。5)只能在特定的FPGA中使用硬核嵌入式處理器。

        2.3 基于FPGA嵌入IP軟核的SOPC系統(tǒng)

        為了解決基于FPGA嵌入IP硬核的SOPC系統(tǒng)存在的問題。人們設(shè)計了基于FPGA嵌入IP軟核的SOPC系統(tǒng)。目前最具有代表性的軟核處理器Altera公司的NIOSII核。

        3 嵌入式SOPC應(yīng)用開發(fā)

        3.1 嵌入式SOPC應(yīng)用開發(fā)流程簡介[3]

        1)分析系統(tǒng)需求。2)建立Quartus II工程,建立頂層圖*.bdf。3)打開SOPC Builder定義和生成系統(tǒng)(使用NIOSII內(nèi)核標(biāo)準(zhǔn)外設(shè)和定制指令定制外設(shè)邏輯)。說明:(4.1-4.7)硬件開發(fā)4.1)集成SOPC生成的系統(tǒng)到Quartus II工程(自定義的功能模塊和Altera的LPM模塊)。4.2)連接各功能模塊。4.3)選擇FPGA型號,并進行管腳分配。4.5)進行編譯選項設(shè)置。4.6)編譯硬件系統(tǒng)生成配置文件.sof。4.7)下載配置文件到到FPGA器件。說明:(5.1-5.4)軟件開發(fā)。

        5.1)使用NIOSII IDE開發(fā)軟件(硬件抽象層(HAL)外設(shè)驅(qū)動程序和用戶C/C++應(yīng)用程序代碼和定制的庫)。

        5.2)設(shè)置軟件運行硬件環(huán)境屬性。

        5.3)編譯軟件生成可執(zhí)行文件.elf。

        5.4)在IDE中使用ISS運行/調(diào)式軟件。

        6)在目標(biāo)板上下載可執(zhí)行軟件到NIOS II系統(tǒng)。

        7)在目標(biāo)板上運行/調(diào)試軟件。

        8)調(diào)式好的硬件和軟件。

        9)使用IDE編程工具燒寫配置文件和軟件代碼。

        3.2 硬件開發(fā)[2,4]

        硬件開發(fā)使用Quartus II和SOPC Builder。硬件設(shè)計過程如下:

        首先,使用SOPC Builder軟件從NIOS II處理器內(nèi)核和NIOS II開發(fā)套件提供的外設(shè)列表中選取合適的CPU、存儲器以及各外部器件并定制和配置它們的功能,分配外設(shè)地址及中斷號;設(shè)定復(fù)位地址;最后生成系統(tǒng)。用戶也可以添加用戶自身的定制指令邏輯到NIOS II內(nèi)核以加速CPU性能,或添加用戶外設(shè)以減輕CPU的任務(wù)。

        其次,使用SOPC Builder生成NIOS II 系統(tǒng)后,將其集成到整個QuartusII工程中??梢栽赒uartusII工程中加入NIOS II 以外的邏輯,大多數(shù)的SOPC設(shè)計都包括NIOS II系統(tǒng)以外的邏輯,這也是SOPC系統(tǒng)的優(yōu)勢所在。用戶可以集成自身的定制的硬件模塊到SOPC設(shè)計,或集成從Altera或第3方IP供應(yīng)商中得到的其它現(xiàn)成知識產(chǎn)權(quán)設(shè)計模塊。

        再次,使用QuartusII軟件來選取具體的Altera FPGA器件型號;然后為NIOS II系統(tǒng)上的各I/O口分配管腳,另外,還要根據(jù)要求進行硬件編譯選項或時序約束的設(shè)置;最后編譯QuartusII工程,在編譯過程中QuartusII將對SOPC Builder生成系統(tǒng)的HDL設(shè)計文件進行布局布線,從HDL源文件綜合生成一個合適目標(biāo)器件的網(wǎng)絡(luò)表,生成FPGA配置文件。

        最后,使用QuartusII編程器和Altera下載電纜將配置文件(用戶定制的NIOS II 處理器系統(tǒng)的硬件設(shè)計)下載到目標(biāo)板上。當(dāng)校驗完當(dāng)前硬件設(shè)計后,可將新的配置文件下載到目標(biāo)板的非易失存儲器中。下載萬硬件配置文件后,軟件開發(fā)者就可以將此目標(biāo)板作為軟件開發(fā)的初期硬件平臺進行軟件功能的開發(fā)驗證了。

        3.3 軟件開發(fā)[2,4]

        軟件開發(fā)使用NIOS II IDE,它是一個基于Eclipse IED架構(gòu)的集成開發(fā)環(huán)境,它包括:

        GUN開發(fā)工具(標(biāo)準(zhǔn)的GCC編譯器,連接器,匯編器和Makefile工具等);

        基于GDB的調(diào)試器,包括軟件仿真和硬件調(diào)試;

        提供用戶一個硬件抽象層;

        提供嵌入式操作系統(tǒng)MicroC/OS-II和LwTCP/IP協(xié)議的支持;

        提供幫助用戶快似入門的軟件模板;

        提供Flash下載支持;

        使用NIOSII IDE,可完成NIOSII處理器系統(tǒng)的所有軟件開發(fā)任務(wù)。使用SOPC Builder 生成系統(tǒng)后,可以直接使用NIOSII IDE開始設(shè)計C/C++應(yīng)用程序代碼。Altera提供外設(shè)驅(qū)動程序和硬件抽象層(HAL),使用戶能夠快速的編寫與低級硬件細節(jié)無關(guān)的NIOSII程序。除了應(yīng)用代碼外,用戶還可以在NIOSII IDE工程中設(shè)計和重新使用定制庫。

        用戶在沒有目標(biāo)板的情況下,可以通過NIOSII指令集仿真器(ISS)運行和調(diào)試代碼。ISS可以仿真處理器、存儲器、stdin/stdout/stderr流,使用戶可以檢驗程序流和算法的正確性。

        4 嵌入式SOPC的應(yīng)用實例

        4.1 任務(wù)

        建立一個基于NIOSII處理器的系統(tǒng)來控制一個LED燈閃爍。

        4.2 開發(fā)步驟[5]

        4.3.1 分析系統(tǒng)需求

        本應(yīng)用實例的開發(fā)任務(wù)是:

        1)展示可用于控制LED閃爍的簡單NIOSII處理器系統(tǒng);2)利用最通用的最有效的方法來建立實際的頂制NIOSII;3)整個系統(tǒng)僅使用片內(nèi)資源,且不依賴于目標(biāo)板。

        分析任務(wù)可以知道FPGA內(nèi)硬件系統(tǒng)組成應(yīng)包含:

        1)帶有2KB指令高速緩存的NIOSII/S處理器核;2)帶有1KB片內(nèi)ROM存儲器用于存儲程序代碼以及程序運行空間;3)帶有1KB片內(nèi)RAM存儲器用于變量存儲、Heap、stack;3有一位輸出I/O(PIO)來控制LED;4)系統(tǒng)識別外圍設(shè)備(SystemID)。

        說明:由于控制LED燈閃爍的用戶程序代碼很小,所以可將代碼固化在片內(nèi)ROM來執(zhí)行,變量,堆棧燈空間使用片內(nèi)RAM,而不使用任何片外存儲器。使用片內(nèi)存儲器能獲得非常高的執(zhí)行性能。

        4.3.2 使用Quartus II建立工程。

        1)打開Quartus II軟件并建立工程;2)建立頂層模塊并命名為LED.BDF 。

        4.3.3 使用SOPC Builder創(chuàng)建NIOSII系統(tǒng)

        1)啟動SOPC Builder;2)指定目標(biāo)FPGA和時鐘設(shè)置;3)添加NIOSII處理器核;4)添加片內(nèi)存儲器;5)添加PIC;6)添加系統(tǒng)ID外觀;7)指定基地址和中斷請求優(yōu)先級;8)設(shè)置NIOSII復(fù)位和異常地址;9)生成NIOSII系統(tǒng)。至此已經(jīng)完成了NIOSII系統(tǒng)的創(chuàng)建。

        4.3.4 集成NIOSII系統(tǒng)到到Quartus II工程

        1)添加NIOSII系統(tǒng)模塊到NIOSII頂層模塊;2)添加引腳和其他基本單元;3)選擇器件型號;4)分配FPGA管腳;器件和管腳的其他設(shè)置。

        4.3.5 設(shè)置編譯選項并編譯硬件系統(tǒng)(下轉(zhuǎn)第755頁)

        (上接第739頁)

        1)設(shè)置編譯選項;2)編譯硬件系統(tǒng);3)查看編譯報告。

        4.3.6 下載硬件設(shè)計到目標(biāo)FPGA

        4.3.7 使用NIOSII IDE創(chuàng)建用戶程序

        1)創(chuàng)建一個新的C/C++應(yīng)用工程;2)設(shè)置C/C++應(yīng)用工程系統(tǒng)屬性;3)編譯連接工程;

        4.3.8 調(diào)試/運行程序

        1)在目標(biāo)硬件系統(tǒng)上運行程序;2)在目標(biāo)板上調(diào)試程序;3)經(jīng)過重新編譯硬件系統(tǒng)后,程序?qū)⒅苯舆\行,目標(biāo)板

        上的LED將閃爍。

        5 小結(jié)

        本文主要介紹一種新的嵌入式設(shè)計方法即可編程的片上系統(tǒng)SOPC,通過對當(dāng)前流行的基于FPGA的IP硬核、軟核SOPC系統(tǒng)的分析與研究,拋磚引玉,給目前從事傳統(tǒng)嵌入式開發(fā)人員指明一個方向,并快速入門提供幫助。

        參考文獻:

        [1] 周立功.SOPC嵌入式系統(tǒng)基礎(chǔ)教程[M].北京航空航天大學(xué)出版社,2006,(11):30-65.

        [2] 周立功.SOPC 嵌入式系統(tǒng)實驗教程[M].北京航空航天大學(xué)出版社,2006,(11):103-124.

        [3] 邵舒淵.SOPC教程[M].西安:西北工業(yè)大學(xué),2005,(3):132-156.

        [4] 潘松.SOPC技術(shù)實用教程[M].北京:清華大學(xué)出版社,2005,(03):102-132.

        [5] 張志剛.FPGA與SOPC設(shè)計教DE2實踐[M].西安:西安電子科技大學(xué)出版社,2007,(4):54-72.

        注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文

        久操视频新免费伊人| 色偷偷av男人的天堂| 国产精品亚洲综合久久系列| 亚洲丰满熟女一区二亚洲亚洲 | 亚洲永久国产中文字幕| 97成人精品国语自产拍| 日韩精品无码熟人妻视频| 中文字幕人妻无码视频| 国产莉萝无码av在线播放| 亚洲∧v久久久无码精品| 国产精品日韩高清在线蜜芽| 亚洲欧美日韩中文字幕网址| 国产毛片A啊久久久久| 国产麻豆一区二区三区在线播放| 在线久草视频免费播放| 亚洲综合在线观看一区二区三区 | 国产v片在线播放免费无码| 日韩亚洲欧美中文在线| 免费无码av片在线观看| 欧美在线观看一区二区| 久久这里有精品国产电影网 | 伊人99re| 丰满少妇又紧又爽视频| 免费在线观看视频专区| 日本一区二区三区四区在线视频| 国内自拍愉拍免费观看| 久久精品国产自在天天线| 亚洲av无码成人精品区在线观看| 亚洲AV永久无码精品表情包 | 色视频www在线播放国产人成| 岛国AV一区二区三区在线观看| 人妻少妇久久精品一区二区| 在线不卡精品免费视频| 蜜桃av噜噜一区二区三区9| 日韩精品真人荷官无码| 久久久精品人妻久久影视| 国产精选免在线观看| 日韩熟女精品一区二区三区视频| 日本第一影院一区二区| 综合五月激情二区视频| 日本人与黑人做爰视频网站|