网易首页 > 网易号 > 正文 申请入驻

Design Compiler中check_timing的各个检查项和含义

0
分享至

在数字IC设计流程中,Design Compiler (DC) 的 check_timing 命令主要用于检查设计的时序约束(SDC)是否完备。如果约束存在漏洞,后续的时序分析结果将不可信。该报告包含多种检查项(Check Items),主要涵盖时钟定义、输入输出约束、组合逻辑环路及特殊器件等方面。

1non-unate path warning

提示“Warning:A non-unate path in clock network for clock ‘CLK’ from pin MUX/S is detected”.

Design Compiler中check_timing报出的时钟网络Non-unate路径警告,核心原因是时钟传输路径上存在MUX、XOR等非单边组合逻辑单元,本次告警源于时钟CLK经过MUX选择端引脚,破坏了时钟路径的固定极性特征。在时序分析中,BUF、INV属于单边器件,输入输出信号变化极性固定,工具可精准跟踪时钟边沿、延迟与偏斜;而MUX等器件的输出电平由数据端和选择端共同决定,无固定的信号变化单调性,被定义为非单边路径。

该警告会严重影响STA时序分析的准确性,存在较大设计风险。工具无法精准判定时钟边沿的传播极性,导致时钟延迟、时钟偏斜、延迟参数计算出错,进而造成寄存器建立、保持时间时序检查结果失真。若放任该问题,会出现时序分析结果偏乐观的情况,流片后易引发电路时序违规、功能异常,同时也会导致生成时钟约束解析失效,时钟网络建模完全不可靠。

针对该问题有三种标准化解决方案。最优方案为RTL重构,严格规避时钟路径上的MUX、异或门等组合选择逻辑,采用寄存器同步切换、专用ICG时钟门控单元实现时钟切换与启停功能,保证时钟树仅由缓冲器、反相器等单边器件构成。若功能必须保留时钟路径MUX,可通过set_clock_sense约束强制指定时钟传播极性,或屏蔽选择端的时钟传播特性,让工具完成精准时序建模;需要结合RTL功能判断某些分支是否会被用到。兜底方案为调整电路架构,将选择逻辑迁移至数据通路,彻底净化时钟传输路径。该问题是数字后端与时序约束高频问题,核心设计原则为保证时钟网络路径唯一、极性固定、无组合逻辑分支。

2the master of the following generated clock is not connected to any clock source Error

“the master of the following generated clock is not connected to any clock source”是DC时序约束常见告警,核心原因是生成时钟依赖的主时钟溯源失败,主时钟未定义、时钟传播路径中断、约束拦截或引脚层级写错,导致工具无法建立有效的时钟时序模型,造成时序分析失效。解决该告警需遵循规范时序约束流程:优先补全create_clock主时钟定义,保证先有主时钟再定义生成时钟;核对create_generated_clock的-source引脚路径准确无误;移除误配置的阻断约束,复杂场景可通过-master_clock参数显式绑定主时钟,同时对时钟分频单元设置dont_touch,避免综合优化删除时钟路径。

set_clock_sense是控制时钟传播特性的核心约束命令,主要用于修正时钟极性、阻断无效时钟传播,解决时钟树中非单边单元引发的时序异常。其核心包含两类关键参数,可精准管控时钟传播特性。其一为极性控制参数,-positive强制指定路径为上升沿触发,-negative强制为下降沿触发,可手动修正工具误判的时钟边沿极性,保证建立、保持时间计算准确。其二为传播控制参数,-stop_propagation用于阻断无效引脚的时钟传播,常用于MUX选择端、控制端等非时钟通路,避免工具误识别虚假时钟路径。

实际使用中,针对时钟路径MUX导致的non-unate告警,可对MUX选择端施加阻断约束,消除无效时钟分支;针对极性识别错误的生成时钟路径,可手动指定时钟边沿极性,确保主时钟可正常传播至生成时钟节点。该命令是修复时钟路径异常、规范时钟传播、保证STA时序分析精准性的重要兜底约束,需配合规范的时钟定义使用,避免约束冲突导致时序建模错误。

有时候top调用宏(macro)lib时,宏单元内部生成时钟输出到顶层端口,报无主时钟无驱动告警,核心原因是工具无法从顶层主时钟完成跨宏单元溯源,时钟传播、约束或端口识别出现异常;这个需要合到顶层flat去看看核实。

3Missing 1 created_generated_clock at design object div_clk and clk warning

该告警表示 DC 检测到clk与div_clk存在时钟衍生关系,工具判定div_clk为分频、倍频类生成时钟,但未使用create_generated_clock完成约束定义,属于生成时钟配置缺失问题。若不修复,工具无法识别主时钟与衍生时钟的频率、相位关联,时钟延迟、偏斜、分频关系建模出错,直接导致时序计算失真。

