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