时序分析与时序约束的**
一、 基础篇:
常用的约束(Assignment/Constraints)分类:时序约束、区域与位置约束和其他约束。
主要用途:
1、时序约束:
规范设计的时序行为,表达设计者期望满足的时序条件,指导综合和布局不同阶段的优化算法等。简而言之就是规范和指导的作用。倘若合适的话,它在综合、影射、布局布线的整个流程中都会起指导作用,综合器,布线器都会按照你的约束尽量去努力实现,并在静态时序分析报告中给出结果。
2、区域与位置约束:
指定芯片I/O引脚位置以及指导实现工具在芯片中特定的物理区域进行布局布线。
3、其他约束:
主要作用:
1、提高设计的工作频率:
通过附加时序约束可以控制逻辑的综合、映射、布局和布线,以减少逻辑和布线的延时。其实,综合后的结果只是给出你的设计一个大概的速度范围,布线后的速度比综合后给出的结果要低,这是因为综合后只有器件的延时,而布线后除了器件的延时还要加上布线上的延时。至于低多少就看设计者的约束能不能很好的指导布线器进行优化了。
2、获得正确的时序分析报告:
在QuartusII 中,内嵌的是静态时序分析工具(STA, Static Timing Analysis),他的作用就是设计进行评估,只有在正确的输入时序约束的情况下,才能得到可靠的报告。同时也是做FPGA设计时是必须的一个步骤,事实上大家一般都已经做了这一步,我们在FPGA加约束、综合、布局布线后,会生成时序分析报告,设计人员会检查时序报告、根据工具的提示找出不满足setup/hold time的路径,以及不符合约束的路径,这个过程就是STA。
此外,STA是相对于动态时序仿真而言的,它通过对每个时序路径的延时分析,计算出最高的设计频率(fmax),发现时序违规(Timing Violation)。注意:静态时序分析仅仅聚焦于设计时序性能的分析,而不会涉及逻辑性能。
。。。。。。。。。。。 |