定义
复位信号在到来时不受时钟信号的同步,复位信号释放时需要进行时钟信号的同步
电路实现
典型代码
module areset_srelease(
input rst_n, //异步复位信号
input clk, //时钟
input din, //输入数据
output reg dout //输出数据
);
reg rst_n_r1;
reg rst_n_r2;
always @(posedge clk, negedge rst_n) begin
if(!rst_n) begin
rst_n_r1 <= 'b0;
rst_n_r2 <= 'b0; //异步复位
end
else
rst_n_r1 <= 'b1; //同步释放
rst_n_r2 <= rst_n_r2; //同步打拍,时序差可以多延迟几拍
end
//使用rst_n_r2做同步释放,复位信号可以添加到敏感列表中
always @(posedge clk, negedge rst_n_r2) begin
if(!rst_n_r2)
dout <= 'b0;//同步复位
else
dout <= din;
end
Comments | NOTHING