admin 管理员组

文章数量: 887007

终于理清 异步复位,同步释放

一.概述

首先我们要区分同步复位信号和异步复位。

1.异步复位:复位信号和clk无关,是作为敏感参数放在参数列表中的,即作为触发条件使用。

下图为异步复位的RTL图,复位和时钟无关,寄存器使能了CLR端。但是异步复位在释放时,如果释放时间正好在建立时间和保持时间之内,就会产生亚稳态。

异步复位使用的代码形式:

图一

 2.同步复位:复位信号和clk有关,只在clk的边沿检测是否复位。

下图为同步复位的RTL图,CLR端没用,而是将复位信号作为逻辑资源使用,b信号的变化是在clk的边沿触发,这样会多消耗一些逻辑资源(xilinx 不会存在这个问题)。

同步复位使用的代码形式:

图二

 Note:

大家很多时候都使用异步复位,同步释放的复位形式,注意异步复位,同步释放和概述中所说的同步复位是不一样的,概述中所说的同步复位可以理解为同步复位,同步释放。

异步复位,同步释放的方式即减少了逻辑资源的消耗,又减小了亚稳态产生的概率。

二.异步复位,同步释放

 话不多说,代码如下:

 两个复位信号都是在同一时刻变为0,rst_nr1是用来把rst_n同步到clk时钟的,而rst_nr2是用来减小亚稳态产生的概率,rst_nr2其实就是把复位多延长了一拍。

本文标签: 终于理清 异步复位,同步释放