practica 3

11
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 C in ) y dos bits de salida (S y C out ). La salida S es igual a la suma binaria A + B + C in , y la salida C out 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.

Upload: oscar-ivan

Post on 29-Nov-2015

140 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Practica 3

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.

Page 2: Practica 3

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

Page 3: Practica 3

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.

Page 4: Practica 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.

Page 5: Practica 3

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.

Page 6: Practica 3

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.

Page 7: Practica 3

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

Page 8: Practica 3

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.

Page 9: Practica 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

Page 10: Practica 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 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.

Page 11: Practica 3

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.