FPGA 时序分析

168 阅读3分钟

代码所描述的逻辑电路在指定器件上的最高运行时钟频率?

时序分析软件: TimeQuest Timing Analyzer

对工程进行全编译:

时序分析一定是基于特定器件(该器件具体到一个特定型号的特定速度等级)

时序分析一定是基于某个逻辑设计在该特定器件上经过布局布线之后的网表。

网表:

该网表包含了设计中每一个逻辑具体在什么资源上实现,还包括该资源在器件内的具体位置,还包括信号从每个节点传输到下一个节点的具体延迟时间。

image.png Clocks: 1GHZ(这个是软件报告的设计中时钟信号的约束频率)因为如果用户对时钟信号加约束,软件就会自动对分析出的时钟加入约束,这个约束按照最大的可能来约束,也就是设置时钟频率为1000MHZ。

clocks显示当前设计中有哪些时钟信号。

三种时序模型:

slow 1200mv 85c model :芯片内核供电电压为1200mv,工作温度85度情况下的慢速传输模型。

slow 1200mv 0v model : 工作温度为0度情况下的慢速传输模型。

fast 1200mv 0c model : 芯片内核供电电压1200mv,工作温度为0度快速传输模型

温度越高,芯片内内传输速度会变慢,导致在较高温度下芯片内信号传输速度变慢。延时就会增加。 0度下也存在慢速情况。

我们一般是使用slow 1200mv 85c model

image.png

Fmax Summary: 242.42MHZ 这个是设计的能够运行的最大时钟频率。

worst-Case Timing Paths: 最坏情况时序路径

软件计算时钟频率的时候,是根据最坏路径的建立时间余量来计算的。

约束: 通过时钟约束。 TimeQuest

首先需要创建网表:

Netlist setup:

creat Timing Netlist

read sdc file

过程:

1 打开tta软件

2 创建时序网表 (全编译后会自动生成)

3 读取SDC文件

4 可以看报告 report clocks 也可以加入约束,

image.png

constraints: create clock 创建时钟约束,告知软件输入的时钟频率值。

clock name: 被创建约束的时钟代号,period 20ns 通过rising failing设置等占空比时钟。

targets: 选择信号,选择端口。get_ports

image.png

edit clock constraint: 修改其频率 period,双击后更新。

在TTA中每执行一个操作,都需要特别留意console窗口中的报告,看操作是否成功。

约束的作用:

1 指导EDA软件对设计的布局布线进行合理优化以尽量满足约束需求。

2 给时序分析工具提供一个分析时序的参考

生成SDC文件,所有约束操作完成后,需要执行写SDC文件的操作,这个操作会生成包含所有约束的SDC文件。 synopsys design constraints. 新思 电子设计自动化软件工具eda主导企业 Write SDC file:

关闭软件。

EDA软件仅会根据约束需求去布局布线达到约束要求,但是,不会每次编译都按照最优的情况去编译。

所以设计中需要加入合理的时钟约束。