FPGA 时序约束基础详解

一、什么是时序约束?它在 FPGA 设计中扮演什么角色?

定义
时序约束(Timing Constraints)是用约束语言(XDC / SDC)告诉 Vivado / Quartus 等综合工具:你的设计必须在什么频率下稳定工作、信号必须在什么时间内到达

它不是代码逻辑,而是设计意图的声明,指导工具进行优化、布局布线和时序分析。

💡核心价值

  • 定义时钟频率和时钟关系
  • 保证建立时间(Setup)和保持时间(Hold)满足要求
  • 控制输入输出延迟(I/O Timing)
  • 实现虚假路径、多周期路径等特殊时序
  • 决定设计最终能跑到多高频率(Fmax)

📌一句话总结
时序约束 = 告诉 FPGA 工具“你想跑多快、怎么跑”,没有良好约束,再好的代码也可能时序违例或频率很低。


二、时序约束基础概念图解

最核心的两个时序路径

1. Setup 时间(建立时间)—— 最重要
信号必须在时钟上升沿之前稳定足够长时间。

时钟沿 → 数据启动 → 数据必须在下一个时钟沿