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

时钟周期约束(三)

时钟周期约束(三)


文章目录

  • 时钟周期约束(三)
  • 时钟周期约束知识点速查表
    • 1. 主时钟(Primary Clock)——“时间基准尺”
    • 2. 生成时钟(Generated Clock)——“派生时钟”
    • 3. 同一端口多时钟——“多模式”
    • 4. 时钟特性调整——“微调尺”
    • 5. 快速验收脚本


时钟周期约束知识点速查表


1. 主时钟(Primary Clock)——“时间基准尺”

在这里插入图片描述

知识点一句话要点示例/Tcl
定义进入 FPGA 的第一级时钟:引脚或 GT 输出(注意这个是GT输出,不是gt_ref_clk,也不是经过example中mmcm输出的log_phy,而是rx/txoutclk,这个是硬核GT输出的,可以理解为GT中有个晶振,来根据gt_ref_clk产生的rx/txoutclk,因此是主时钟create_clock -name clk200 -period 5 [get_ports clk_p]
差分时钟仅约束 P 端,N 端自动跟随[get_ports clk_p] 即可
三要素源、周期、占空比-waveform {0 2.5} 可省,默认 50/50
抖动输入不确定性set_input_jitter clk200 0.15
时钟组异步场景先声明(默认都是同步时钟,需要进行时序分析,如果设置组了,相当于都FALSE了,一般情况不建议用组)set_clock_groups -async -group clk200 -group clk125
  • 命令get_ports决定了时钟源
  • 在约束时,例如SRIO IP中GT的的 XDC 用 get_ports 只是“图省事、图通用”,工具照样能把时钟约束透;换成 get_pins 也能用,但既麻烦又容易因为层级变动而失效,所以官方模板干脆统一写 get_ports。
  • 有些IP中本身含有XDC,会进行时序约束,我们不必再约束一遍

2. 生成时钟(Generated Clock)——“派生时钟”

场景命令关键选项注意
MMCM/PLL 自动输出只需主时钟;工具自动推导report_clocks 看 A 属性
用户逻辑分频-divide_by N-edges {1 3 5}-source 必须指向主时钟引脚(注意FF的C口指定为时钟源,如下图约束,Q指定为衍生时钟pins))或单元 CLKPIN;另外,get_pins用于指定时钟源
随路时钟OSERDES 输出-divide_by 1 并指定相同延迟路径
重命名自动时钟create_generated_clock -name 覆盖原名称仅对自动时钟有效,用户逻辑时钟不可重命名

在这里插入图片描述

维度系统同步(System Synchronous)源同步(Source Synchronous)
时钟来源板级全局时钟(晶振→BUF→所有芯片)发送端 FPGA 随路输出时钟(与数据同方向)
时钟数1 个,全网共享1 对/组,每方向独立
数据方向单向或双向通常单向,高速双向用两套随路时钟
最高频率一般 ≤ 200 MHz(FR4 走线极限)轻松 400 MHz+(DDR 可 800 Mbps)
举例SPI、I²C、传统 SRAM、MCU 并口DDR、SDR SDRAM、Camera LVDS、GMII RGMII

源同步设计中的随路时钟,。随路时钟是指与数据同时生成的时钟,且同时给到接收端,以生成该数据在接收端的采样时钟。在源同步设计中,为了确保输出数据与输出时钟(随路时钟)具有相同的延迟,通常让二者经过同样的电路单元(如这里的OSERDES)后再输出。

在这里插入图片描述


3. 同一端口多时钟——“多模式”

目的命令片段解释
双模式测试create_clock -name clk_slow -period 10 [get_ports clk]
create_clock -name clk_fast -period 6.667 [get_ports clk] -add
第二句必须 -add
互斥存在set_clock_groups -physically_exclusive -group clk_slow -group clk_fast告诉工具不会同时出现
含生成时钟同上再加 -include_generated_clocks防止子时钟仍被分析

4. 时钟特性调整——“微调尺”

参数命令应用示例
输入抖动set_input_jitter <clock> <value>0.1~0.2 ns 常见
额外不确定性set_clock_uncertainty -setup 0.5 [get_clocks clk200]轻度过约束,增时序预算
双向不确定-from A -to B 可不对称跨时钟域单独加压

5. 快速验收脚本

# 1. 查遗漏
report_clock_networks -name clk_overview
# 2. 查自动/生成时钟属性
report_clocks
# 3. 查时钟组/交互
report_clock_interaction
# 4. 查不确定量
report_timing -setup -max_paths 1 -input_pins

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

相关文章:

  • 基于Hadoop的京东电商平台手机推荐系统的设计与实现
  • 没有logo可以做网站的设计吗卡密网站怎么做
  • 做侵权视频网站网站规划问题
  • 鸿蒙:用Toggle组件实现选择框、开关样式
  • html css js网页制作成品——YSL口红红色 html+css (6 页)(老版)附源码
  • CSS中的选择器有哪些?相对定位和绝对定位是相对于谁的?
  • 发布企业信息的网站大连推广
  • 详解istio mtls双向身份认证
  • 国外创意网站公司如何进行网络推广
  • 软考中级习题与解答——第十五章_数据结构与算法应用(2)
  • 在JavaScript / HTML / Node.js中,post方式的Content-Type属性的text的三种编码
  • Linux gdb
  • 源码阅读 LeakCanary
  • Java 网络流式编程
  • java后端工程师进修ing(研一版‖day51)
  • JavaScript Promise 详解:从入门到精通
  • 中山建设银行招聘网站网站设计的评估
  • 深圳制作网站培训机构自己做的网站打开超慢
  • MySQL数据库优化实战提升查询性能的五大核心策略
  • libboost_system-mt-x64.so.1.76.0 和libboost_system-mt-d-x64.so.1.76.0 区别
  • 【11408学习记录】考研数学核心突破:线性代数特征值与特征向量详解+英语长难句精析
  • 深入剖析:基于epoll与主从Reactor模型的高性能服务器设计与实现
  • 非小细胞肺癌与肿瘤相关巨噬细胞:新的治疗策略
  • React Native:发现默认参数children【特殊的prop】
  • Flink进阶:从“会用”到“用明白”的踩坑与实战总结
  • 最专业的礼品网站实例网站优化费用怎么做会计分录
  • 苍穹外卖-工作台实现、Apache POI、导出Excel报表
  • 自定义类型:联合与枚举
  • Java9
  • 基于Spring Boot + Vue 3的乡村振兴综合服务平台