Código VHDL – Simulación Utilizando el programa ModelSim se mostrará el código que describe el multiplicador y una simulación del mismo
Todo lo desarrollado hasta aquí se aplica a la multiplicación de números sin signo. Seguidamente se mostrarán dos variantes para incluir la multiplicación de dos operandos signados (complemento a la base), en un caso con uno de ellos pudiendo ser negativo y el otro positivo, y en el otro con ambos pudiendo ser negativos.
Arquitectura del multiplicador A x B = Resultado A x B = Resultado (Gp:) potencialmente negativo
(Gp:) positivo
1) 2) (Gp:) potencialmente negativo
Caso 1: Multiplicando potencialmente negativo y multiplicador positivo Arquitectura del multiplicador (Gp:) Modificaciones/Agregados: En este caso lo que se debe tener en cuenta es que cada vez que se realiza un desplazamiento de P se debe realizar aritméticamente, es decir que el bit insertado en la posición más significativa de P debe ser su signo en lugar del carry obtenido de la suma
Caso 1: Multiplicando potencialmente negativo y multiplicador positivo Arquitectura del multiplicador
Caso 2: Multiplicando y multiplicador potencialmente negativos Arquitectura del multiplicador (Gp:) La manera de resolver este caso es la utilización del algoritmo de Booth (recodificación)
(Gp:) Operación: Sea bN-1 … b0 el contenido inicial de B (multiplicador), entonces en el paso i del proceso de multiplicación el bit más bajo del registro B es bi, y el paso i de multiplicación sería: Si bi = 0 y bi-1 = 0, entonces se suma 0 a P Si bi = 0 y bi-1 = 1, entonces se suma A a P Si bi = 1 y bi-1 = 0, entonces se resta A de P Si bi = 1 y bi-1 = 1, entonces se suma 0 a P
Caso 2: Multiplicando y multiplicador potencialmente negativos Arquitectura del multiplicador (Gp:) Modificaciones/Agregados: en este caso es necesario contar con un sumador/restador y con un bloque que genere las señales necesarias para el control de las operaciones indicadas anteriormente
Página anterior | Volver al principio del trabajo | Página siguiente |