时序分析类笔试题
发布日期:2022-01-31 02:52:45 浏览次数:3 分类:技术文章

本文共 2156 字,大约阅读时间需要 7 分钟。

文章目录

以下题目解析仅为个人理解,如有错误,还请不吝指正!

1

在这里插入图片描述

setup slack ≥ 0Tperiod-Tsu-(Tco+Tdata)+Tskew ≥ 0Tperiod-2-(6+2)+0 ≥ 0Tperiod ≥ 10

故最大频率为100M。

2

在这里插入图片描述

最大频率分析使用最长路径,最长路径为从下方的触发器输出,经过异或门再到达上方触发器输入D的路径。
tint表示互连线上的延时。

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

在这里插入图片描述

(a)系统最高工作频率

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更差;触发时钟向前偏移,捕获时钟向后偏移,会使得hold更差。
因此,在计算setup slack和hold slack时,直接减去clock jitter的值。
这里jitter=2ns,个人理解是在理想时钟沿的前后都可能有1ns的偏移。

setup slack ≥ 0Tperiod-Tsu-(Tco+Tdata)+Tskew-Tjitter ≥ 0   #考虑时钟抖动影响Tperiod-2-(1+4)+1-2 ≥ 0Tperiod-8 ≥ 0Tperiod ≥ 8

故电路最小时钟周期为8ns。

5

在这里插入图片描述

在这里插入图片描述
1)由图中标志可以看出是 transparent-low latch.
2)setup分析使用延时最大的路径,即DFF2 > LOGIC2 > MUX > LATCH1 > D.
setup slack
= Tperiod –Tsu -(Tco+Tdata)+Tskew
= 10 – 4 -(0+6+1)+Tbuffer
= Tbuffer -1
由setup slack ≥ 0得Tbuffer ≥ 1.

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

在这里插入图片描述

(1)din相对clk的建立时间?
(2)din相对clk的保持时间?

个人理解:

先从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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:常见clock tree结构
下一篇:编程练习2-筛选出及格和不及格的人从高到底排列

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年03月23日 16时24分55秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章