景芯SoC A72的时钟树分析

innovus的ctslog中的Clock DAG信息可以报出来CTS主要运行步骤的关键信息,比如clustering,balancing做完后的clock tree的长度,clock tree上所用的buffer、inverter,icg cell数量,clock skew等信息。我们以景芯SoC A72 TOP项目的maia_cpu core为例:

从clustering到balancing,clock ID(insertion delay)和buffer数量大幅增加,这是由于比如一些sinks存在于不同的skew groups,为了平衡skew group之间的skew,就会插入buffer并做大了clock ID,因此我们需要确认skew group的存在是否合理。

抓取cts.log中的Clock DAG

grep -E -A2 "Clock DAG" cts.log >> SoC_cts_Clock DAG.rpt

可以看到cell、sink的counts,也可以看到BUF、ICG的数量,接下来我们来看看景芯SoC A72 TOP的CLOCK ID和BUF个数的变化吧。

先看下景芯SoC A72项目的cts latency变化过程。​将Clock DAG和Primary reporting一起抓出来:

grep -E -A2 "Clock DAG|Primary reporting" cts.log >> SoC_cts_latency_debug.rpt

打开报告SoC_cts_latency_debug.rpt,Clustering之后,IDmin=0.431 IDmax=0.690

Reducing insertion delay后:IDmax从0.690降低到了0.652

Balancing后:IDmin从0.431升到了0.569,而IDmax从0.652略微降低到了0.648

请思考,为何Balancing后:IDmin从0.431升到了0.569?

相关推荐

  1. 有关Sora价值和问题分析

    2024-06-14 03:02:03       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-14 03:02:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-14 03:02:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-14 03:02:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-14 03:02:03       20 阅读

热门阅读

  1. mysql和postgreSQL的区别

    2024-06-14 03:02:03       4 阅读
  2. RealAI-图像算法岗-面经

    2024-06-14 03:02:03       6 阅读
  3. 5.2 Python 名称空间与作用域

    2024-06-14 03:02:03       6 阅读
  4. Kotlin 的锁和多线程同步

    2024-06-14 03:02:03       5 阅读
  5. kotlin get() 与 set()

    2024-06-14 03:02:03       9 阅读
  6. RK3588开发笔记-100M网口自协商成1000M网口

    2024-06-14 03:02:03       9 阅读
  7. RedisConfig配置

    2024-06-14 03:02:03       8 阅读