0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

时序逻辑电路的建立,保持时间裕量分析

电子工程师 来源:未知 作者:李倩 2018-09-10 10:45 次阅读

时序逻辑电路的建立,保持时间裕量分析

Verilog里,时序逻辑电路即表示如下图所示的电路。前后两级寄存器之间有一个组合逻辑运算电路。

假设寄存器的建立时间要求为tsetup, 保持时间要求为thold, 输出延时为tcq。

故对于第一个寄存器,时钟上升沿之后,经过时间tcq数据才从Q端输出。波形图示如下。

假设组合逻辑运算电路的运算耗时为tlogic。故运算后的数据在时钟上升沿之后经过时间tcq+tlogic才到达下一级寄存器的D端,图示如下。

那么对于下一级寄存器在接下来到来的时钟上升沿采集数据,其必须要满足建立保持时间要求。

建立时间:既数据D至少需要提前于clk上升沿多长时间到来,数据的采集才不会出错。

从上述分析可得数据D提前于clk上升沿的时间为 tcycle-(tcq+tlogic)。

其中tcycle为时钟周期。

如果tcycle-(tcq+tlogic) >tsetup 那么建立时间要求就得到了满足。一般称tcycle-(tcq+tlogic) -tsetup 为建立时间裕量,为保证建立时间满足要求,裕量必须要大于0。

当然上述情况还忽略了时钟的延迟,即默认前后两级寄存器的clk都是同时到达。如果时钟存在正延时,即时钟的传播方向与数据传播方向一致,即电路如下图所示。clk从第一级到后一级寄存器的线路延时为tclk_delay。

从而对应的时序如下。针对于下一级的寄存器来说,相当于建立时间裕量增加了tclk_delay,即建立时间裕量为tcycle-(tcq+tlogic) -tsetup+tclk_delay。这种情况对于建立时间是有好处的。

相反,如果时钟存在反向延时,即时钟的传播方向与数据传播方向相反,那么对于建立时间是不利的。此时的建立时间裕量为tcycle-(tcq+tlogic) -tsetup-tclk_delay。大家可自行画时序图分析,当作练习。

从上述对建立时间裕量的分析,可以发现,从前端设计的角度去分析,优化建立时间裕量可以靠减少两级寄存器之间的组合逻辑的延时去增大建立时间裕量。后面会有文章去根据示例来介绍优化方法,其中流水线设计就是一种优化方式。

保持时间(thold):就是时钟上升沿之后,数据D还需要维持多长时间不变,寄存器对数据的采集才不会出错。还是对下面这个电路模型进行分析。

对于后一级寄存器来说,时钟上升沿之后,后一级D端的数据要得到改变,必须是上一级的数据Q输出了,并通过组合逻辑运算电路的延时,送到了D端。故在时钟上升沿之后,数据要经过时间tcq+tlogic才到达下一级寄存器的D端,故每次时钟上升沿之后,后一级寄存器的数据D可以维持不变的时间为tcq+tlogic。那么保持时间裕量为tcq+tlogic-thold。时序见下图。

从这可以看出,时序逻辑电路里面tlogic越大,对建立时间裕量不利,但对保持时间裕量有利。

同样,再考虑存在时钟延时对保持时间的影响。如下电路,即时钟存在正延时时。

分析后一级寄存器的保持时间裕量时,对应的时序变成如下。可以看到,相当于前级寄存器的clk比下一级寄存器的clk提前了tclk_delay时间,故数据D2提前到来了。保持时间裕量变成了tcq+tlogic-thold-tclk_delay。

可以看到时钟正向延时对建立时间要求有利,但对于保持时间要求是不利的。对于时钟反向延时,大家自行画图分析。

上面还有一个因素没有说明,就是时钟clk的抖动。因为时钟上升沿不可能每次都固定间隔时间tcycle到来一次。可能与这个时间有一个小小的偏差,但是不确定是提前到来还是延迟到来。这个偏差的时间为tjitter。如果考虑这个因素,建立时间与保持时间裕量都还要减掉这个抖动时间。故最终的建立时间与保持时间裕量计算公式入下(其中的tclk_delay为时钟正向延时):

建立时间裕量 tsetup_slack =tcycle-(tcq+tlogic) -tsetup+tclk_delay-tjitter

保持时间裕量 thold_slack =tcq+tlogic-thold-tclk_delay-tjitter

