问答题 分析下面的Verilog HDL源程序,说明该代码描述的电路的功能。
   module mult(cout,a,b);
   parameter    Size=8;
   input[size:1]    a,b;
   output[2*size:1]  cout;
   reg[2*size:1]a_reg,cout;
   reg[size:1]    b_reg;
   integer    n;
   always    @(a or b)
       begin
           cout=0;
           a_reg=a:
           b_reg=b;
           for(n=1;n<=Size;n:n+1)
               begin
                   if(b_reg[1])
                     begin
                       cout=cout+a_reg;
                       a_reg=a_reg<<1;
                       b_reg=b_reg>>1;
                   end
               else
                       begin
                           a_reg=a_reg<<1;
                           b_reg=b_reg>>1;
                       end
               end
           end
   endmodule
【正确答案】该Verilog HDL源程序描述了一个8×8位乘法器电路的功能。其中a和b是8位被乘数和乘数,cout是16位的乘积结果输出。
【答案解析】