当前位置: 首页 > news >正文

时钟特性约束(四)

时钟特性约束


文章目录

  • 时钟特性约束
  • 前言
        • 1 提出背景:为什么“时钟”需要单独一节来讲约束?
        • 2 基本概念速览
        • 3 约束语法与工程用法
          • 3.1 时钟不确定度——“买保险”
          • 3.2 时钟延迟——“把路程写清楚”
        • 4 进阶扩展:四个常被忽略的细节
        • 5 小结:记住“3+1”原则


前言


1 提出背景:为什么“时钟”需要单独一节来讲约束?
  1. 在同步数字电路里,只有时钟是“时间基准”。数据信号只要满足建立/保持时间即可,而时钟信号的任何畸变都会“放大”到整个芯片。
  2. 先进工艺(≤28 nm)+ 高频(≥500 MHz)+ 低电压(≤0.8 V)使得“ps 级误差”就能让硅片变成“硅砖”。
  3. 芯片失败成本指数级上升:一次 mask 费用几百万美元,流片失败比多写几行约束昂贵得多。
  4. 因此,**“把时钟的不确定性提前算清楚”**成为数字后端工程师的刚需,而不是可选项。

2 基本概念速览
名词物理含义量级(28 nm 典型)备注
Jitter时钟周期-周期边沿的随机漂移30–80 ps RMS源于 PLL、电源噪声、热噪声
Skew同一时钟到达不同触发器的系统偏差50–200 ps源于 CTS、线长、负载差异
Latency从时钟源端口到寄存器 CLK pin 的绝对延时1–4 ns分为 source + network
Uncertainty人为追加的“保险丝”裕量0–500 ps用 set_clock_uncertainty 显式加

一句话:Jitter 是“自己抖”,Skew 是“兄弟姐妹不齐”,Latency 是“路上堵车”,Uncertainty 是“再留条活路”。


3 约束语法与工程用法
3.1 时钟不确定度——“买保险”
# 在 sys_clk 域内所有路径追加 500 ps 裕量
set_clock_uncertainty -from sys_clk -to sys_clk 0.5# 跨时钟域再多留 1 ns
set_clock_uncertainty -from clk_a -to clk_b 1.0
  • 选项 -setup/-hold 可分别控制建立/保持侧裕量;缺省同时生效。
  • 为什么“过度优化”反而安全?
    – 后期 ECO 阶段若发现某条路径因串扰或 IR-drop 突然违规,可直接提高 uncertainty 重新跑 STA,无需动时钟树结构,风险最小。
3.2 时钟延迟——“把路程写清楚”
# 主时钟进入芯片管脚后的片外/片内延迟
set_clock_latency -max 1.0 -source [get_ports I_clk_p]
set_clock_latency -min 0.5 -source [get_ports I_clk_p]# 寄存器时钟引脚的网络延迟(CTS 后)
set_clock_latency -max 3.0 -network [get_pins data_reg0_reg[0]/C]
set_clock_latency -min 2.0 -network [get_pins data_reg0_reg[0]/C]
  • -source 告诉工具“时钟进来前已经走了多久”,常用于板级/封装延迟反标。
  • -network 在 CTS 前是“估计”,CTS 后会被实际延迟取代;若仍显式写出,可作为“强制下限”防止工具过度优化。

4 进阶扩展:四个常被忽略的细节
  1. OCV/AOCV/POCV
    传统“flat uncertainty”一刀切太悲观;先进节点使用 On-Chip Variation 模型,按距离、电压、温度随机变量分配更真实裕量。

    set_timing_derate -early 0.9 -late 1.1 [get_clocks sys_clk]
    
  2. Clock Reconvergence Pessimism (CRPR)
    两条分支最终汇合到同一触发器,原本各自算最大/最小延迟会“重复计算”悲观值;工具需自动剪掉这部分悲观(或手动 set_analysis_config -enable_crpr)。

  3. Uncertainty ≠ Jitter + Skew
    工具默认把 jitter 算进 clock_uncertainty,但 skew 由 CTS 实际网络决定;不要简单把测量到的 jitter 和 skew 相加就填进去,否则双重计数。

  4. DFT 模式额外裕量
    扫描移位频率低,但 chain 上缓冲器多,串扰大;可单独加 uncertainty:

    set_clock_uncertainty -from clk_scan -to clk_scan 0.8
    

项目ASIC/SoCFPGA
时钟源片外 PLL + 自己设计片内 ** hardened PLL/MMCM**,数据手册直接给 RMS jitter < 50 ps
时钟树后端自己绕,skew 100 ps 算优秀全域 Global Clock Network 是硅片级树+铜柱,skew 规格 50 ps 以内
不确定性需要工程师逐条估算器件厂商在 Timing Model 里打包好了,叫 “Component Uncertainty”
5 小结:记住“3+1”原则
步骤目标命令
定义让工具认识时钟create_clock
留裕覆盖 jitter+额外悲观set_clock_uncertainty
标延迟反标板级/封装/网络set_clock_latency
验因果确认悲观/乐观源报告 clock_timing + timing_derate

写约束的本质是**“把物理世界的不完美提前翻译成工具能懂的悲观值”**,而不是“让工具自己猜”。
时钟约束越早写、越写实,后端就越少熬夜, silicon 就越不容易变 “brick”。

http://www.dtcms.com/a/486620.html

相关文章:

  • 免费公司网站如何建立设计品牌网页设计
  • jQuery 尺寸
  • 做木工网站天河建设网站公司排名
  • 嵌入式软件--STM32 SPI通信(上)
  • PHP “真异步“ TrueAsync SAPI 与 NGINX Unit 集成
  • ARCGIS国土超级工具集1.7更新说明
  • 网站如何做信息表美图在线图片编辑器
  • 分布式专题——45 ElasticSearch基础数据管理详解
  • SQLBot:基于大模型与 RAG 的智能问数系统架构
  • 网站系统维护要多久福清市建设工程交易网站好像
  • 在Linux系统上执行 setenv CDS_XVNC_TENBASE + 后重启Virtuoso的作用
  • SpringBoot用户登录注册系统设计与实现
  • 杭州余杭做网站公司秦皇岛 网站建设
  • 并查集-990.等式方程的可满足性-力扣(LeetCode)
  • Jmeter是如何实现接口关联的?
  • 企业网站做seo的必要性关于网站开发人员的薪资
  • 【Qt】6.Qt对象树
  • 使用Scanpy的基本操作
  • openssl s_client 命令——测试、调试和诊断 SSL/TLS 连接
  • 深度学习中的RNN与LSTM:原理、差异与应用
  • 湖南智能网站建设报价广西南宁网站排名优化
  • 广州网站建设十年乐云seo北京东直门网站建设
  • h5游戏免费下载:卡通飞行
  • IntelliJ IDEA 配置 Gitee 私人令牌完整指南(2025 年最新版)
  • 智尚招聘求职小程序v1.0.23
  • 网站快照历史代发新闻稿的网站
  • [数据抓取-1]beautifulsoup
  • 分形:曼德布洛特集合
  • 克拉玛依建设局网站外贸整合推广
  • 哪家网站推广好网站备案 办公室电话