
本文共 2156 字,大约阅读时间需要 7 分钟。
文章目录
1
setup slack ≥ 0Tperiod-Tsu-(Tco+Tdata)+Tskew ≥ 0Tperiod-2-(6+2)+0 ≥ 0Tperiod ≥ 10
故最大频率为100M。
2
setup slack ≥ 0Tperiod-Tsu-(Tco+Tdata)+Tskew ≥ 0Tperiod-0.5-(1+4+0.5)+0 ≥ 0Tperiod-6 ≥ 0Tperiod ≥ 6
对应工作频率为166.67M,又工作频率的timing margin为10%,故166.67 * 0.9 = 150M。
3
setup slack ≥ 0Tperiod-Tsu-(Tco+Tdata)+Tskew ≥ 0Tperiod-2-(1.8+1.2)+0 ≥ 0Tperiod-5 ≥ 0Tperiod ≥ 5
对应工作频率最高为200M。
(b)数据datain与时钟clock之间的最小建立时间和最小保持时间分别是多少?
数据datain与时钟clock之间的建立时间,及datain需要在clock之前多长时间保持稳定,以时钟周期5ns来说,因为Tco时间为1.8ns,所以datain经过Tpd1传递到与门输入端的时间只要小于等于1.8ns就能满足触发器的建立时间,即使是在clock有效沿之后。又Tpd1=0.9ns,所以datain只要在clock信号之后0.9ns保持稳定即可,datain与clock之间的最小建立时间为-0.9ns。
数据datain与时钟clock之间的保持时间,及datain需要在clock之后多长时间仍然保持稳定,以时钟周期5ns来说,因为
hold slack =(Tco+Tdata)-Thold =(1.8+1.2)-1.5 =1.5ns 所以保持时间余量为1.5ns,相当于数据D可以在clock有效沿之前1.5ns变化,仍能满足触发器保持时间要求,又因为Tpd1=0.9ns,所以datain可以在clock有效沿之前0.6ns变化,仍能满足触发器保持时间要求,因此数据datain与时钟clock之间的最小保持时间为-0.6ns。4
下图是某电路中的一条关键路径,其中DFF的参数如下:Tco=1ns,Tsu=2ns,Thold=1ns,Logic的最大延时为4ns,最小延时为3ns,CLK的jitter为2ns,则电路最小时钟周期为


setup slack ≥ 0Tperiod-Tsu-(Tco+Tdata)+Tskew-Tjitter ≥ 0 #考虑时钟抖动影响Tperiod-2-(1+4)+1-2 ≥ 0Tperiod-8 ≥ 0Tperiod ≥ 8
故电路最小时钟周期为8ns。
5

hold分析使用延时最小的路径,即DFF2 > LOGIC1 > MUX > LATCH1 > D.
需要注意的是因为LACTH1是负沿latch,所以在0~5ns是锁存状态,数据经过LOGIC1的1ns延时,然后到达LATCH1数据端等待,直到第5ns,再经过LATCH1的1ns传播延时,在第6ns到达MEMORY的D端. hold slack =(Tco+Tdata)-Thold –Tskew = 6 – 3 – Tbuffer 由hold slack ≥ 0得Tbuffer ≤ 3.所以1≤ Tbuffer ≤3.
6
个人理解:
先从DFF1分析,可以看到D端前面加了延时T1,CK端前面加了延时T2,假设T1>T2,相当于数据会比时钟沿晚(T1-T2)到来,那么为了满足DFF1的setup time,对din相对于clk的setup要求更严了,为Ts1+(T1-T2);为了满足DFF1的hold time,对din相对于clk的hold要求宽松了,为Th1-(T1-T2)。假如T1<T2,那么(T1-T2)<0,上面的公式也是成立的。
这是对DFF1进行分析,是否还要对DFF2进行分析,然后取二者中的最大值?
转载地址:https://blog.csdn.net/qq_36480087/article/details/108362985 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关于作者
