一些时序题计算

本文通过分析电路中的延时参数,如输入延时、逆变器延时等,探讨了时钟违例问题,特别是保持时间违例,并提出了解决方案。同时,计算了电路的最高时钟频率,为电路设计提供了理论依据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

已知:

输入延时:T(in_delay)=1ns

Inverter的延时:T(inv_max)=1ns  T(inv_min)=0.5ns

Buffer的延时:T(buf_max)=2ns  T(buf_min)=1ns

NAND2的延时:T(nan_max)=1.8ns  T(nan_min)=0.9ns

NOR2的延时:T(nor_max)=2ns  T(nor_min)=1ns

D 触发器的传输时间:T(cq_max)=4ns  T(cq_min)=1ns

建立时间:T(setup)=3ns  保持时间:T(hold)=1ns
 

求解:

1.电路是否有时钟违例?如果有该如何修改?

2.电路的最高时钟频率是多少

解答:

解答这个题啊,我认为我们不需要关注里面都是什么器件,主要关注里面的延时就可以了,因此先标注延时信息在上面。

在这个时序电路里无非就是建立时间违例和保持时间违例两种,而建立时间裕量中是包含时钟的,因此我们可以断定此时不会是建立时间违例因为时钟周期还不确定,因此如果有违例一定是保持时间违例。

时钟偏斜Tskew = Tclk2 - Tclk1    Tclk2表示时钟到达目的寄存器的时间;Tclk1表示时钟到达起始触发器的时间

建立时间裕量=T+Tskew-Tsu-Tco-Tdata   

保持时间裕量=-Tskew+Tco+Tdata-Th      

那么我们来计算下F1的最小保持时间裕量:Tdata为从F2的Q到F1的D,此时目的寄存器为F1

hold time stack(F1) =Tdata+Tco--Tskew-Th=0.9+1-2-1=-1.1ns

可以看到F1的保持时间已经违例。

那么再计算下F2的最小保持时间裕量: Tdata为从F1的Q到F2的D,此时目的寄存器为F2

hold time stack(F2) =Tdata+Tco--Tskew-Th= 1.5+1-(-1)-1=2.5ns

不错在违例情况。

因此可以得出结论:F1的保持时间违例

 

那么如何修改呢?增加F1-NAND2-F2之间的延时就可以了。因此可以在F1-NAND2-F2之间加入两个反相器和一个延时Buffer,使得

hold time stack(F1) = (Tcq+Tcom)min-(△T)max-Thold=(0.9+1+1)+1-(2)-1=0.9ns

2.要计算最快时钟频率当然要先找关键路径

首先看下面这条看上去比较长的路径:

T+Tskew>=Tco+Tsu+Tdata  Tskew=Tclk2-Tclk1=-1~-2

T= Tco+Tsu+Tdata-Tskew=4+3+3-(-2)=12ns   fmax=1/T=1/12ns=83.3MHz

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值