Está en la página 1de 18

Práctica 07

Operaciones
Aritméticas

NOMBRE DEL ALUMNO: Monroy Ramírez Oscar Gerardo


GRUPO: 3CM3
Fecha: domingo, 2 de mayo del 2021
PROFESOR: Fernando Aguilar Sánchez
Fundamentos de Diseño Digital

1) Objetivo general
El alumno diseñará circuitos aritméticos programando en lenguaje VHDL y programando su GAL 22V10
para verificar el resultado.

2) Introducción Teórica
¿Qué es VHDL?
El lenguaje de descripción de hardware VHSIC (VHDL) es un lenguaje de descripción de
hardware (HDL) que puede modelar el comportamiento y la estructura de los sistemas
digitales en múltiples niveles de abstracción, que van desde el nivel del sistema hasta el de
las puertas lógicas, para fines de entrada de diseño, documentación y verificación. Desde
1987, VHDL ha sido estandarizado por el Instituto de Ingenieros Eléctricos y Electrónicos
(IEEE) como IEEE Std 1076; la última versión (a partir de abril de 2020) de la cual es IEEE
Std 1076-2019. Para modelar sistemas analógicos y de señal mixta, se ha desarrollado un
HDL estandarizado por IEEE basado en VHDL llamado VHDL-AMS (oficialmente IEEE
1076.1).

VHDL lleva el nombre del programa del Departamento de Defensa de los Estados Unidos
que lo creó, el Programa de Circuitos Integrados de Muy Alta Velocidad (VHSIC). A principios
de la década de 1980, el Programa VHSIC buscó un nuevo HDL para su uso en el diseño de
los circuitos integrados que pretendía desarrollar. El producto de este esfuerzo fue VHDL
Versión 7.2, lanzado en 1985. El esfuerzo por estandarizarlo como un estándar IEEE
comenzó en el año siguiente.

Descripción GAL22V10D

Circuito Integrado GAL22V10D-15LP, arreglo lógico programable y borrable. El GAL22V10,


en el tiempo de retardo máximo de propagación 4ns, combina un proceso CMOS de alto
rendimiento con borrable eléctricamente (E2) flotando con tecnología de compuerta para
proporcionar el máximo rendimiento disponible de cualquier dispositivo 22V10 en el mercado.
La tecnología CMOS permite el GAL22V10 consumir mucha menos energía en comparación
con dispositivos bipolares 22V10 ofreciendo alta velocidad (<100 ms), borrar tiempos,
proporcionando la capacidad de reprogramar o reconfigurar el dispositivo de forma rápida y
eficiente. La arquitectura genérica proporciona máxima flexibilidad de diseño permitiendo la
salida lógica macrocélula (OLMC) para ser configurado por el usuario. El GAL22V10 es
totalmente compatible con la función del fusible / mapa / paramétrico con estándar bipolar y
dispositivos CMOS 22V10.
Circuitos de prueba único y células reprogramables permite completa AC, DC, y funcionales
pruebas durante la fabricación. Como resultado, Lattice Semiconductor proporciona 100% de
programación de campo y la funcionalidad de todos los productos GAL. Además, 100 de
borrado / escritura de ciclos y retención de los datos de más de 20 años se especifican.

• Compatible con los dispositivos 22V10


• Totalmente Función / Fusible-Map / Parametric
• Compatible con dispositivos UVCMOS 22V10 y bipolar
• 50% a un 75% de reducción de potencia frente BIPOLAR
• 90 mA típico Icc en dispositivos de bajo consumo
• 45 mA típico Icc en dispositivo de alimentación Barrio
• E2 tecnología celular
Fernando Aguilar Sánchez. Página
2
Fundamentos de Diseño Digital
• Lógica Reconfigurable
• Las células reprogramables
• 100% Los rendimientos Tested/100%
• Alta velocidad eléctrico (<100 ms) segura
• 20 años de retención de datos
• Diez macrocélulas salida lógica
• Máxima flexibilidad para los diseños lógicos complejos
• Precarga power-on reset de registros AND
• Capacidad de prueba 100% funcional
• Activación de pull-ups en todos los pines
• Firma electrónica para la identificación
• Aplicaciones: Control de DMA, estado de control de unidades, alta velocidad de
procesamiento gráfico, actualización estándar velocidad lógica

