题解 | #异步复位同步释放#

异步复位同步释放

https://www.nowcoder.com/practice/9b892b6f75954267b4574b042f8a8d6a

异步复位,同步释放

顾名思义,将复位信号当作异步信号,使用两级寄存器进行亚稳态处理,使用同步后的信号作为复位信号

`timescale 1ns/1ns

module ali16(
input clk,
input rst_n,
input d,
output reg dout
 );

//*************code***********//
reg rst_r, rst_rr;

always @(posedge clk or negedge rst_n) begin
    if (!rst_n) begin
        rst_r <= 1'b0;
        rst_rr <= 1'b0;
    end
    else begin
        rst_r <= 1'b1;
        rst_rr <= rst_r;
    end
end


always @(posedge clk or negedge rst_rr) begin
    if (!rst_rr) 
        dout <= 1'b0;
    else
        dout <= d;
end
//*************code***********//
endmodule

全部评论

相关推荐

04-28 13:00
已编辑
门头沟学院 Java
啥都ac:项目主要是能讲清楚核心链路技术选型对比方案量化结果等等吧 是否真实做过真实存在不太重要 当然编的项目能做到这种水平也付出了精力了
找工作的破防时刻
点赞 评论 收藏
分享
二十岁的编程男神王大...:读博吧兄弟,你这绩点太好了,何必转码,另外哈哈哈真见到有括号标出来985的,这个不标注也知道吧
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务