七人投票表决器的设计
仿真代码
module voter7(
input clk, //时钟信号
input[6:0] in, //输入投票状态
output out //输出最终投票结果
);
wire[2:0] vote_count;
assign vote_count = in[0] + in[1] + in[2] + in[3] + in[4] + in[5] + in[6];
assign out = (vote_count >= 4) ? 1 : 0; //若有4个人及4个人以上赞成,则输出1,否则输出0
endmodule
仿真波形
波形图说明:在每个时钟“clk”下降沿时计算投票结果,若有4个人及4个人以上赞成,则out输出1,否则out输出0。