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

    文章

    502

    浏览量

    43471
  • 寄存器
    +关注

    关注

    31

    文章

    5448

    浏览量

    125475

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    静态时序建立时间保持时间分析

    静态时序分析包括建立时间分析保持时间分析
    的头像 发表于 08-22 10:38 ?4916次阅读

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

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

    同步时序逻辑电路

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

    异步时序逻辑电路

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

    时序逻辑电路

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

    时序逻辑电路分析方法

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

    时序逻辑电路分析实例

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

    时序逻辑电路分析与设计

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

    时序逻辑电路的主要故障分析

    时序逻辑电路其任一时刻的输出不仅取决于该时刻的输入,而且还与过去各时刻的输入有关。常见的时序逻辑电路有触发器、计数器、寄存器等。由于时序
    发表于 04-09 16:00 ?6742次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>逻辑电路</b>的主要故障<b class='flag-5'>分析</b>

    组合逻辑电路时序逻辑电路比较_组合逻辑电路时序逻辑电路有什么区别

    组合逻辑电路时序逻辑电路都是数字电路,组合逻辑电路逻辑功能上的特点是任意时刻的输出仅仅取决于
    发表于 01-30 17:26 ?9.5w次阅读
    组合<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>有什么区别

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

    分析时序逻辑电路也就是找出该时序逻辑电路逻辑功能,即找出
    发表于 01-30 18:55 ?12.8w次阅读
    <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 ?11.2w次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>逻辑电路</b>由什么组成_<b class='flag-5'>时序</b><b class='flag-5'>逻辑电路</b>特点是什么

    时序逻辑电路分析方法

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

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

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

    时序逻辑电路故障分析

    时序逻辑电路的主要故障分析是一个复杂而重要的课题,它涉及电路的稳定性、可靠性以及整体性能。以下是对时序
    的头像 发表于 08-29 11:13 ?1980次阅读