FPGA时序分析基础–基本概念
1、launch edge & latch edge
Launch edge(启动沿): 源寄存器(REG1)发送数据的时钟沿。
Latch edge(锁存沿): 目标寄存器(REG2)接收并锁存数据的时钟沿。
2、Data Arrival Time (数据到达时间) & Clock Arrival Time (时钟到达时间)
数据到达时间是指在启动沿之后,数据从源寄存器开始发送到目标寄存器的D端开始接收所经过的时间。
时钟到达时间是指锁存沿之后,时钟到达目标寄存器的时钟端所经历的时间。
当源寄存器与目标寄存器采用的时钟属于同一个时钟源时,launch edge 与 latch edge 相差一个时钟周期;而当它们不属于一个时钟源,即异步的情况时,则需根据实际的lauch edge 与 latch edge 的时间差来计算。
3、Data Required Time(Setup & Hold)
3.1 Data Required Time(Setup)
数据建立时间要求,是指信号从源寄存器发出,到目标寄存器接收,确保目标寄存器能正确采样的时间。
其中tsu为触发器的建立时间,由器件工艺决定。Clock jitter 是时钟抖动,加入Setup uncertainty一项有利于定义非理想时钟。
3.2 Data Required Time(Hold)
数据保持时间要求,是指数据在锁存沿之后必须保持稳定的一段时间。
其中th为目标寄存器的保持时间,同样也由器件工艺决定。
4、Slack 时序余量
为了使电路正常工作,时序余量必须满足是正值,留有足够的余量来满足建立和保持时序的要求。
4.1 Setup Slack
4.2 Hold Slack
保存时间余量保证了当前数据在锁存过程中,不会被下一拍数据的到来破坏。