假设共有7个人投票,只能投赞成或反对票,只要有4人或4人以上的赞成票,就视为通过,否则视为不通过。
- 输入为a, b, c, d, e, f, g,共7个布尔量。用随机数对2取余生成激励。
- 输出为out,1个布尔量。
主程序:
module voting(a, b, c, d, e, f, g, out);
input a, b, c, d, e, f, g;
output wire out;
assign out = ((a + b + c + d + e + f + g)>=4) ? 1:0;
endmodule
测试程序:
`timescale 1 ns/ 1 ns
module tb_voting();
reg a, b, c, d, e, f, g;
wire out;
voting U3(.a(a), .b(b), .c(c), .d(d), .e(e), .f(f), .g(g), .out(out));
initial begin
repeat(5) begin
a = $random % 2;
b = $random % 2;
c = $random % 2;
d = $random % 2;
e = $random % 2;
f = $random % 2;
g = $random % 2;
#10;
end
end
endmodule
结果如下: