在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于LEON開源軟核的SOC平臺(tái)構(gòu)建與測(cè)試

            基于LEON開源軟核的SOC平臺(tái)構(gòu)建與測(cè)試

            ——
            作者: 時(shí)間:2008-01-17 來源: 收藏

              引 言

              伴隨著系統(tǒng)功能日益多樣化、軟件算法愈加復(fù)雜和集成度要求更高的趨勢(shì),在大規(guī)??删幊唐骷显O(shè)計(jì)、驗(yàn)證和測(cè)試成為解決方案之一。系統(tǒng)設(shè)計(jì)的要求主要有:

             ?、侔踩浴?a class="contentlabel" href="http://www.biyoush.com/news/listbylabel/label/芯片">芯片的所有功能模塊運(yùn)行正常,運(yùn)行機(jī)制透明,可靠性強(qiáng)。

             ?、诳膳渲眯浴8鶕?jù)應(yīng)用要求對(duì)硬件進(jìn)行裁減和配置,達(dá)到最佳的功能、功耗和面積比。

             ?、鄹哌\(yùn)算能力。具備在特定時(shí)間內(nèi)完成復(fù)雜算法的運(yùn)算能力。

              芯片的核心是實(shí)現(xiàn)運(yùn)算和控制功能的微處理器。LEON是一款基于SPARC V8架構(gòu)的開源微處理器IP軟核,在VHDL源代碼基礎(chǔ)上,結(jié)合具體需求加入定制的運(yùn)算單元和外設(shè)接口建立SoC系統(tǒng)。在配置靈活的LEON核上運(yùn)行Embedded Linux,提供SoC調(diào)試和測(cè)試的基本平臺(tái)。

              1 軟硬件平臺(tái)構(gòu)建

              1.1 LEON軟核架構(gòu)簡(jiǎn)介

              LEON核心是一個(gè)與SPARCV8兼容的整數(shù)處理單元IU(Integer Unit),LEON2是5級(jí)流水線,LEON3是7級(jí)流水線。LEON包含整數(shù)硬件乘法和除法單元、雙協(xié)處理器接口(FPU浮點(diǎn)處理單元和Co-processor協(xié)處理器),分離的指令和數(shù)據(jù)總線(Harncard結(jié)構(gòu))。LEON通過高速的AMBA-AHB總線,指令緩存和數(shù)據(jù)緩存分別和內(nèi)存控制器及高速的外部接口相連傳輸數(shù)據(jù)。低速的AMBA-APB總線實(shí)現(xiàn)片上外設(shè)的接口,例如定時(shí)器、串口、網(wǎng)絡(luò)接口等。LEON3軟核可配置體系架構(gòu)如圖l所示。

              

            LEON3軟核可配置體系架構(gòu)

              1.2 LEON在SoC芯片開發(fā)應(yīng)用中的優(yōu)勢(shì)

              LEON軟核最突出的優(yōu)勢(shì)是其良好的可配置性和可移植性,以及遵循GPL許可證協(xié)議的開源性。這些特性保證導(dǎo)航系統(tǒng)SoC芯片的安全性,提供良好的性能和靈活的解決方案,也決定了在LEON上進(jìn)行嵌入式操作系統(tǒng)移植的特殊性。

              1.2.1 開源性

              基于GPL許可證協(xié)議,LEON非容錯(cuò)版本軟核IP提供VHDL源代碼,僅是容錯(cuò)版本的LEON軟核需要商業(yè)授權(quán)。源代碼公開足實(shí)現(xiàn)導(dǎo)航系統(tǒng)SoC芯片設(shè)計(jì)安全性的前提,同時(shí)也使研究者和開發(fā)者從根本上研究軟核的細(xì)節(jié)從而定制滿足具體應(yīng)用的軟核成為可能。與全部源代碼開放的LEON相比,Altera的NIOS軟核等其他軟核僅提供若干接口,無法在更深的軟核層次上進(jìn)行設(shè)汁和優(yōu)化。

            {{分頁}}

              1.2.2 優(yōu)異的可配置性

              LEON軟核通過集成一套豐富的接口和運(yùn)算單元IP庫,根據(jù)具體要求來達(dá)到性能、功耗和面積的平衡和優(yōu)化的目的。

             ?、佘浐薎U可配置參數(shù)包括流水線的深度、地址和數(shù)據(jù)高速緩存(Cache)。另外,常用指令及指令序列可以根據(jù)定制的硬件進(jìn)行優(yōu)化;在設(shè)計(jì)或配置新運(yùn)算單元后能夠?qū)χ噶罴M(jìn)行擴(kuò)展。在導(dǎo)航系統(tǒng)SoC芯片設(shè)計(jì)中,通過配置LEON的整數(shù)硬件乘除法單元以實(shí)現(xiàn)較高的運(yùn)算性能;而在其他某些使用軟件乘除法,即滿足要求的應(yīng)用中無需配置,以降低功耗和優(yōu)化芯片面積。

              ②外圍設(shè)備接口硬件通過掛載AMBA總線來實(shí)現(xiàn)。LEON3的AMBA-AHP總線上能夠靈活選擇集成opencores的以太網(wǎng)控制器和GRETH以太網(wǎng)控制器中的任意一個(gè)。針對(duì)導(dǎo)航系統(tǒng)中常見的1553總線接口設(shè)備,在LEON中通過配置GRl553單元完成1553總線到AMBA-AHB總線的轉(zhuǎn)換,為1553總線沒備的集成提供了方便。

              ③硬件加速單元(如特定加密算法、數(shù)字信號(hào)處理單元和浮點(diǎn)處理單元)根據(jù)需求集成。

              優(yōu)異的可配置性帶來了硬件設(shè)計(jì)極大的靈活性,也為嵌入式操作系統(tǒng)的移植帶來了一定難度(特別是在擴(kuò)展了指令集的情況下)??紤]到進(jìn)行性能測(cè)試的完整性和靈活性,LEON3軟棱在本項(xiàng)目中的配置方案如圖2所示。(詳細(xì)配置參數(shù)未列出)

              

            LEON3軟棱在本項(xiàng)目中的配置方案

              1.2.3 良好的可移植性

              LEON軟核通過層次度分明的VHDL模型實(shí)現(xiàn)。通過VHDL中特定的配置接口,LEON核的關(guān)鍵參數(shù)(例如修改Cache的大小和組織方式,乘法器的生成,速度、芯片面積的調(diào)整以及容錯(cuò)方案的選擇)都能夠靈活設(shè)置和移植;而唯一使用專用技術(shù)的模型是內(nèi)存宏模塊。這一部分的設(shè)計(jì)采用了加上中間交互層接口的方式,因此移植的工作僅需重新編寫中間交互層接口。導(dǎo)航系統(tǒng)中包括單次濾波在內(nèi)的大量算法經(jīng)過硬件實(shí)現(xiàn)后需集成在LEON中,根據(jù)LEON特定的配置接口即可實(shí)現(xiàn)集成和SoC系統(tǒng)移植。在本硬件平臺(tái)的設(shè)計(jì)中,針對(duì)特定硬件開發(fā)板,通過修改頂層module文件設(shè)置以及更新引腳配置,即可完成硬件設(shè)計(jì)的移植工作。

            {{分頁}}

              目前,LEON在研究領(lǐng)域被廣泛應(yīng)用,特別是作為軟核嵌入在可編程器件中,作為構(gòu)建SoC芯片的控制和運(yùn)算中心。LEON軟核的容錯(cuò)版本也已經(jīng)用在了空間站上。在本導(dǎo)航系統(tǒng)SoC芯片項(xiàng)目中,選擇了開源且配置靈活的LEON硬件平臺(tái)和Linux軟件平臺(tái),并且在初期測(cè)試中表現(xiàn)出良好的性能。在本驗(yàn)證平臺(tái)上,SoC系統(tǒng)需要以太網(wǎng)接口、1553總線接口、串口、通用I/O口以及調(diào)試單元,具體配置方案如圖3所示。

              

            具體配置方案

              1.3 Linux系統(tǒng)的移植和調(diào)試

              近年來Linux憑借其開源、性能優(yōu)異、軟件資源豐富的優(yōu)勢(shì),在嵌入式平臺(tái)上得到了廣泛的應(yīng)用。在LEON上運(yùn)行的操作系統(tǒng)日前已經(jīng)有RTEMS、eCOS、VxWorks和嵌入式Linux。選擇嵌入式Linux的主要原用,是由于Linux的開發(fā)平臺(tái)搭建得比較完善,在工具鏈、內(nèi)核移植、驅(qū)動(dòng)程序以及應(yīng)用程序的各層上都有很好的支持;使用Linux開發(fā)能夠大大加快開發(fā)的進(jìn)度,并滿足多數(shù)應(yīng)用的指標(biāo)。目前,對(duì)LEON提供良好支持的Linux發(fā)行版有Snapgear。由于LEON軟核優(yōu)異的可配置性和可移植性.在LEON上進(jìn)行Linux的移植工作與普通定制的嵌入式微處理器相比,有很多特殊點(diǎn)和難點(diǎn),主要表現(xiàn)在兩個(gè)方面。

              (1)配置和編譯內(nèi)核

              編譯內(nèi)核的目的在于,生成在目標(biāo)CPU上運(yùn)行的內(nèi)核。由于LEON自身硬件的可配置性,Linux的源代碼中也需要加入與硬件核相關(guān)的選項(xiàng)進(jìn)行配置。若LEON軟核配置IP,例如硬件加速單元、加密單元或外設(shè)接口,則Linux內(nèi)核中需加入驅(qū)動(dòng)程序。因此,內(nèi)核的配置分為兩類,一類是配置LEON軟核自身的設(shè)置,另一類是配置目標(biāo)板上的其他外圍設(shè)備,例如內(nèi)存系統(tǒng)、外設(shè)接口等。與一般的定制嵌入式CPU(如ARM體系的CPU)相比,前一類配置是LEON獨(dú)有的。這種配置的靈話性為軟硬件平臺(tái)的定制提供了極大的方便。例如,Snapgear Embed-ded Linux根據(jù)具體需求配置硬件乘除法指令和浮點(diǎn)運(yùn)算單元FPU:在不需要進(jìn)行浮點(diǎn)運(yùn)算的應(yīng)用中,配置LEON硬件就不需配置浮點(diǎn)單元,相應(yīng)Linux的配置中取消FPU,進(jìn)而節(jié)省硬件資源和軟件的開銷。

              項(xiàng)目中實(shí)際采取的LEON軟核配置方案為:LEON核選擇LEON2MMU或LEON3MMU,時(shí)鐘頻率為50MHz,配置硬件整數(shù)乘除法指令和FPU對(duì)應(yīng)的浮點(diǎn)操作指令。外圍設(shè)備配置的串口的起始波特率為38 400 bps,另外,還配置了只讀存儲(chǔ)區(qū)ROM和隨機(jī)存取器RAM。

            {{分頁}}

              (2)調(diào)試內(nèi)核

              LEON軟核平臺(tái)調(diào)試工具有:TSIM、GRSIM和GRMON。

              TSIM:SPARC架構(gòu)處理器通用軟件仿真器,用于軟件仿真ERC32-和LEON微處理器。

              GRSIM:LEON平臺(tái)軟件仿真器,支持多處理器平臺(tái)(MP)。

              GRMON:LEON平臺(tái)硬件仿真調(diào)試器,支持基于GRLIB軟核IP的SoC設(shè)汁的硬件調(diào)試。

              TSIM作為軟件模擬的VHDL模型,調(diào)試過程中常見的啟動(dòng)選項(xiàng)設(shè)置如下:

              -freq:設(shè)置TSIM模擬LEON處理器硬件的工作頻率,LEON3默認(rèn)為50 MHz。

              -fpm:配置模擬FPU模塊。

              -nfp:針對(duì)無FPU的模擬硬件平臺(tái)關(guān)閉FPU。

              一nov8:針對(duì)無硬件乘除法硬件平臺(tái)關(guān)閉硬件乘除法指令。

              -pr:指定使用性能觀察器。

              在TSIM-LEON平臺(tái)上進(jìn)行程序的測(cè)試和調(diào)試過程中,Profiling(性能觀察器)能夠顯示程序各個(gè)分支函數(shù)以及宏在實(shí)際運(yùn)行中占用的資源,從而為程序的進(jìn)一步優(yōu)化提供必要參考,例如某測(cè)試程序在程序運(yùn)行完畢后使用pro命令得出的結(jié)果:

              

            某測(cè)試程序在程序運(yùn)行完畢后使用pro命令得出的結(jié)果

              宏_muldf3和_adddf,3在程序運(yùn)行中占用了大量時(shí)間,需進(jìn)一步優(yōu)化。經(jīng)測(cè)試證明,通過在LEON中集成FPU消除了宏_muldf3和_adddf3,從而大幅提高浮點(diǎn)運(yùn)算性能。

            {{分頁}}

              2 LEON數(shù)學(xué)運(yùn)算性能及算法測(cè)試

              在LEON軟核系統(tǒng)上移植成功Linux后,通過特定測(cè)試程序驗(yàn)證LEON在數(shù)學(xué)運(yùn)算上的性能,以確定是否滿足項(xiàng)目開發(fā)的需求。測(cè)試中對(duì)比ARM9 SC32410,分析LEON以及其集成FPU配置的性能,并根據(jù)測(cè)試結(jié)果對(duì)軟硬件配置進(jìn)一步優(yōu)化。由于LEON硬件配置十分靈活,因此在測(cè)試中采用了多種平臺(tái),編譯程序的選項(xiàng)也有對(duì)應(yīng)的設(shè)置。中斷響應(yīng)、功耗等雖然也是處理器性能的重要方面,但本文尚未涉及。

              2.1 測(cè)試平臺(tái)

              (1)硬件測(cè)試平臺(tái)

              硬件測(cè)試平臺(tái)如表1所列。

              

            硬件測(cè)試平臺(tái)

              TSIM仿真器通過主機(jī)的浮點(diǎn)機(jī)制來進(jìn)行浮點(diǎn)運(yùn)算仿真,因此仿真器的浮點(diǎn)精度與主機(jī)平臺(tái)相關(guān)。仿真器的時(shí)間精度與MeikoFPU相同,集成FPU的LEON3相當(dāng)于集成MeikoFPU的LEON3。

              (2)軟件測(cè)試平臺(tái)

             ?、貺EON2和LEON3在Linux 2.6.11下運(yùn)行。

             ?、谥苯邮褂胓cc編譯生成程序加載到LEON上并運(yùn)行,無操作系統(tǒng)。

             ?、跾amsung S3C2410在Linux 2.4.18下運(yùn)行。

              (3)不同硬件測(cè)試平臺(tái)上測(cè)試程序說明

              不同的硬件平臺(tái)和軟件平臺(tái)的搭配需在編譯程序過程中指定特定選項(xiàng)(通過Makefile管理):

             ?、?mmft-float選項(xiàng)。LEON平臺(tái)上若未集成FPU,則進(jìn)行浮點(diǎn)運(yùn)算必須指定該選項(xiàng),此時(shí)所有浮點(diǎn)運(yùn)算轉(zhuǎn)化為軟件模擬實(shí)現(xiàn),代價(jià)是運(yùn)行時(shí)間大大增加,優(yōu)勢(shì)是能夠節(jié)省硬件資源(加入FPU后LEON的LE的使用率是無FPU情況下的近2倍)。

             ?、?mv8選項(xiàng)。LEON平臺(tái)上配置硬件整數(shù)乘除法構(gòu)件時(shí)需要指定該選項(xiàng)。

             ?、踫parc-Iinux-gcc和sparc-elf-gcc編譯器。對(duì)于LEON平臺(tái),若在Linux系統(tǒng)上運(yùn)行測(cè)試程序,則需用sparc-linux-gcc進(jìn)行編譯,程序使用動(dòng)態(tài)鏈接庫完成鏈接;若直接在LEON硬件上加載運(yùn)行,則需用sparc-elf-gcc進(jìn)行編譯,程序使用靜態(tài)鏈接庫完成鏈接。

             ?、躠rm-linux-gcc編譯器。ARM9的S3C2410編譯器為arm-linux-gcc。

              ⑤-O3優(yōu)化選項(xiàng)。LEON和ARM的微處理器通過指定該選項(xiàng)進(jìn)行程序算法優(yōu)化。

            {{分頁}}

              2.2 測(cè)試項(xiàng)目及說明

              測(cè)試項(xiàng)目1:整型數(shù)組與浮點(diǎn)數(shù)組的加法、乘法及乘加運(yùn)算。每種類型的運(yùn)算都循環(huán)50 D00次,以驗(yàn)證LEON各種平臺(tái)和ARM9的MCU在數(shù)學(xué)運(yùn)算上的性能,并分析加入Linux系統(tǒng)后程序運(yùn)行性能的變化。

              測(cè)試項(xiàng)目2:?jiǎn)未螢V波算法,程序每一次運(yùn)行包含12 791次浮點(diǎn)乘法和13 595次浮點(diǎn)加法,以驗(yàn)證在導(dǎo)航系統(tǒng)的濾波算法中LEON在多種配置下的性能。

              測(cè)試程序采用clock()系統(tǒng)調(diào)用獲取算法開始運(yùn)行和結(jié)束運(yùn)行的時(shí)間,并以算法的運(yùn)行時(shí)間作為衡量系統(tǒng)效能的唯一標(biāo)準(zhǔn)。

              2.3 測(cè)試總結(jié)

              LEON平臺(tái)靈活的軟硬件配置在多項(xiàng)測(cè)試中表現(xiàn)優(yōu)異,總結(jié)如下:

             ?、倥c主流ARM9微處理器在數(shù)學(xué)運(yùn)算上性能相當(dāng)。

              ②嵌入式Linux操作系統(tǒng)平臺(tái)相對(duì)于無系統(tǒng)平臺(tái)有一定資源開銷,根據(jù)具體應(yīng)用合理選擇軟件平臺(tái)是否需要嵌人式Linux系統(tǒng)。

             ?、壑付?mv8和-O3選項(xiàng)后程序性能提升顯著,根據(jù)具體應(yīng)用合理選擇是否配置整數(shù)硬件乘除法器。

             ?、躄EON硬件配置FPU后浮點(diǎn)運(yùn)算性能提高一個(gè)數(shù)量級(jí),代價(jià)是綜合需要的邏輯資源增長(zhǎng)一倍,在權(quán)衡性能和可編程器件資源后合理選擇配置方案。

              結(jié)合導(dǎo)航系統(tǒng)SoC芯片高速數(shù)據(jù)處理的需求,設(shè)計(jì)方案定型為L(zhǎng)EON+FPU,在測(cè)試中能夠滿足系統(tǒng)的運(yùn)算吞吐量指標(biāo)要求。

              可配置FPU對(duì)LEON數(shù)學(xué)運(yùn)算性能的提升極為有效,特別是在運(yùn)算密集型的SoC設(shè)計(jì)中。LEON3的GRFPU相對(duì)于其他常見微處理器的FPU有較大優(yōu)勢(shì)。表2為若干處理器核FPU單元完成浮點(diǎn)運(yùn)算指令需要的處理(延遲)時(shí)鐘周期數(shù)對(duì)比情況。

              

            若干處理器核FPU單元完成浮點(diǎn)運(yùn)算指令需要的處理

              時(shí)鐘周期數(shù)說明:括號(hào)外數(shù)字是指令處理周期數(shù),即硬件流水線中完成該指令的周期;括號(hào)內(nèi)數(shù)字是指令延遲周期數(shù),即該指令進(jìn)入流水線至從流水線中輸出結(jié)果所需要的時(shí)鐘周期數(shù)。

              3 結(jié)論

              作為硬件VHDL代碼開源的SPARC架構(gòu)軟核IP微處理器,LEONX(包括LEON2和LEON3)良好的可移植性和可配置性使其成為建立片上系統(tǒng)微處理器的一個(gè)優(yōu)選方案。采用Snapgear Embedded Linux的方案能夠提供一個(gè)從內(nèi)核、庫文件到常用應(yīng)用程序的驗(yàn)證原型。然而,LEON硬件配置上的改變、升級(jí)需要驅(qū)動(dòng)程序的支持,定制的軟件也需要自主開發(fā)。另外,在LEON平臺(tái)上移植并運(yùn)行良好的實(shí)時(shí)操作系統(tǒng)有RTEMS和eCOS,根據(jù)實(shí)際的需求可以靈活選擇這些軟件開發(fā)平臺(tái)。

              通過詳盡的對(duì)比測(cè)試,LEON軟核的性能優(yōu)異,在導(dǎo)航系統(tǒng)SoC芯片原型設(shè)計(jì)中得到驗(yàn)證。測(cè)試為基于LEON開源可配置軟核的嵌入式系統(tǒng)開發(fā)的軟硬件配置方式提供了有益的參考,特別是集成浮點(diǎn)處理單元FPU的方案。隨著可編程器件規(guī)模的超大型化,實(shí)現(xiàn)高性能且配置靈活的開源SoC硬件系統(tǒng)及軟件平臺(tái)的優(yōu)勢(shì)日益明顯。為制造ASIC提供前期原型論證提供極大方便。



            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