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

异步复位同步释放

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

`timescale 1ns/1ns

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

//*************code***********//


reg rst_n_d1,rst_n_d2;

always@(posedge clk or negedge rst_n)
begin
    if(!rst_n)
        {rst_n_d2,rst_n_d1}<=0;
    else
        {rst_n_d2,rst_n_d1}<={rst_n_d1,1'b1};
end

always@(posedge clk or negedge rst_n_d2)
begin
    if(!rst_n_d2)
        dout<=0;
    else
        dout<=d;
end


//*************code***********//
endmodule

全部评论
***
点赞 回复 分享
发布于 2024-04-17 20:35 安徽

相关推荐

Aaso:挺好的,早挂早超生
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务