到这大家明白了,建立时间裕量与保持时间裕量就是一对矛盾的关系,我们需要通过优化时钟延时,组合逻辑延时来折中考虑这两个裕量。在裕量不满足要求时,可以选择增大时钟clk的周期,但这就降低了电路的运行速度。从而就要考虑时序优化,从前端考虑也就是两级寄存器之间的组合逻辑延时优化,比如简化组合逻辑,或者通过流水线设计,后面会通过实例介绍。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 逻辑电路
    +关注

    关注

    13

    文章

    468

    浏览量

    42195
  • 寄存器
    +关注

    关注

    30

    文章

    5025

    浏览量

    117704

原文标题:时序逻辑电路的建立,保持时间裕量分析

文章出处:【微信号:LF-FPGA,微信公众号:小鱼FPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    时序逻辑电路有哪些(三款时序逻辑电路的设计)

    在数字电路中,凡是任一时刻的稳定输出不仅决定于该时刻的输入,而且还和电路原来状态有关者都叫时序逻辑电路时序
    发表于 01-31 09:27 5.4w次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>逻辑电路</b>有哪些(三款<b class='flag-5'>时序</b><b class='flag-5'>逻辑电路</b>的设计)

    fpga时序逻辑电路分析和设计

    fpga时序逻辑电路分析和设计 时序逻辑电路的结构及特点时序
    发表于 06-20 11:18

    同步时序逻辑电路

    同步时序逻辑电路:本章系统的讲授同步时序逻辑电路的工作原理、分析方法和设计方法。从同步时序
    发表于 09-01 09:06 0次下载

    异步时序逻辑电路

    异步时序逻辑电路:本章主要从同步时序逻辑电路与异步时序逻辑电路状态改变方式不同的特殊性出发, 系
    发表于 09-01 09:12 0次下载

    次态卡诺图在时序逻辑电路分析和设计中的运用

    摘要:通过实际例子,阐述了次态卡诺图在分析和设计时序逻辑电路中的使用方法。该方法的使用可以使时序逻辑电路
    发表于 04-28 10:03 21次下载

    时序逻辑电路

    数字逻辑电路逻辑功能和电路组成的特点可分为组合逻辑电路时序逻辑电路两大类。
    发表于 08-10 11:51 39次下载

    时序逻辑电路分析和设计

    在讨论时序逻辑电路分析与设计之前,让我们先回顾一下在第四章中介绍过的时序电路结构框图和一些相关术语。时序电路的结构框图如图5.1所示.。
    发表于 08-13 15:24 69次下载

    时序逻辑电路分析方法

    时序逻辑电路分析方法 1. 时序逻辑电路的特点 在时序
    发表于 04-07 23:18 8225次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>逻辑电路</b>的<b class='flag-5'>分析</b>方法

    时序逻辑电路分析实例

    时序逻辑电路分析实例 例1 分析图所示电路逻辑功能。设起始状态是
    发表于 04-07 23:20 4443次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>逻辑电路</b><b class='flag-5'>分析</b>实例

    时序逻辑电路分析与设计

    电子专业单片机相关知识学习教材资料之时序逻辑电路分析与设计
    发表于 09-02 14:30 0次下载

    时序逻辑电路分析有几个步骤(同步时序逻辑电路分析方法)

    分析时序逻辑电路也就是找出该时序逻辑电路逻辑功能,即找出
    发表于 01-30 18:55 12.3w次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>逻辑电路</b><b class='flag-5'>分析</b>有几个步骤(同步<b class='flag-5'>时序</b><b class='flag-5'>逻辑电路</b>的<b class='flag-5'>分析</b>方法)

    时序逻辑电路由什么组成_时序逻辑电路特点是什么

    本文开始介绍了时序逻辑电路的特点和时序逻辑电路的三种逻辑器件,其次介绍了时序
    发表于 03-01 10:53 10.7w次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>逻辑电路</b>由什么组成_<b class='flag-5'>时序</b><b class='flag-5'>逻辑电路</b>特点是什么

    时序逻辑电路分析方法

      时序逻辑电路分析和设计的基础是组合逻辑电路与触发器,所以想要分析和设计,前提就是必须熟练掌握各种常见的组合
    的头像 发表于 05-22 18:24 2141次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>逻辑电路</b>的<b class='flag-5'>分析</b>方法

    时序逻辑电路的相关概念和分析方法

    时序逻辑电路分为同步时序逻辑电路和异步时序逻辑电路两大类。
    的头像 发表于 06-21 14:35 2961次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>逻辑电路</b>的相关概念和<b class='flag-5'>分析</b>方法

    时序逻辑电路有哪些 时序逻辑电路和组合逻辑电路区别

    时序逻辑电路是一种能够存储信息并根据时钟信号按照特定顺序执行操作的电路。它是计算机硬件中非常重要的一部分,用于实现存储器、时序控制器等功能。与之相对的是组合
    的头像 发表于 02-06 11:18 990次阅读