机器学习驱动的多Corner STA 加速方法∗

2019-11-29 05:13张书政赵振宇冯超超
计算机与数字工程 2019年11期
关键词:互信息稳健性时序

张书政 赵振宇 冯超超

(国防科技大学计算机学院 长沙 410073)

1 引言

在摩尔定律[1]的驱动下,集成电路集成度和技术节点飞速发展,十余年来集成晶体管数量从数百万发展到了数十亿[2]。这使得设计人员和计算资源无法跟上芯片复杂度快速上升的趋势,导致了芯片设计成本和周期的增加,高效的设计方法是应对这个局面的关键。机器学习如今在各个领域都有广泛的应用,其能学习数据规律建立模型从而快速推断结果[4]。将机器学习应用于物理设计中可以挖掘设计规律,且基于推断的求解可以越过EDA工具在物理设计NP 难问题上漫长的求解过程[5],从而加速芯片设计。国内外很多学者在此方面有了成功的研究,包括布线结果预测[6~7],时钟树综合结果预测[8],光刻热点检测等[9~10]等。而在时序驱动的物理设计中,静态时序分析(STA)的结果决定了设计是否合格,在设计的修改和优化中会反复进行求解,本文研究基于机器学习的高效STA分析方法。

2 时序分析特性

在数字电路中,静态时序分析需要使用描述各个单元时序信息的时序库文件,它定义了单元在不同工艺、电压、温度(PVT)下从输入端口到输出端口信号的传播延时。传统方法最常用的Corner 为最佳、最快(fast,fast),最差、最慢(worst,worst)和典型(typical,normal)三种[11],这是由于运行时间成本,往往一个设计无法跑遍所有的Corner,一些混合Corner无法详细地进行分析,只能用临界情况来进行分析,这使得设计出现了很多设计裕量,浪费设计性能和资源。高效的多Corner 分析方法可以获得性能和运行时间的共同优化。

时序库中的Corner 是在不同PVT 下进行仿真得出来的,一些Corner之间存在部分PVT相同的情况,故存在着相关性,如表1 所示,编号第2、6、9 的Corner 间只有温度不同,其必然存在很高的相关性。相关文献[12]也表明了Corner 角之间的相关性。

表1 本工作Corner具体参数(Process均为16nm,Voltage均为0.6V)

3 已知Corner 到未知Corner 的机器学习模型

为了发掘Corner时序结果之间具体的关系,可以将其建模为y=f(x),其中,x 和y 分别为一些Corner 的集合,f 为这些Corner 的相关关系,为了发掘具体关系,本文分别采用了线性和非线性两种机器学习算法,建立从1~n 个已知Corner 结果预测n+1~N 个未知Corner 结果的模型,其中n 为已知Corner数,N为总Corner数。根据实验来确定不同Corner之间的关系并选取合适的n值,实现已知Corner对剩余未知Corner的快速预测。

3.1 数据集获取

本文只研究保持时间,建立时间研究方法相同。基于已有的14 个Corner(表1),针对118 万单元规模的芯片取每个Corner 布线后时序结果的前10000 条最差时序路径,之后取并集,将得出的26985 条时序路径进行所有Corner 结果的获取,在2.27GHz主频的Intel Xeon服务器上,单Corner静态时序分析运行时间约为1h。

3.2 Corner间相关关系的确立及模型结果

3.2.1 多Corner互信息分析结果

为了显示各个Corner 时序结果之间的关联程度,采用互信息的计算方法。互信息可以量化的度量各种不同信息相关性,时序结果是连续量,其互信息公式如下[13]:

其中,p(x,y)是X 和Y 的联合概率密度函数,p(x)和p(y)分别为X 和Y 的边缘概率密度函数。之后利用公式将互信息缩放至0~1之间:

缩放后I′(X;Y)越靠近1,说明X 和Y的相关性越大。14 个Corner的互信息结果如图1 所示,浅色代表相关性高,可以看出,1~10 存在广泛的相关性,而11~14存在彼此之间的高相关。

图1 不同Corner 之间互信息热度图

3.2.2 基于嵌入式算法的Corner选择

由于本文是利用Corner 时序结果之间的相关性来通过一部分已知Corner 的时序结果来预测另一部分未知Corner 的时序结果,如何选取“已知”Corner 集合是一个比较重要的问题,下文把已知Corner 集合称为训练集,待预测的“未知”Corner 集合称之为目标集。

