数字后端设计实现之自动化useful skew技术(Concurrent Clock &Data)

在数字IC后端设计实现过程中,我们一直强调做时钟树综合要把clock skew做到最小。原因是clock skew的存在对整体设计的timing是不利的。

但是具体到某些timing path,可能它的local clock skew对timing是有帮助的,比如如下图所示。

第一级FF到第二级FF的setup原来存在-1ns的violation。经过借用后一级的timing margin把第二个FF的tree做长1ns后这条timing path的setup slack变成0ns,即meet了。而且我们发现第二级FF到第三级FF的setup slack虽然从原来的2ns slack变成1ns的slack,但依然还是正的slack。

所以,这个人为引入的clock skew对我们的setup是有利的,所以把这个技术称作usefu skew。

所以EDA工具无论是Synopsys还是Cadence的,在时序优化阶段都支持clock和data的同步优化功能。

在没有这个功能时,我们需要一个个去分析到底哪些点的sink需要做长做短。现在我们可以直接通过模式和选项的设置让工具自己帮助我们来利用好useful skew。

ICC2:

set_app_options -name clock_opt.flow.enable_ccd_route_clock -value true

set_app_options -name clock_opt.flow.enable_ccd_route_clock_eco -value true

设置useful skew可利用区间

set_app_options -list "ccd.max_postpone 0.06"

set_app_options -list "ccd.max_prepone 0.06"

限制CCD应用在boundary

set ccd.optimize_boundary_timing false

set ccd.optimize_boundary_timing_upstream false

Innovus:

在数字IC后端实现innovus PR过程中一般建议全流程打开useful skew。对于高性能 ARM CPU设计,建议结合early clock flow来使用,效果最佳。

setOptMode -usefulSkew true

setOptMode -usefulSkewPreCTS true

setOptMode -usefulSkewCCOpt extreme

setOptMode -usefulSkewPostRoute true

setUsefulSkewMode -maxAllowedDelay 0.06

setOptMode -usefulSkew是主开关,它控制optDesign在整个Flow的useful skew。如果设置为false,则无论其他控制开关的设置如何,flow中的任何位置都不会利用Useful skew。该选择在工具里面默认是true。

setDesignMode -flowEffort是一个design level的控制开关,用于根据设计目标来调节优化的力度。

新的setOptMode -usefulSkewCCOpt控制命令替换了早期的参数-usefulSkewCTS和-usefulSkewPostCTS,以及命令set_ccopt_effort。

innovus也支持对某些特殊的sink点施加特殊的约束,告知工具不使用useful skew技术。

setOptMode -skewClockPreserveLatencyTermList $special_clk_pin_name

setOptMode -usefulSkewPreCTSPreserveLatencyTermList $special_clk_pin_name

set_ccopt_property schedule off -pin $special_clk_pin_name

相关推荐
FPGA小徐3 天前
从“程序是什么”到 NEMU:用代码读懂 PA1《开天辟地的篇章》
芯片设计
Wireless_Link4 天前
一颗芯片如何从想法变成可出货的硅片,全流程解析
芯片设计·芯片生产·芯片封测
gwf2164 天前
AI训练RDMA性能Profiling:瓶颈定位与调优方法论
芯片设计·rdma·nccl·拥塞控制·ai集群·rnic·gpudirect
gwf21612 天前
800G RNIC芯片设计挑战:PCIe Gen6与DMA引擎架构 —— 面向AI超大规模集群的硬件实现深度解析
芯片设计·rdma·rnic·gpudirect·pciegen6·dma引擎·mrc协议
gwf21614 天前
AI多租户集群的RDMA隔离:PD/MR/ACL硬件实现 —— 面向大模型训练/推理的硅级安全架构
芯片设计·rdma·nccl·ai集群·gpudirect·多租户隔离·sr-iov
杉岩数据21 天前
制造企业CCD检测图片数据统一管理平台建设实践
制造·ccd·质量追溯·检验数据·检测图片·机器视觉检测
xyz_CDragon1 个月前
从 RTL 到 GDSII:人与 AI 协作,用开源 EDA 工具链完成 SHA-256 芯片的 SoC 集成与签核全流程(附完整流程+代码)
人工智能·开源·芯片设计·开源 eda·caravel
search72 个月前
芯片设计中的ECO
芯片设计
xyz_CDragon3 个月前
OpenAI发布首款自研芯片Jalapeño:9个月流片,AI设计芯片的时代来了
人工智能·单片机·深度学习·神经网络·芯片设计
泛联新安4 个月前
VHawk-Lint——军工FPGA/ASIC设计质量自主可控的基石
fpga·芯片设计·eda