Sumador Medio

Sumador medio. En este ejemplo las entradas son A y B, y la salida S corresponde a la


suma, Cout es el acarreo de salida. En la figura se muestra el símbolo lógico de un sumador
medio.

El bit de suma S es 1, sólo si las entradas A y B son diferentes. El bit de acarreo es 0 a no


ser que ambas entradas sean 1. La salida S puede expresarse mediante la compuerta
lógica OR – Exclusiva.

El bit de acarreo Cout es 1, sólo cuando A y B tienen el valor de 1; por tanto, entre A y B se
puede utilizar una compuerta lógica AND.

Estas funciones las podemos representar en una tabla de la verdad, en esta tabla A es
representada por X, y B por Y:

La salida obtenida a partir de la tabla de la verdad es:

El circuito lógico del sumador medio es el que se muestra en la siguiente figura:

Fernando Aguilar Sánchez. Página


3
Fundamentos de Diseño Digital
Sumador completo
Sumador completo. En este ejemplo las entradas son A,B y Cin. A y B son los bits de entrada,
Cin el acarreo de entrada. La salida es S, y Cout la salida de acarreo. Está compuesto por
dos compuertas OR - Exclusiva, tres compuertas AND y una OR de tres entradas.

Tabla de la verdad
En la siguiente tabla de la verdad muestra los resultados de este circuito.

Salida S
Esta salida corresponde a la operación de la compuerta lógica OR- Exclusiva:
S = A·B’·Cin’ + A’·B·Cin’ + A·B·Cin + A’·B’·Cin
S = Cin’·(A·B’ + A’·B) + Cin ·(A·B + A’·B’)
S = Cin’·(A·B’ + A’·B) + Cin ·(A’·A + A’·B’ + A·B + B·B’)
S = Cin’·(A·B’ + A’·B) + Cin ·((A’ + B)·(A + B’))
S = Cin’·(A·B’ + A’·B) + Cin ·((A·B’)’·(A’·B)’)
S = Cin’·(A·B’ + A’·B) + Cin ·(A·B’ + A’·B)’
S = (A Å B) Å Cin
Salida Cout
La salida Cout está dada por:
Cout = A·B + A·Cin + B·Cin

El mapa de karnaugh de la salida Cout se muestra en la siguiente figura.

Circuito lógico

Aplicación
Fernando Aguilar Sánchez. Página
4
Fundamentos de Diseño Digital
En las computadoras se encuentran en la Unidad Aritmético Lógica, realizan la operación
en código binario decimal o BCD exceso 3, generalmente usan el código binario.

Restador medio

Restador medio. En este ejemplo las entradas son A y B, A corresponde al minuendo y B al


sustraendo. La salida D es la diferencia y P al préstamo de salida.
Función
Al estar presente dos entradas en el restador medio tenemos cuatro combinaciones posibles
a la entrada. Si A>B tenemos tres de las cuantro combinaciones (0-0=0, 1-0=1, 1-1=0). El
resultado es el bit de diferencia D. Si A<B se tiene la combinación que falta (0-1=1) y es
necesario prestar un 1 de la siguiente posición significativa de la izquierda.
El préstamo agrega 2 al bit del minuendo de manera similar cuando en el sistema decimal se
agrega 10 al dígito del minuendo. Esto lo podemos comprobar en la tabla de la verdad.

Sumador binario completo de n bits


El sumador binario completo de n bits se en el sumador binario completo de su gráfico a
continuación

El sumador completo de 4 bits es una concatenación de 4 sumadores binarios completos de


1 bit, como se muestra en el gráfico inferior. La concatenación se realiza a través de los
terminales de acarreo saliente (Cin) y acarreo entrante ()

Un sumador de 4 bits: (n=4)


El sumador que se muestra suma dos números binarios de 4 bits cada uno.

A = A3 A2 A1 A0 y B = B3 B2 B1 B0, entonces la suma será S = Cout3 S3 S2 S1 S0