告警主要有四类成因:一是div_clk由clk分频 / 逻辑转换得到,仅对主时钟clk执行create_clock,遗漏生成时钟约束;二是将同源衍生时钟误当作独立时钟,重复使用create_clock定义,违背时钟约束规范;三是时钟传播路径经过组合逻辑、宏单元,工具自动识别为生成时钟,而设计者未配套对应约束;四是端口层级、命名不匹配,已写的生成时钟约束未能正常匹配目标端口。

排查可执行report_clocks查看时钟列表与主从关联,结合check_timing -verbose定位异常节点。标准修复方案为:先在顶层用create_clock定义原始主时钟clk,再通过create_generated_clock,指定-source时钟源引脚、分频系数,完成div_clk约束绑定。

若两路信号为相互独立的原生时钟,则说明工具识别有误,需删除多余衍生判定,统一使用create_clock分别定义。同时核对端口路径与名称,保证约束精准匹配。设计中需区分原生时钟与生成时钟,同源衍生信号必须按规则配置生成时钟约束。修复后重新做时序预检,确保时钟链路建模完整,保障后续综合与时序分析正常运行。

有时候top调用宏(macro)lib时,宏单元内部的主时钟和生成时钟输出到顶层端口,报这个告警,核心原因是工具无法从顶层完成跨宏单元溯源,时钟传播、约束或端口识别出现异常;这个需要合到顶层flat去看看核实。

4check_no_input_delay

no_input_delay 是 DC 时序预检常见告警,指芯片输入端口未配置 set_input_delay 约束。该参数用于模拟外部电路在时钟沿到来前,数据到达芯片输入引脚的延时,是 IO 路径时序计算的必要条件。缺失该约束后,工具会默认输入延时为 0,时序计算结果偏乐观,流片后极易出现建立时间违规。

告警主要成因:一是人为遗漏约束,未对输入端口添加输入延时;二是端口归类错误,将外部输入信号当成内部信号处理;三是约束层级不对,延时约束写在子模块而非顶层端口,无法生效;四是虚拟端口、测试端口未做特殊豁免,被工具正常检查。

此外需区分 max/min 延时,完整覆盖快慢工艺角,保证时序分析全面。设计规范要求,所有对外输入端口必须配套输入延时约束,模拟板级互连的实际延时。修复后重新运行时序预检,确认告警清除,保证输入路径建立、保持时间计算真实可信,为综合与时序收敛打下基础。

input_delay约束必须绑定时钟参考,但不强制使用虚拟时钟。内部同步输入信号可直接绑定设计真实时钟;而外部异步接口、内外时钟频率相位不一致、纯组合逻辑电路场景,建议采用虚拟时钟作为参考,可规避内部时钟偏斜、抖动带来的约束误差,保证IO时序建模精准,解决no_input_delay时序告警。

5check unconstrained endpoints

unconstrained endpoints是 DC 时序预检告警,代表寄存器、输出端口等时序终点缺少完整时序约束,工具无法开展建立、保持时间检查。常见诱因包括顶层输出端口未配置set_output_delay、终点寄存器无有效时钟、跨时钟域 / 组合路径未做约束,或是端口与引脚路径名称错误导致约束失效。

该问题会让工具跳过对应路径的时序优化与校验,时序分析结果失真,流片后易出现传输超时、功能异常。可通过check_timing -verbose、report_endpoints -unconstrained定位问题节点。常规输出端口需结合真实或虚拟时钟补充输出延时;内部寄存器要补全时钟约束;异步路径可设置伪路径豁免,时序宽松场景可配置多周期路径,修复后重新完成时序预检即可。

6check loop

check loop 代表设计存在逻辑闭环,分为纯组合环路与时序环路,多由代码连线错误或功能性反馈电路导致。组合环路会造成信号震荡、逻辑出错,同时让工具无法完成时序计算与优化。可通过 report_loops 定位具体环路路径。若是失误产生的无效环路,需修改 RTL 并插入寄存器切断闭环;锁存器、状态机等必要反馈环路,可添加伪路径命令豁免时序检查。振荡器等特殊电路,搭配 dont_touch 保护设计,确保电路功能正常、时序预检通过。

状态机本质是时序反馈系统,依靠寄存器保存当前状态,再通过组合逻辑译码产生下一状态,最终反馈回寄存器输入端,天然形成闭环路径,因此check_timing会识别出环路。

7check pulse_clock_cell_type

