推文中的数据来自于synopsys官方的icc2 lab 为了更容易看到工具做的useful skew的效果,这里故意在下面的path上设置了很大(2.5ns)的path margin,这里是在place阶段启用的ccd:
current_scenario func.ss_125c
set_path_margin -setup -to [get_pins i_blender_1/s2_op*_reg[*]/d] 2.5
set_path_margin -setup -to [get_pins i_blender_1/s4_op*_reg[*]/d] 2.5
set_app_options -name place_opt.flow.enable_ccd -value true
place之后的timing report:
icc2_shell> report_timing -to [get_pins i_blender_1/s4_op*_reg[*]/d]
place阶段,我们的时钟是ideal的,但是却能看到无论是launch clock path还是capture clock path上的network latency都不是0,分别是0.02和0.14,而这个clock在sdc里面的latency是0: report_clocks -skew
所以可知它们肯定是工具做了ccd引入的latency,且launch clk path和capture clk path都做了late skew。那么如何确认呢? 我们可以通过下面的命令来导出tcl脚本: write_script -force
脚本会被导入到wscript目录下相应scenario的tcl中:
wscript/scenario_func.ss_125c.tcl
从中可以看到launch clk path和capture clk path都做了late skew,且相应的命令有set_clock_latency和set_clock_balance_points,前者让工具能看到做完late skew之后的timing情况,后者会指导后续的cts引擎在tree上垫长相应offset的latency。比如-offset -0.14则相应sink的tree会故意做长0.14ns,这个和innovus的行为类似就不详细讲解了。
导远与中国移动宣布在智慧交通、高精度定位领域建立合作伙伴关系
开辟智能门禁解决方案的新领域
全球云计算一日千里,华为和阿里继续夜郎自大?
黑客探秘
未来中国医疗健康产业的市场发展趋势
如何查看工具通过Useful skew借了多少margin呢
如何在嵌入式中使用设计模式的思想?
紫外光表面清洗技术与UV光清洗机(下)
奥图码超投电视UltraS5评测 挑战传统电视的客厅霸主地位
华为系统EMUI10即将上线,是哪35款手机可以领先一步呢?
手眼标定_全面细致的推导过程
质量流量计的安装注意事项
骥翀氢能牵手新飞集团,全自动数智化新产线正式落地新乡市
随着倍捷连接器在亚洲市场的持续耕耘 其获得的关注也越来越广泛
人工智能在医疗健康领域中的应用
【转载】重磅!全自动码头新堆场投产
区块链将改善下一代云服务的核心功能
解决可穿戴设备续航问题,妙招知多少
2020年Intel、AMD股价走势相差甚远
长江存储 64 层 3D NAND 打入华为 Mate 40 供应链