El bit menos significativo en los dos sumandos A y B es Ao y Bo y el bit más significativo


es A3 y B3.

La suma se inicia en el sumador completo 0 (el inferior) con la suma de Ao y Bo, si esta
suma tuviese acarreo (Cout=1) este pasaría al sumador 1, y así sucesivamente hasta llegar
al sumador 3 en la parte superior del gráfico. Si el sumador superior tiene acarreo
Fernando Aguilar Sánchez. Página
5
Fundamentos de Diseño Digital

3) Materiales empleados
 1 Circuito Integrado GAL22V10
 15 LEDS de colores
 15 Resistores de 330Ω
 10 Resistores de 1KΩ
 1 Dip switch de 8
 Alambre telefónico
 1 Tablilla de Prueba (Protoboard)
 1 Pinzas de punta
 1 Pinzas de corte
 Cables Banana-Caimán (para alimentar el circuito)

4) Equipo empleado
 Multímetro
 Fuente de Alimentación de 5 Volts
 Manual de MOTOROLA, “FAST and LS TTL”
 Programador Universal

Fernando Aguilar Sánchez. Página


6
Fundamentos de Diseño Digital

5) Desarrollo Experimental y Actividades


5.1.- Medio Sumador
a) Diseñe y dibuje el siguiente circuito lógico para obtener sus ecuaciones lógicas.

Según el diagrama y la tabla de verdad, podemos determinar la siguiente ecuación canónica:


𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺 = 𝑨𝑨′ 𝑩𝑩 + 𝑨𝑨𝑨𝑨′
𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹 = 𝑨𝑨𝑨𝑨
En este caso podemos visualizar de antemano que es la mínima expresión para ambas ecuaciones,
por lo que sería inútil verificar si se puede minimizar, por lo que podemos continuar.

b) Implemente su solución usando VHDL, coloque su informe de pines RPT.

c) Arme su circuito y compruebe su tabla de verdad.

Fernando Aguilar Sánchez. Página


7
Fundamentos de Diseño Digital
# a b Suma Carry
0 0 0 0 0
1 0 1 1 0
2 1 0 1 0
3 1 1 0 1
Con los dos circuitos integrados que representan nuestras compuertas necesarias, and y Xor,
realizamos las conexiones como se nos indica en nuestro diagrama lógico, dando como resultado
la confirmación de nuestra tabla de verdad.

5.2.- Sumador Completo


a) Diseñe y dibuje el siguiente circuito lógico para obtener sus ecuaciones lógicas.

Según el diagrama y la tabla de verdad, podemos determinar que la función lógica para Suma y Cout es:

𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺 = 𝑨𝑨′ 𝑩𝑩′ 𝑪𝑪 + 𝑨𝑨′ 𝑩𝑩𝑪𝑪′ + 𝑨𝑨𝑩𝑩′ 𝑪𝑪′ + 𝑨𝑨𝑨𝑨𝑨𝑨


𝑪𝑪𝑪𝑪𝑪𝑪𝑪𝑪 = 𝑨𝑨′ 𝑩𝑩𝑪𝑪 + 𝑨𝑨𝑨𝑨𝑪𝑪′ + 𝑨𝑨𝑩𝑩′ 𝑪𝑪 + 𝑨𝑨𝑨𝑨𝑨𝑨

Independientemente de que las ecuaciones obtenidas no coinciden con el circuito lógico, podemos ver a
simple vista como es necesario simplificar las expresiones, lo cual haremos por mapas de Karnaugh.

Por lo cual finalmente tendremos:

𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺 = 𝑨𝑨′ 𝑩𝑩′ 𝑪𝑪 + 𝑨𝑨′ 𝑩𝑩𝑪𝑪′ + 𝑨𝑨𝑩𝑩′ 𝑪𝑪′ + 𝑨𝑨𝑨𝑨𝑨𝑨


𝑪𝑪𝑪𝑪𝑪𝑪𝑪𝑪 = 𝑩𝑩𝑩𝑩 + 𝑨𝑨𝑨𝑨 + 𝑨𝑨𝑨𝑨

