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