Está en la página 1de 4

Profr. S.

Saucedo 1 ICE/2007
Multiplicador de 3 bits x 3 bits en la GAL

Multiplicador Binario

La multiplicacin de dos nmeros binarios se hace con papel y lpiz por sumas sucesivas y
corrimientos. Este proceso se ilustra de mejor manera con un ejemplo numrico. Vamos a
multiplicar los dos nmeros binarios 11011 y 10110

27 11011 mul t i pl i cando
22 10110 mul t i pl i cador
. _____.
00000
11011
11011
00000
11011
.____________
594 1001010010

El proceso consiste en observar los bits sucesivos del multiplicador, empezando con el bit menos
significativo. Si tal bit es 1 el multiplicando se copia abajo. En caso contrario los 0s se copian
abajo. Los nmeros que se copian abajo se corren una posicin a la izquierda del nmero previo.
Al final, los nmeros se adicionan y sus sumas forman el producto, como se hace para el caso
decimal que aprendimos desde la infancia. Obsrvese, que el producto de dos nmeros binarios
de n bits puede ser hasta 2n bits de largo.

Cuando el proceso anterior se implementa en hardware digital resulta conveniente
cambiar el proceso. Primero, en vez de proporcionar circuitos lgicos para almacenar y sumar al
mismo tiempo tantos nmeros binarios como 1s existan en el multiplicador, es mejor disear
circuitos para sumar dos nmeros binarios y acumular en forma sucesiva los productos parciales
en un registro de tamao conveniente. Segundo, en lugar de correr el producto parcial a la
izquierda ste se corre hacia la derecha lo cual resulta en dejar el producto parcial y el
multiplicando en las posiciones relativas necesarias. Tercero, cuando el bit correspondiente del
multiplicador es 0, no hay necesidad de sumar todos los ceros al producto, ya que esto no altera
su valor.

Especificacin del Proyecto

Se desea usar una GAL para multiplicar dos nmeros de tres bits cada uno. El primer nmero al
que designamos con A slo puede tomar los valores de 0 a 5, mientras que el segundo nmero
vara entre 0 y 7. La salida ser de seis bits, pues el producto mximo es 35, que requiere de seis
bits para su representacin.

Mtodo del Diseo

Se emplear una tabla de verdad con condiciones no importa, misma que se define de manera
compacta, segn ilustra la figura 1. El diseo es puramente combinatorio.


Profr. S. Saucedo 2 ICE/2007

MODULE pr od3

TI TLE ' Pr oduct o de 3 bi t s x 3 bi t s'

X = . x. ; " par a deci r no i mpor t a ( i r r el evant e)
" ent r adas
A2. . A0 PI N 1. . 3;
B2. . B0 PI N 4. . 6;
" SALI DAS
P5. . P0 PI N 14. . 19 I STYPE ' COM' ;

A = [ A2. . A0] ; " A < 6
B = [ B2. . B0] ; " B = 0 a 7
P = [ P5. . P0] ;
@DCSET " Tomar como i r r el evant es l as condi ci ones no dadas
t r ut h_t abl e
( [ A2, A1, A0, B2, B1, B0] - >[ P5, P4, P3, P2, P1, P0] )
[ 0, 0, 0, X, X, X] - >[ 0, 0, 0, 0, 0, 0] ;
[ X, X, X, 0, 0, 0] - >[ 0, 0, 0, 0, 0, 0] ;
[ 0, 0, 1, 0, 0, 1] - >[ 0, 0, 0, 0, 0, 1] ;
[ 0, 0, 1, 0, 1, 0] - >[ 0, 0, 0, 0, 1, 0] ;
[ 0, 0, 1, 0, 1, 1] - >[ 0, 0, 0, 0, 1, 1] ;
[ 0, 0, 1, 1, 0, 0] - >[ 0, 0, 0, 1, 0, 0] ;
[ 0, 0, 1, 1, 0, 1] - >[ 0, 0, 0, 1, 0, 1] ;
[ 0, 0, 1, 1, 1, 0] - >[ 0, 0, 0, 1, 1, 0] ;
[ 0, 0, 1, 1, 1, 1] - >[ 0, 0, 0, 1, 1, 1] ;
[ 0, 1, 0, 0, 0, 1] - >[ 0, 0, 0, 0, 1, 0] ;
[ 0, 1, 0, 0, 1, 0] - >[ 0, 0, 0, 1, 0, 0] ;
[ 0, 1, 0, 0, 1, 1] - >[ 0, 0, 0, 1, 1, 0] ;
[ 0, 1, 0, 1, 0, 0] - >[ 0, 0, 1, 0, 0, 0] ;
[ 0, 1, 0, 1, 0, 1] - >[ 0, 0, 1, 0, 1, 0] ;
[ 0, 1, 0, 1, 1, 0] - >[ 0, 0, 1, 1, 0, 0] ;
[ 0, 1, 0, 1, 1, 1] - >[ 0, 0, 1, 1, 1, 0] ;

