FPGA 时序约束基础详解
一、什么是时序约束?它在 FPGA 设计中扮演什么角色?
✅定义:
时序约束(Timing Constraints)是用约束语言(XDC / SDC)告诉 Vivado / Quartus 等综合工具:你的设计必须在什么频率下稳定工作、信号必须在什么时间内到达。
它不是代码逻辑,而是设计意图的声明,指导工具进行优化、布局布线和时序分析。
💡核心价值:
- 定义时钟频率和时钟关系
- 保证建立时间(Setup)和保持时间(Hold)满足要求
- 控制输入输出延迟(I/O Timing)
- 实现虚假路径、多周期路径等特殊时序
- 决定设计最终能跑到多高频率(Fmax)
📌一句话总结:
时序约束 = 告诉 FPGA 工具“你想跑多快、怎么跑”,没有良好约束,再好的代码也可能时序违例或频率很低。
二、时序约束基础概念图解
最核心的两个时序路径:
1. Setup 时间(建立时间)—— 最重要
信号必须在时钟上升沿之前稳定足够长时间。
时钟沿 → 数据启动 → 数据必须在下一个时钟沿