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

系统同步输出延迟分析

文章目录

  • 系统同步输出延迟分析
  • 前言
    • [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)工具辅助优化
相关推荐
博览鸿蒙14 小时前
FPGA 工程中常见的基础硬件问题
fpga开发
GateWorld18 小时前
FPGA 实现无毛刺时钟切换
fpga开发·实战·无毛刺时钟
Seraphina_Lily20 小时前
从接口选型到体系结构认知——谈 CPU–FPGA–DSP 异构处理系统与同构冗余设计
fpga开发
Seraphina_Lily1 天前
CPU–FPGA–DSP 异构系统中的总线接口选型——为什么 CPU 用 eLBC,而 DSP 用 XINTF?
fpga开发
GateWorld1 天前
FPGA开发十年心路
fpga开发
ALINX技术博客2 天前
【ALINX 教程】FPGA Multiboot 功能实现——基于 ALINX Artix US+ AXAU25 开发板
fpga开发·fpga
Genevieve_xiao2 天前
【verilog】如何一小时成为verilog高手(并非
fpga开发
从此不归路2 天前
FPGA 结构与 CAD 设计(第3章)上
ide·fpga开发
Aaron15882 天前
基于VU13P在人工智能高速接口传输上的应用浅析
人工智能·算法·fpga开发·硬件架构·信息与通信·信号处理·基带工程
碎碎思2 天前
在 FPGA 上实现并行脉冲神经网络(Spiking Neural Net)
人工智能·深度学习·神经网络·机器学习·fpga开发