景芯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?

相关推荐
取加若则_14 小时前
Linux环境变量与命令行参数全解析
linux
@zulnger14 小时前
数据提取_1
运维·服务器
淮北49414 小时前
GDB在ubuntu上的安装与使用
linux·运维·ubuntu
请叫我聪明鸭14 小时前
基于 marked.js 的扩展机制,创建一个自定义的块级容器扩展,让内容渲染为<div>标签而非默认的<p>标签
开发语言·前端·javascript·vue.js·ecmascript·marked·marked.js插件
悟能不能悟14 小时前
Gson bean getxxx,怎么才能返回给前端
java·前端
2501_9447114314 小时前
前端向架构突围系列 - 工程化(五):企业级脚手架的设计与落地
前端·架构
shhpeng14 小时前
在 Ubuntu 24.04 上安装 Go1.24.2
linux·运维·ubuntu
Apex Predator14 小时前
本地库导入到nexus
java·服务器·前端
趁着年轻吃点苦14 小时前
宝塔面板部署指南
前端
0思必得014 小时前
[Web自动化] Selenium中Select元素操作方法
前端·python·selenium·自动化·html