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

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

3天内不再提示

浅析复位信号的设计和时序

冬至子 来源:梧桐芯语 作者:孙荣荣 2023-08-01 16:04 次阅读

异步复位

在前面的文章中有过对于寄存器行为的描述,而复位方面,在电路设计时建议使用带异步复位/置位的寄存器。原因是只要复位信号有效,则无论时钟是否到来,都会对寄存器进行复位,使电路处于一个稳定的状态。而复位信号释放后,需要等时钟到来,才会更新数据。

图片

图片

当异步复位有效时,无论有没有时钟,寄存器都会处于复位状态,也会稳定输出,因此没有过于担心的问题。但如果复位信号释放,而此时D端数据与Q端数据不一致,那么当寄存器时钟有效时,就会更新Q端数据。由此也会出现一个时序的要求,也就是recovery/remove timing的时序要求。

图片

为了确保复位信号的使用没有问题,一般采用以下电路来实现异步复位信号释放时与时钟的同步处理,以便让EDA工具自动识别时序路径,进行时序分析及时序优化。

图片

这样操作,我们称为异步复位同步释放。可以最大限度保证时序的稳定性。

图片

以上RCU框图中的电路,,用Verilog HDL描述如下所示:

1.jpg

同步复位

有些早期的电路,在设计时使用了同步复位,而没有使用异步复位来进行模块级复位管理。原因是早期的EDA工具对复位信号的处理还不是很好,需要像时钟一样做复位树来进行时序平衡(当时还没有recovery/remove的时序概念),这是为了确保复位的稳定性所作出的牺牲。

图片

如上图所示,同步复位Rst实际上就是DFF的一个输入,所以在时序上直接可以被看做数据路径来处理,这对于早起的EDA工具来说,是比较友好。

但是我们需要看到一个问题,那就是所有的寄存器在上电时,输出都是不可知的结果。因此需要等待时钟有效后,才能确保电路的稳定复位完成,接着再释放复位信号。在当今复杂的SoC系统中,PLL或者片内晶体振荡器何时稳定输出,且输出波形正常,是需要一定的管理电路。用不稳定来管理不稳定,是不可行的。

因此对于同步复位的早期遗留电路来说,在外围做好复位管理,确保上电后,其输出不会影响整个系统,也是可以的。

没有复位

有时候,过于在意面积的电路中,会使用没有复位的寄存器来实现电路。如下图所示。

图片

这种情况比较极端,确实寄存器的面积是比较大的,如果减少复位电路,势必有较大的面积收益(20%左右)。但这就需要在设计的时候考虑好每个寄存器复位值是多少。然后通过输入,以及一定次数的时钟传递,将电路稳定复位。

比如说上面这幅图,第四级寄存器,上电后是个未知输出,需要4个时钟周期,才能稳定到初态。

这样的电路如果比较大,则上电后复位的时间会比较久,少则几十个时钟周期,多则上百上千个时钟周期。而且如果有部分寄存器需要特定初始值,还需要专门送进去(可以参考同步复位的操作)。

混用复位

以上三种电路复位的方式,可以混用,在节省面积、稳定复位以及早期遗留电路集成上,会有一些帮助。但还是建议能用异步复位就用异步复位吧。

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

    关注

    30

    文章

    5032

    浏览量

    117746
  • EDA工具
    +关注

    关注

    4

    文章

    252

    浏览量

    31287
  • 晶体振荡器
    +关注

    关注

    9

    文章

    502

    浏览量

    28471
  • 异步复位
    +关注

    关注

    0

    文章

    45

    浏览量

    13251
  • rcu
    rcu
    +关注

    关注

    0

    文章

    19

    浏览量

    5374
