大笨象 发表于 2011-7-20 19:49

基4-Booth编码乘法运算

本帖最后由 大笨象 于 2011-7-20 20:58 编辑

`timescale 1ns / 1ps
module Booth4RadixMultiplier(a,b,c,sclr,clk,rfd
    );
parameter N=8;
input a,b;
input sclr,clk;
output c;
output rfd;
reg y;
reg x,x_c,z;
reg current_state,next_state;
integer index_i;
reg finished;
parameter    Init=2'b00,
                   Acc=2'b01,
                   Done=2'b11;
always@(posedge clk)//状态跳变时钟
if(!sclr)
begin
current_state<=Init;
end
else
begin
current_state<=next_state;
end
always@(current_state or index_i)//状态改变的组合电路
case(current_state)
Init:
     next_state=Acc;
Acc:
     if(index_i==(N>>1)-1)
          next_state=Done;
          else
          next_state=Acc;
Done:
     next_state=Init;
endcase
always@(posedge clk)//实现算法的计算程序
case(current_state)
Init:
       begin
       finished=0;
                 index_i=0;
            x=a;
                 x_c=~a+1;
                 y={b,1'b0};
                 z=0;
                 end
Acc:
      begin
            case(y)
                 3'b000,3'b111:
                    {z,y}={z,z,z,y};
                 3'b001,3'b010:
                    begin
                         z=z+x;
                        {z,y}={z,z,z,y};
                         end
                 3'b011:
                    begin
                        z=z+(x<<1);
                       {z,y}={z,z,z,y};                            
                   end
                 3'b100:
                    begin
                       z=z+(x_c<<1);
                      {z,y}={z,z,z,y};                            
                   end      
                 3'b101,3'b110:
                    begin
                      z=z+x_c;
                     {z,y}={z,z,z,y};
                   end
                 default:
                     {z,y}=0;
          endcase
          index_i=index_i+1;
     end
Done:
      finished=1;
endcase
assign rfd=finished;
assign c={z,y};
endmodule

jt202010 发表于 2011-7-21 09:39

是什么东西啊

大笨象 发表于 2011-7-21 15:13

jt202010 发表于 2011-7-21 09:39 static/image/common/back.gif
是什么东西啊

处理器对长乘法的快速计算。

zspengyou 发表于 2011-7-22 18:31

但愿对大家有用,分享之~

zerodingying 发表于 2012-2-4 19:34

大神辛苦了。。。。

乐观派报告 发表于 2012-2-4 19:46

膜拜下,因为我真不知道是什么

空木葬花 发表于 2014-5-4 14:49

非常感谢楼主!
页: [1]
查看完整版本: 基4-Booth编码乘法运算