verilog 5

`timescale 1ns/10ps
module fn_sw_4(
a,
b,
sel,
y);

input a;
input b;
input[1:0] sel;
output y;

//assign y = sel?(a^b):(a&b);
reg y;
always@(a or b or sel)begin 
case(sel)
2'b00:begin y<=a&b;end
2'b01:begin y<=a|b;end
2'b10:begin y<=a^b;end
2'b11:begin y<=~(a^b);end
  endcase
end


endmodule

module fn_sw_4_tb;
reg[3:0] absel;
wire y;
fn_sw fn_sw(
.a(absel[0]),
.b(absel[1]),
.sel(absel[3:2]),
.y(y)
);
initial begin
    absel<= 0; 
#200 $stop;

end
always #10 absel<=absel+ 1;

endmodule	

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值