收藏 人收藏

    评论

    相关推荐

    RTL复位信号的设计和时序

    在前面的文章中有过对于寄存器行为的描述,而复位方面,在电路设计时建议使用带异步复位/置位的寄存器。
    的头像 发表于 07-13 17:33 699次阅读
    RTL<b class='flag-5'>复位</b><b class='flag-5'>信号</b>的设计和<b class='flag-5'>时序</b>

    复位信号是什么意思?复位信号的作用?详解Xilinx FPGA复位信号那些事

    复位信号几乎是除了时钟信号外最常用的信号了,几乎所有数字系统在上电的时候都会进行复位,这样才能保持设计者确定该系统的系统模式的状态,以便于更
    的头像 发表于 07-27 09:48 5133次阅读
    <b class='flag-5'>复位</b><b class='flag-5'>信号</b>是什么意思?<b class='flag-5'>复位</b><b class='flag-5'>信号</b>的作用?详解Xilinx FPGA<b class='flag-5'>复位</b><b class='flag-5'>信号</b>那些事

    为什么需要复位树?复位信号用什么电路产生?

    复位信号在数字电路里面的重要性仅次于时钟信号。对一个芯片来说,复位的主要目的是使芯片电路进入一个已知的,确定的状态。
    的头像 发表于 08-27 10:18 1406次阅读
    为什么需要<b class='flag-5'>复位</b>树?<b class='flag-5'>复位</b><b class='flag-5'>信号</b>用什么电路产生?

    关于复位电路的时序问题

    复位电路RST信号为什么与VCC信号需要保持一定的时间差? 复位电路使用复位芯片,电路图如下,求解答
    发表于 04-19 10:08

    如何处理virtex 5中的复位信号的问题?

    大家好我有一个关于如何处理virtex 5中的复位信号的问题。用于复位整个设计的同步复位信号复位
    发表于 06-03 08:18

    8051及P89V51RD2单片机的时钟、时序复位

    5-1.  标准80C51的时钟电路、时间单位与时序5-2.  P89V51RD2单片机的时钟电路、时间单位与时序5-3.  P89V51RD2单片机的复位复位
    发表于 03-23 12:10 68次下载

    单片机上电复位复位延时的时序分析

    单片机上电复位复位延时的时序分析
    发表于 01-24 16:15 17次下载

    plc时序图怎么看_plc时序图指令详解解

    图,再根据时序图设计流程图,再按流程图编制梯形图程序。下面让我们来看看plc时序图是怎么样的,相关指令又有什么用。 时序图的指令大致分为置位和复位指令、脉冲输出指令以及 主控指令及主控
    发表于 10-23 08:40 8.6w次阅读
    plc<b class='flag-5'>时序</b>图怎么看_plc<b class='flag-5'>时序</b>图指令详解解

    Xilinx复位信号设计原则

    复位信号设计的原则是尽量不包含不需要的复位信号,如果需要,考虑使用局部复位和同步复位
    发表于 10-27 10:09 1748次阅读
    Xilinx<b class='flag-5'>复位</b><b class='flag-5'>信号</b>设计原则

    【PUC、POR】MSP430的复位信号

    MSP430的复位信号有2种: 文档: 上电清除信号(PUC)、 上电复位信号(POR)。 个人理解: POR是第一次上电
    发表于 12-16 16:56 12次下载
    【PUC、POR】MSP430的<b class='flag-5'>复位</b><b class='flag-5'>信号</b>

    FPGA入门之功能描述-时序逻辑

    时序逻辑的代码一般有两种: 同步复位时序逻辑和异步复位时序逻辑。在同步复位
    的头像 发表于 03-21 10:47 431次阅读

    FPGA设计使用复位信号应遵循原则

    FPGA设计中几乎不可避免地会用到复位信号,无论是同步复位还是异步复位。我们需要清楚的是复位信号
    发表于 03-30 09:55 888次阅读

    在高速设计中跨多个FPGA分配复位信号

    SoC设计中通常会有“全局”同步复位,这将影响到整个设计中的大多数的时序设计模块,并在同一时钟沿同步释放复位
    发表于 05-18 09:55 148次阅读
    在高速设计中跨多个FPGA分配<b class='flag-5'>复位</b><b class='flag-5'>信号</b>

    复位电路设计分析

    、FPGA 系统,凡是有时序要求的数字逻辑电路系统,都需要复位信号复位状态通常是一个电路系统的初始条件,复位
    的头像 发表于 05-25 14:48 3245次阅读
    <b class='flag-5'>复位</b>电路设计分析

    MBIST逻辑的复位信号怎么来的?

    jtag端口的复位信号jtag_trst用于复位TAP状态机模块,该复位信号可选。
    的头像 发表于 05-25 15:09 680次阅读
    MBIST逻辑的<b class='flag-5'>复位</b><b class='flag-5'>信号</b>怎么来的?