Documente Academic
Documente Profesional
Documente Cultură
PRACTICA CALIFICADA 04
OBJETIVO:
Diseñar un circuito multiplicador de números naturales (enteros sin signo) de n bits, empleando
código estructural y circuitos genéricos con el lenguaje VHDL.
FUNCIONAMIENTO:
Para poder implementar un multiplicador de n bits antes es necesario entender el algoritmo básico
que se emplea para la multiplicación en hardware. Para nuestra explicación tomaremos como
ejemplo un multiplicador de 04 bits, es decir, un multiplicador donde ambos factores (Multiplicando
y Multiplicador) tienen 04 bits.
Imaginemos que el Multiplicando (M) es igual a “1110” y el Multiplicador (Q) es igual a “1011”. El
Producto (P) puede calcularse manualmente mediante el método tradicional, tal como se muestra:
Si observamos los productos parciales, notamos que una multiplicación puede ser llevada a cabo
empleando múltiples sumadores. En cada paso, un sumador de 04 bits es usado para calcular el
nuevo producto parcial. También notamos que, al progresar en el cálculo, los bits menos
significativos no son afectados por las adiciones subsiguientes y, por lo tanto, pueden pasarse
directamente al producto final:
Escuela de Electrónica
El mismo esquema puede ser utilizado para diseñar un circuito multiplicador. Denotaremos al
Multiplicando, Multiplicador y Producto como 03 números binarios M = m3m2m1m0, Q = q3q2q1q0, y
P = p7p6p5p4p3p2p1p0, respectivamente. La siguiente imagen muestra las operaciones requeridas.
El producto parcial 0 (PP0) se obtiene usando la AND de q 0 con cada bit de M, lo cual produce 0 si
q0 = 0 y M si q0 = 1. Es decir:
De manera similar, puede obtenerse los demás productos parciales por medio de operaciones AND
y sumas. La siguiente imagen muestra una posible implementación del multiplicador de números de
04 bits:
Escuela de Electrónica
INSTRUCCIONES:
Modificar el diseño mostrado en la imagen anterior, para utilizar dos componentes nuevos llamados
Top_Block y Bottom_Block.
El componente Top_Block está conformado por un sumador completo (FA) y 02 compuertas AND.
Este es el bloque que conforma la fila superior del multiplicador. La estructura del componente debe
ser como se muestra a continuación:
El componente Bottom_Block está conformado por un sumador completo (FA) y una compuerta
AND. Este es el bloque que conforma las demás filas del multiplicador. La estructura del
componente debe ser como se muestra a continuación:
Escuela de Electrónica
El nuevo diseño del multiplicador de números de 04 bits debe tener una estructura como la que se
muestra en la siguiente imagen:
Una vez que el multiplicador de números de 04 bits funcione correctamente, modificar el diseño
para convertirlo en un multiplicador genérico (escalable), el cual pueda configurarse para trabajar
con factores de n bits. Pruebe el nuevo diseño con n = 4 y n = 5. Para n = 5 se debe mostrar 03
dígitos hexadecimales, por lo cual debe agregar un decodificador.
CRITERIOS DE EVALUACIÓN:
Código (Anexo):