数字后端设计实现之自动化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

相关推荐
search72 天前
前端学习12:概念QOS、MSI
芯片设计·pcie
AndrewHZ7 天前
【芯芯相印】什么是算法定点化?
pytorch·算法·芯片设计·模型量化·定点化·芯片算法·逻辑电路
搬砖者(视觉算法工程师)10 天前
关于HBM(高带宽内存)的3D堆叠架构、先进封装技术以及在现代GPU、AI加速器上应用介绍
人工智能·芯片设计·存储
逗豆逗12 天前
数字IC设计工程师的testbench.v文件和UVM环境
笔记·芯片设计
brave and determined18 天前
可编程逻辑器件学习(day36):从沙粒到智能核心:芯片设计、制造与封装的万字全景解析
fpga开发·制造·verilog·fpga·芯片设计·硬件设计·芯片制造
龙智DevSecOps解决方案1 个月前
Perforce IPLM产品简介:IP生命周期管理与协作,加速芯片设计
芯片设计·半导体·perforce·ip管理·iplm
杰出的胡兵1 个月前
2v1带您实战12nm高级数字后端
前端·soc·数字后端·数字ic后端·芯片设计全流程培训
AndrewHZ4 个月前
【芯芯相印】芯片设计生产全流程核心技术术语与实践指南:从架构定义到量产交付的完整图谱
架构·芯片设计·核心技术·技术术语·芯片架构·芯片行业
数字硬鉴4 个月前
PCIe Base Specification解析(八)
芯片设计·soc·pcie·arm架构·cpu设计
IC拓荒者7 个月前
数字IC后端实现教程 | Early Clock Flow和Useful skew完全不是一个东西
数字后端·useful skew·零基础入门后端·ecf·early clock·时序优化方法·innovus后端