• 机器学习在IC设计中的应用(二)--根据GBA时序结果来预测PBA


    本文转自:自己的微信公众号《集成电路设计及EDA教程》

    机器学习在IC设计中的应用(二)--根据GBA时序结果来预测PBA

    AOCV

    AOCV全称:Advanced OCV,28nm及以下工艺节点开始逐渐使用的STA方法。与之前的OCV(设置全局的timing derate值)相比能显著降低时序分析的悲观程度,使得时序分析结果更加接近真实结果。

     GBA与PBA 

    AOCV有两种模式,如下:

    GBA (Graph-Based Analysis) : 一个Cell的delay,取多个输入的input transition的最差值去查表;

    PBA (Path-Based Analysis):一个Cell的delay,不同path,分别按照input transition的真实值计算查表;

    两者的区别如下图所示:

    因此GBA的Timing会过于悲观,但是好处是计算保守,试想在最差情况下Timing如果满足的话,PBA mode下timing会更满足(如下图所示,GBA mode的包络线将所有PBA的点全部囊括在内)。

    PBA mode与GBA mode相比,减少了分析的悲观程度,让分析结果更加接近真实的情况(现在的POCV等手段都是为了这个目的)。因此PBA mode的分析结果更加真实,一般用来Signoff timing用。

    那你可能会问,PBA mode更加精确的话为什么还会去用GBA mode呢?

    那是因为GBA mode有一个优点:计算速度快。

    所以GBA和PBA是一个速度和精度的trade off。

    下图给出了对数坐标下PBA与GBA模式下运行时间的比值,用的EDA工具是商用Signoff STA工具,工艺是28nm FDSOI。横坐标是设计的复杂程度,从4K flip-flop 40K个单元到 350K flip-flop 990K个单元。

     从上图可知,随着设计复杂度的增加,PBA的运行时间的增加程度比指数增长还要快。

    下图给出了GBA mode与PBA mode下两者在path arrival time上的对比结果,最差情况下偏差可达110ps。

     那么问题来了,考虑到PBA mode运行时间的恐怖程度与GBA分析结果的悲观程度,有没有什么好的方法,能减小GBA的悲观程度,同时又不牺牲运行时间呢?这就是本推文要介绍的内容—如何基于GBA的timing结果去预测PBA timing?

    实现思路 

    训练阶段:同时将GBA和PBA时序分析的结果作为特征提取和模型训练的输入对模型进行Training。

    测试/应用阶段:

    根据GBA时序分析的结果去预测PBA结果。

      

    具体细节和算法见参考文献:

    《Using Machine Learning to Predict Path-Based Slack from Graph-Based Timing Analysis》

    文章早期尝试了多元自适应回归样条(Multivariate Adaptive Regression Splines, MARS)模型。结果: 90%的endpoint的PBA slack预测值与PBA slack真实值之间偏差在5ps以内。如下图所示:

    MARS介绍:

    https://github.com/KeKe-Li/tutorial/blob/master/assets/src/RAM/RAM.0.4.md

    从上图可以看出这种思路是可行的,且效果较好,但是该模型存在一些问题,文章提出了一个基于决策树和时序路径中stage bigrams电气和物理特征的模型。并取得了不错的结果。

    结果 

     下图是真实的GBA/机器学习预测的PBA结果与真实的PBA结果的对比曲线:

     

     

    从图中可以看出与传统的GBA分析结果相比,基于GBA和机器学习的方法在一定程度上降低了GBA模式的悲观程度,且与真实的PBA分析结果的线性度更高,GBA和PBA之间的结果离散程度比较大。虽然该成果的效果不是非常明显,但是思路非常新颖,扩展了我们的视野,相信以后在该方面会有更大的突破。

    尾注 

    研究生阶段做过ML的算法和芯片,上述内容部分基于参考文献、已有的ML经验、IC设计经验,还有一些胡思乱想,哈哈哈,希望在脚踏实地做IC的同时也能采用一些大胆新颖的想法来让IC设计变得更有效率,把活儿干的更漂亮,同时让自己更加出色。

    多分享,多点赞;

    您的支持是我更新的动力,谢谢您的关注,更多资料请移步公众号《集成电路设计及EDA教程》

    网易云课堂视频课程

      

    链接:https://study.163.com/course/introduction/1005909004.htm

    Calibredrv教程-提高流程自动化

    ##  为了方便大家交流讨论  ##

    ##  建了一个QQ群  ##

    ## 集成电路设计及EDA教程  ##

    ## 加群请备注:EDA  ##

    ##  群二维码如下  ##

    # 本公众号有个红包和资料福利微信群  #

    #  集成电路设计及EDA教程福利群  #

    #  为了避免乱七八糟的人加进来  #

    #  可以先加我微信,我拉你进群  #

    #  加我微信 请备注下面问题的答案  #

    #       ASIC的全称       #

  • 相关阅读:
    设计模式总结
    设计模式之工厂
    C#
    UML画图总结
    UML视频总结
    类图
    读取文件信息
    HMAC算法加密
    SHA_1计算消息摘要
    获取指定长度的随机字符串
  • 原文地址:https://www.cnblogs.com/ASIC-Horizon/p/11182146.html
Copyright © 2020-2023  润新知