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

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

3天内不再提示

为什么需要复位电路?

jf_78858299 来源:IC解惑君 作者:木飞 2023-05-25 15:37 次阅读

前言:

最近看到群里面有些萌新在进行讨论 数字电路中的复位逻辑 ,所以专门写一篇讨论复位的文章,希望能帮助大家理解 复位

引言: [为什么需要 复位电路 ]

IC设计中,把复位和时钟电路称为最重要的两个电路一点也不为过。前者复位电路IC设计的电路 引导到一个已知的状态 ,后者时钟电路给IC设计的 电路提供澎湃的心跳动力 。同时,这两者主要作用于 电路中的时序元件 。对于 时序元件 ,不可避免地会有一些信号时间上额外的要求。

正文:

复位电路的作用

(1)在仿真时:使仿真的电路进入规定的 初始化状态或者其他预知的状态 ,基于此状态下,电路进行状态变换。如果 仿真中时序元件没有复位电路 ,从波形图****上只能看到时序单元周围逻辑都是X标红的状态。

(2)在IC设计中:复位信号可以让设计的硬件电路进入一个 稳定且状态确定的状态 ,避免因为上电后电路进入到随机的状态而硬件死机。如果示波器捕捉内部时序单元的信号状态,信号为 高低电平之一 ,只是高低电平的信号可能不符合设计的预期。

PS:对于仿真时候的信号未知X状态IC设计中的高低电平 。可以得出结论:在Verilog语法中,用仿真****X状态表示**物理时序单元****电路当前状态未知,**信号可能为高或低电平。

PS:由上,是否电路中所有的单元都需要复位信号?

答:不是,首先组合逻辑电路是不需要复位信号的。其次不需要立刻进入明确状态的电路:数据流水线寄存器、数据移位寄存器等也不需要复位信号。

复位电路的分类

对于电路中的时序元件,把复位信号受到时钟的控制复位信号不受时钟的控制两种电路分别称为同步复位电路异步复位电路 。如下图:

图片

同步复位

在同步复位的电路中,只有当时钟到来时才会把复位或者数据信息传输到寄存器内部,影响寄存器内部的状态变换。如上图所示,在同步复位电路中,复位信号本质上其实就是一组 数据信号复位和数据信号都需要在时钟的驱动下进行传输。所以此处的同步复位电路默认就有了 优先级(时钟>复位>数据)

同步复位的****优点

(1)在同步复位电路下,复位和数据信号都受到时钟信号的控制,所以同步复位一般可以确保电路是一个同步电路 。

(2)在ASIC设计中,同步电路一般可以综合为更小的同步触发器(因为触发器没有包含复位逻辑),但是在FPGA设计中并不如此,一般FPGA的时序元件为 带异步复位的触发器(也有同步触发器,视厂家而定) 。如果在FPGA设计中使用同步复位,其消耗的资源相对较多。

(3)由于触发器的跳转只在 时钟的边沿 ,所以触发器可以在 一定程度上过滤电路毛刺 。进而如果复位由电路内部的逻辑控制 ,在这种情况下可以在设计中使用同步复位:通过可以在一定程度上过滤电路毛刺的特性, 过滤掉内部电路逻辑产生的毛刺,使设计更鲁棒

同步复位的****缺点

(1)同步复位需要 较长的保持复位状态时间(最小也要大于时钟周期)保证同步复位信号可以到达每一个寄存器并且要在有效时钟沿之前到达(在真正设计使用的时候还需要考虑 时钟偏斜组合逻辑延时、复位延时等,即: 同步复位信号时长> 时钟周期 + 时钟偏斜 + 组合逻辑延时 )。

(2)在低功耗设计中,同步复位一般 不能用于门控时钟控制的电路 。因为同步复位电路中,主要 靠时钟驱动复位和数据 。当复位发出时,有可能 时序电路此时并没有时钟驱动,那么此时的复位就不能完成

图片

异步复位:

拥有异步复位的寄存器在设计的时候就已经多了一个复位引脚。通过触发该引脚的状态可以在 任何时候进行异步复位电路中寄存器 。此时异步复位电路的默认优先级为:( 复位> 时钟> 数据 )(如 上上图 )。

异步复位的优点:

(1)异步复位的复位逻辑和数据 逻辑没有任何关系 ,所以相比同步复位,能够使数据路径更好地收敛。(上上图对比)

