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

相关推荐
CounterGlew5113 分钟前
Vscode通过ssh链接autodl云服务器并配置codex
运维·服务器·vscode
咖啡无伴侣8 分钟前
3. 从零搭建企业级 Monorepo 工程化模板:集成 Husky 9 + lint-staged
前端·架构
MetaLite15 分钟前
Java通用枚举驱动下拉框-元数据接口与前端契约
java·前端·状态模式
Json____17 分钟前
基于 Node + Vue3 的选课管理系统:从教务业务到全栈实践
前端·node·毕设·wwwoop.com
创新技术阁20 分钟前
FastapiAdmin 定时任务实现原理与新建任务实操指南
前端·后端·fastapi
郝学胜-神的一滴21 分钟前
CMake 047:解锁安装阶段自定义操作,告别配置阶段提前执行坑
运维·服务器·c++·游戏引擎·图形渲染·opengl
3A Cloud24 分钟前
Huashu Design:把 AI Agent 变成一间以 HTML 为画布的设计工作室
前端·人工智能·html
你别说话了26 分钟前
Webpack 如何迁移重构到 Vite
前端·webpack·重构
Ai思想家28 分钟前
一次模型调用会留下什么:聚合平台的日志留存与数据边界
大数据·服务器·网络·人工智能
catastrophe_zy29 分钟前
如何用 WebCodecs 在浏览器里实现高清录屏 —— 无插件、无水印、直接导出 MP4
前端·javascript·录屏