选取合适的训练集是典型的特征选择问题。本文采用了嵌入式的特征选择方法,即将特征选择过程与机器学习模型训练过程融合为一体,同时完成。此过程采用两种机器学习算法:基于线性关系的岭回归(Ridge)和偏非线性关系的决策树(Decision Tree)算法[14]。

实验具体流程如图2 所示,首先选取互信息累加和最高的Corner 为第一目标Corner,建立初始的13 个Corner 预测1 个目标Corner 的模型。互信息累加和最高表明该Corner 和其他Corner 关联性较高,建模容易获得理想的结果。而后进行模型的训练和Corner 选择过程,特征重要性排序最低的Corner 意味着其在在训练集中作用很小,即与目标集中的Corner 项相关性很低或者在模型中可以在被其他Corner项表示,将其加入目标集。

图2 Corner选择流程

3.2.3 模型结果及分析

基于总数据集中26985 条路径,进行5 折交叉验证[15],以得到模型的平均表现,以平均绝对误差(MAE)作为评估指标。分别对训练集Corner 数从13 到1(目标集Corner数从1~13)进行了建模,结果如图3所示。

图3 两种机器学习算法上不同Corner数量对应的平均绝对误差

显然,岭回归的算法表现更好,在利用7 个Corner 预测余下7 个Corner 时,能达到平均2.07ps(1.76%)的误差,优于决策树算法利用13 个Corner预测1 个Corner 的2.33ps,可见应采取线性模型来发掘Corner 时序结果之间的关系。模型训练和预测的时间小于1min,远小于商业STA 工具所需的1h。

4 基于模型稳健性的约束驱动的Corner选取

4.1 模型稳健性检验

模型的稳健性由模型的精度和有效性反映,具体检验模型在不同训练集百分比下使用已知Corner 预测未知Corner 的表现,首先划分训练集和测试集,使训练集分别占比70%,60%,30%,10%,5%,1%。之后针对不同的已知Corner数量,在训练集上进行模型训练并预测未知Corner。结果以精度损失百分比作为评判,定义为:

其中X为当前训练集百分比下相应Corner的MAE,Y为在基准训练集百分比下相应Corner的MAE。

图4 模型在不同训练集百分比下在相应Corner选取策略上的表现

结果如图6 所示,显然,当训练集百分比从70%下降到1%时,其精度损失不大,具体数值不会超过0.15ps。这表明该建模方法具有很强的稳健性,具有使用极少量(1%)的训练数据进行高精度预测的能力。与相关研究[16]对比,我们可以在可接受的精度损失下,采用更少的数据进行有效的预测,具备更好的应用价值。

4.2 约束驱动的Corner选取

不同设计,以及不同阶段的STA,具有不同的误差阈值,基于模型的高稳健性,可以针对不同的情况提取少量数据进行训练而后预测,本工作模型训练后会给出Corner 的具体选择策略和对应的误差值,据此可以实现约束驱动的Corner 选择,从而很好地对未知Corner 进行预测,节省大量的时间。在本文的具体实验中,基于设计所处的布线后时序分析阶段,前期采用极少量数据进行建模,之后选取高精度的预测策略:采用9 个Corner 的数据预测未知5 个Corner 的数据,可以在小于1ps 的平均绝对误差下,获得1.56x的时间效率提升。

5 结语

随着工艺不断进步和芯片功能需求的不断上升,芯片复杂度将越来越高,由于物理设计本身的重要性和耗时性,对物理设计进行加速优化已经成为当今的热点之一。机器学习模型可以从历史数据学习设计经验,并具有快速精准推断结果的能力,可以减少设计重复率,缩短芯片物理设计周期。本文主要从STA的特点出发,利用机器学习发掘了多Corner时序结果的线性相关性,并建立部分已知Corner预测余下未知Corner的模型,其结果精度高,在大部分设计的误差接收范围内。同时基于模型的强稳健性,可以通过极少的数据进行高效准确的预测,从而达成约束驱动的Corner 选取,有效地减少多Corner下的STA 分析时间,显著加速整个设计流程。

猜你喜欢
互信息稳健性时序
顾及多种弛豫模型的GNSS坐标时序分析软件GTSA
清明
基于GEE平台与Sentinel-NDVI时序数据江汉平原种植模式提取
你不能把整个春天都搬到冬天来
会计稳健性的定义和计量
会计稳健性的文献综述
不确定性、会计稳健性与投资效率
会计稳健性的经济后果研究述评
基于改进互信息和邻接熵的微博新词发现方法
基于互信息和小波变换的图像配准的研究