>
首页 » 技术文章 » 参数化软IP核的速度、面积和功耗估算方法

参数化软IP核的速度、面积和功耗估算方法

作者:夏 军,袁丽霞,邹雪城,齐 欢  时间:2007-01-14 21:22  来源:

摘要: 鉴于可参数化的IP 核是利用当代IC 工艺快速增长集成能力的关键,提出了一种新的估算参数化软IP核速度、面积和功耗性能的方法。 该方法通过将性能函数分解为互不相交的变量子集,解决了因配置多样性产生的组合问题。使用该方法,只需以ASIC 设计流程实现IP 核选定的几种配置便可以预测其他任意配置下的IP 核的性能。

关键词: 软IP 核; 性能估算; ASIC

  可参数化的IP 核可以被用户化以满足特定的需要。由于配置多样性,估计参数化的IP 核的性能非常困难。例如,假设一个IP 核有10 个参数而每个参数有4 种取值,则配置数目超过了1 ×106 。因此以目前的ASIC 流程来特征化IP 核的性能要花费大量的时间同时又可能带来资源紧张。以前提出的一些IP 核性能估计方法①无法在时间和精度两方面同时满足要求。本文利用了性能特征函数的可分解性来解决这个组合问题。

  性能函数分解理论

一个配置变量是一个在有序、有限集合取值的离散变量。一个配置空间是一个多维离散空间,其中每一维对应一个配置变量而每一点对应一种配置。在配置空间上的度量函数将配置点映射到一个唯一的实际值。速度、面积和功耗分别都是一种度量函数。

定义1 :由变量X 构造配置空间S ( X) , 在知道度量函数f ( X) 尽可能少的配置点的基础上如何推断在配置空间S ( X) 中任意点的度量函数称为特征化。

定义2 :f ( X) 在S ( X) 上的特征集CS ( f ,X) 定义为为了推断在配置空间上任意点的度量函数f ( X) 而必须知道的配置点的最小集合。

在以下的讨论中, x i 表示配置变量, 它在一个有序、有限集合Ci 中取值。X 是一个由配置变量组成的k 维数组,即X = { x 1 , x 2 , ..., x j , x j + 1 ,x j + 2 , ..., x k} 。 同时X1 表示j 维数组{ x 1 , x 2 , ...,x j} , X2 表示k - j 维数组{ x j + 1 , x j + 2 , ..., x k} ,则k 维数组X 可以表示为{ X1 , X2 } 。 X [ p ]表示配置空间S ( X) 上的一个点,而X1 [ p ]和X2 [ p ]分别表示配置空间S ( X1) 和S ( X2) 上的点。 对于点X[ p ] , 每一个配置变量被设置为相应的配置变量的值。

如果f ( X1 , X2) = f ( X1) ,则度量函数f ( X1 ,X2) 独立于X2 。如果度量函数f 独立于变量x i ,则当决定函数f 的特征集时可以把x i 固定为集合Ci 中的一个值。

依据函数分解理论, 如果一个度量函数被分解为一组函数而其中的每一个函数仅仅依赖于由配置变量构成的互不相交的一个子集, 则有可能在知道每个子集的取值而保持其他变量为常量的情况下推断出度量函数。可参数化IP 的含义就是可以利用IP 核性能函数的可分解性将IP 作为一个“黑盒子”来特征化它的性能函数。

分解定理是解决组合复杂性的关键。通过将函数f 分解为互不相交的变量子集,能够将大的特征化问题转化为许多小的特征化问题。

  性能估计

以下将分解理论应用于特征化IP 核速度、面积和功耗函数。一个隐含的假设为:只要处于不同子集里面的变量之间的二阶交互作用很小则所有变量就能够被划分为互不相交的子集。速度、面积和功耗特征函数都能够应用操作符“ 3 ”分解为工艺相关和工艺无关变量,

f ( T , M) = f T ( T)* f M ( M) 。 (1)

  工艺相关变量T 指的是工艺尺寸、工作电压和温度等。工艺无关变量M 指的是结构和微结构变量。式(1) 能够解决两个特征化问题:

a. 对同一种结构和微结构配置,能够特征化不同实现工艺下的性能函数;

b. 对一种特定的目标工艺,能够特征化不同结构和微结构变量下的性能函数。

速度

