【芯片设计- RTL 数字逻辑设计入门 7 -- 同步复位与异步复位详细介绍】

文章目录

转自https://blog.csdn.net/qq_40281783/article/details/128969188

复位的类型和划分

通常,芯片的复位信号分为两大类,全局复位和局部复位;

  • 全局复位:能够确保每个寄存器都处于可控的状态;

  • 局部复位:基于软件功能的需求而存在的独立复位,对于某一个模块的单独控制,建议使用局部复位;

同步复位

定义

只有在时钟有效沿采样到复位信号的有效电平时,才会执行复位操作;

代码

bash 复制代码
always @(posedge clk) begin
    if(!rst_n)
        out <= 1'b0;
    else
        out <= in;
end

综合后电路

或者

优缺点

优点

  • 一般可以确保电路是同步电路,有利于静态时序分析;

  • 有利于仿真器的仿真;

  • 可以滤除复位信号频率大于时钟频率的毛刺;

缺点

  • 如综合电路图所示,因为逻辑器件库中的DFF只有异步复位端口,所以综合器会在DFF的数据输入端增加组合逻辑,浪费资源;

  • 复位的有效时长必须大于一个时钟周期;

  • 如果时钟关闭,则无法完成复位;

异步复位

定义

无论时钟有效沿是否到,只要复位信号有效,就会立刻进行复位操作;

代码

bash 复制代码
always @(posedge clk or negedge rst_n) begin
    if(!rst_n)
        out <= 1'b0;
    else
        out <= in;
end

综合后电路

优缺点

优点

  • 复位信号不依赖于时钟,可以实现无时钟复位,这是低功耗技术之一;

  • 与同步复位相比,可以节省资源,保证数据路径上相对干净;

  • 与同步复位相比,复位逻辑与数据路逻辑无关,所以数据路径更好收敛;

缺点

  • 电路容易受到复位信号上毛刺的影响;

  • 复位信号具有随机性,容易导致recovery time/removal time 为例,进而导致亚稳态;

  • 不利于进行静态时序分析;

异步复位的时序分析(recovery time/removal time)

定义

异步复位,时序违例是发生在复位信号释放的时候(从复位状态到非复位状态);下面以rst_n为例

恢复时间和移除时间(recovery time/removal time)

  • removal time :移除时间

    复位信号释放时,有效电平在时钟有效沿到来之后的保持时间,类似于hold time;

  • recovery time :恢复时间

    复位信号释放时,恢复到无效电平在时钟有效沿到来之前的保持时间,类似于setup time;

异步复位,同步释放

定义

就是在复位信号到来的时候不受时钟信号的同步,在复位信号释放的时候受到时钟信号的同步;

代码

bash 复制代码
always @(posedge clk or negedge rst_n) begin
    if(!rst_n) begin
        rst_n_d0 <= 1'b0;
        rst_n_d1 <= 1'b0;
    end
    else begin
        rst_n_d0 <= 1'b1;
        rst_n_d1 <= rst_n_d0;
    end
end
assign rst_n_sync = rst_n_d1;
always @(posedge clk or negedge rst_n_sync) begin
    if(!rst_n_sync)
        out <= 1'b0;
    else
        out <= in;
end

综合后电路

优缺点

优点

  • 快速复位,只要复位信号有效,电路会立刻复位;

  • 有效捕捉复位,短脉冲复位不会丢失;

  • 复位的释放是同步的,有良好的撤离时序和足够的恢复时间;

相关推荐
ALINX技术博客3 小时前
AMD MoP 封装策略解读 | HBM 大热,为何 AMD Versal 系列反选 LPDDR5X?
fpga开发·fpga·amd·versal
zlinear数据采集卡5 小时前
从万用表的6步调零到硅片级微秒自校准:硬核拆解LHAMP188的宽压轨到轨与零漂移实战
arm开发·stm32·单片机·嵌入式硬件·fpga开发
Rambo.xia5 小时前
AXI-Stream反压与背靠背传输——TREADY反压丢帧、TDEST路由错误、反压死锁,流式数据一反压就出事
fpga开发
国科安芯7 小时前
ASC8T245S 8通道电平转换设计实战:从系统架构到QFN24 Layout再到量产测试
网络·单片机·物联网·安全·fpga开发·系统架构
传感器与混合集成电路1 天前
基于FPGA与ADC协同架构的高密度数据采集模块设计原理与应用场景分析
fpga开发·架构
Rambo.xia1 天前
10Gbps实时图像重采样:一个FPGA项目的完整交付复盘
fpga开发
zlinear数据采集卡1 天前
2mV纹波的代价:硬核拆解ZLinear模拟前端放大器与正负可调电源设计
arm开发·单片机·嵌入式硬件·fpga开发·架构·开源
小麦嵌入式1 天前
FPGA入门(八):一篇讲透跑马灯、闪烁灯、呼吸灯的原理与模拟波形分析
fpga开发
Rambo.xia1 天前
AXI4-Full突发传输掉数据——突发长度算错、WRAP边界、窄传输字节错位,调试一周才发现是协议理解错了
fpga开发
zlinear数据采集卡1 天前
硅片里的“自动纠错“:硬核拆解LHAMP188自动归零技术原理与三种封装的PCB布局实战
arm开发·单片机·嵌入式硬件·fpga开发·开源