目录
一、前言
二、时序路径
2.1 时序路径构成
2.2 时序路径分类
2.3 数据捕获
2.4 Fast corner/Slow corner
2.5 Vivado时序报告
三、参考资料
一、前言
时序路径字面容易简单地理解为时钟路径,事实时钟存在的意义是为了数据的处理、传输,因此严格意义上的时序路径是指在时钟控制下的时钟路径与数据路径。
二、时序路径
2.1 时序路径构成
关键词:源时钟路径,数据路径,目的时钟路径
以数据在两个寄存器间的传输连接为例,典型的时序路径包含3个部分:源时钟路径,数据路径,目的时钟路径,源时钟路径和目的时钟路径的时钟可相同,也可不同。
2.2 时序路径分类
下图为FPGA芯片与外围电路连接的简略图,中间虚线框内为FPGA器件,左右两侧的开发板器件分别为输入到FPG芯片和FPGA芯片输出到外围器件。FPGA芯片通过DIN和DOUT口与外围电路连接。
将两个寄存器REG A和REG B为界限,时序路径可分为4类:
路径1:外部器件到FPGA内部的寄存器单元REG A,
路径2:输入端口DIN直连的寄存器REG A到输出端口DOUT直连的寄存器REG B
路径3:输入寄存器REG A到输出寄存器REG B
路径4:芯片输入端口DIN到输出端口DOUT间的路径
4类时序路径组成分析
当路径1的起点非开发板的输出Q,而是以DIN为起点时,路径1是不存在源时钟路径。同理路径3的终点非外部开发板的输入端口D,而是以DOUT为终点时,路径3不存在目的时钟路径。对于路径4,因为起点和终点分别为DIN,DOUT,路径上不存在寄存器,输入输出的时钟可为虚拟时钟,也可以是设计时钟。
虚拟时钟:用于描述数据引脚上的外部时钟信号,约束时可不指定实际端口,该时钟不会存在于FPGA内部,为了方便时序分析而存在。
2.3 数据捕获
关键词:发送沿Lanch edge,捕获沿Capture edge
以边沿触发的触发器为例,REG A的Q只有在起点处的源时钟处于上升沿或下降沿时才会输出D的数据,传输到REG B的输入端口D。因此,该时钟边沿即为发送沿。同理,对于REG B的输入D,只有在目的时钟源处于上升沿或触发沿时,才能输入到触发器REG B中,目的时钟的时钟信号边沿称为捕获沿,即捕获到发送沿发送来的数据。发送沿和捕获沿相差一个时钟周期
在10ns出,clk0将D0输入发送出,即Q0的值为1,同时Q0的值传输到D1,捕获时钟clk1在20ns处将1捕获,输出到Q1,即经过一个时钟周期20ns,D0传输到了Q1。
2.4 Fast corner/Slow corner
时序分析还需考虑器件在不同环境条件下的传输和处理时延不同,将这些影响时延的外在因素统一考虑,分为两种极端场景,Slow corner和Fast corner,两者可理解为最差的条件和最好的条件。每种场景在组合最大时延和最小时延,共存在四种情况。
Slow corner+最大时延
Slow corner+最小时延
Fast corner+最大时延
Fast corner+最小时延
2.5 Vivado时序报告
在Report Timing Summary中,Design Timing Summary中可以找到设计中setup和hold的最差时序路径,setup和hold都大于0,时序不违例,该设计中无recovery、removal路径。
设计中只对clk_100M设置了时钟约束
clk_100M为手动设置的约束,其余时钟为时钟IP生成的,配置完成后会自动生成时钟约束,最终来源也是clk_100M.
三、参考资料
用户手册《ug906-vivado-design-analysis-zh-cn-2022.2.pdf》