符合电路:
- 模块代码设计
module fuhe(out,a,b,c); input a,b,c; output out; assign out=((!a)&(!b)&(!c)||(a&b&c)); endmodule
- 测试平台设计
module testfuhe; reg pa,pb,pc; wire pout; fuhe f(pout,pa,pb,pc); initial begin pa=0;pb=0;pc=0; #5 pc=1;pb=0;pa=0; #5 pc=0;pb=1;pa=0; #5 pc=1;pb=1;pa=0; #5 pc=0;pb=0;pa=1; #5 pc=1;pb=0;pa=1; #5 pc=0;pb=1;pa=1; #5 pc=1;pb=1;pa=1; #5; end initial $monitor("time=%t,a=%b,c=%b,out=%b",$time,pa,pb,pc,pout); endmodule
- 测试结果
裁判电路:
1.模块代码设计
module trial(out,a,b,c);
input a,b,c;
output out;
assign out=((a&b)||(b&c)||(a&c));
endmodule
2.测试平台代码设计
module testbench;
reg pa,pb,pc;
wire py;
trial t(py,pa,pb,pc);
initial
begin
pa=0;pb=0;pc=0;
#5 pc=0;pb=0;pa=1;
#5 pc=0;pb=1;pa=0;
#5 pc=0;pb=1;pa=1;
#5 pc=1;pb=0;pa=0;
#5 pc=1;pb=0;pa=1;
#5 pc=1;pb=1;pa=0;
#5 pc=1;pb=1;pa=1;
#5;
end
initial
$monitor("time=%t,a=%b,c=%b,Y=%b",$time,pa,pb,pc,py);
endmodule
3.测试结果及分析
交通灯错误检测电路:
1.模块代码设计
module jtd(out,a,b,c);
input a,b,c;
output out;
assign out=((a&b)||(b&c)||(a&c)||( !(a||b||c)));
endmodule
2.测试平台代码设计
module testjtd;
reg pa,pb,pc;
wire py;
jtd j(py,pa,pb,pc);
initial
begin
pa=0;pb=0;pc=0;
#5 pc=0;pb=0;pa=1;
#5 pc=0;pb=1;pa=0;
#5 pc=0;pb=1;pa=1;
#5 pc=1;pb=0;pa=0;
#5 pc=1;pb=0;pa=1;
#5 pc=1;pb=1;pa=0;
#5 pc=1;pb=1;pa=1;
#5;
end
initial
$monitor("time=%t,a=%b,c=%b,Y=%b",$time,pa,pb,pc,py);
endmodule
3.测试结果及分析