checking pulse_clock_cell_type ,用于校验脉冲时钟单元约束与工艺库类型是否匹配。告警多因旧版脚本残留、约束与库定义不一致,或误用脉冲时钟命令导致。该告警风险较低,不影响常规时序检查,仅提示脉冲配置异常。修复优先直接移除无用的 set_pulse_clock_cell 约束;若需脉冲时钟,确保指定单元与库 pulse_type 匹配。

min_pulse_width 检查不覆盖所有时序器件,仅针对时钟 / 控制引脚且工艺库定义了 min_pulse_width_high/low 或 min_width 属性的单元。主要包括触发器 / 锁存器时钟引脚、异步置复位引脚、存储器时钟与控制引脚,以及脉冲时钟单元输出引脚。组合逻辑、普通数据引脚、无对应库属性的时序引脚均不检查。普通触发器时钟引脚默认自动纳入检查;脉冲锁存设计需用 set_pulse_clock_cell 标记发生器单元以强化检查。

脉冲时钟单元就是产生这种窄脉冲时钟的标准单元,库中会标注 pulse_type、min_pulse_width 等属性。

8check no_driving_cell

no_driving_cell是Design Compiler时序检查的常见项,主要针对顶层输入端口、黑盒输出等外部驱动信号。该告警表示信号线缺少set_driving_cell约束,工具未获取到真实驱动单元模型,无法得到准确的驱动电阻、转换斜率等电气参数。

该检查的核心目的是保障时序与串扰分析精度。线网串扰延迟、噪声干扰的计算高度依赖驱动端输出电阻与线网寄生参数,若采用默认理想驱动模型,会导致时序计算失真、串扰分析失效,无法真实反映芯片实际工况。需要区分set_drive与set_driving_cell,前者为理想电阻模型,后者绑定工艺库真实单元,建模精度更高,是串扰分析的必备约束。

告警常出现在未配置驱动模型的顶层输入、黑盒输出端口。工程修复需根据信号类型,为端口匹配BUF、INV等标准驱动单元并添加约束,时钟信号优先选用高驱动能力单元。该问题不可随意忽略,否则会造成时序结果偏差,掩盖流片后电路稳定性风险。

9check partial_input_delay

partial_input_delay是Design Compiler的默认时序检查项,用于检测输入端口input_delay约束不完整的问题。区别于完全无约束的no_input_delay,该告警特指端口已配置部分延时约束,但参数缺失,常见为仅配置max/min延时、或仅设置rise/fall单边边沿延时,导致约束不完整。

该检查核心是保障STA时序分析精准性。建立时间时序检查依赖最大输入延时,保持时间依赖最小输入延时,同时电路上升、下降沿的实际延时存在差异,任意参数缺失都会导致对应时序分析失效。工具会自动补全默认参数,造成时序计算结果偏差,掩盖潜在时序风险,引发芯片流片后接口时序失效。

工程中需为输入端口配置完整约束,补齐max、min以及rise、fall四类延时参数,保证时序建模贴合真实工况。可通过指令单独筛查该类告警,禁止随意忽略该检查,避免因约束不全导致时序分析结果失真,保障设计时序收敛与芯片工作稳定性。

文章来源于志芯,作者JackXu


特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
捷克0-3墨西哥 积1分小组垫底出局 40岁门将奥乔亚替补登场创纪录

捷克0-3墨西哥 积1分小组垫底出局 40岁门将奥乔亚替补登场创纪录

我爱英超
2026-06-25 11:02:14
章子怡坦言:你帮别人养孩子我管不着,但我儿女的抚养费一定给全

章子怡坦言:你帮别人养孩子我管不着,但我儿女的抚养费一定给全

张鴘喜欢软软糯糯
2026-06-21 00:17:49
宇树机器人大降价

宇树机器人大降价

第一财经资讯
2026-06-25 14:01:07
随着韩国0-1大爆冷,2组大结局,最新晋级形势大反转:7队出局!

随着韩国0-1大爆冷,2组大结局,最新晋级形势大反转:7队出局!

大秦壁虎白话体育
2026-06-25 11:06:32
她已火遍全国,却只谈过一次恋爱,如今54岁单身无儿无女定居上海

她已火遍全国,却只谈过一次恋爱,如今54岁单身无儿无女定居上海

以茶带书
2026-06-25 15:04:23
《人世间》:永远不要操心你的孩子,也不要操心你的父母,你所有的操心基本上是白费,每个人都有自己的三生因果,都要在自己的因果中轮回

《人世间》:永远不要操心你的孩子,也不要操心你的父母,你所有的操心基本上是白费,每个人都有自己的三生因果,都要在自己的因果中轮回

