verilog之十人表决器

功能描述:这是一个十个裁判表决的电路,基本功能:每个裁判输入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;
     always@(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


你可能感兴趣的:(EDA数字系统设计)