Subido por e_ev21

sumador-de-2-palabras-de-4-bits-con-carry-look-ahead

Anuncio
Universidad Nacional Autónoma de México
Facultad de Ingeniería
Alumnos:
Carrasco Mora Carlos Fernando
Fernández Carrillo Paul Andrés
Ibarra Olvera Javier
Profesor:
Roberto Mandujano Wild
Asignatura:
Diseño Digital
Proyecto:
Sumador de 2 Palabras de 4 Bits
Con Carry Look Ahead
Proyecto: Sumador de 2 Palabras de 4 Bits con Carry Look Ahead
Introducción:
En este proyecto presentaremos la descripción y la teoría necesaria para comprender las
bases del circuito el cual tiene la función de sumar dos palabras de 4 bits cada una,
utilizando el método “Carry Look Ahead”, el cual tendrá la ventaja de realizar la suma lo
más rápida y eficientemente posible. Se presentará en un principio la teoría que describe la
manera de armarlo, y luego se presentará el diagrama de conexión para ser armado en la
tarjeta prototipo. Cabe mencionar también que el “Carry Look Ahead” puede ser adquirido
ya en un circuito integrado. Sin embargo el objetivo es armar el circuito completo con
puras compuertas lógicas.
Como el objetivo del proyecto es sumar 2 palabras de 2 bits, tendremos a continuación una
descripción de los métodos de suma.
A) Half Adder: Traducido como “medio sumador”, es un método de suma binario que no
considera el carrier anterior para sumar, es decir, las únicas entradas que tiene son dos
variables, y como salida, una suma y un carry. Aquí tenemos su diagrama ejemplificado,
tabla de verdad y función equivalente:
Ai
0
0
1
1
Bi
0
1
0
1
Ci+1 = AiBi
Ci+1
0
0
0
1
Si
0
1
1
0
Si = Ai
Bi
B) Full Adder: Este método, traducido como sumador completo, aparte de sus 2 variables
de entrada, considera el carrier anterior de alguna otra suma, como se observa a
continuación:
Ai
0
0
0
0
1
1
1
1
Bi
0
0
1
1
0
0
1
1
Ci
0
1
0
1
0
1
0
1
Si = Ai
Ci+1
0
0
0
1
0
1
1
1
Bi
Ci
Ci+1 = AiBi + AiCi + BiCi
Si
0
1
1
0
1
0
0
1
Así, con estos elementos tenemos la posibilidad de realizar sumas de cualquier cantidad de
bits, iniciando primero con un Half Adder, ya que no hay carry al inicio, y después
utilizando tantos Full Adder como sean necesarios. Para este caso, el tiempo que tardaría
una implementación así sería de (2n – 1)Δt. El problema que tenemos es que para obtener
la suma completa, se necesita esperar a que se genere el carry. Pero existe una manera más
rápida de efectuar la suma. Si se prevee cuál será el valor del carry, se puede efectuar toda
la suma al mismo tiempo. A éste método se le llama Carry Look Ahead.
Para el Carry Look ahead:
Partimos de las funciones del Full Adder:
Si= Ai
Bi
Ci
Ci+1 = AiBi + AiCi + BiCi = AiBi + (Ai
Bi)Ci
De la expresión Ci+1, llamaremos:
AiBi = Gi (Generador)
Ai Bi = Pi (Propagador)
Con estas 2 funciones se puede prever qué va a suceder en cada etapa: si se va a generar un
carry, y segundo, si se va a propagar el carry. Entonces tenemos:
Ci+1 = Gi + PiCi
Para el proyecto necesitaremos sumar hasta 4 bits, entonces desarrollaremos hasta el carry
no. 4:
Desarrollando para i = 0, 1, 2, 3, 4:
Para i = 0
C1 = G0 + P0C0 = G0
Para i = 1
C2 = G1 + P1C1 = G1 + P1G0
Para i = 2
C3 = G2 + P2C2 = G2 + P2(G1 + P1G0)
C3 = G2 + P2G1 + P2P1G0
Para i = 3
C4 = G3 + P3G3 = G3 + P3(G2 + P2G1 + P2P1G0)
Ahora tenemos el diagrama del CLA con compuertas:
Por último, mostramos el diagrama del Full Adder con Generador Propagador:
Por último, el diagrama general es el siguiente:
A continuación mostraremos la implementación de este circuito.
Descargar