心理观察局
2026-06-22 06:55:14
伊朗没有赢下一场全面战争,却替中国废掉了美国一张最狠的牌!

伊朗没有赢下一场全面战争,却替中国废掉了美国一张最狠的牌!

安安说
2026-06-24 10:21:34
医生发现:大量喝茶的糖尿病患者,用不了多久,身体或有5大变化

医生发现:大量喝茶的糖尿病患者,用不了多久,身体或有5大变化

芹姐说生活
2026-06-16 14:28:33
博主:离别之际,刘彬彬说“05年来山东,21年的青春结束了”

博主:离别之际,刘彬彬说“05年来山东,21年的青春结束了”

懂球帝
2026-06-25 08:52:30
湖北考生查到高考成绩时,母子俩都蒙了,父亲直呼“不可能”

湖北考生查到高考成绩时,母子俩都蒙了,父亲直呼“不可能”

极目新闻
2026-06-25 07:24:05
彭珮云96岁辞世,百岁丈夫王汉斌仍硬郎:长寿相伴的秘密很简单

彭珮云96岁辞世,百岁丈夫王汉斌仍硬郎:长寿相伴的秘密很简单

边城少爷
2026-06-24 11:02:29
盖茨第三段婚外情对象曝光,系哈佛医学博士及美医疗创业者,曾获评“最值得关注女性”

盖茨第三段婚外情对象曝光,系哈佛医学博士及美医疗创业者,曾获评“最值得关注女性”

红星新闻
2026-06-25 12:14:14
维尼修斯封神!安帅仅用两字定调,巴西新王已就位北京时间6月25日,美加墨世界杯C组的收官战,巴西队3-0横扫苏格兰,昂首晋级32强

维尼修斯封神!安帅仅用两字定调,巴西新王已就位北京时间6月25日,美加墨世界杯C组的收官战,巴西队3-0横扫苏格兰,昂首晋级32强

带你逛体坛
2026-06-25 11:40:17
“武大郎”再现?36岁妻子投喂鼠药!丈夫没死就再投一次

“武大郎”再现?36岁妻子投喂鼠药!丈夫没死就再投一次

深夜探案馆
2026-06-02 03:02:04
直接离场!克洛普拒评施魏因施泰格种族争议,不愿卷入舆论漩涡

直接离场!克洛普拒评施魏因施泰格种族争议,不愿卷入舆论漩涡

夜白侃球
2026-06-25 09:04:21
精神小妹的生活原来是这样的!网友:终于知道她们为啥都这么瘦了

精神小妹的生活原来是这样的!网友:终于知道她们为啥都这么瘦了

深度报
2026-02-11 23:35:03
随着世界杯第二轮结束,金球奖概率更新:凯恩领跑,梅西升至第三

随着世界杯第二轮结束,金球奖概率更新:凯恩领跑,梅西升至第三

侧身凌空斩
2026-06-24 17:54:16
猛料,追觅旗下汽车负责人跑路

猛料,追觅旗下汽车负责人跑路

科技头版Pro
2026-06-24 14:30:09
4分未必确保晋级,世界杯若用旧规则,德国阿根廷不会锁定第一

4分未必确保晋级,世界杯若用旧规则,德国阿根廷不会锁定第一

嗨皮看球
2026-06-24 17:58:27
里夫斯4年1.85亿留守湖人,火箭成最大赢家!伊森外部报价被锁死

里夫斯4年1.85亿留守湖人,火箭成最大赢家!伊森外部报价被锁死

去山野间追风
2026-06-25 12:05:09
2026-06-25 16:19:00
EETOP半导体社区 incentive-icons
EETOP半导体社区
国内著名的电子工程师社区
7782文章数 15677关注度
往期回顾 全部

头条要闻

0球0助攻 曾经的"亚洲一哥"孙兴慜经历最差一届世界杯

头条要闻

0球0助攻 曾经的"亚洲一哥"孙兴慜经历最差一届世界杯

体育要闻

世界杯最动人一吻:我若离世 你就改嫁吧

娱乐要闻

白玉兰颁奖预测,杨幂胜算大吗?

财经要闻

财报炸裂!美光让空头闭嘴

科技要闻

宇树机器人大降价

汽车要闻

2027款星途ES 天马1:11:36背后的实力

态度原创

教育
艺术
游戏
公开课
军事航空

教育要闻

22万人围观AI志愿填报,这背后透露了什么信号?

艺术要闻

2026年第三届全国大学生美术作品展 油画选(一)

《索尼克赛车交叉世界》中配体验:蓝刺猬会说中文了

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

特朗普:现在到了关注朝鲜问题的时候了

无障碍浏览 进入关怀版