基于Xtensa的ASIP開(kāi)發(fā)流程研究

發(fā)布時(shí)間:2009-6-21 11:00    發(fā)布者:李寬
關(guān)鍵詞: ASIP , Xtensa , 開(kāi)發(fā)流程
隨著(zhù)半導體工藝技術(shù)向著(zhù)納米尺度的發(fā)展,微電子技術(shù)進(jìn)入SoC(系統芯片)時(shí)代,且沿著(zhù)可靠性強、體積小、功耗低等方向繼續發(fā)展。在下一代 SoC設計流程中,系統級EDA工具的地位變得比以往更加重要,ESL(Electronic System Level)設計方法學(xué)將是設計下一代SoC的關(guān)鍵,因為逐漸縮短的上市時(shí)間需要硬件-軟件并行設計。

  本文以Tensilica Xtensa可配置、可擴展處理器為開(kāi)發(fā)平臺,探索了高性能低功耗ASIP(Application Specific Instruction-set Processor專(zhuān)用指令處理器)開(kāi)發(fā)流程。

  ASIP設計理論

  面向特定應用的ASIP處理器,既有ASIC執行特定應用的高效性,又有GPP處理器可編程的靈活性,能夠簡(jiǎn)化設計復雜度、縮短設計周期、加快上市步伐,在SoC設計中得到了廣泛的應用。如何快速高效地定制ASIP,使其滿(mǎn)足運算性能、芯片面積、上市時(shí)間和功耗等要求,是一個(gè)極具挑戰性的問(wèn)題。設計者需要在A(yíng)SIP指令集設計過(guò)程中在廣泛的設計空間進(jìn)行指令集探索,尋找滿(mǎn)足設計約束的處理器體系結構[1-8]。因此迫切需要可以支持快速ASIP設計的行為級設計方法和合適的EDA工具。




  現在設計可編程處理器,很少是全新定制指令,普遍采用的方式是在已有的某RISC指令集基礎上進(jìn)行部分定制(或說(shuō)擴展/自定義/優(yōu)化指令)。理論上,為了研發(fā)一款ASIP式處理器,需要在已有GPP、ASIP、 ASIC的基礎上調整數據通路(Datapath),即增加功能單元,如圖1所示的5級Pipeline處理器中添加自定義功能單元(Custom Unit),同時(shí)需要專(zhuān)用指令將操作數調入此自定義單元進(jìn)行數據處理。為了實(shí)現指令擴展,首先需要分析應用目標數據處理算法的特性,從中找出那些經(jīng)常出現且可以綁定的基本操作包;然后從眾多實(shí)現方式(或大設計空間)如:(1)FLIX(VLIW或Multi-slot);(2)Vector(SIMD); (3)FUSED(Add-with-Shift-by-1)中選擇最合適的途徑[9-10]。因為設計者很難一次性找到最優(yōu)途徑,常常需要不同方式之間進(jìn)行比較,因此一般需要某些EDA工具幫助快速實(shí)現指令自定義以及分析當前自定義指令對ASIP性能的影響。圖2采用Top-down方式示意出ASIP設計的理論步驟。





  Xtensa開(kāi)發(fā)工具集

  目前,可用于A(yíng)SIP體系結構及指令系統開(kāi)發(fā)的EDA工具,包括Tensilica的Xtensa開(kāi)發(fā)工具集(Xplorer、XCC、XPRES、XTMS、XEnergy),CoWare的Processor Design,University of Campinas的ArchC等。但Tensilica 的Xtensa開(kāi)發(fā)工具集因功能強大而得到廣泛應用。

  Tensilica針對SoC應用而設計的Xtensa系列可配置處理器及其開(kāi)發(fā)工具,提供了一種自動(dòng)化程度非常高的開(kāi)發(fā)流程,該流程包括仿真C/SystemC級算法、調整處理器體系結構、向基本處理器添加專(zhuān)用指令、自動(dòng)生成硬件RTL代碼和與之相匹配的軟件工具鏈(如編譯器等),通過(guò)可配置處理器技術(shù)和TIE(Tensilica Instruction Extension)指令擴展技術(shù)替代了RTL開(kāi)發(fā)。和ASIP相關(guān)的具體功能如下。





  (1) 對處理器的體系結構進(jìn)行配置的同時(shí),設計者可以在Xplorer中實(shí)時(shí)看到每一次調整對ASIP性能產(chǎn)生的影響,如圖3。

  (2) XPRES工具可以完全自動(dòng)地分析應用程序生成相應的指令擴展。設計人員只需輸人利用標準ANSI C/C++設計的原始算法,XPRES便可以根據內置的配置選項完全自動(dòng)化地產(chǎn)生多種TIE指令組合供設計者折中選擇。

  (3) 使用自定義的FLIX指令,它包括七種不同的64位指令字格式以及高達8個(gè)并行操作指令槽。FLIX提供VLIW風(fēng)格的并行執行功能卻沒(méi)有VLIW處理器會(huì )發(fā)生的“代碼膨脹”現象。

  (4) XEnergy可以根據最終的體系結構配置和指令系統(包括設計者自定義的TIE擴展指令)評估ASIP功耗指標。

  基于Xtensa開(kāi)發(fā)工具的ASIP設計流程

  本項目目標是設計一款實(shí)現低功耗無(wú)損壓縮的嵌入式ASIP。首先,經(jīng)過(guò)比較從眾多壓縮算法中選擇了簡(jiǎn)單高效的FELICS算法[11];然后開(kāi)發(fā)算法的C++代碼進(jìn)行實(shí)際圖像壓縮實(shí)驗。試驗結果:FELICS對12幅目標圖像的平均無(wú)損壓縮比為2.7:1,滿(mǎn)足本項目要求。之后的工作就是根據圖2流程實(shí)現針對FELICS算法的ASIP設計。

[/url]


  (1)將C++代碼輸入Tensilica Xplorer開(kāi)發(fā)環(huán)境,選擇系統自帶的sample_config-params (RB-2006.0)配置信息作為ASIP開(kāi)發(fā)的起點(diǎn),即在此基礎上進(jìn)行體系結構的調整和指令的自定義開(kāi)發(fā)。

  (2) 運行代碼并進(jìn)行特性分析(Profile),表1和表2是最基本的指令和時(shí)鐘周期信息,此外還可以得到pipeline甘特圖、Branch cycle和Interlock cycle對比圖等信息。這些信息為后續的體系結構調整和指令優(yōu)化提供了必要的數據依據。





  (3) 調整處理器配置信息中的眾多項目,如MUL16 / MUL32 / MAC、Zero-overhead loop instructions、Pipeline length、Number of coprocessors、Floating point coprocessor、Special register、Cache size等,設計者可以得到圖3所示的速度、面積、功耗信息。然后回到(2)再次運行代碼及特性分析,考察體系結構改動(dòng)帶來(lái)的影響。




  (4)利用XPRES工具,設置FLIX的Issue Width、SIMD的Vector Length、Register的Depth / Width / Ports、Fusion的Area / Latency / Operands等,XPRES會(huì )自動(dòng)生成若干種不同的自定義指令TIE供設計者選擇使用。設計者參考每一個(gè)TIE的Cycles和Gates數折衷考慮,當然設計者還可以手動(dòng)增加TIE指令。然后將TIE綁定到調整后的體系結構(配置信息)上,回到(2)運行代碼及特性分析,考察TIE帶來(lái)的性能提高效果。

  (5) 運行XEnergy命令工具,對以上步驟生成的ASIP進(jìn)行全面功耗評估,如表3所示。





  (6)經(jīng)過(guò)(2)到(5)多次反復調試,在Xtensa高效的開(kāi)發(fā)工具下,用戶(hù)很快會(huì )得到滿(mǎn)意的ASIP體系結構及指令系統。然后,將配置信息和TIE指令信息提交給Tensilica的服務(wù)器,Xtensa Porcessor Generator(XPG)會(huì )生成相應的RTL或Netlist,供用戶(hù)進(jìn)行后端實(shí)現,同時(shí)XPG還會(huì )生成ASIP所需的軟件開(kāi)發(fā)工具,如編譯器、匯編器,使設計人員省去了針對ASIP開(kāi)發(fā)編譯器(或編譯器重定向)的繁重工作。

  結語(yǔ)

  Tensilica Xtensa體系結構可配置、指令集可自定義處理器和Xplorer、XPRES、XEnergy等工具集大大提高了ASIP處理器開(kāi)發(fā)速度,加快了針對不同應用領(lǐng)域探索專(zhuān)用處理器設計空間的效率。本文重點(diǎn)敘述了借助Xtensa平臺開(kāi)發(fā)ASIP時(shí)前端設計的各個(gè)步驟,此設計流程具有較強的借鑒價(jià)值。
本文地址:http://selenalain.com/thread-2950-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页