fpga求大神帮我写个逻辑代码 65
1个回答
展开全部
这么简单,还不会写,我来捞点分吧。
如下,下y和y2输出是一样的,实现抽象层次不一样,综合后的电路应该是一样的,随便选一个:
module mux_case_or_comb (
input [3:0] x,
input [1:0] s,
output reg y,
output y2
);
always@(*)
begin
case(s[1:0])
2'b00:y = x[0];
2'b01:y = x[1];
2'b10:y = x[2];
2'b11:y = x[3];
default:y = 0;
endcase
end
wire temp1, temp2, temp3, temp4;
assign temp1 = &{x[0] , ~s[1], ~s[0]};
assign temp2 = &{x[1] , ~s[1], s[0]};
assign temp3 = &{x[2] , s[1], ~s[0]};
assign temp4 = &{x[3] , s[1], s[0]};
assign y2 = |{temp1, temp2, temp3, temp4};
endmodule
如下,下y和y2输出是一样的,实现抽象层次不一样,综合后的电路应该是一样的,随便选一个:
module mux_case_or_comb (
input [3:0] x,
input [1:0] s,
output reg y,
output y2
);
always@(*)
begin
case(s[1:0])
2'b00:y = x[0];
2'b01:y = x[1];
2'b10:y = x[2];
2'b11:y = x[3];
default:y = 0;
endcase
end
wire temp1, temp2, temp3, temp4;
assign temp1 = &{x[0] , ~s[1], ~s[0]};
assign temp2 = &{x[1] , ~s[1], s[0]};
assign temp3 = &{x[2] , s[1], ~s[0]};
assign temp4 = &{x[3] , s[1], s[0]};
assign y2 = |{temp1, temp2, temp3, temp4};
endmodule
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询