(2)不用在时钟的控制下进行复位,所以对于刚才所提到的低功耗设计中,可以达到无时钟复位的效果[注意:寄存器复位后的正常状态恢复需要时钟参与]。

异步复位的缺点

(1)因为 异步复位****不受时钟的控制 ,所以当电路复位引脚有毛刺的时候,会引起 电路的异常复位

(2)在异步复位的时候,如果 释放复位信号在时钟有效边沿周围 。那么 可能会引起时序单元的输出出现亚稳态,导致电路亚稳态传播 。如下图:

图片

如图所示:

复位信号在时钟有效沿之Recovery Time时间内释放可能会 引起触发器输出亚稳态

复位信号在时钟有效沿之Removal ****Time时间内释放也可能会 引起触发器输出亚稳态

对比set up time & hold time和此处的Recovery time & ** Removal time ,可以发现对于触发器来说, 输入信号 (Data 和 RST_n)都需要 对于时钟信号沿保持稳定的一个时间窗口 ,否则 触发器可能会导致亚稳态的输出 。为了避免触发器的亚稳态,就需要保证不要在触发器**的这 几个时间窗内信号有变化

结合同步复位和异步复位的优点可以得到:

异步复位同步释放电路 :如下图

图片

RST_n信号 同时复位这两个触发器这一对触发器的输出信号****传输并驱动电路中的其他时序元件完成复位,最后使整个相连接的设计进行复位。

很明显可以看出这两个触发器就是所谓的 同步器逻辑。 在进行数据跨时钟处理的时候可以通过该同步器逻辑将一个时钟域的信号传输到另一个时钟域。

如上图所示:

当复位信号被撤销时:RST_n [**0->1 ] ,此时数据VCC将在时钟的控制下进入 主触发器 。如果此时复位信号被撤销时候恰好碰到时钟的有效沿引起主触发器** 的亚稳态 。但是此时从触发器在时钟控制下,输入的是**主触发器输出的复位稳定值**。

如下图:虽然主触发器在T2时刻违背了复位时间窗口,输出了Q1亚稳态的摇摆电平 。但是从触发器此时的数据输入接收的还是 主触发器输出的Q1稳态的复位状态0 。所以从触发器Q2的输出是 稳定的复位状态0 。在T3时刻****主触发器已经 从亚稳态状态恢复 ,输出的是稳定的工作状态电平了( Q1=1 )。T3****时刻从触发器采样的是稳定的工作状态电平,输出也是稳定的工作状态电平,复位完成。

图片

PS:有同学可能会问,RST_n既然对主触发器****违反 复位时间窗口 ,对从触发器来说,也一样违反了时间窗口。那从触发器为什么就没有进入亚稳态呢?

:对于从触发器来说,RST_n跳变在其复位时钟窗口内,所以违反了 从触发器的复位时间窗口 ,但是从上图可以观察到, 从触发器在T2时刻时钟沿的输入为Q1=0 ,在T1时刻时钟沿的输出为Q2=0,对于从触发器来说,复位前的状态和复位后的状态是一样的。寄存器内部的锁存器不需要跳变来更新自己的状态。所以也就不会因为内部锁存器的电平跳变从而导致亚稳态的发生。

一般来说, 完整的一颗SOC芯片内部不止有一个时钟 ,一般会有 多个时钟 。所以此时 对每一个时钟域下的Reset_n信号都有一套异步复位同步释放逻辑 。来保证在自己的时钟域下,复位释放时钟具有同步的关系,来驱动该时钟域下相关的逻辑状态的变换等操作。如下图:

图片

结论:

为了避免在复位释放的时候引起电路亚稳态,通常采用 异步复位同步释放的电路有效的复位信号可以 快速复位相关联的逻辑且不用等待时钟的驱动 。同时复位信号经过异步复位同步释放的电路之后,复位信号受到时钟信号的控制(复位信号释放不会在时钟沿的任意点),有效避免了因异步复位信号的移除而引起的电路亚稳态情况的出现。

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

    关注

    37

    文章

    1290

    浏览量

    103665
  • 元件
    +关注

    关注

    4

    文章

    869

    浏览量

    36619
  • 复位电路
    +关注

    关注

    13

    文章

    320

    浏览量

    44496
  • 时钟电路
    +关注

    关注

    10

    文章

    236

    浏览量

    50670