Si vemos nuestras expresiones determinaremos que no coinciden con el mapa lógico indicado, pero esto
Fernando Aguilar Sánchez. Página
8
Fundamentos de Diseño Digital
es por se simplificaron las expresiones, tanto las expresiones que sabemos se reducen a compuertas
Xor, y que al implementarse se puede uno percatar que se puede complementar la primera salida Xor
como una entrada de la primera compuerta And. Sin embargo, presentaremos el circuito lógico y código
VHDL como la simplificación en primer nivel lo indica, y el circuito implementado en el protoboard como
el circuito lógico que se nos presenta en la práctica, para corroborar que ambas formas son correctas.
b) Implemente su solución usando VHDL, coloque su informe de pines RPT.

c) Arme su circuito y compruebe su tabla de verdad.

Fernando Aguilar Sánchez. Página


9
Fundamentos de Diseño Digital

# a b Cin Suma Cout


©
0 0 0 0 0 0
1 0 0 1 1 0
2 0 1 0 1 0
3 0 1 1 0 1
4 1 0 0 1 0
5 1 0 1 0 1
6 1 1 0 0 1
7 1 1 1 1 1

5.3.- Medio Restador


a) Diseñe y dibuje el siguiente circuito lógico para obtener sus ecuaciones lógicas.

Según el diagrama y la tabla de verdad, podemos determinar la siguiente ecuación canónica:


𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹 = 𝑨𝑨′ 𝑩𝑩 + 𝑨𝑨𝑨𝑨′
𝑷𝑷𝑷𝑷é𝒔𝒔𝒔𝒔𝒔𝒔𝒔𝒔𝒔𝒔 = 𝑨𝑨′𝑩𝑩
En este caso podemos visualizar de antemano que es la mínima expresión para ambas ecuaciones,
por lo que sería inútil verificar si se puede minimizar, por lo que podemos continuar

b) Implemente su solución usando VHDL, coloque su informe de pines RPT.

Fernando Aguilar Sánchez. Página


10
Fundamentos de Diseño Digital

c) Arme su circuito y compruebe su tabla de verdad.

# x y Resta Préstamo
0 0 0 0 0
1 0 1 1 1
2 1 0 1 0
3 1 1 0 0

5.4.- Restador Completo


a) Diseñe y dibuje el siguiente circuito lógico para obtener sus ecuaciones lógicas.

Según el diagrama y la tabla de verdad, podemos determinar que la función lógica para Suma y Cout es:

𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹 = 𝑨𝑨′ 𝑩𝑩′ 𝑪𝑪 + 𝑨𝑨′ 𝑩𝑩𝑪𝑪′ + 𝑨𝑨𝑩𝑩′ 𝑪𝑪′ + 𝑨𝑨𝑨𝑨𝑨𝑨


𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷 = 𝑨𝑨′ 𝑩𝑩′𝑪𝑪 + 𝑨𝑨′𝑩𝑩𝑪𝑪′ + 𝑨𝑨′𝑩𝑩𝑩𝑩 + 𝑨𝑨𝑨𝑨𝑨𝑨
Independientemente de que las ecuaciones obtenidas no coinciden con el circuito lógico, podemos ver a
simple vista como es necesario simplificar las expresiones, lo cual haremos por mapas de Karnaugh.

Fernando Aguilar Sánchez. Página


11
Fundamentos de Diseño Digital

Por lo cual finalmente tendremos:


𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹 = 𝑨𝑨′ 𝑩𝑩′ 𝑪𝑪 + 𝑨𝑨′ 𝑩𝑩𝑪𝑪′ + 𝑨𝑨𝑩𝑩′ 𝑪𝑪′ + 𝑨𝑨𝑨𝑨𝑨𝑨
𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷 = 𝑨𝑨′ 𝑪𝑪 + 𝑨𝑨′ 𝑩𝑩 + 𝑩𝑩𝑩𝑩
A diferencia del sumador completo, esta vez la expresión Pout la implementaremos en el circuito lógico
tal como lo marca la función, Resta es equivalente a Suma, por lo que esta parte es igual al sumador
completo, por lo tanto, también se hace la reinterpretación a las compuertas Xor.

