系统同步输出延迟分析(七)

系统同步输出延迟分析

文章目录

  • 系统同步输出延迟分析
  • 前言
    • [1. 什么是系统同步接口?](#1. 什么是系统同步接口?)
    • 2.时序分析
    • [3. 系统同步的局限性](#3. 系统同步的局限性)
      • [3.1 时钟偏移(Clock Skew)](#3.1 时钟偏移(Clock Skew))
      • [3.2 难以支持更高频率](#3.2 难以支持更高频率)
    • [4. 设计建议与演进方向](#4. 设计建议与演进方向)

前言

  • 后面一系列分析,均可将外部设备和FPGA想象为在一个设备内种的分析方式。即,片内两个寄存器之间的时序计算时刻0点是在源时钟为起点(源同步两个时钟之间是有相位差偏斜的,而系统同步可当做没有偏斜,即clk1和clk2相减为0)
  • 通过输入input_delay最大最小值,让软件知晓 如何计算建立时间裕量和保持时间裕量,才能正确分析是否违例,免得看着没时序问题,实际上隐藏时序问题不知道
  • 建立时间裕量是再下一个时钟周期进行计算,时刻以源时钟开始为标准。
  • input_delay和output_delay min和max,均是对外部走线源和目的相对延迟 来说(延迟分两个,内部延迟和外部延迟,input的外部是指源到FPGA端口的一段,out的外部是FPGA端口到外部设备端口这一段)。在分析时均以如何试探建立时间和保持时间的极限值来进行计算,以这个思路就好分析公式的用意。总体来说,求的是源到目的到达时间的相对值
  • 再次强调,input_delay和output_delay min和max是计算相对FPGA的外部,是外部,是外部,不管是系统同步还是源同步,要分清楚什么是外部
  • 公式中时序分析中是源减目的还是目的减源,都可以,求出相对值即可,正负的问题,一般是在建立时间分析时是目的减去源,得到一个正值,如果为负值则违例。对于保持时间来说,源减去目的得到一个正值,说明数据来的慢,不会冲坏保持时间裕量中的数据,负值表示违例。因此建立时间和保持时间均以负表示违例,这样就统一了
  • 公式求IO延迟中,求的是外部数据走向相对于时钟的偏差(数据和时钟的关系),因此以原数据路径到FPGA端口或者端口到外部设备的相对于时钟的延迟来计算,即外部原延迟减去时钟之间的偏差。即,数据延迟多少个外部相对时间到达目标设备的外部接口(不包括设备内部延迟)
  • 为什么再分析输出延迟的时候,不计算FPGA内部的时延,之所以计算外部,就是因为内部的,FPGA自己知道,不用再计算,只计算外部时钟和数据之间相对的偏差即可

1. 什么是系统同步接口?

系统同步接口 指的是FPGA 与外部器件共享同源时钟信号的通信方式。即:

  • 时钟信号由同一时钟源产生;
  • 该时钟同时供给 FPGA 和外部器件;
  • 数据在时钟的驱动下进行采样和传输。

尽管时钟同源,但由于时钟与数据经由不同物理路径传输 ,它们到达 FPGA 输入端的时间存在差异,这种差异称为时钟偏移(Clock Skew)

2.时序分析


注意:这里的建立和保持时间是针对外部器件而

用于外部器件建立时间的分析,用output_delay max



3. 系统同步的局限性

尽管系统同步接口结构简单、易于实现,但在高速设计中存在以下显著问题:

3.1 时钟偏移(Clock Skew)

  • 时钟与数据路径不一致,导致时钟偏移
  • 偏移过大将压缩建立时间余量(Setup Slack)
  • 在高速场景下,Setup Slack 可能为负,导致时序违例。

3.2 难以支持更高频率

  • 随着频率提升,时钟周期缩短,偏移占比增大;
  • 系统同步接口难以满足高频率下的时序收敛要求
  • 已逐渐被淘汰,取而代之的是**源同步(Source Synchronous)**接口。

4. 设计建议与演进方向

场景 建议
低速接口(<100MHz) 系统同步仍可使用,但需严格控制 PCB 走线长度匹配
高速接口(>100MHz) 强烈推荐使用源同步接口(如 DDR、SPI、LVDS)
时序收敛困难 使用时序约束(SDC)+ 静态时序分析(STA)工具辅助优化
相关推荐
XINVRY-FPGA1 天前
XCVP1802-2MSILSVC4072 AMD Xilinx Versal Premium Adaptive SoC FPGA
人工智能·嵌入式硬件·fpga开发·数据挖掘·云计算·硬件工程·fpga
9527华安2 天前
国产安路FPGA开发设计培训课程,提供开发板+工程源码+视频教程+技术支持
fpga开发·fpga·安路·视频教程·培训·安路fpga
UVM_ERROR2 天前
硬件设计实战:解决Valid单拍采样失效问题(附非阻塞赋值与时序对齐核心要点)
驱动开发·fpga开发·github·芯片
brave and determined2 天前
可编程逻辑器件学习(day36):从沙粒到智能核心:芯片设计、制造与封装的万字全景解析
fpga开发·制造·verilog·fpga·芯片设计·硬件设计·芯片制造
步达硬件3 天前
【FPGA】FPGA开发流程
fpga开发
我爱C编程3 天前
【仿真测试】基于FPGA的完整16QAM通信链路实现,含频偏锁定,帧同步,定时点,Viterbi译码,信道,误码统计
fpga开发·16qam·帧同步·卷积编码·viterbi译码·维特比译码·频偏锁定
s09071364 天前
ZYNQ DMA to UDP 数据传输系统设计文档
网络协议·fpga开发·udp
燎原星火*4 天前
QSPI IP核 基本参数
fpga开发
XINVRY-FPGA4 天前
XCVU9P-2FLGC2104I Xilinx AMD Virtex UltraScale+ FPGA
嵌入式硬件·机器学习·计算机视觉·fpga开发·硬件工程·dsp开发·fpga
FPGA_小田老师4 天前
FPGA Debug:PCIE一直自动重启(link up一直高低切换)
fpga开发·pcie debug·pcie初始化问题