收藏 人收藏

    评论

    相关推荐

    复位电路的基础知识

    复位信号在数字电路里面的重要性仅次于时钟信号。 对电路复位往往是指对触发器的复位,也就是说电路
    发表于 04-21 09:16 697次阅读
    <b class='flag-5'>复位</b><b class='flag-5'>电路</b>的基础知识

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

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

    复位电路基础知识:同步复位电路和异步复位电路

    复位信号在数字电路里面的重要性仅次于时钟信号。对电路复位往往是指对触发器的复位,也就是说电路
    发表于 09-13 16:26 1438次阅读
    <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>

    为什么需要复位电路?漫谈复位reset

    在IC设计中,把复位和时钟电路称为最重要的两个电路一点也不为过。前者复位电路把IC设计的电路引导
    的头像 发表于 01-19 16:41 1988次阅读
    为什么<b class='flag-5'>需要</b><b class='flag-5'>复位</b><b class='flag-5'>电路</b>?漫谈<b class='flag-5'>复位</b>reset

    什么是单片机的上电复位

    过程要几个微秒或几个毫秒,爬坡时单片机不能正常工作,需要复位电路延时到电压稳定后才开始正常执行程序,这就叫上电复位。单片机系统单片机高电平复位
    发表于 11-10 06:41

    RC复位电路复位时间的计算

    。因此在搭建 RC 电路的时候需要计算 RC 电路中的电阻和电容的取值。此复位电路是针对低电平有效复位
    发表于 11-28 11:35 8.3w次阅读
    RC<b class='flag-5'>复位</b><b class='flag-5'>电路</b><b class='flag-5'>复位</b>时间的计算

    深度了解复位电路设计

    为什么需要复位电路数字电路只有0和1两种状态,在电路刚上电或电路工作不稳定时,数字电路的输出是不
    的头像 发表于 12-19 13:00 1.1w次阅读
    深度了解<b class='flag-5'>复位</b><b class='flag-5'>电路</b>设计

    简述复位电路概述以及方式和目的

    一、复位电路概述 复位信号在数字电路里面的重要性仅次于时钟信号。对电路复位往往是指对触发器的
    的头像 发表于 06-28 09:49 6656次阅读

    复位电路的作用是什么

    。 单片机复位电路的类型有、微分型复位电路、积分型复位电路、比较器型
    的头像 发表于 08-07 10:53 2.9w次阅读

    单片机基础入门:什么是上电复位复位电路怎么设计

    过程要几个微秒或几个毫秒,爬坡时单片机不能正常工作,需要复位电路延时到电压稳定后才开始正常执行程序,这就叫上电复位。单片机系统单片机高电平复位
    发表于 11-05 13:06 13次下载
    单片机基础入门:什么是上电<b class='flag-5'>复位</b>,<b class='flag-5'>复位</b><b class='flag-5'>电路</b>怎么设计

    复位电路的设计

    的是,复位电路启动的手段有所不同。一是在给电路通电时马上进行复位操作;二是在必要时可以由手动操作;三是根据程序或者电路运行的
    发表于 11-06 20:21 30次下载
    <b class='flag-5'>复位</b><b class='flag-5'>电路</b>的设计

    复位电路

    单片机复位电路系统开始运行和重新启动都是依靠复位电路实现的。以MCS-51为例,复位需要在RS
    发表于 01-17 12:34 23次下载
    <b class='flag-5'>复位</b><b class='flag-5'>电路</b>

    复位电路如何回到初始化的状态

    单片机最小系统中复位电路属于必不可少的部分。数字电路中只有高低电平两个状态,电路刚上电或者电路不能正常工作时,
    的头像 发表于 06-22 09:02 1205次阅读
    <b class='flag-5'>复位</b><b class='flag-5'>电路</b>如何回到初始化的状态

    STM32复位电路复位芯片和阻容复位电路区别

    系统中,复位电路是保证系统正常工作的重要部分。当系统出现异常或需要重新启动时,复位电路能够迅速将系统恢复到初始状态。STM32微控制器的
    的头像 发表于 08-06 10:26 856次阅读

    复位电路的电容多大的 复位电路设计类型有哪几种

    复位电路是电子系统中的一个关键部分,它确保系统在启动或发生故障时能够正确地初始化。复位电路的设计取决于多种因素,包括系统的复杂性、所需的复位
    的头像 发表于 10-21 10:24 121次阅读