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

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

3天内不再提示

寄存器的时序要求有哪些?

冬至子 来源:梧桐芯语 作者:孙荣荣 2023-07-13 15:47 次阅读

对于下面这个传输门来说,只有当CLK为高电平,即传输门打开时,输入端I的电平才会被传输到输出端O,这是一个正常的传输过程。

图片

不过,传输过程不是一蹴而就的,一方面,CLK的切换需要时间(也就是我们所说的transition time),另一方面,如果在传输门打开到关闭的切换过程中,I输入的电压也在变换,而在CLK关闭后,O的输出刚好在高电平与低电平的一半,或者通俗一些说,刚好是0.5VDD。

如果这种情况出现在寄存器的U2传输门上,会发生什么?没错了,D’只有0.5VDD,那么一级一级传下去,D’’、Q’’、Q都是多少呢?

图片

0.5VDD只是一个假设,实际上我们知道,对于CMOS传输曲线来说,当输入端电压处于一个较为稳定的接近于传输曲线中间位置,则输出端Q会出现不稳定的状态,我们就把这种情况称之为寄存器出现了亚稳态。

那么亚稳态是X[2]吗?亚稳态是中间态吗?亚稳态输出就一定是0.5VDD吗?这些问题,在任何企业、学校都会有热烈的讨论。

实际上,亚稳态既然叫做亚稳态,那么就是可能因为周围环境的不同,其输出会向一个方向偏移,比如说电子偏多的时候,可能偏向于低电平,空穴偏多的时候,可能偏向于高电平[3]。但由于不是被VDD或地直接驱动,变化速度会偏慢,实际表现就和下面这幅图一样,原本应该一下就变化的,可能需要一个缓慢的变化过程。

图片

寄存器的setuphold时序概念

通过亚稳态部分的介绍,我们知道,当时钟上升沿来到,并关闭输入端第一级U2传输门时,如果D端发生数据变化,有可能导致Q端输出产生亚稳态。

为了保证寄存器稳定工作,在设计电路时,需要满足两个时间窗口。

在时钟上升沿来到前的一个时间段,数据必须建立完成,这个时间称之为建立时间(setup time)。而在时钟上升沿之后一个时间段,则需要保持住数据不变化,这个时间称之为保持时间(hold time)。建立时间、保持时间与时钟的关系如下图所示。

图片

现在大部分标准单元库设计的寄存器都采用了0保持时间或负保持时间设计,也就是保持时间为0或为负数,当然这也在某种程度上增加了建立时间的时间窗大小,降低了系统工作频率。好处是更容易帮助系统在各种不同的时序签核(Timing sign-off)条件下,快速收敛,简化了投片标准,加快了上市时间(Time to Market)。

在时序分析当中,还有一种路径上的setup time与hold time概念,与寄存器的概念类似,但意思不同,千万不要混淆了。

寄存器的recoveryremove时序概念

在建立时间和保持时间概念中,我们可以看到,当时钟触发沿到来时,为了保证电路稳定工作,需要在边沿前后一段时间保持D端数据稳定。

而对于一个带有异步复位或异步置位的寄存器来说,如果复位信号释放(从有效变成无效)与时钟触发沿同时出现,也会带来同样的问题。

当寄存器处于复位状态,且时钟处于低电平,则采集部分和输出部分由于传输门U6关闭,处于分割状态。输出部分电路,Q端输出来源于异步复位rstn驱动;而采集部分电路中,D’由于传输门U2处于打开状态,因此由D端输入,假设D端刚好与Q端数据相反,则在该实例中为高电平。而D’’则来源于异步复位rstn驱动,为高电平。

图片

可以试想,如果异步复位释放,从有效变换成无效状态,即示例中从低电平转换成高电平,那么采集部分电路所有节点,将依靠D端进行翻转,直到稳定,其中D’’与Q’’因为传输门U6关闭,要等待CLK为高的时候才会进行传输。之后待CLK从低电平变换成高电平后,U6打开,输出部分电路再根据D’’进行翻转,直到Q端输出高电平,完成复位后,时钟上升沿触发工作效果。

图片

但是如果在异步复位rstn释放的同时,时钟CLK出现上升沿,则可能出现U2还没有关闭,但U5已经打开的情况,D’会因为D为高电平以及D’’为高电平发生冲突。如果当U2完全关闭后,D’未完全稳定在某个状态,则可能导致后面电路失效,Q端在此出现亚稳态的情况。

图片

因此与建立时间与保持时间类似,对于带有异步复位或异步置位的寄存器来说,异步复位也需要在时钟上升沿到来之前的一个时间窗稳定下来,称之为recovery time,而在时钟上升沿后一段时间内保持住,称之为remove time。

图片

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

    关注

    31

    文章

    5305

    浏览量

    119913
  • 变换器
    +关注

    关注

    17

    文章

    2082

    浏览量

    109096
  • VDD
    VDD
    +关注

    关注

    1

    文章

    311

    浏览量

    33067
  • CMOS技术
    +关注

    关注

    0

    文章

    67

    浏览量

    10221
  • CLK
    CLK
    +关注

    关注

    0

    文章

    127

    浏览量

    17112
收藏 人收藏

    评论

    相关推荐

    Verilog设计寄存器

    现代逻辑设计中,时序逻辑设计是核心,而寄存器又是时序逻辑的基础,下面将介绍几种常见的寄存器的Verilog设计代码供初学者进行学习理解。
    的头像 发表于 07-27 09:03 3237次阅读
    Verilog设计<b class='flag-5'>寄存器</b>

    寄存器,寄存器是什么意思

    寄存器,寄存器是什么意思 寄存器定义  寄存器是中央处理内的组成部分。寄存器是有限存贮容量
    发表于 03-08 14:26 2.2w次阅读

    寄存器的作用哪些?

    寄存器的作用哪些? 寄存器用途  1.可将寄存器内的数据执行算术及逻辑运算;  2.存于寄存器内的地址可用来指向
    发表于 03-08 14:35 1.6w次阅读

    数据寄存器,数据寄存器是什么意思

    数据寄存器,数据寄存器是什么意思 数据寄存器数据寄存器包括累加AX、基址寄存器BX、计数
    发表于 03-08 14:38 1.2w次阅读

    寄存器分类哪些?

    寄存器分类哪些? 寄存器分类
    发表于 03-08 14:42 1.1w次阅读

    移位寄存器,移位寄存器是什么意思

    移位寄存器,移位寄存器是什么意思 移位寄存器_
    发表于 03-08 14:50 1.7w次阅读

    ARM寄存器详解

    ARM37个寄存器,其中31个通用寄存器,6个状态寄存器。   这里尤其要注意区别的是ARM自身寄存器和它的一些外设的
    发表于 07-10 10:04 2933次阅读

    寄存器与移位寄存器

    寄存器与移位寄存器:介绍寄存器原理和移位寄存器的原理及实现。
    发表于 05-20 11:47 0次下载

    寄存器与内存的区别

    寄存器是中央处理内的组成部份。它跟CPU有关。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理的控制部件中,包含的
    发表于 12-31 16:57 1w次阅读

    GPIO寄存器

    每组IO口10个寄存器组成,如果芯片GPIOA~GPIOI,9个组那么一共有90个寄存器如果配置一个IO口需要2个位,那么刚好32位寄存器
    发表于 12-08 17:06 5次下载
    GPIO<b class='flag-5'>寄存器</b>

    寄存器的作用以及复位

    寄存器的作用** 1)时序逻辑存储数据。例如,一个计数,每个周期要加1,那它就要使用寄存器实现。纯组合逻辑是实现不了的。
    的头像 发表于 01-30 17:17 6705次阅读
    <b class='flag-5'>寄存器</b>的作用以及复位

    寄存器的工作原理

    寄存器的工作原理 寄存器是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。其实寄存器就是一种常用的时序逻辑电路,但这种
    发表于 02-20 14:02 8281次阅读

    什么是移位寄存器?数字电路中的寄存器类型哪些呢?

    移位寄存器是一种时序逻辑电路,能够存储和传输数据。它们由触发组成,这些触发的连接方式使得一个触发的输出可以作为另一个触发
    的头像 发表于 09-20 10:44 7969次阅读
    什么是移位<b class='flag-5'>寄存器</b>?数字电路中的<b class='flag-5'>寄存器</b>类型<b class='flag-5'>有</b>哪些呢?

    寄存器属于时序逻辑电路吗 寄存器是什么逻辑电路

    成部分之一。 寄存器属于时序逻辑电路。时序逻辑电路是指其输出状态不仅依赖于当前的输入,还依赖于过去的输入和时钟信号的变化。在寄存器中,时钟信号用来控制数据的输入和输出,确保在时钟上升沿
    的头像 发表于 02-18 09:37 1415次阅读

    寄存器分为基本寄存器和什么两种

    寄存器是计算机中用于存储数据的高速存储单元,它们是CPU内部的重要组成部分。寄存器可以分为基本寄存器和扩展寄存器两种类型。 一、基本寄存器
    的头像 发表于 07-12 10:31 1052次阅读