INSTITUTO POLITECNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS Ingeniería en Informática PDF

Title INSTITUTO POLITECNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS Ingeniería en Informática
Author Eliseo Viveros
Pages 10
File Size 230.7 KB
File Type PDF
Total Downloads 2
Total Views 281

Summary

INSTITUTO POLITECNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS Ingeniería en Informática Aplicaciones de Sistemas Digitales Práctica IV Programación de Circuitos Aritméticos Participantes: Secuencia: Profesor: Fecha de realización: I P N_UPII...


Description

INSTITUTO POLITECNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS

Ingeniería en Informática

Aplicaciones de Sistemas Digitales

Práctica IV Programación de Circuitos Aritméticos

Participantes: Secuencia: Profesor: Fecha de realización:

I P N_UPIICSA_A APLICACIONES DE SISTEMAS DIGITALES_PROGRAMACIÓN DE CIRCUITOS ARITMÉTICOS

PROGRAMACIÓN DE CIRCUITOS ARITMÉTICOS Objetivo: Programar en una GAL22V10D circuitos aritméticos a partir de características específicas. Introducción: Los circuitos aritméticos realizan operaciones con números binarios y se clasifican en: • Sumadores • Restadores. • Multiplicadores. • Divisores. • Comparadores. En esta práctica nos enfocaremos a los más frecuentemente utilizados, que son, la suma, la resta y la comparación binaria. Éstas se realizan con la misma técnica que utilizas para sumar y restar números decimales. Sin embargo tienen reglas diferentes. La suma binaria La suma de dos bits tiene cuatro resultados posibles 0+0= 0

0+1= 1

1+0= 1

1 + 1 = 10

Las tres primeras sumas son de un solo bit, pero la cuarta tiene dos bits a la salida. En el sistema decimal (0-9), cuando se necesita un número mayor que nueve han de realizarse combinaciones de los dígitos de tal suerte que existen las decenas, centenas, millares, etc. Similarmente en el sistema binario solo se tiene el cero 0 y el uno 1, por ello al sumar 1 + 1 cuyo resultado es 2, este número; por ser mayor que uno debe realizarse con una combinación de los bits, teniendo como resultado 10, de esta forma nace lo que se conoce como Carry o Acarreo. 1 +1 10 Carry

Suma

Al sumar dos cantidades binarias existen dos posibilidades. Semisumador El semisumador (o sumador medio) es un circuito que suma dos sumandos de un bit cada uno A y B, y produce una suma de dos bits, que son; Cs siglas de acarreo de salida, en inglés (MSB) y S o bit de suma (LSB)1.

A 0 0 1 1 Fig. 4.1 Símbolo lógico del semisumador

B 0 1 0 1

Cs 0 0 0 1

S 0 1 1 0

Tabla de verdad del Semisumador 𝑺=𝑨 ⊕𝑩 𝑪𝒔 = 𝑨𝑩

Funciones lógicas del semisumador

1

MSB (bit más significativo), LSB (bit menos significativo). El resultado de las sumas binarias son cantidades, por lo que deben ser escritas y leídas tomando en cuenta que el acarreo es el MSB

Página 2

I P N_UPIICSA_A APLICACIONES DE SISTEMAS DIGITALES_PROGRAMACIÓN DE CIRCUITOS ARITMÉTICOS

Fig. 4.2 Diagrama lógico del semisumador Sumador completo Para sumar operandos con más de un bit, debemos considerar la posible existencia de acarreos, que deben sumarse con los bits siguientes. El circuito capaz de realizar esta operación aritmética es el Sumador Completo. Este circuito aparte de considerar a los sumandos A y B, considera la entrada para recibir un Acarreo generado por alguna suma de dos bits previa, llamado acarreo de entrada (Ce). La salida generada consta de dos bits acarreo de salida (Cs) y suma (S).

A 0 0 0 0 1 1 1 1 Fig. 4.3 Símbolo lógico del sumador completo

B 0 0 1 1 0 0 1 1