[ 0, 1, 1, 0, 0, 1] - >[ 0, 0, 0, 0, 1, 1] ;
[ 0, 1, 1, 0, 1, 0] - >[ 0, 0, 0, 1, 1, 0] ;
[ 0, 1, 1, 0, 1, 1] - >[ 0, 0, 1, 0, 0, 1] ;
[ 0, 1, 1, 1, 0, 0] - >[ 0, 0, 1, 1, 0, 0] ;
[ 0, 1, 1, 1, 0, 1] - >[ 0, 0, 1, 1, 1, 1] ;
[ 0, 1, 1, 1, 1, 0] - >[ 0, 1, 0, 0, 1, 0] ;
[ 0, 1, 1, 1, 1, 1] - >[ 0, 1, 0, 1, 0, 1] ; 3x7 = 21

[ 1, 0, 0, 0, 0, 1] - >[ 0, 0, 0, 1, 0, 0] ;
[ 1, 0, 0, 0, 1, 0] - >[ 0, 0, 1, 0, 0, 0] ;
[ 1, 0, 0, 0, 1, 1] - >[ 0, 0, 1, 1, 0, 0] ;
[ 1, 0, 0, 1, 0, 0] - >[ 0, 1, 0, 0, 0, 0] ;
[ 1, 0, 0, 1, 0, 1] - >[ 0, 1, 0, 1, 0, 0] ;
[ 1, 0, 0, 1, 1, 0] - >[ 0, 1, 1, 0, 0, 0] ;
[ 1, 0, 0, 1, 1, 1] - >[ 0, 1, 1, 1, 0, 0] ;
[ 1, 0, 1, 0, 0, 1] - >[ 0, 0, 0, 1, 0, 1] ;
[ 1, 0, 1, 0, 1, 0] - >[ 0, 0, 1, 0, 1, 0] ;
[ 1, 0, 1, 0, 1, 1] - >[ 0, 0, 1, 1, 1, 1] ; 5x3 = 15
[ 1, 0, 1, 1, 0, 0] - >[ 0, 1, 0, 1, 0, 0] ;
[ 1, 0, 1, 1, 0, 1] - >[ 0, 1, 1, 0, 0, 1] ;
[ 1, 0, 1, 1, 1, 0] - >[ 0, 1, 1, 1, 1, 0] ;
[ 1, 0, 1, 1, 1, 1] - >[ 1, 0, 0, 0, 1, 1] ;
Figura 1 Listado del mdulo para el multiplicador (parte inicial)
Profr. S. Saucedo 3 ICE/2007
" Vect or es par a l a si mul aci on
TEST_VECTORS
( [ A, B] - > P)
[ 0, 6] - > 0;
[ 5, 0] - > 0;
[ 1, 4] - > 4;
[ 3, 3] - > 9;
[ 2, 5] - > 10;
[ 3, 4] - > 12;
[ 2, 7] - > 14;
[ 4, 5] - > 20;

[ 5, 5] - > 25;
[ 3, 7] - > 21;
[ 4, 6] - > 24;
[ 5, 6] - > 30;

END
Figura 2 Vectores de prueba para la simulacin (parte final del archivo fuente)

Asignacin de Pines

La figura 3 exhibe como el software de desarrollo de Lattice asigna las patitas del integrado.

Figura 3 Distribucin de pines de la GAL22V10

Profr. S. Saucedo 4 ICE/2007
Simulacin con los Vectores de Prueba

La figura 4 ilustra el diagrama temporal de aplicar los vectores de prueba en el J EDEC grabado.


Figura 4 Respuesta en el tiempo de los vectores propuestos.

Para el diseo secuencial de un producto ver el libro Diseo Digital de Morris Mano; ed.
Prentice-Hall, 1987, pp 337-340.

También podría gustarte