首先回答标题的问题:
时序约束是什么?
简单来讲,时序约束就是你要告诉综合工具,你的标准是什么。 综合工具应该如何根据你的标准来布线,以满足所以寄存器的时序要求。
为什么要做时序约束?
这里引用特权同学书中的话:“没有任何设计约束的工程,编译器工作的时候就如脱缰的野马,漫无目的且随意任性;但是,任何的设计 过约束 或者 欠约束 ,都可能导致时序难以收敛。因此,为了达到设计目标,工程师们需要设定合理的时序约束”
时序约束的类型
在进行时序约束时,主要分为四类时序约束:
- reg2reg : FPGA内部寄存器之间的时序路径
- pin2reg : 输入引脚到FPGA寄存器之间的时序路径
- reg2pin : FPGA内部寄存器到输出引脚的时序路径
- pin2pin : 输入引脚到输出引脚之间的时序路径(不经过寄存器)
时序约束的基本流程
FPGA设计之时序约束四大步骤
常见的时序约束的XDC命令(命令参考UG835)
AMD Adaptive Computing Documentation Portal
常见的Tcl语句用于时序约束
create_clock
create_generated_clock