Problema con el multiplicador Booth

2

Codifiqué un multiplicador de cabina de 4 bits en Verilog. Está funcionando bien para

Multiplicand          Multiplier
+ 0 to 7        0 to +7 &  -1 to -7

Pero no funciona para

multiplicand         Multiplier
-8                 +1 to +7 & -1 to -8 

Incluso no estoy recibiendo respuesta a través del algoritmo a mano ejemplo -8 X 1

                 A            Q           Q_0    Control Bits         Cnt 
               0000         0001          0    10  >> Subtraction     4
               1000
               -----
               1000
      ASR      1100         0000          1    01  >> ADD             3
               1000
               -----
               0100
      ASR      0010         0000          0    00   >> ASR            2

      ASR      0001         0000          0    00   >> ASR            1

      ASR      0000         1000          0    00   >> ASR            0

           PRODUCT = 0000 1000 = +8    NOT -8

¿Es cierto que Booth tiene una limitación que puede multiplicarse solo en el rango de            0 a ((2 N) -1) & & (-1 a - (2 N) -1))

Me gusta en este ejemplo

       + range  >>  0 to  7  Multiplied by (0 to 7) || ( -1 to -7)
                   -1 to -7  Multiplied by (0 to 7) || ( -1 to -7) 

y no por -8?

    
pregunta senthil murugan

0 respuestas

Lea otras preguntas en las etiquetas