写在前面
- 第一次使用WaveDrom,第一次在CSDN上写学习笔记,图片和文字的排版很拉,以后有时间再来优化
- 对我来说,建立时间和保持时间的概念很好理解,但是公式很理解,好不容易理解了以后过个几天又忘了,所以打算写个学习笔记,以便后续复习
建立时间与保持时间
clk1与clk2是一个时钟,将其分开是为了更好画波形图
clk2的时钟沿必须落在data0_valid部分,才能满足建立时间与保持时间的需要
如下图,建立时间与保持时间应满足关系(以clk1的0时刻为基点):
注释:
下面的Launch edge与Capture edge 都是STA中需要的
通常情况下,hold time的Capture edge是 set up time的Capture edge的前一个时钟沿
(下面的图中不能很好的展现这一点,因为在分析 hold time 的时候,将Launch edge向后移了一个周期。实在不懂,可以去看邸志雄老师关于STA的课程,这里的说明主要是为了给他的课程保持一致)
单周期时序
a. 建立时间
Launch edge为clk1的0时刻
Capture edge 为clk2的2时刻
建立时间公式如下(以clk1的0时刻为基点):
b. 保持时间
Launch edge为clk1的2时刻
Capture edge 为clk2的2时刻
建立时间公式如下(以clk1的2时刻为基点):
1.2 半周期时序
a. 建立时间
Launch edge为clk1的0时刻
Capture edge 为clk2的1时刻
建立时间公式如下(以clk1的0时刻为基点):
b. 保持时间
Launch edge为clk1的2时刻
Capture edge 为clk2的2时刻
保持时间公式如下(以clk1的1时刻为基点):