速度函数是用时钟周期来表示的。对于一种目标实现工艺来说, 时钟周期是由最长的时序路径决定的,这仅仅取决于结构和微结构变量。假设结构和微结构变量M 能够被划分成互不相交的子集Mi ( i = 1 , 2 , ..., k) 使得每一条时序路径的长度仅仅依赖于一个子集。 Mi 将时序路径集合划分为k 个子集,子集i ( i = 1 , 2 , ..., k) 上的最长时序路径是变量Mi 的函数。因此时序路径集合上的最长路径等于子集Mi 上的最长时序路径,即t ( M1 , M2 , ..., Mk) = max i ∈{ 1 ,2 , ..., k} tM( Mi) ,式中, tMi是仅仅依赖于变量Mi 的最长路径函数。

  面积
面积函数运用操作符“* ”分解为工艺相关变量的函数和工艺无关变量的函数。仅仅依赖于工艺相关变量的函数运用操作符“ *”分解为一组函数,在该组函数中每一个函数仅仅依赖于一个变量。同时,仅仅依赖于工艺无关变量的函数运用操作符“ + ”分解为一组函数, 在该组函数中每一个函数依赖于由存在关联的结构和微结构变量组成一个子集,各个子集互不相交。

将工艺相关变量表示为x1 , x 2 , ..., x k , 同时将由结构和微结构变量组成的不相交子集记为A j , j ∈{ 1 ,2 , ...m} 。 将面积特征化到变量x 1 , x 2 ,..., x k 和子集A j , j ∈{ 1 , 2 ,...m} ,则面积函数分解形式如下:

  功耗
IP 核的功耗建模比较复杂,因为它不仅与参数的取值有关(有些参数对功耗的影响与具体实现工艺有关) , 还与电路的动态行为有关。例如,一个微处理器的开关活动在它运行“等待”指令和运行算术指令时有很大的不同, 同时基于门控时钟的功耗管理单元的存在与否对功耗的大小也有显著的影响。功耗度量函数运用“*”操作符分解形式如下:

f ( T , M , C) = f T ( T)* f C ( C) *f M ( M)

式中, T 代表与工艺有关的变量; C 代表门控时钟是否存在; M 代表结构或微结构变量。

  误差分析与实验结果

产生估计误差的原因主要有二:a.忽略了在互不相交子集里的变量之间的交互作用; b. 降低了性能特征函数的阶次。

通过采用冗余技术来减小误差,例如,利用多种结构和微结构配置下的性能值来特征化工艺对性能函数的影响, 而其几何平均值被用来决定工艺相关度量因子。 对度量函数里的一个变量,如果采用线性模型则采集两个数据点就足够了, 同时可以采用对一组数据点进行线性拟合的方法以消除由于降低阶次引起的误差。

本文运用Synopsys 公司的DesignCompiler和Cadence 公司的SiliconEnsemble 对一种参数化软IP 核的32 种配置情况进行了综合和布图。 以布图之后的时钟周期表示IP 核的速度。 由于布图之后的面积和综合之后的面积之间存在比例关系,所以可以以综合后的面积代表IP 核的面积。在布图之后的网表上反标连线寄生参数后运用Synopsys 公司的PowerEstimate 计算IP 核在各种配置下的功耗。 4 种有代表性的配置实验结果如表1 所示。

  表中, A 0 , S 0 和P0 分别表示实际面积、实际速度和实际功耗; A′, S 1 和P1 分别表示估算面积、估算速度和估算功耗;δAS 和δP 分别表示面积误差、速度误差和功耗误差。表1 显示,实际速度、面积和估计速度、面积值之间有着很大的相关性,由于功耗估计更困难,其误差比速度和面积估计误差偏大。而无论是速度、面积还是功耗,估计误差都在可以接受的范围内。 这说明通过本文方法,只需以ASIC 设计流程实现性能函数可进行变量分离IP 核选定的几种配置就可以预测其他任意配置下的IP 核的性能。

相关推荐

AMD成立半订制业务部门 抢客制化ASIC市场

AMD  ASIC  2013-05-13

超低噪声混合信号芯片 助力医疗CT性能显著提升

西门子  ASIC  CT  2012-11-15

泰克荣获ARM TechCon软件类“最佳产品奖”

泰克  示波器  ASIC  2011-11-10

博世授予ADI 公司2009-2010年度最佳供应商称号

ADI  ASIC  2011-08-22

基于FPGA的芯片设计及其应用

FPGA  ASIC  2011-06-17

ASIC设计转FPGA时需要注意的几点

FPGA  ASIC  2011-05-23
在线研讨会
焦点