Advertisement
Guest User

Untitled

a guest
May 12th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module BoothMulti(X, Y, Z
  2.     );
  3.       input signed [7:0] X, Y;
  4.        output signed [31:0] Z;
  5.        reg signed [31:0] Z;
  6.        reg [1:0] temp;
  7.        integer i;
  8.        reg E1;
  9.        reg [7:0] Y1;
  10.        always @ (X, Y)
  11.        begin
  12.        Z = 31'd0;
  13.        E1 = 1'd0;
  14.        for (i = 0; i < 4; i = i + 1)
  15.        begin
  16.        temp = {X[i], E1};
  17.        Y1 = – Y;
  18.          case (temp)
  19.        2'd2 : Z [31 : 15] = Z [31 : 15] + Y1;
  20.        2'd1 : Z [31: 15] = Z [31 : 15] + Y;
  21.        default : begin end
  22.        endcase
  23.        Z = Z >> 1;
  24.  
  25.        Z[31] = Z[30];
  26.  
  27.  
  28.        E1 = X[i];
  29.            end
  30.        if (Y == 16'd32)
  31.  
  32.  
  33.            begin
  34.                Z = – Z;
  35.            end
  36.        end
  37. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement