基于Xtensa的ASIP開發(fā)流程研究
現(xiàn)在設(shè)計(jì)可編程處理器,很少是全新定制指令,普遍采用的方式是在已有的某RISC指令集基礎(chǔ)上進(jìn)行部分定制(或說擴(kuò)展/自定義/優(yōu)化指令)。理論上,為了研發(fā)一款ASIP式處理器,需要在已有GPP、ASIP、ASIC的基礎(chǔ)上調(diào)整數(shù)據(jù)通路(Datapath),即增加功能單元,如圖1所示的5級(jí)Pipeline處理器中添加自定義功能單元(Custom Unit),同時(shí)需要專用指令將操作數(shù)調(diào)入此自定義單元進(jìn)行數(shù)據(jù)處理。為了實(shí)現(xiàn)指令擴(kuò)展,首先需要分析應(yīng)用目標(biāo)數(shù)據(jù)處理算法的特性,從中找出那些經(jīng)常出現(xiàn)且可以綁定的基本操作包;然后從眾多實(shí)現(xiàn)方式(或大設(shè)計(jì)空間)如:(1)FLIX(VLIW或Multi-slot);(2)Vector(SIMD);(3)FUSED(Add-with-Shift-by-1)中選擇最合適的途徑[9-10]。因?yàn)樵O(shè)計(jì)者很難一次性找到最優(yōu)途徑,常常需要不同方式之間進(jìn)行比較,因此一般需要某些EDA工具幫助快速實(shí)現(xiàn)指令自定義以及分析當(dāng)前自定義指令對(duì)ASIP性能的影響。圖2采用Top-down方式示意出ASIP設(shè)計(jì)的理論步驟。
本文引用地址:http://www.ex-cimer.com/article/95269.htmXtensa開發(fā)工具集
目前,可用于ASIP體系結(jié)構(gòu)及指令系統(tǒng)開發(fā)的EDA工具,包括Tensilica的Xtensa開發(fā)工具集(Xplorer、XCC、XPRES、XTMS、XEnergy),CoWare的Processor Design,University of Campinas的ArchC等。但Tensilica 的Xtensa開發(fā)工具集因功能強(qiáng)大而得到廣泛應(yīng)用。
Tensilica針對(duì)SoC應(yīng)用而設(shè)計(jì)的Xtensa系列可配置處理器及其開發(fā)工具,提供了一種自動(dòng)化程度非常高的開發(fā)流程,該流程包括仿真C/SystemC級(jí)算法、調(diào)整處理器體系結(jié)構(gòu)、向基本處理器添加專用指令、自動(dòng)生成硬件RTL代碼和與之相匹配的軟件工具鏈(如編譯器等),通過可配置處理器技術(shù)和TIE(Tensilica Instruction Extension)指令擴(kuò)展技術(shù)替代了RTL開發(fā)。和ASIP相關(guān)的具體功能如下。
評(píng)論