相关阅读Design Compilerhttps://blog.csdn.net/weixin_45791458/category_12738116.html?spm1001.2014.3001.5482目录并行时钟与数据优化的原理向IC Compiler II传递CCD信息旧版行为新版行为默认并行时钟与数据优化的原理物理实现工具如IC Compiler II中存在一种被称为并行时钟与数据优化(Concurrent Clock and Data Optimization, CCD)的技术在Innovus中被称为Clock Concurrent Optimization, CCopt这种技术通过利用时钟路径上的有用偏移(Useful Skew)改善时序QoR(WNS/TNS)如图1所示。拓扑模式的Design Compiler NXT在2019版本将该技术拓展到综合阶段在更早的阶段尝试靠近设计的性能、功耗和面积(PPA)目标。图1 有用偏移通过使用CCD优化一些时序违例可以通过时钟偏移轻松修复从而减少数据路径优化的工作量使数据路径功耗降低适用于时序或功耗敏感设计如图2所示。图2 数据路径和时钟路径的优化对比可以设置2019版本引入的compile_enable_ccd变量为true默认值为false允许在增量综合需要使用compile_ultra -spg -incr命令过程中启用CCD优化此时将会有以下信息提示。Information: CCD enabled, user provided latencies will be adjusted with useful skew. (OPT-1723)由于时钟树综合前都是理想时钟所有的时钟延迟都通过set_clock_lantency命令指定在找到可供使用的有用偏移后综合工具将自动更新SDC约束图3展示了一个使用report_timing命令进行报告的例子。图3 发射时钟和捕获时钟的延迟差异其中同一个时钟到达不同触发器的时钟延迟不同是通过在引脚上设置时钟延迟实现的如下两条SDC命令所示。# 假设用户没有设置全局时钟延迟 set_clock_latency -0.1 -clock [get_clocks clk] [get_pins FF1/CLK] set_clock_latency 0.1 -clock [get_clocks clk] [get_pins FF2/CLK]与IC Compiler II一样在Design Compiler NXT也可以通过一些变量控制CCD优化的行为如表1所示。表1 CCD优化控制变量变量功能ccd_skip_path_groups默认值为空禁止特定时序组的CCD优化ccd_optimize_boundary_timing默认值为true禁止边界触发器的CCD优化ccd_ignore_scan_reset_for_boundary_identification默认值为false边界触发器识别时排除复位和扫描端口ccd_ignore_ports_for_boundary_identification默认值为空边界触发器识别时排除特定端口ccd_max_postpone默认值为0限制时钟延迟被增大的幅度ccd_max_prepone默认值为0限制时钟延迟被减小的幅度ccd_respect_cts_fixed_balance_pins默认值为false阻止调整那些cts_fixed_balance_pin属性为true的时钟引脚的时钟延迟ccd_hold_control_effort默认值为high维持保持时间不退化的努力级别向IC Compiler II传递CCD信息Design Compiler NXT在2019版本引入了一个新的变量ccd_write_script_sdc_add_offset_to_latency用于控制由于CCD优化而更新的SDC约束在输出时的行为下面将分别讨论。旧版行为当ccd_write_script_sdc_add_offset_to_latency变量设置为true时默认值为false引脚上设置的时钟延迟将包含原时钟延迟当使用write_icc2_files命令时set_clock_latency命令将被写入icc2_files/design.MCMM/scenario_scenario.tcl文件如下所示而derive_clock_balance_points命令将被写入icc2_files/design.cbp.tcl文件该命令可以将时钟延迟约束转换为时钟平衡点约束从而引导IC Compiler II进行优化。# icc2_files/design.MCMM/scenario_scenario.tcl set_clock_latency 1.0 [get_clocks clk] # 假设用户设置了全局时钟延迟 set_clock_latency 0.9 -clock [get_clocks clk] [get_pins FF1/CLK] set_clock_latency 1.1 -clock [get_clocks clk] [get_pins FF2/CLK]使用write_sdc或write_script命令与使用write_icc2_files命令的输出类似但此时用户需要显式在IC Compiler II中使用derive_clock_balance_points命令。新版行为默认旧版行为中引脚上设置的时钟延迟将包含原时钟延迟但这样会导致难以理解时钟延迟是由用户设置的还是由CCD优化产生的从2021版本开始当ccd_write_script_sdc_add_offset_to_latency变量设置为false时CCD优化生成的时钟偏移将通过set_clock_latency -offset命令表示-offset是一个非标准的SDC命令选项仅限工具内部使用绝不能由用户指定使用write_icc2_files命令时icc2_files/design.MCMM/scenario_scenario.tcl文件的内容如下所示icc2_files/design.cbp.tcl文件依然包含derive_clock_balance_points命令。# icc2_files/design.MCMM/scenario_scenario.tcl set_clock_latency 1.0 [get_clocks clk] # 假设用户设置了全局时钟延迟 set_clock_latency -offset -0.1 -clock [get_clocks clk] [get_pins FF1/CLK] set_clock_latency -offset 0.1 -clock [get_clocks clk] [get_pins FF2/CLK]但是需要注意的是write_sdc命令此时无法写出CCD优化生成的时钟偏移非标准只有write_script命令支持用户需要显式在IC Compiler II中使用derive_clock_balance_points命令。当使用report_clock -skew命令报告时钟偏移时也会在括号中特别注明CCD优化生成的时钟偏移如下所示。dcnxt_shell report_clock -skew **************************************** Report : clock_skew Design : TOP Version: U-2022.12-SP1 Date : Mon Dec 8 01:03:45 2025 **************************************** Rise Fall Min Rise Min fall Uncertainty Object Delay Delay Delay Delay Plus Minus --------------------------------------------------------------------------- clk 1.00 1.00 1.00 1.00 - - FF1/CLK -0.10 -0.10 -0.10 -0.10 - - (offset) FF2/CLK 0.10 0.10 0.10 0.10 - - (offset)
企业数字化 ERP 产品动态
相关推荐
n8n生产环境部署实战:Docker Compose+PostgreSQL+反向代理完整指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 15:21:32
S7-200SMART电机正反转三层互锁梯形图实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 15:21:26
Quick 中文文档指南:从单元测试入门到行为驱动测试的完整实践手册 测试开发工具 【免费下载链接】Quick The Swift (and Objective-C) testing framework. 项目地址: https://gitcode.com/gh_mirrors/qu/Quick 点击查看 免费下载 Quick 是一个用于 Swift 与 Objective-C 的行为驱动开发(BDD)测试框架。本文以… · 2026/9/24 15:21:26
2026企业AI办公工具选型指南:评估框架与产品全景盘点 企业在调研AI办公工具的过程中,很容易陷入几个典型的选型误区:有的团队把不同平台的功能列表拉出来逐一比对,认为功能条目越多的产品价值越高;有的团队直接参考个人用户的使用口碑,把个人场景下的体验直接套用到企业协… · 2026/9/24 15:53:11
夜间行人检测实战:1000张真实图像+三格式标签+跨平台YOLO11训练 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 15:53:11
三步跑通 Open-Meteo 天气 API 自托管:新手从零到上线的部署指南 三步跑通 Open-Meteo 天气 API 自托管:新手从零到上线的部署指南 【免费下载链接】open-meteo Free Weather Forecast API for non-commercial use 项目地址: https://gitcode.com/GitHub_Trending/op/open-meteo
如果你想在项目里免费查询全球天气预报、又不… · 2026/9/24 15:53:11
FerretDB 插入操作实战:insertOne 与 insertMany 的用法、响应解析与底层实现 FerretDB 插入操作实战:insertOne 与 insertMany 的用法、响应解析与底层实现 【免费下载链接】FerretDB A truly Open Source MongoDB alternative 项目地址: https://gitcode.com/gh_mirrors/fe/FerretDB
本篇技术指南以 FerretDB 官方文档《Insert operat… · 2026/9/24 15:52:58
帝舵南京售后维修点丨门店位置、预约方式及咨询电话查询(2026年最新) 一份覆盖南京全域、同步全国标准的帝舵维保网点公示通告,帝舵南京售后维修点丨门店位置、预约方式及咨询电话查询(2026年最新),系统整合南京本地正规直营维保点位、精准出行方案、预约渠道与最新咨询热线,南京及江苏全域、皖东周边城市表主可… · 2026/9/24 15:52:58
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程 简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13
1D-CNN时间序列建模实战:从Conv1d原理到工业落地 简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26
柔软的L:汉语语流中被忽视的舌肌张力控制 1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44