全减器的3种描述层次【verilog语言+modulesim】

全减器的门电路与真值表

门电路形式真值表

四种描述代码

module way1(a,b,in,di,out);//门电路层次
input a,b,in;
output di,out;
not(n1,a);
and(a1,b,n1);
xor(x1,a,b);
xor(di,in,x1);
not(n2,x1);
and(a2,in,n2);
or(out,a2,a1);
endmodule
module way2(a,b,in,di,out);//行为层次
input a,b,in;
output  reg di,out;
always @(*)
begin
case ({a,b,in})
3'b000 :begin di= 0;out = 0; end
3'b001 :begin di= 1;out = 1; end
3'b010 :begin di= 1;out = 1; end
3'b011 :begin di= 1;out = 0; end
3'b100 :begin di= 0;out = 1; end
3'b101 :begin di= 0;out = 0; end
3'b110 :begin di= 0;out = 0; end
3'b111 :begin di= 1;out = 1; end
endcase
end
endmodule
module way3(a,b,in,di,out);//数据流层次
input a,b,in;
output out,di;
assign out = (~a&b)|(~(a^b)&in);
assign di = in^(a^b);
endmodule

激励文件

`timescale 1ns/1ns
module test();
reg a,b,in;
wire out,di;
way4 i1(
	.a(a),
	.b(b),
	.in(in),
	.di(di),
	.out(out)
);
initial 
begin 
	a=1'b0;
	b=1'b0;
	in=1'b0;
	# 100;
	a=1'b0;
	b=1'b0;
	in=1'b1;
	# 100;
	a=1'b0;
	b=1'b1;
	in=1'b1;
	# 100;
	a=1'b1;
	b=1'b1;
	in=1'b1;
	# 100;
	$stop;
end
endmodule
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值