FPGA 时序分析和约束

195 阅读1分钟

clk 没有给其相应的时钟属性的设置。

约束 - 时钟

分析系统:

分析建立时间余量的时候,要看85度慢速模型下的报告

分析保持时间余量的时候,要看0度快速模型下的报告。

系统的最高运行频率,

分析和约束时相辅相成的,先有约束,软件才可以根据约束进行分析。

创建:

assignments - Timequest analyzer wizard (时序分析向导) - 设置时钟

创建时钟约束 - 创建sdc文件完成

再编译 clk警告已经没有了。

某时钟域的Fmax: 由clk这个时钟驱动的所有寄存器中,最坏路径能够运行的最低运行频率。

worst_case Timing - setup clk :

from node - to node :

IC cell: 内部连线 单元

数据到达路径: ic cell uTco

数据到达路径:

data require path - data arrival path = slack 余量

生成时钟 约束:

constraint - create generated clock - 完成配置

*为分配级

image.png

写入sdc file 即可,再重新编译

image.png

时序优化: 提高fmax 频率

先用timequest timing 软件 在report clocks里重新设置时钟, write sdc file。

在file里 导入sdc文件,重新编译,查看 fmax summary。

再修改 时钟频率,write sdc file,重新编译,查看报告。

优化: 最坏路径分析

缩短组合逻辑路径,加入寄存器,将组合逻辑转化为时序逻辑。

使用寄存器输出。减少assign的组合逻辑。

image.png

某时钟域里的fmax, 由clk这个时钟驱动的所有寄存器里面,最坏路径能够运行运行的最低运行频率。

from node to node: 才会被分析。 谁先变 ,谁会因为谁的变化而改变, from node - to node

image.png

clocks里为时钟约束。

I/o 约束

合理的I/O 时序约束。