zoukankan      html  css  js  c++  java
  • routing update

    route_auto这个命令表面看起来没啥变化,但内涵变了。

    记得之前好像说过,对于高速的设计,我们推荐使用三部曲,而不是直接使用route_auto:

    route_global

    update_timing

    route_track

    update_timing

    route_detail

    update_timing

    三部曲里,每个命令后面都带有update_timing。因为三部曲都是timing driven的,优先考虑critical path先绕,尽量让他们走直线。route_global后,critical path肯定多少有些变化,所以为了让route_track看到真实的critical path,需要update_timing。route_detail也是同样的原理。

    而现在route_auto升级了,里面自带update_timing,所以效果和三部曲+update_timing基本上是一样的。意味着再也不需要三部曲了!

    Timing driven route_global

    timing driven global route (route.global.timing_driven)早就有了,但是现在针对先进工艺有了升级,在global route中间会update_timing。

    其实原理和刚才讲的route_auto三部曲类似。route_auto分了三步,route_global也分了好几个phase: GR phase 0, GR phase 1, GR phase 2……phase和phase中间原来是没有update_timing的,也就是会出现phase 1/2/3可能看到的不是最真实critical path,对WNS来说,不是最好的。

    现在有了一个新的app option:route.global.advance_node_timing_driven_effort,它会让global route在GR phase 3后做一个update_timing,然后基于更新的timing继续做一两轮的GR phase,这样得到的timing 会更好。

    这个app option默认是high了,所以不需要设置。

    crosstalk driven global route

    这个feature (route.global.crosstalk_driven)也很早就有了。但是之前设不设其实没啥效果。为啥呢?因为routing global后只是glink,还没有真实的metal,所以看不到crosstalk。

    最新的版本升级了,即便是global route,也能看到crosstalk了。当然,这个crosstalk value是通过算法预估出来的,和真实的crosstalk还有些区别,但有总比没有强。

    GR有了crosstalk后,便有个好处,就是走GRO/GRE flow时(基于global route做timing 优化,详见文末链接),能看到带SI的timing,在这个阶段修SI就比post-route修SI要容易多了,所以timing能变好。

    在最近的几个case里,能看到打开crosstalk driven global route后,WNS都有不少好处,TNS则变化不大。所以对WNS追求比较极致的同学可以试试 crosstalk driven GR + GRE。

  • 相关阅读:
    python习题:操作mysql数据库,传入sql返回执行结果
    mysql-5.7.21-winx64.zip 下载安装
    Python用起来极度舒适的强大背后
    Python标准库映射类型与可散列数据类型的关系
    windows下《Go Web编程》之Go开发工具
    20行以内python代码画出各种减压图
    windows下《Go Web编程》之Go命令
    navicat连接Oracle数据库
    golang 报错illegal rune literal
    golang 缺少逗号报错问题
  • 原文地址:https://www.cnblogs.com/lelin/p/12586145.html
Copyright © 2011-2022 走看看