基于Xtensa的ASIP開(kāi)發(fā)流程研究
現在設計可編程處理器,很少是全新定制指令,普遍采用的方式是在已有的某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設計的理論步驟。
本文引用地址:http://dyxdggzs.com/article/95269.htmXtensa開(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)的具體功能如下。
評論