1 设计要求:设计一个三人表决器,有3个裁判,其中有1位主裁判,2位副裁判。主裁判有否决权,即主裁判和其中一位副裁判投赞同票,决议方可通过,否则不通过。
注意:如果有了其中一人投赞同票就可以单票通过那就是决定权,如果必须有其中一人投赞同票才可以通过那就是否决权。
2 设计代码如下:
module vote3_pr0(
input wire a,
input wire b,
input wire c,
output reg y
);
always@(*)begin
if((a == 1'b0)&&((b == 1'b0)||(c == 1'b0)))
y = 1'b1;
else
y = 1'b0;
end
endmodule仿真测试代码如下:
`timescale 1ns/1ps
module vote3_pro_tb();
reg a;
reg b;
reg c;
wire y;
vote3_pro vote3_pro_inst(
.a (a),
.b (b),
.c (c),
.y (y)
);
initial begin
a = 0; b = 0; c = 1; #20;
a = 0; b = 0; c = 0; #20;
a = 0; b = 1; c = 1; #20;
a = 0; b = 1; c = 0; #20;
a = 1; b = 0; c = 1; #20;
a = 1; b = 0; c = 0; #20;
a = 1; b = 1; c = 1; #20;
a = 1; b = 1; c = 0; #20;
$stop;
end
endmodule 仿真波形如下:

版权声明:本文为qq_41294540原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。