|
发表于 2008-12-21 00:18:37
|
显示全部楼层
module MUX();
input clk1,clk2,clk3,select_clk3;
input data_clk1,data_clk2;
output data_out;
reg data_out;
reg data1,data_clk1_r, data_clk1_rr;
reg data2,data_clk2_r, data_clk2_rr;
[email=always@(posedge]always@(posedge[/email] clk1)
data1<=data_clk1;
[email=always@(posedge]always@(posedge[/email] clk2)
data2<=data_clk2;
[email=always@(posedge]always@(posedge[/email] clk3)
begin
data_clk1_r<=data1;
data_clk1_rr<=data_clk1_r;
end
[email=always@(posedge]always@(posedge[/email] clk3)
begin
data_clk2_r<=data2;
data_clk2_rr<=data_clk2_r;
end
assign data_out=(select_clk3==1'b1)?data_clk1_rr:data_clk2_rr;
endmodule |
|