复位方式、时钟复位流程

博客介绍了系统复位方式,包括硬件复位、软件复位、上电复位,还提及Verilog中复位方法的代码实现,如同步复位、异步复位、同步释放,指出最佳方法是异步复位同步释放。此外,阐述了常见的时钟复位流程,有关钟复位和开钟复位,目的是保证电路时序,避免亚稳态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、复位方式:

  • 复位概念-宏观,对于一个系统,其复位的方式一般包含硬件复位、软件复位、上电复位:

    • 硬件复位
      • 顾名思义通过硬件给系统一个复位,比如在电路板上设计一复位电路,通过按下按键就可以给系统实现一个复位,而无论系统在执行什么样的程序。
      • 复位启动以后需要重新加载加载FPGA、DSP等,也有可能在这个操作之前初始化化CPU,加载系统文件等操作,具体视需要而定,然后初始化一些配置芯片。
      • 硬件复位的作用区域一般是全局的。
    • 软件复位
      • 是通过软件给系统一个复位信号,如低电平或许是高电平(具体看系统设置)来实现复位操作。
      • 复位启动不需要进行FPGA、DSP等的加载,只是一些配置芯片的初始化。
      • 软件复位一般是一些块结构
    • 上电复位
      • 系统在上电的瞬间就执行复位操作, 上电复位里面包括硬件复位和软复位的操作,硬件复位和软复位是从上电复位里面的某点开始的启动操作。
      • 复位需要初始化CPU系统,包括CPU和内存等,并加载系统,加载初始化操作系统以及FPGA、配置芯片的初始化,是一个完成的过程。
  • 复位方法-code实现,verilog中代码实现方式往往有同步复位、异步复位、同步释放:

    • 同步复位、异步复位:同步复位与异步复位的区别 - 格桑花FPGA - 博客园。一般来说,都使用异步复位,这是因为同步复位比异步复位的电路实现,要浪费更多电路资源。
    • 同步释放:异步复位中的clk和rst是异步的,这里的异步是指rst和clk在不同的时钟域(当然也有可能是在同一时钟域下),在这里做同步一方面是将rst信号同步到rst的时钟域,另一方面是避免了rst在clk的上升沿释放,这样可以避免电路亚稳态的输出。参考下链接:异步复位同步释放---关于复位的问题 - 齐威王 - 博客园
    • 综上,最好的复位方法:异步复位同步释放。
      • 同步复位:可能产生亚稳态,如下时序图(右1),rst释放在clk上升沿(T1时刻,此时是同时钟域)。
      • 异步复位:可能产生亚稳态,如下时序图(右1),如rst释放在clk上升沿(T1时刻,此时可能是同时钟域或不同时钟域)。
        • 补充:因为异步复位的rst有可能和当前电路的clk不在同一个时钟域,相比于同步复位,异步复位就会更加容易产生亚稳态。
      • 同步释放实现(经验之谈):在电路中加入rsync同步器。如下两图,在异步复位中rst释放的瞬间为T1时刻,和clk的时钟沿完全对齐,可能导致电路出现亚稳态;在加入rsync同步器后,rst被打一拍(也有可能是二拍、三拍...)输出为rst',其实rsync实现的并不是真是一拍,rst'是在距T2之前的tmp就已经被拉起来了(tmp满足建立时间),所以在 T2采集到的rst'是一个准确的时钟,并不会产生亚稳态。
        • 这里说的rsync同步电路就是实现的上述功能。

                

二、时钟复位流程

        常见的时钟复位流程:关钟复位、开钟复位。这两种复位方式都属于异步复位方式,使用目的都是为了保证电路满足时序

  • 关钟复位:如下图,也叫做先解rst再开钟,必须rst先释放,之后时钟再产生(或者clk gten打开产生clk)。并且二次复位随时都可以进行,但也必须满足图中时序。
    • 例:rst释放->clk gten打开(产生clk)->工作 ->clk gten关闭(关闭clk) ->rst拉低 ->rst释放...​​​​​​​...

  • 开钟复位:如下图,该复位的rst可以在clk任何时刻释放,但应尽量避免在T2时刻的clk沿,因为此时有可能导致第一拍采不到rst释放,造成当前拍数据异常,也有可能导致电路内部产生亚稳态。为了避免开钟复位的rst释放在clk的上升沿,在电路中加入了同步器(如本文上面提到的rsync同步器,即同步释放),保证了rst的释放不在时钟沿,避免了电路中亚稳态的产生。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值