verilog之十人表決器
阿新 • • 發佈:2018-12-29
功能描述:這是一個十個裁判表決的電路,基本功能:每個裁判輸入1:同意;0:不同意.
按照少數服從多數的原則,輸出情況除了通過、不通過或待定等狀態。
module first(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,out); input a1,a2,a3,a4,a5,a6,a7,a8,a9,a10; //十路訊號 output reg [1:0] out; reg [9:0] temp = 10'b0000000000; integer i,cout1,cout2; [email protected](temp) begin temp = {a1,a2,a3,a4,a5,a6,a7,a8,a9,a10}; i=0; cout1 = 0; cout2 = 0; while(i<10) begin if(temp[i]) cout1 = cout1+1; else cout2 = cout2+1; i=i+1; end if(cout1==cout2)out=2'b00;//待定 else if(cout1>cout2)out=2'b01;通過 else if(cout1<cout2)out=2'b10;//不通過 else out=2'b11;//未知錯誤 end endmodule