题解 | #多bit MUX同步器#

多bit MUX同步器

https://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 data_en_reg0;
	always @(posedge clk_a or negedge arstn) begin
		if(!arstn) begin
			data_en_reg0 <= 0;
		end
		else begin
			data_en_reg0 <= data_en;
		end
	end

	reg data_en_reg1;
	reg data_en_reg2;
	always @(posedge clk_b or negedge brstn) begin
		if(!brstn) begin
			data_en_reg1 <= 0;
			data_en_reg2 <= 0;
		end
		else begin
			data_en_reg1 <= data_en_reg0;
			data_en_reg2 <= data_en_reg1;
		end
	end
	
	reg [3:0] data_reg;
	always @(posedge clk_a or negedge arstn) begin
		if(!arstn) begin
			data_reg <= 0;
		end
		else begin
			data_reg <= data_in;
		end
	end

	always@(posedge clk_b or brstn) begin
		if(!brstn) begin
			dataout <= 0;
		end
		else begin
			dataout <= (data_en_reg2)? data_reg : dataout;
		end
	end



endmodule

全部评论

相关推荐

给口饭次次吧:其实,我觉得你的简历...就是白纸一张,要实习没实习要项目没项目,只能在沉淀沉淀了
点赞 评论 收藏
分享
牛客464620405号:随便投,随便找,中国经过40多年的改革开放,人才缺口和职位空缺是巨大的,中国现在属于遍地黄金的年代,属于90后和00大机遇的时代
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务