题解 | #多bit MUX同步器#

多bit MUX同步器

http://www.nowcoder.com/practice/30e355a04a454e16811112cb82af591e

`timescale 1ns/1ns

module mux( input clk_a , input clk_b ,
input arstn , input brstn , input [3:0] data_in , input data_en ,

output reg  [3:0] 	dataout

); reg [3:0]qa_data; reg qa_en; reg qb_en_1,qb_en_2;

always @(posedge clk_a or negedge arstn)begin
    if(~arstn)begin
        qa_en<=0;qa_data<=0;
    end
    else begin
        qa_en<=data_en;
        qa_data<=data_in;
    end
end

always @(posedge clk_b or negedge brstn)begin
    if(~brstn)begin
        qb_en_1<=0;qb_en_2<=0;
    end
    else begin
        qb_en_1<=qa_en;
        qb_en_2<=qb_en_1;
    end
end


always @(posedge clk_b or negedge brstn)begin
    if(~brstn)begin
        dataout<=0;
    end
    else if(qb_en_2==1)begin
        dataout<=qa_data;
    end
    else begin
        dataout<=dataout;
    end
end

endmodule

全部评论

相关推荐

不愿透露姓名的神秘牛友
12-16 15:57
小鹏汽车 java后端 22*15(固定13,2个月年终) 硕士211
点赞 评论 收藏
分享
给🐭🐭个面试机会...:我擦seed✌🏻
点赞 评论 收藏
分享
牛客41406533...:回答他在课上学,一辈子待在学校的老教授用三十年前的祖传PPT一字一句的讲解,使用谭浩强红皮书作为教材在devc++里面敲出a+++++a的瞬间爆出114514个编译错误来学这样才显得专业
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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