解决建立时间与保持时间不满足的问题

基本概念

  • 建立时间:即setup time,时钟上升沿之前数据要保持稳定的时间。
    请添加图片描述
  • 保持时间:即hold time,时钟上升沿之后数据要保持稳定的时间。请添加图片描述
  • 裕量:即Time Slack,如果数据到来的时间点早于建立时间要求的时间点,那么这个时间差称为建立时间的裕量;同理数据变化的点晚于保持时间要求的时间点,那么这个时间差称为保持时间的裕量。裕量≥0,表明数据是可以安全传输的。

建立时间和保持时间的检查

如下图所示,这是典型的时序结构。
请添加图片描述
解释图中的符号:

  • Tlaunch:时钟源点到第一个触发器的时钟网络延迟,也就是时钟偏斜(skew);
  • Tcapture:为时钟源点到第二个触发器的时钟网络延迟,也就是时钟偏斜(skew);
  • Tck2q:是触发器的延迟,即D端到Q端的延迟,这是由触发器本身的电气特性所决定的;
  • Tcycle:是时钟周期,即时钟频率 1\fclk
  • Tdp:是第一个触发器的输出端到第二个触发器的输入端之间的组合逻辑电路部分的电路延迟;

我们分析这个电路,由下图可看出:请添加图片描述
解释上图,第二个触发器要想满足setup time,就必须要满足:

  • 上图中绿色竖线为时钟源点经过延迟,到第二个触发器的时间(对应绿色路径)
  • 对应红色的路径部分,经过组合逻辑,到达第二触发器的Q端,最晚只能到达上图的红色竖线部分,否则就没办法,满足建立时间。

由此,我们可以推迟公式:
Tlaunch + Tck2q + Tdp ≤ Tcapture + Tcycle - Tsetup

因为Tlaunch和Tcapture都表示为时钟偏斜(clock skew),所以我们合并之后就可得:

  • 建立时间约束Tsetup ≤ Tcycle +Tskew - Tdp - Tck2q

  • 保持时间约束Thold ≤ Tdp + Tck2q

其中参数意义:

  • Tclock:也就是时钟偏斜(clock skew);
  • Tck2q:是触发器D端到Q端的延迟;
  • Tcycle:是时钟周期,即时钟频率 1\fclk
  • Tdp:是组合逻辑电路部分的电路延迟;

PS:这里可能你会觉得建立时间有点难记,我多啰嗦一句:

  • Tcycle + Tskew 是表示第二个触发器的时钟到达的时间;
  • Tdp + Tck2q是表示经过第一个触发器+组合逻辑到达的时间;
  • 二者的差值就是建立时间最大的时间要求

解决建立时间和保持时间不满足的情况

由上面推导的不等式,我们可以得出结论:

1.建立时间不满足

当建立时间不满足时,即Tsetup值要大于实际的Tcycle +Tskew - Tdp - Tck2q,为了满足建立时间:

  • 可以通过改进工艺,采取具有更小的Tsetup值的芯片;
  • 采用延迟更低的触发器,降低Tck2q
  • 增大时钟周期Tcycle和时钟偏斜Tskew,但这会降低电路的性能;
  • 尽量减小两个触发器之间的组合逻辑电路的使用,从而降低Tck2q

2.保持时间不满足

当保持时间不满足时,也就是Thold要小于Tdp + Tck2q,可以通过:

  • 理论上,可以增加Tdp和Tck2q来解决,也就是增加触发器的D端到Q端的延时,以及两级触发器之间的组合逻辑电路部分。
  • 目前大部分芯片的Thold时间都可以做到0ns。所以当保持时间不满足时,通常采用的做法是在传输路径上插入buffer,在不影响逻辑功能前提下,只具有增加延迟的作用。

PS:尤其注意,保持时间Thold和时钟频率之间是没有关系,故降低时钟速度不能解决保持时间不满足的问题,很多面试题喜欢在这里挖坑。

针对项目开发计划的问题和不足,我可以提供以下建议: 1. 缺乏详细的项目计划和时间表:在项目启动之前,应该制定出详细的项目计划和时间表,以确保每个阶段的任务都得到充分考虑,并且能够按时完成。 2. 缺乏适当的资源分配:在项目启动之前,需要评估资源,包括人员、设备和资金,以确保能够充分利用所有资源,并且能够满足项目需求。 3. 缺乏有效的项目管理:需要建立一个有效的项目管理框架,以确保项目的目标、需求和进展得以透明化,这有助于保持团队的协作和沟通,并且能够及时解决任何问题。 4. 缺乏风险管理策略:在项目启动之前,应该评估项目的潜在风险,并且制定相应的风险管理策略,以降低项目的风险。 改进建议: 1. 制定详细的项目计划和时间表,并且确保每个阶段的任务都得到充分考虑,并且能够按时完成。 2. 评估资源和分配资源,并且确保充分利用所有资源,并且能够满足项目需求。 3. 建立一个有效的项目管理框架,以确保项目的目标、需求和进展得以透明化,这有助于保持团队的协作和沟通,并且能够及时解决任何问题。 4. 评估项目的潜在风险,并且制定相应的风险管理策略,以降低项目的风险。 以上是我对于项目开发计划的问题和不足以及改进建议,希望能够对您有所帮助。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小verifier

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值