0
收藏
微博
微信
复制链接

时序原本通过,加上时钟不确定度为何违例?

2026-08-22 11:19
7

时序原本通过,加上时钟不确定度为何违例?

时钟不确定度没有制造新延迟,它只是收回了原先虚构的理想裕量

0.png 

未设置时钟不确定度时,STA默认发起沿和捕获沿比实际更理想。加入抖动、偏斜和建模余量后,setup与hold检查都会收紧。新违例暴露的是原来没被计入的真实边界。

一条路径在旧约束下还有正裕量,加入时钟不确定度后立即变成负数。RTL没变,布线也没重跑,很容易得出“约束把好设计算坏了”的结论。

时钟不确定度不会改变硬件里的数据路径,只会改变STA对发起沿与捕获沿最不利相对位置的建模。若加入合理边界就违例,说明原报告的绿色裕量有一部分并不真实存在。

不确定度先要拆成有来源的三类量

常见来源包括时钟源本身的周期或相位抖动、时钟网络未被完全建模的偏斜,以及为工艺、温度、电压和分析假设保留的余量。它们不能因为都以时间表示,就无条件简单相加。

1.png 

1  时钟源延迟、网络延迟与不确定度的作用位置

必须先确认时钟是片外输入、PLL输出还是内部生成,又哪些项已经包含在工具的传播时钟模型里。重复计入会过度保守,漏计则会让报告虚假乐观。

**不确定度是有来源的工程预算,不是为了“稳妥”随手填的惩罚数。**

setup看的是最晚到达,可用窗口会被向内压缩

setup检查要求数据在捕获沿到来前留出建立时间。对最不利情况,工具会让发起沿相对更晚、捕获沿相对更早,或直接从要求时间中扣除对应不确定度。所以可用数据传播时间变短。

查报告时要看具体工具将uncertainty列在发起还是捕获侧,不要只看最后slack。打开一条代表路径,对照时钟边沿、时钟网络延迟、数据到达时间和要求时间,才能看懂裕量在哪里被扣掉。

2.png 

2  STA约束、延迟模型与报告构成完整分析链

hold不是反过来照抄setup

hold检查关心新数据是否来得过早,要保证捕获边沿之后的短时间内旧数据仍稳定。工具会采用对hold最不利的时钟关系,不确定度的作用方向与setup报告的表面符号可能不同。

加入不确定度后hold违例,不应通过放宽setup数字或粗暴设置假路径来消掉。先核对发起和捕获是否属于同步时钟、路径是否真实功能路径,再决定增加数据延迟、改时钟网络或修正约束。

3.png 

3  路径拓扑决定setup与hold各自的最不利边界

**setup和hold都会受时钟不确定度影响,但修复动作不能混为一谈。**

用详细报告回答裕量从哪里少了

与旧报告比较时,固定网表、布线结果、工艺角和报告类型,只改变不确定度约束。从报告中记录launch clock path、data path、capture clock path、uncertainty和required time,这样才能直接看到新增边界落在哪一项。

4.png 

4  时序报告中的uncertainty直接收紧捕获边界

若不确定度数值来自外部晶振或PLL,保留对应数据来源与换算过程。时钟配置、PLL模式或工具版本变更时,约束也必须重新核对,不能把上一版数字永久复用。

修违例前,先确认约束和硬件都说了真话

若数值重复计入,应修正约束来源;若时钟关系或对象选错,应修正时钟定义;若约束合理而路径确实不足,才进入流水、逻辑复制、物理优化或时钟结构整改。

删掉uncertainty、放宽时钟或随意加false path只会让报告重新变绿,不会增加芯片在温度、电压和工艺边界下的真实裕量。放行条件应包括约束有依据、路径已覆盖和详细报告的边沿关系与设计意图一致。

同一组不确定度不一定适用于所有时钟。外部晶振直接输入、PLL倍频输出、带扩频的时钟和跨板输入的抖动预算不同,生成时钟的分频或相移还会改变边沿关系。约束脚本应按时钟对象记录来源与适用模式,不要在文件顶部设一个全局常数然后复制到每个域。

把不确定度纳入版本签核

跨时钟域路径应先判断是真实同步关系还是异步关系。异步CDC应使用合适同步结构与时钟组关系,不应通过给两个无关时钟填一个巨大uncertainty来“包住”未知相位。反过来,有确定源关系的生成时钟也不能被随意分到异步组,否则真实同步路径会逃过检查。

物理实现后的时钟偏斜与预布局阶段估算不同。在传播时钟模式下,工具已使用实际时钟树延迟计算一部分偏斜,若又将同一项以uncertainty完整叠加,会形成重复保守。约束从综合前用到布线后时,要核对模型边界是否已改变,而不是因为脚本语法仍然有效就继续沿用。

建议在时序签核记录中并排保存两条代表路径:一条最差setup,一条最差hold。每条记录时钟对象、分析角、uncertainty来源、发起捕获延迟与路径修复动作。下一版设计即使最差路径换了,也能通过相同字段判断是数据路径、时钟树还是约束边界改变。

结论

加上时钟不确定度后出现违例,并不是约束破坏了时序,而是它把实际时钟没有那么理想这件事写进了分析。

正确的下一步是追不确定度来源、打开代表路径、看清裕量如何被扣除,然后再决定修约束还是修硬件。

声明:

本文由凡亿教育整理,转载请注明来源!

投稿/招聘/广告/课程合作/资源置换 请加微信:13237418207

登录后查看更多
0
评论 0
收藏
侵权举报
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表凡亿课堂立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。

热门评论0

相关文章

凡亿教育

凡亿教育打通了“人才培养+人才输送”的闭环,致力于做电子工程师的梦工厂,打造“真正有就业保障的电子工程师职业教育平台”。帮助电子人快速成长,实现升职加薪。 为了满足学员多样化学习需求,凡亿教育课程开设了硬件、PCB、仿真、电源、EMC、FPGA、电机、嵌入式、单片机、物联网、人工智能等多门主流学科。

开班信息