Ce 0 1 0 1 0 1 0 1

Cs 0 0 0 1 0 1 1 1

S 0 1 1 0 1 0 0 1

Tabla de verdad del sumador completo

̅̅̅̅ + 𝑨𝑩 ̅̅̅̅ + 𝑨𝑩𝑪𝒆 ̅ 𝑪𝒆 ̅𝑩 ̅ 𝑪𝒆 + 𝑨 ̅ 𝑩𝑪𝒆 𝑺=𝑨 ̅̅̅̅) + 𝑨(𝑩 ̅ (𝑩 ̅ 𝑪𝒆 + 𝑩𝑪𝒆 ̅ ̅̅̅̅ 𝑺=𝑨 𝑪𝒆 + 𝑩𝑪𝒆) ̅ (𝑩⨁𝑪𝒆) + 𝑨 ̅̅̅̅̅̅̅̅̅̅̅ (𝑩⨁𝑪𝒆) 𝑺=𝑨 𝑺 = 𝑨 ⊕ 𝑩 ⊕ 𝑪𝒆

̅̅̅̅ + 𝑨𝑩𝑪𝒆 ̅ 𝑩𝑪𝒆 + 𝑨𝑩 ̅ 𝑪𝒆 + 𝑨𝑩𝑪𝒆 𝑪𝒔 = 𝑨 ̅̅̅̅ + 𝑪𝒆) ̅ 𝑩 + 𝑨𝑩 ̅ ) + 𝑨𝑩(𝑪𝒆 𝑪𝒔 = 𝑪𝒆(𝑨 𝑪𝒔 = 𝑪𝒆(𝑨 ⊕ 𝑩) + 𝑨𝑩

Funciones lógicas del sumador completo

Fig. 4.4 Diagrama lógico del sumador completo

Página 3

I P N_UPIICSA_A APLICACIONES DE SISTEMAS DIGITALES_PROGRAMACIÓN DE CIRCUITOS ARITMÉTICOS

Sumador Binario en Paralelo (n bits) Dos palabras binarias2, con n bits cada una, pueden sumarse con un sumadores completos en paralelo; donde la entrada de acarreo para el LSB es siempre cero (razón por la cual puede utilizarse un semisumador en lugar de un sumador completo, para este bit) y el acarreo de salida se conecta al acarreo de entrada del siguiente sumador completo y así sucesivamente para los n bits hasta llegar al MSB. En la Figura 4.5 se muestra el símbolo lógico para un sumador binario en paralelo de 2 bits. Se desea realizar la suma de dos palabras de dos bits cada una 𝐴1 𝐴0 +𝐵1 𝐵0 ̅̅̅̅̅̅̅̅̅ 𝐶 𝑆 𝑆1 𝑆0

Por cada bit que conforma a la palabra debes utilizar un sumador completo (recuerda que para el LSB -A0 y B0- se puede utilizar un semisumador).

Fig. 4.5 Símbolo lógico del Sumador binario en paralelo de dos bits

𝑺𝟎 = 𝑨𝟎 ⊕ 𝑩𝟎 𝑪𝟎 = 𝑨𝟎 𝑩𝟎 𝑺𝟏 = 𝑨𝟏 ⊕ 𝑩𝟏 ⊕ 𝑪𝟎 𝑪𝑺 = 𝑪𝟎 (𝑨𝟏 ⊕ 𝑩𝟏 ) + 𝑨𝟏 𝑩𝟏

Con base en el ejemplo anterior, deducimos que por cada bit que integra la palabra binaria debe agregarse un sumador completo. Por ejemplo, un sumador de 2 bytes tendrá 8 sumadores completos o bien un semisumador para el LSB y 7 sumadores completos para los bits restantes.

La resta binaria De modo similar a la suma binaria; la resta binaria de dos bits tiene cuatro resultados posibles 0-0= 0

0-1=11

1 -0 = 1

1-1=0

La segunda resta tiene dos bits a la salida. En el sistema decimal (0-9), cuando el minuendo es menor que el sustraendo, (que es el caso de la segunda resta) surgen los números negativos. En el sistema binario la representación de estos números se realiza gracias al bit llamado Préstamo o Borrow, por lo anterior al restar 0-1 cuyo resultado es -1, representamos este número con un bit adicional el cual representa al signo negativo. 0 -1 11 Préstamo

Diferencia

2

Palabra binaria es la designación para la unidad de datos, es decir un número determinado de bits que representan información para el sistema. Una palabra comúnmente utilizada es el BYTE, que es el dato de 8 bits.

Página 4

I P N_UPIICSA_A APLICACIONES DE SISTEMAS DIGITALES_PROGRAMACIÓN DE CIRCUITOS ARITMÉTICOS

Representación de números negativos Existen diversas formas de representar un número binario negativo. En el curso utilizaremos el complemento a dos. Para obtener el número negativo con el complemento a dos seguimos los siguientes pasos: •

Escribir la cantidad con el número de bits necesarios y además agregarle el bit de signo positivo (0).

Por ejemplo el número dos binario de tres bits Más el bit de signo positivo •

Invertir la cantidad binaria y su signo.



Sumar 1 a la cantidad negada.

010 0010

2 +2

1101 1101 + 1 1110 Ejemplo El número 14 binario de cuatro bits

-2

01110 10001 + 1 10010

+14

-14

Por este método todos los números negativos tendrán el bit de signo con valor alto Semirestador El semirestador (o restador medio) es un circuito que resta dos bits; A (minuendo) y B (sustraendo), y produce una diferencia de dos bits; Ps o préstamo de salida (MSB) y D o bit de diferencia (LSB)3. A 0 0 1 1 Fig. 4.6 Símbolo lógico del Semirestador

B 0 1 0 1

Ps 0 1 0 0

D 0 1 1 0

Tabla de verdad del Semirestador

𝑫=𝑨 ⊕𝑩 ̅𝑩 𝑷𝒔 = 𝑨

Funciones lógicas del semirestador

Fig.4.7 Diagrama lógico del semirestador 3

MSB (bit más significativo), LSB (bit menos significativo). El resultado de las restas binarias son cantidades, por lo que deben ser escritas y leídas tomando en cuenta que el préstamo es el MSB y cuando la cantidad es negativa siempre vale 1.

Página 5

I P N_UPIICSA_A APLICACIONES DE SISTEMAS DIGITALES_PROGRAMACIÓN DE CIRCUITOS ARITMÉTICOS

Restador completo Para restar operandos con más de un bit, debemos considerar la posible existencia de préstamos, que deben ser restados de los bits de minuendo siguientes. El circuito capaz de realizar esta operación aritmética es el Restador Completo. Este circuito aparte de considerar a A (minuendo) y B (sustraendo), considera la entrada para recibir un préstamo generado por alguna resta de dos bits previa, llamado préstamo de entrada (Pe). La salida generada consta de dos bits; préstamo de salida (Ps) y diferencia (D). A 0 0 0 0 1 1 1 1 Fig. 4.8 Símbolo lógico del restador completo

B 0 0 1 1 0 0 1 1

Pe 0 1 0 1 0 1 0 1

Ps 0 1 1 1 0 0 0 1

D 0 1 1 0 1 0 0 1

Tabla de verdad del restador completo

̅𝑩 ̅ 𝑷𝒆 + 𝑨 ̅ 𝑩𝑷𝒆 ̅̅̅̅ + 𝑨𝑩 ̅ ̅̅̅̅ 𝑫=𝑨 𝑷𝒆 + 𝑨𝑩𝑷𝒆 ̅ ̅̅̅̅ ̅̅̅̅) + 𝑨(𝑩 ̅ (𝑩 ̅ 𝑷𝒆 + 𝑩𝑷𝒆 𝑷𝒆 + 𝑩𝑷𝒆) 𝑫=𝑨 ̅ (𝑩⨁𝑷𝒆) + 𝑨 ̅̅̅̅̅̅̅̅̅̅̅ (𝑩⨁𝑷𝒆) 𝑫=𝑨 𝑫 = 𝑨 ⊕ 𝑩 ⊕ 𝑷𝒆

̅𝑩 ̅ 𝑷𝒆 + 𝑨 ̅ 𝑩𝑷𝒆 ̅ 𝑩𝑷𝒆 + 𝑨𝑩𝑷𝒆 ̅̅̅̅ + 𝑨 𝑷𝒔 = 𝑨 ̅𝑩 ̅ + 𝑨𝑩) + 𝑨 ̅ 𝑩(𝑷𝒆 ̅̅̅̅ + 𝑷𝒆) 𝑷𝒔 = 𝑷𝒆(𝑨 ̅̅̅̅̅̅̅̅̅̅̅ ̅𝑩 𝑷𝒔 = 𝑷𝒆(𝑨 ⊕ 𝑩) + 𝑨

Funciones lógicas del restador completo

Fig. 4.9 Diagrama lógico del sumador completo

Restador Binario en Paralelo (n bits) Dos palabras binarias, con n bits cada una, pueden restarse utilizando restadores completos en paralelo; donde la entrada de préstamo para el LSB es siempre cero (razón por la cual puede utilizarse un semirestador en lugar de un restador completo, para este bit) y el préstamo de salida se conecta al préstamo de entrada del siguiente restador completo y así sucesivamente para los n bits hasta llegar al MSB. En la Figura 4.10 se muestra el símbolo lógico para un restador binario en paralelo de 2 bits. Se desea realizar la resta de dos palabras de dos bits cada una 𝐴1 𝐴0 −𝐵1 𝐵0 ̅̅̅̅̅̅̅̅̅̅ 𝐵𝑆 𝐷1 𝐷0

Página 6

I P N_UPIICSA_A APLICACIONES DE SISTEMAS DIGITALES_PROGRAMACIÓN DE CIRCUITOS ARITMÉTICOS

Por cada bit que conforma a la palabra debes utilizar un restador completo (recuerda que para el LSB -A0 y B0- se puede utilizar un semirestador).

Fig. 4.10 Símbolo lógico del Restador binario en paralelo de dos bits

𝑫𝟎 = 𝑨𝟎 ⊕ 𝑩𝟎 ̅̅̅̅ 𝑷𝒔𝟎 = 𝑨 𝟎 𝑩𝟎

𝑫𝟏 = (𝑨𝟏 ⊕ 𝑩𝟏 ) ⊕ 𝑷𝒔𝟎 ̅̅̅̅̅̅̅̅̅̅̅̅̅̅ ̅̅̅̅ 𝑷𝑺 = 𝑷𝒔𝟎 (𝑨 𝟏 ⊕ 𝑩𝟏 ) + 𝑨𝟏 𝑩𝟏

Con base en el ejemplo anterior, deducimos que por cada bit que integra la palabra binaria debe agregarse un restador completo. Por ejemplo, un restador de 2 bytes tendrá 8 restadores completos o bien un semirestador para el LSB y 7 restadores completos para los bits restantes.

La comparación binaria La comparación de las magnitudes de dos cantidades binarias nos determina la relación entre ellas, para indicarnos si son iguales o desiguales (una mayor o menor con respecto a la otra). Igualdad Cuando solo es necesario saber si una cantidad es igual a la otra, la solución es simple, ya que se realiza utilizando compuertas XOR. La compuerta OR exclusiva, nos muestra con un valor alto en su salida que dos bits son diferentes. Cuando la salida es baja los bits de entrada son iguales. Fig. 4.11

Fig. 4.11 Comparador de igualdad de dos cantidades de 1 bit cada una

Al comparar cantidades de n número de bits a fin de saber si éstas son iguales, se debe agregar una compuerta XOR por cada bit que tenga la cantidad. La salida de cada compuerta XOR es baja cuando los bits de entrada son iguales, así que es necesario negar las salidas e introducirlas en una AND (compuerta cuya salida será alta solo cuando todas sus entradas son altas) para que nos muestre un alto en su salida, y de esta forma detectar dos cantidades que son iguales4. El comparador de igualdad de cantidades de tres bits se muestra a continuación como ejemplo.

4

Otra opción para indicar que las cantidades son iguales, es conectar las salidas de las XOR a las entradas de la compuerta NOR, según los teoremas de De Morgan.

Página 7

I P N_UPIICSA_A APLICACIONES DE SISTEMAS DIGITALES_PROGRAMACIÓN DE CIRCUITOS ARITMÉTICOS

Fig. 4.12 Comparador de cantidades de tres bits

Desigualdad Cuando la necesidad no solo es indicar si las magnitudes de las cantidades binarias son iguales, es decir, cuando también debe indicarse si una es mayor que la otra, entonces puede diseñarse el circuito comparador con base en la resta binaria5. Si tenemos:

𝐴1 𝐴0 −𝐵1 𝐵0 ̅̅̅̅̅̅̅̅̅̅ 𝑃𝑆 𝐷1 𝐷0

Entonces: a) Si A menor que B, entonces el resultado del préstamo igual a 1. b) Si A igual a B, entonces el resultado de la resta es cero, es decir, D0=D1=Ps=0. c) Si A mayor que B, entonces por lógica es cuando el préstamo es cero y cuando la salida de igual es cero.. El circuito resultante será:

Lista de materiales • • • • • • • • • • •

5

Dos GAL22V10D. Computadora personal. Software ISPLEVER. Programador. (chipmax 2 ó topmax 2) Software MAX LOADER. Protoboard. 6 led´s de cualquier color. 12 resistencias de 330Ω. Alambre de conexiones. Un dip switch. Fuente de alimentación de 5v a 1 Amp.

Cabe señalar que no es la única forma de diseñar comparadores de desigualdad.

Página 8

I P N_UPIICSA_A APLICACIONES DE SISTEMAS DIGITALES_PROGRAMACIÓN DE CIRCUITOS ARITMÉTICOS

Desarrollo: 1.- Diseñar un circuito sumador binario en paralelo de 4 bits e impleméntelo en la GAL22V10D. 2.- Diseñe un circuito restador binario en paralelo de dos bits e impleméntelo en la GAL22V10D. Utilizando las salidas del restador en la misma GAL implemente un comparador que muestre cuando la cantidad A es menor, igual, mayor que la cantidad B. Ambas cantidades son de dos bits. 3.- Compruebe con diversos valores para la cantidad A y la cantidad B. Cabe señalar que al ser cada una de dos bits, entonces cada cantidad tiene valores entre cero (00) y tres (11).

Página 9

I P N_UPIICSA_A APLICACIONES DE SISTEMAS DIGITALES_PROGRAMACIÓN DE CIRCUITOS ARITMÉTICOS

Nombre del estudiante:_______________________________________________________________________________ Cuestionario: 1.-Introduzca en la entrada del sumador binario en paralelo diseñado en clase las siguientes cantidades y anote los valores de sus salidas, es decir, el estado de los Led’s encendido o apagado. Cantidad A (A3,A2,A1,A0) 1000 1011 1010 1011 0100

Cantidad B (B3,B2,B1,B0) 0111 1000 0101 1110 0100

Resultado (CS,S3,S2,S1,S0)

2.-Introduzca en la entrada del restador binario en paralelo diseñado en clase las siguientes cantidades y anote los valores de sus salidas. Cantidad A (A1,A0) 00 01 10 11 10

Cantidad B (B1,B0) 11 00 10 00 11

Resultado (PS,D1,D0)

3.- Dibuje el símbolo lógico de un restador binario en paralelo de 4 bits.

4.- Diseñe un comparador que indique cuando A=B, A > B, A...


Similar Free PDFs