practica 3
Post on 29-Nov-2015
142 Views
Preview:
TRANSCRIPT
ESCUELA DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
PROGRAMA ACADÉMICO DE TECNOLOGÍA EN ELECTRÓNICA
CURSO 710200M – TÉCNICAS DIGITALES
PERIODO AGOSTO – DICIEMBRE DE 2013
PRÁCTICA 3
DISEÑO DE CIRCUITOS ARITMÉTICOS: SUMADOR/RESTADOR DE 8 BITS Y
MULTIPLICADOR BASADO EN SUMA-DESPLAZAMIENTO
I. Objetivos
Experimentar el diseño digital a través de diferentes enfoques de diseño.
Emplear el bloque funcional FULL ADDER para diseñar e implementar un sumador/restador de
dos números de 8 bits.
Comprender la utilidad de las señales de acarreo de entrada y de salida.
Implementar circuitos aritméticos usando circuitos integrados de bloques funcionales.
Comprender la utilidad de la representación Complemento a 2 (2C) en la suma y resta de números
binarios.
Emplear la compuerta AND como multiplicador de 2 bits, y combinar esta operación con las
sumas apropiadas para implementar un multiplicador de números de 4 bits en representación
signo-magnitud (SM).
Comparar el diseño y comportamiento entre un multiplicador basado en suma-desplazamiento y un
multiplicador sintetizado a partir de la tabla de verdad.
II. Procedimiento
A continuación se describen las actividades a realizar en esta práctica de laboratorio.
1. Diseño de un sumador/restador de 8 bits usando compuertas
Para este diseño se usará un bloque FULL ADDER de 8 bits y 8 compuertas XOR. Una señal de control S_R
permitirá escoger la operación a realizar, de acuerdo a la Tabla 1.1.
Señal S_R Operación
0 Suma
1 Resta
Tabla 1.1 Operación a realizar de acuerdo a la señal S_R.
El proceso de diseño inicia con el diseño de un FULL ADDER de 1 bit. Este diseño se replica ocho veces y se
interconecta apropiadamente para obtener un FULL ADDER de 8 bits. En esta práctica se usará el concepto de
acarreo de propagado.
1.1 Diseño de un FULL ADDER de 1 bit
Este bloque tiene tres bits de entrada (A, B y Cin
) y dos bits de salida (S y Cout
). La salida S es igual a la suma
binaria A + B + Cin
, y la salida Cout
es igual al acarreo generado por la suma binaria. La tabla de verdad del
FULL ADDER de 1 bit se muestra en la Tabla 1.2.
Tabla 1.2 Tabla de verdad del FULL ADDER de 1 bit.
Con base en la Tabla 1.2, se deduce las funciones lógicas para la suma S y el carry de salida Cout
.
Se implementa el circuito en Quartus II, tal y como se muestra en la Figura 1.1.
Figura 1.1 Diagrama esquemático de un circuito FULL ADDER.
De esta manera se concluye el diseño de un circuito FULL ADDER. Es importante tener en cuenta que este
diseño NO ES ÚNICO; existen diferentes maneras de implementar un FULL ADDER. Por ejemplo, se podría
diseñar un FULL ADDER usando únicamente compuertas NAND o usando únicamente compuertas NOR,
entre muchas otras opciones.
1.2 Creación de archivos de símbolo en Quartus II
Cuando se desea implementar un circuito complejo a partir de bloques más sencillos, previamente diseñados,
es muy conveniente empaquetar el bloque sencillo en un archivo de símbolo, de tal forma que este se pueda
Cin
A B S Cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
A2 A1 A0 Dato A (multiplicando)
X B2 B1 B0 Dato B (multiplicador)
A2.B0 A1.B0 A0.B0 Producto parcial 1
A2.B1 A1.B1 A0.B1 Producto parcial 2
+ A2.B2 A1.B2 A0.B2 Producto parcial 3
P5 P4 P3 P2 P1 P0 Producto final
replicar cuantas veces sea necesario dentro del circuito complejo.
Debido a que se desea un FULL ADDER de 8 bits a partir de varios FULL ADDERs de 1 bit, entonces se
debe empaquetar el circuito FULL ADDER de la Figura 3.1 en un archivo de símbolo, el cual tendrá formato
.bsf (block symbol file). Para tal efecto, se siguen los siguientes pasos:
1. Asegurarse de estar trabajando dentro de un proyecto, NO dentro de un archivo aislado.
2. Abrir el archivo de diagrama esquemático (archivo con formato .bdf) que contiene el diseño que se desea
empaquetar.
3. Menú file opción Create / Update opción Create symbol file for current files.
4. Debe aparecer un mensaje que confirme la creación satisfactoria del archivo de símbolo. Si ocurren errores,
estos se deben solucionar dentro del archivo de diagrama esquemático y luego repetir todos los pasos
anteriores.
1.3 Interconexión de 8 bloques FULL ADDER de 1 bit para implementar un FULL ADDER de 8 btis
Si el archivo de símbolo fue creado correctamente, entonces este se puede encontrar en el directorio Project
del cuadro de diálogo Symbol, tal y como se muestra en la Figura 1.2.
Figura 1.2 Cuadro de diálogo Symbol mostrando el símbolo FA1bit
Se debe crear un nuevo archivo en el cual se replica 8 veces el FULL ADDER de 1 bit y se implementa el
circuito mostrado en la Figura 1.3.
Figura 1.3 Diagrama esquemático de un FULL ADDER de 8 bits implementado a partir de 8 FULL ADDERs
de 1 bit con la configuración de acarreo propagado.
Observe que el concepto de acarreo propagado implica que el pin Cout
de un bloque FA1bit va conectado al
pin Cin
del siguiente bloque FA1bit, tal y como se muestra en la Figura 1.3.
1.4 Añadir el hardware necesario para obtener un sumador/restador de 8 bits
El circuito de la Figura 1.3 sólo puede realizar la suma entre dos operandos de 8 bits cada uno. Para que este
circuito tenga la funcionalidad de sumador/restador es necesario agregar más hardware.
Recuerde que si los operandos A y B se representan en código complemento a dos (código 2C), entonces la
resta A – B equivale a la suma de A y el complemento a dos de B, teniendo en cuenta que el resultado debe
interpretarse como un número en código 2C. De esta manera, el hardware adicional requerido debe cumplir la
función la función de complementar a dos el operando B.
Para complementar a dos un número se requiere dos pasos. Primero se niega cada bit del número y luego se
suma 1 al resultado. La negación de cada bit se realiza mediante una compuerta XOR, y la tarea de sumar 1 al
resultado se realiza introduciendo un 1 en el carry de entrada del circuito sumador/restador, tal y como se
muestra en la Figura 1.4.
Figura 1.4 Diagrama esquemático de un circuito sumador/restador de 8 bits.
De esta manera se concluye el diseño del circuito sumador/restador de 8 bits empleando compuertas. El
siguiente paso es comprobar el correcto funcionamiento mediante simulación. La Figura 1.5 muestra los
resultados de simulación del circuito presentado en la Figura 1.4.
Figura 1.5 Resultados de simulación del circuito sumador/restador de la Figura 3.4.
2. Diseño de un sumador/restador de 8 bits usando el bloque funcional 7483
En la sección 3 se diseñó el circuito sumador/restador de 8 bits empleando compuertas discretas que fueron
empaquetadas por conveniencia para facilitar la tarea de diseño. En esta sección, el bloque FULL ADDER de
8 bits será diseñado usando dos circuitos integrados 7483 (Figura 2.1), los cuales corresponden al bloque
funcional FULL ADDER de 4 bits con acarreo anticipado.
a) b)
Figura 2.1 Bloque funcional 7483 FULL ADDER de 4 bits con acarreo anticipado. a) Diagrama de conexión
del circuito integrado. b) Símbolo lógico.
El concepto de acarreo anticipado no será tratado en el curso. Sin embargo, es importante tener en cuenta que
este esquema de acarreo disminuye el tiempo que tarda el sumador para entregar un resultado válido, es decir,
aumenta la velocidad del sumador. Para mayor información consulte en la literatura el concepto de carry
lookahead.
Debido a que cada circuito integrado 7483 es capaz de sumar dos números de 4 bits, entonces el sumador de
dos números de 8 bits se obtiene conectando dos bloques 7483 en configuración de acarreo propagado, tal y
como se muestra en la Figura 2.2. Observe que el hardware encargado de complementar a dos el dato B
permanece intacto.
Figura 2.2 Diagrama esquemático del circuito sumador/restador de 8 bits que emplea dos circuitos integrados
7483.
3. Diseño de un multiplicador basado en suma-desplazamiento para datos de 4 bits en código
signo-magnitud
En esta sección se diseña un circuito multiplicador combinacional siguiendo el usual algoritmo de suma y
desplazamiento, el cual se utiliza a menudo para multiplicar manualmente dos números de varios dígitos. En
este caso, se multiplicarán dos números de 4 bits en código signo-magnitud, esto implica que el MSB de cada
número corresponde al signo y los tres bits restantes corresponden a la magnitud.
La multiplicación de dos números en código signo-magnitud requiere que se multipliquen los signos de
acuerdo a la ley de signos, y que se multipliquen las magnitudes. Para multiplicar los signos se utiliza una
compuerta XOR, y para multiplicar las magnitudes se utiliza el algoritmo de suma-desplazamiento, tal y como
se muestra a continuación.
De acuerdo al procedimiento anterior, se puede deducir la expresión aritmética para cada bit del producto final
de la siguiente manera:
Cin
A B S Cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
A2 A1 A0 Dato A (multiplicando)
X B2 B1 B0 Dato B (multiplicador)
A2.B0 A1.B0 A0.B0 Producto parcial 1
A2.B1 A1.B1 A0.B1 Producto parcial 2
+ A2.B2 A1.B2 A0.B2 Producto parcial 3
P5 P4 P3 P2 P1 P0 Producto final
P0 = A0.B0
P1 = A1.B0 + A0.B1 + carry(P0)
P2 = A2.B0 + A1.B1 + A0.B2 + carry(P1)
P3 = A2.B1 + A1.B2 + carry(P2)
P4 = A2.B2 + carry(P3)
P5 = carry(P4)
Advertencia: Las anteriores expresiones para P0, P1, P2, P3, P4 y P5 son expresiones aritméticas. No
confundirlas con expresiones lógicas Boolenas.
A partir de las anteriores expresiones aritméticas se diseña el circuito multiplicador (Figura 3.3) usando dos
bloques 7483, los cuales realizan las sumas necesarias. La respectiva simulación de este circuito se muestra en
la Figura 3.4.
Figura 3.3 Diagrama esquemático del circuito multiplicador basado en suma-desplazamiento para datos de 4
bits en código signo-magnitud.
Figura 3.4 Resultados de simulación del circuito de la Figura 3.3.
IV. Evaluación de la práctica
Esta práctica de laboratorio tiene dos calificaciones, en donde cada una equivale al 50% de la nota total de la
práctica. La primera calificación corresponde al trabajo realizado en clase, y la segunda calificación
corresponde al informe escrito.
1. Trabajo en clase
Simule todos los circuitos presentados en esta guía de laboratorio.
Diseñe e implemente en el protoboard un circuito sumador de tres números de 3 bits cada uno. Utilice
únicamente dos circuitos integrados 7483 y todos los cables, resistores, LEDs y switches necesarios.
Asuma que los 3 números son números binarios sin signo.
2. Informe escrito
Importante: para que el documento quede bien presentado deben usar la plantilla de la IEEE, la cual
corresponde al archivo IEEE Reference Template.doc.
El informe escrito es un documento bien presentado que incluye:
1. Abstract. Es un breve resumen (máximo 8 líneas) escrito en Inglés.
2. Introducción. En uno o dos párrafos debe describir qué es lo que se está presentando en el informe,
cómo se obtuvieron los resultados y para qué se llevó a cabo la presente práctica de laboratorio.
3. Diseño de circuitos aritméticos.
Analice y describa el funcionamiento de cada circuito estudiado en esta práctica.
A partir del circuito sumador de tres números de 3 bits que usted diseñó en clase, se desea diseñar un
circuito que sume tres números de 4 bits. ¿Cuáles son los cambios y la menor cantidad de
hardware que se debe agregar al circuito para lograr dicho propósito? Presente el diseño y la
simulación del sumador de tres números de 4 bits. Asuma que los 3 números son números binarios
sin signo.
Diseñe un multiplicador para datos de 4 bits en representación signo-magnitud a partir de la tabla de
verdad.
4. Resultados de simulación. Se deben mostrar figuras con las capturas de pantalla que comprueben que
la simulación de cada circuito fue correctamente realizada. Cada figura debe ser brevemente descrita
en un párrafo.
5. Discusión
Describa cómo usted diseñaría un sumador para datos de 8 bits a partir de la respectiva tabla de
verdad. Compare procedimiento de la tabla de verdad con el procedimiento empleado en esta guía
de laboratorio, el cual se basa en el uso de bloques funcionales sencillos que se interconectan
adecuadamente para diseñar circuitos más complejos. Discuta las ventajas y desventajas de cada
procedimiento y de cada circuito.
Compare el multiplicador sintetizado a partir de la tabla de verdad con el multiplicador basado en
suma-desplazamiento. Discuta las ventajas y desventajas de cada procedimiento de diseño y de
cada circuito.
6. Investigación. Responder a las siguientes preguntas.
¿Por qué se utiliza la compuerta XOR para negar los bits del dato B en los circuitos
sumador/restador?
¿Qué sucede en los circuitos sumador/restador si los datos de entrada y salida no se interpretan como
números en código 2C? Exponga sus argumentos a través de ejemplos.
7. Conclusiones
IV. Evaluación de la práctica
Esta práctica de laboratorio tiene dos calificaciones, en donde cada una equivale al 50% de la nota total de la
práctica. La primera calificación corresponde al trabajo realizado en clase, y la segunda calificación
corresponde al informe escrito.
1. Trabajo en clase
Simule todos los circuitos presentados en esta guía de laboratorio.
Diseñe un circuito sumador de tres números de 3 bits cada uno. Utilice únicamente dos circuitos
integrados 7483. Asuma que los 3 números son números binarios sin signo.
2. Informe escrito
Importante: para que el documento quede bien presentado deben usar la plantilla de la IEEE, la cual
corresponde al archivo IEEE Reference Template.doc.
El informe escrito es un documento bien presentado que incluye:
1. Abstract. Es un breve resumen (máximo 8 líneas) escrito en Inglés.
2. Introducción. En uno o dos párrafos debe describir qué es lo que se está presentando en el informe,
cómo se obtuvieron los resultados y para qué se llevó a cabo la presente práctica de laboratorio.
3. Diseño de circuitos aritméticos.
Analice y describa el funcionamiento de cada circuito estudiado en esta práctica.
A partir del circuito sumador de tres números de 3 bits que usted diseñó en clase, se desea diseñar un
circuito que sume tres números de 4 bits. ¿Cuáles son los cambios y la menor cantidad de
hardware que se debe agregar al circuito para lograr dicho propósito? Presente el diseño y la
simulación del sumador de tres números de 4 bits. Asuma que los 3 números son números binarios
sin signo.
Diseñe un multiplicador para datos de 4 bits en representación signo-magnitud a partir de la tabla de
verdad.
4. Resultados de simulación. Se deben mostrar figuras con las capturas de pantalla que comprueben que
la simulación de cada circuito fue correctamente realizada. Cada figura debe ser brevemente descrita
en un párrafo.
5. Discusión
Describa cómo usted diseñaría un sumador para datos de 8 bits a partir de la respectiva tabla de
verdad. Compare procedimiento de la tabla de verdad con el procedimiento empleado en esta guía
de laboratorio, el cual se basa en el uso de bloques funcionales sencillos que se interconectan
adecuadamente para diseñar circuitos más complejos. Discuta las ventajas y desventajas de cada
procedimiento y de cada circuito.
Compare el multiplicador sintetizado a partir de la tabla de verdad con el multiplicador basado en
suma-desplazamiento. Discuta las ventajas y desventajas de cada procedimiento de diseño y de
cada circuito.
6. Investigación. Responder a las siguientes preguntas.
¿Por qué se utiliza la compuerta XOR para negar los bits del dato B en los circuitos
sumador/restador?
¿Qué sucede en los circuitos sumador/restador si los datos de entrada y salida no se interpretan como
números en código C2? Exponga sus argumentos a través de ejemplos.
7. Conclusiones
V. Bibliografía
• Fairchild Semiconductor Corporation. South Portland, U.S.A.. Marzo de 2003. (búsqueda de las hojas
de datos de los IC utilizados en la práctica, para especificidad de su funcionamiento e interconexión)
http://www.fairchildsemi.com/
• HAYES, Jhon P. Introducción al Diseño Lógico Digital. Adisson Wesley Iberoamericana. Wilmington,
EUA. 1996.
• NELSON, Victor P. Análisis y diseño de Citrcuitos Lógicos Digitales. Prentice Hall.
• TOKHEIM, Roger L. Principios Digitales. Serie Shaum. Mc Graw Hill.
• TOCCI, Ronald J. Sistemas Digitales. Principios y aplicaciones. Prentice Hall.
• WAKERLY, Jhon F. Diseño Digital Principios y Practicas. Prentice Hall Hispanoamericana.
Naulcapan de Juárez, México.1992.
top related