1、时钟的基本概念
1.1 时钟定义:
同步设计:电路的状态变化总是由某个周期信号的变化进行控制的,在这个信号的 posedge 或者是 negedge 都可以作为电路状态的触发条件。
时钟:在同步设计中,这个信号 叫做时钟。
理想的时钟模型是一个占空比 50%的周期工期的方波。
1.2 时钟偏差:
如果时钟信号不规律或者伴随噪音,有可能会打乱电路运行时序,使得设计失去既定的功能和性能。FPGA最基本的clk 通常 来自于 外部的 晶振,它可以提供相对稳定的clk 。FPGA内部也可以使用 PLL 分频 或者 倍频 。
时钟抖动:虽然时钟抖动一般都是 ps ,但是对于几百MHz的clk而言,时钟抖动的占比还是不容忽视的。所以在FPGA时许约束中,会将此作为时钟不确定性约束(Uncertainty)。
2、 建立时间与保持时间
建立时间 Tsu:是指在clk到来之前,数据要保持稳定的时间。
保持时间 Th:是指才clk posedge到来之后,数据要保持稳定的时间。
3、 reg 2 reg 的时许路径分析
3.1 数据路径和时钟路径
3.2 数据到达路径和数据需求路径
数据到达路径:数据在两个reg之间传输的实际路径,由此路径可以算出数据在两个reg之间传输的实际时间。
数据需求路径:为了确保稳定可靠有效的传输(满足setup time 和 hold time),数据在两个reg之间传输的理论所需时间的计算路径。
3.3 启动沿、锁存沿、hold time和setup time关系
启动沿:launch edge
锁存沿:latch edge
建立时间关系:setup relationship
保持时间关系:hold relationship
数据需求时间:data requirement time
3.4 reg 2 reg 路径分析
时间定义:
Tc2i: clk到reg1的时钟网络延时
Tc2j: clk到reg2的时钟网络延时
Td: 上一级reg的input锁存之后,到下一级reg input锁存的时间。
Tsu: setup 时间
Th: hold 时间
4、引脚到reg的时序路径分析
4.1 系统同步接口与源同步接口
FPGA和外部芯片的同步信号接口,根据clk的来源可以分为 系统同步接口和源同步接口两大类。
系统同步接口:FPGA与外部芯片之间的通信时钟都由外部同一clk(系统时钟)产生。
源同步接口:FPGA与外部芯片之间的通信时钟都由源reg所在的一侧(output 端)产生。
4.2 系统同步接口的时许分析
4.3 源同步接口的路径分析
5、reg到pin的时许路径分析
5.1 系统同步接口的路径分析
5.2 源同步接口的路径分析
6、pin 到 pin 的时许路径分析