原创 16位乘法算法消耗资源的比较

2009-8-21 15:37 1915 7 7 分类: FPGA/CPLD

今天看到书上有个8位乘法,是用加法原理累加而成,一时兴起,和cpld组的16位乘法移位原理比较了一下。


当8*8乘法时,消耗了134个LE;程序如下:


用CPLD组的16*16 代码,编译后消耗了146个LE.


当把SIZE = 16后,要消耗惊人的526个LE。


/*********************************************/


module mult_repeat(outcome,a,b);
 parameter size = 16;
        output[2*size:1] outcome;
 input[size:1] a,b;
 reg[2*size:1] outcome;
 reg[2*size:1] temp_a;
 reg[size:1] temp_b;
 always @(a or b)
 begin
  outcome = 0;
  temp_a = a;
  temp_b = b;
  repeat(size)
   begin
   if (temp_b[1])
    outcome = outcome+ temp_a;
   temp_a = temp_a <<1;
   temp_b = temp_b >>1;
 end
 end
endmodule

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
7
关闭 站长推荐上一条 /3 下一条