b) Implemente su solución usando VHDL, coloque su informe de pines RPT.

Fernando Aguilar Sánchez. Página


12
Fundamentos de Diseño Digital
c) Arme su circuito y compruebe su tabla de verdad.

# x y Pin Resta Pout


©
0 0 0 0 0 0
1 0 0 1 1 1
2 0 1 0 1 1
3 0 1 1 0 1
4 1 0 0 1 0
5 1 0 1 0 0
6 1 1 0 0 0
7 1 1 1 1 1

Fernando Aguilar Sánchez. Página


13
Fundamentos de Diseño Digital

5.5.- Sumador Completo


a) Diseñe en VHDL y arme el siguiente circuito.

Fernando Aguilar Sánchez. Página


14
Fundamentos de Diseño Digital

b) Compruebe su tabla de verdad.

Fernando Aguilar Sánchez. Página


15
Fundamentos de Diseño Digital

Verifique algunas sumas que usted establezca y confirme sus resultados

# Co A3 A2 A1 A0 B3 B2 B1 B0 Ci Σ1 Σ2 Σ3 Σ4
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 1 1 1 0 1 1 1 1
2 1 0 0 0 0 1 1 1 1 1 0 0 0 0
3 0 1 1 1 1 0 0 0 0 0 1 1 1 1
4 1 1 1 1 1 0 0 0 0 1 0 0 0 0
5 0 1 0 1 0 1 0 1 0 0 0 1 0 1
6 1 0 1 0 1 0 1 0 1 1 1 0 1 0
7 0 0 1 1 0 0 1 1 0 0 0 0 1 1
8 1 1 0 0 1 1 0 0 1 1 1 1 0 0
9 1 0 0 0 1 0 0 0 1 1 1 0 0 0
10 1 1 1 1 1 1 1 1 1 1 1 1 1 1
C) Video de comprobación de funcionamiento

Fernando Aguilar Sánchez. Página


16
Fundamentos de Diseño Digital

6) Conclusiones Individuales.
El objetivo se cumplió ya que realizamos circuitos aritméticos programando en lenguaje VHDL
y realizando los circuitos lógicos por medio de circuitos integrados, confirmando nuestras
tablas de verdad.

Esta es una nueva aplicación y utilidad que visualizamos con los circuitos integrados, y sobre
todo con las diferentes compuertas lógicas, en este caso para realizar la parte aritmética, esto
nos sirve para seguir reforzando en todo momento nuestro conocimiento sobre la electrónica
digital y sobre el contenido del curso.

7) Bibliografía.
Sánchez-Élez, M. (n.d.). Introducción a la Programación en VHDL 1 F. Informática (UCM).

Retrieved from website: https://eprints.ucm.es/id/eprint/26200/1/intro_VHDL.pdf

Restador medio - EcuRed. (2012). Retrieved April 28, 2021, from Ecured.cu website:

https://www.ecured.cu/Restador_medio#:~:text=Es%20un%20circuito%20combinacional%20qu

e,P%20al%20pr%C3%A9stamo%20de%20salida.

Sumador y Restador. (2017, June 13). Retrieved April 28, 2021, from Compilando Conocimiento

website: https://compilandoconocimiento.com/2017/06/13/sumador-y-restador/

Sumador medio - EcuRed. (2012). Retrieved April 28, 2021, from Ecured.cu website:

https://www.ecured.cu/Sumador_medio#:~:text=Es%20un%20circuito%20combinacional%20qu

e,l%C3%B3gico%20de%20un%20sumador%20medio.

Sumador completo - EcuRed. (2012). Retrieved April 28, 2021, from Ecured.cu website:

https://www.ecured.cu/Sumador_completo#:~:text=Es%20un%20circuito%20combinacional%2

0que,in%20el%20acarreo%20de%20entrada

En caso de no funcionar el qr: https://youtu.be/KhVjB7Qlcwk

Fernando Aguilar Sánchez. Página


17
Fundamentos de Diseño Digital

8) ANEXOS.

Fernando Aguilar Sánchez. Página


18

También podría gustarte