PRÁCTICA I DISEÑO DE UN MULTIPLICADOR POR MEDIO DE ÁRBOL DE WALLACE OBJETIVO Ua vez vistos los fudametos de la segmetació de operadores, se pasa a aplicarlos a u operador real. El objetivo de esta práctica es la simulació, usado el leguaje de simulació VHDL, de u multiplicador de úmeros de 8 bits por medio de u árbol de Wallace. La simulació se realizará iicialmete para u multiplicador o segmetado, pasado después a segmetar el multiplicador y comparar resultados. INTRODUCCIÓN TEÓRICA (1) E el diseño de u árbol de Wallace se usa dos tipos de sumadores: sumadores co propagació de acarreo y sumadores co salvaguarda de acarreo. Vamos a estudiar las características de cada uo de ellos. Sumador co propagació de acarreo.- Realiza la suma de dos úmeros de N bits propagado los acarreos resultates de u bit al siguiete. E la figura se puede apreciar su esquema y u ejemplo de operació A B A = 1 0 1 1 B = 0 1 1 1 S = 1 0 0 1 0 = A+B C out S (1) Para ampliar sobre los sumadores y el multiplicador que se describe e esta secció, se puede cosultar el apédice de Aritmética de Computadores del libro: Arquitectura de Computadores: U Efoque Cuatitativo, de J. Heessy y D. Patterso. 1
Sumador co salvaguarda de acarreos.- Realiza la suma de tres úmeros de N bits, dado como resultado la suma de los bits si cosiderar acarreos y u vector de acarreos, de forma que la suma total será la suma de estos dos resultados. La suma de los bits será el resultado de la operació o-exclusiva de los tres bits de etrada y los bits del vector de acarreos se deduce depediedo si los bits ateriores e la etrada geera o o acarreo S i = x i y i z i C i+1 = x i y i OR y i z i OR z i x i E la figura se puede apreciar el esquema de u sumador co salvaguarda de acarreo y u ejemplo de operació. X Y Z X = 0 0 1 0 1 1 Y = 0 1 0 1 0 1 Z = 1 1 1 1 0 1 S = 0 1 0 0 0 1 1 C = 0 1 1 1 0 1 0 S total = 1 0 1 1 1 0 1 +1 +1 C S DISEÑO DE UN MULTIPLICADOR La operació de multiplicació puede reducirse a la suma de productos coveietemete desplazados. Por ejemplo: 1 1 0 0 1 1 0 1 = A x) 1 0 0 1 0 1 1 0 = B 0 0 0 0 0 0 0 0 = P0 1 1 0 0 1 1 0 1 0 = P1 1 1 0 0 1 1 0 1 0 0 = P2 0 0 0 0 0 0 0 0 0 0 0 = P3 1 1 0 0 1 1 0 1 0 0 0 0 = P4 0 0 0 0 0 0 0 0 0 0 0 0 0 = P5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = P6 + 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 = P7 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 = P Cada uo de los productos se geera multiplicado el úmero A por el bit correspodiete del úmero B y desplazádolo a la izquierda tatas veces como idique el orde del bit correspodiete del úmero B. 2
Por medio de u árbol de Wallace podemos implemetar u multiplicador de úmeros de 8 bits segú el esquema de la figura. GENERADOR DE PRODUCTOS P 0 P 1 P 2 P 3 P 4 P 5 P 6 P 7 8 9 10 11 12 13 10 10 13 13 14 15 13 13 15 15 15 15 3
El geerador de productos geera todos los productos ya desplazados, que después se suma coveietemete por medio de sumadores co salvaguarda de acarreo, excepto la última etapa que se suma co u sumador co propagació de acarreo. Para la segmetació del multiplicador basta defiir las etapas e itercalar etre ellas latches que guarde los resultados itermedios. Por ejemplo: Clk GENERADOR DE PRODUCTOS P 0 P 1 P 2 P 3 P 4 P 5 P 6 P 7 8 9 10 11 12 13 10 10 13 13 14 15 13 13 15 15 15 15 4
DESARROLLO DE LA PRACTICA 1.- Implemetar por medio de VHDL co arquitectura comportametal las etidades ecesarias para la simulació del multiplicador de 8 bits por medio de u árbol de Wallace: Sumador de bits co propagació de acarreo (retardo 20 s). Sumador de bits co salvaguarda de acarreo (retardo 15 s.). Geerador de productos (retardo 25 s.) Latch de almaceamieto itermedio (retardo 5 s.). 2.- Implemetar co las etidades diseñadas e el apartado aterior por medio de ua arquitectura estructural u multiplicador de úmeros de 8 bits. Diseñar u testbech para comprobar su fucioamieto. 3.- Realizar la segmetació del multiplicador del apartado 2 e cuatro etapas, simular el fucioamieto por medio de u test-bech y comparar resultados co los obteidos e el apartado aterior. 4.- Calcular la mayor frecuecia de fucioamieto de los dos multiplicadores diseñados y comprobar su fucioamieto a esas frecuecias. 5.- Calcular la gaacia del multiplicador segmetado respecto al o segmetado para grades catidades de datos. Comprobar este valor experimetalmete. 5