Diseño Electronico Digital para Ingenieria

Diseño Lógico Combinacional y Secuencial


Libro Especializado, 2008

193 Páginas, Calificación: Sobresaliente


Extracto


Page 1


image 37ee88d390a0908a8c738318263a7526

Page 2


image 6f1b9124899865c9681a1e5825cd14c8

Analizar y aplicar los conceptos básicos y técnicos de diseño en sistemas lógicos combinacionales y secuenciales programables.

Implementar circuitos que controlen secuencias y procesos automáticos.

Diseñar sistemas digitales para la manipulación y procesamiento de datos.

Breve Descripción

El desarrollo de la electrónica, se ha constituido en uno de los más grandes sucesos de la época moderna y ha sido fundamental para los grandes adelantos tecnológicos, en casi todos los campos del saber.

Las herramientas y conocimientos de electrónica digital son necesarios para el análisis, diseño e implementación de circuitos y sistemas digitales, en especial con el almacenamiento, transformación y comunicación de la información en forma digital.

Considero importante descatacar el papel que la Universidad Nacional de Colombia en la realización de esta obra gracias algunos referentes teóricos, y gráficos que complementé a partir de mi experiencia, formación complementaria de Pregrado e Investigación durante mi proceso de Doctorado en Atlantic International University.

DEDICATORIA:

A Dios Padre Todo Poderoso y a la Santísima Virgen María por concederme los dones y gracias necesarias para continuar en el camino de la fe, la esperanza y la caridad, y al inspirarme con los dones del Espíritu Santo para mantenerme en el temor de DIOS como principio básico de la Sabiduría. Alcanzar grandes cosas requiere grandes sacrificios como el de nuestro Señor Jesucristo, así mismo para alcanzar mi título en AIU he tenido grandes sacrificios que han valido la pena y a través de su formación han transformado mi vida.

A mi esposa mi Bella Princesa Kathy Faridy Hurtado Márquez por su paciencia, comprensión y amor y a mi Bebe de tres años Sara Gabriela “son el Tesoro más valioso que tengo en el cofrecito de mi corazón”. A mi mamá Ofelia Espinosa, mis tíos José Hernán, Lilia, Lucila y su esposo David y mis primas Luz Angélica y Gloria Patricia con su hija Diana Melissa quienes me enseñaron el valor de la perseverancia, la dedicación y autodisciplina, así como el valor de luchar por mis ideales.

A la memoria de mi tío José Hernán Espinosa Martínez quien fue un padre para mí (mi mentor) y le debo lo que soy hoy día “que la luz de su alma nos siga guiando por el camino de la vida”.

A mis suegros Carlos y Gabriela quienes se han convertido en mis segundos padres. A mis hijos Santiago quien me ha mostrado que con nobleza y decisión se pueden superar los obstáculos, Natalia criterio y fortaleza y Juanita un orgullo con ternura, y valor a pesar de la distancia son un aliciente para hacer de mis acciones un ejemplo de vida y Brahian Stiven con su amor y ternura me han transformado mi vida.

RUBEN DARIO

Page 3


image 1fac644e7bd04069284b0bc53a91a1c3

Presentación image f6887fe25d20c7b51f7f2a687fa24c04
1. Sistemas Numéricos 1.1. Sistema Decimal 1.2. Sistema Binario 1.3. Sistema Hexadecimal 1.4. Sistema Octal 1.5. Conversiones de un Sistema a Otro 1.6. Representación de Números Enteros y de Punto Flotante 1.7. Operaciones Aritméticas en Binario 2. Principios de Diseño de Lógica Combinacional 2.1. ¿Qué es Electrónica Digital? 2.2. Álgebra de Boole a. Operaciones Booleanas y Compuertas Básicas b. Compuertas Lógicas Combinadas c. Circuitos Integrados y Circuito de Prueba d. Propiedades de las Operaciones Booleanas e. Teoremas Boléanos f. Teoremas de DeMorgan 2.3. Simplificación de Expresiones Lógicas 2.4. Implementación de Funciones Lógicas mediante Compuertas 2.5. Síntesis de Diseño de Circuitos Combinacionales 2.6. Métodos para Sintetizar Circuitos Lógicos a. Método de Suma de Productos (SDP) b. Método de producto de sumas (PDS) c. Mapas de Karnaugh d. Algoritmo de Quine - McCluskey 3. Circuitos Lógicos Combinacionales

3.1. Circuitos Aritméticos 3.2. Decodificadores 3.3. Registros de Tres Estados 3.4. Codificadores 3.5. Multiplexores y Demultiplexores 3.6. Generadores de Paridad 3.7. Comparadores 3.8. Implementación de Funciones Lógicas con Decodificadores 3.9. Implementación de Funciones Lógicas con Multiplexores 4. Lógica Secuencial 4.1. Oscilador Simétrico con compuertas NOT 4.2. Disparadores Schmitt Trigger 101 4.3. Oscilador de Cristal 102 4.4. Osciladores Controlados 104 4.5. Circuito Integrado 555 104

4.6. CI 555 como Multivibrador Astable 106

4.7. CI 555 como Multivibrador Monoestable 106 4.8. Circuitos Monoestables 107

4.9. Circuitos Biestables (FLIP-FLOPs) 4.9.1. FLIP-FLOP Básico R-S (Reset-Set) 108

4.9.2. FLIP FLOP RS - Controlado por un pulso de reloj 109 4.9.3. FLIP-FLOP D 110

Page 4


image 5a9f16761172798fa4be7904ce2c683e

4.9.6. FLIP-FLOP T (Toggle) image 03840d0b9f8725d29bb549180af9dd39

5. Contadores y Registros 5.1. Contadores de Propagación 114 5.2. Contador de propagación ascendente 114

5.3. Contadores con números MOD < 2 n 5.4. Contador de propagación descendente 116 image d015b338dbc0a2e6274db419acc1aad3

5.5. Contadores Sincrónicos 117

5.6. Ejemplos de Contadores en Circuito Integrado 120

5.7. Registros de Corrimiento 123

5.8. Registro de Corrimiento Básico

5.9. Tipos de Entradas y Salidas en los Registros de Corrimiento 124

5.10. Registros de corrimiento bidireccionales 5.11. Registros en Circuito Integrado 126

5.12. Aplicaciones de los Registros de Corrimiento 128 5.13. Contador en Anillo 128

6. Análisis y Diseño de Circuitos Secuenciales 130

6.1. Teoría de Máquinas de Estado (FSM) 6.2. Máquinas de Estado de Mealy y Moore 6.3. Ecuaciones Lógicas 132 6.4. Tablas de Estado 6.5. Diagramas de Estado 134

6.6. Tablas de Transición de FLIP-FLOPs 6.7. Mapas de Karnaugh 135

6.8. Análisis y Diseño de Circuitos Secuenciales Sincrónicos 136

6.9. Diseño de Circuitos Secuenciales con FLIP-FLOPs D 6.10. Estados no usados 141

6.11. Análisis de Circuitos Secuenciales Asincrónicos 144

6.12. Ejemplos de Control Secuencial 149

7. Dispositivos Lógicos Programables 154 7.1. Tipos de PLD

7.2. Estructura de los Dispositivos Lógicos Programables Básicos 155

7.3. Herramientas para la Automatización del Diseño Electrónico 156

7.4. Principios y Aplicaciones de los Dispositivos Lógicos Programables como las PALs y las GALs. image 6d06f65f8fd7a677197beb70fbf4e344

7.5. Arquitectura de Diversos PLD's Secuenciales 163 7.6. Memorias 7.7. Aplicaciones de las Memorias 177 image cbff731495b17a8690dde4050a04f4ad

7.8. Lógica programable temprana 185 Bibliografía

ANEXO 1 Evaluación Diseño Electrónico Digital 187

ANEXO 2 Respuestas Evaluación Diseño Electrónico Digital 192

Page 5


image a218b8cf9867b6b4aec0aaf65221ebdc

Los circuitos digitales se emplean en productos electrónicos como videojuegos, hornos de microondas, sistemas de control para automóviles, dispositivos biomédicos, entre otros; también los podemos encontrar equipos de prueba como medidores, generadores y osciloscopios, dispositivos de telecomunicación y consumo masivo como los celulares, radios, televisores y computadores personales.

La era de la electrónica Digital está en auge y las técnicas digitales han reemplazado a muchos de los circuitos análogos empleados en el pasado.

El papel o finalidad de la Educación es generar valores y conocimientos que permitan convertir a todos los individuos en seres capaces de pensar, sentir, realizar, generar e innovar, para contribuir al mejoramiento y beneficio de la sociedad a la cuál pertenecen.

La Educación abierta o a distancia apoyada en tecnología no se debe limitar al conocimiento, debe asumir el reto de desarrollar las herramientas necesarias que le permitan al estudiante ser un participante activo de su proceso de aprendizaje, éste debe ser inquieto, preguntón crítico y motivarse cada vez más en lo que aprende de su profesor y motivar en él un sentimiento investigativo e innovador.

El enfoque de este tipo de Educación está orientado al estudiante, quién es el directo responsable de su proceso de aprendizaje, por lo tanto, para el desarrollo de este curso se implementa un modelo pedagógico y andragógico de aprendizaje interactivo virtual con el apoyo técnico necesario que apoye la Psicología de Aprendizaje, haciendo énfasis en sus tres elementos: Perdurabilidad, Transparencia y Habilidad Práctica. Esto permitirá contrarrestar las desventajas que se presentan en la Educación virtual como son la desmotivación y deserción del estudiante por la lentitud del proceso y por la reducción de la interacción personal.

Para lograr aprendizajes sistémicos en la educación, es necesario avanzar hacia un modelo de pedagogía y andragogía que se identifique con los aspectos sociales que se espera, impacten, para lograr así, una transformación de la realidad a través de la educación.

El presente curso ha sido elaborado a partir de mi experiencia docente y profesional aplicada en la Universidad Autónoma de Manizales, Universidad de Caldas y algunas otras Instituciones del Eje Cafetero.

El Curso Diseño Electrónico Digital brindará a los estudiantes los conceptos y técnicas empleadas en el diseño de sistemas lógicos combinacionales y secuenciales, las herramientas y conocimientos de los Circuitos Digitales, a través de ejercicios de aplicación para afianzar los conceptos vistos, y el aprendizaje significativo, facilitando transferir los conocimientos adquiridos a otros contextos de su quehacer profesional.

Dedico este trabajo a mi bella esposa Kathy Faridy, a mis hijos Santiago, Natalia y Juanita, a mi mamá Ofelia, tías Lilia y Lucila y demás miembros de mi familia y en especial a la memoria de mi tío José Hernán Espinosa Martínez quien fue un padre para mí (mi mentor) y le debo lo que soy hoy día “que la luz de su alma nos siga guiando por el camino de la vida”.

Rubén Darío

Page 6


image af8c5b2e89c04460bae3d3d94b98c11e

El sistema decimal es universalmente empleado para representar cantidades en el mundo real. Los sistemas electrónicos digitales tienen que recoger la información y convertirla en dígitos binarios para procesarla internamente. Así mismo, cuando la información es procesada, es necesario convertir esta información, por lo general a decimal antes de llevarla al mundo exterior. En realidad, no se manejan solamente estos dos sistemas, en la práctica se hace necesario utilizar códigos que facilitan el manejo de otras características. En este capítulo, se describirá el código decimal, el código binario, el hexadecimal, el octal, las operaciones entre estos sistemas, las distintas conversiones entre los diferentes sistemas y algunas representaciones de números binarios.

Sistemas Binario y Hexadecimal

El sistema binario es el más utilizado en los circuitos electrónicos digitales. Existen otros dos sistemas, en las aplicaciones digitales; El hexadecimal y el octal. Su ventaja radica en la facilidad que ofrecen para representar de forma reducida los números binarios.

1.1. Sistema Decimal

El sistema decimal es un sistema en base 10. En una cantidad decimal cada dígito tiene un peso asociado a una potencia de 10 según la posición que ocupe. Los pesos para los números enteros son potencias positivas de diez, aumentado de derecha a izquierda, comenzando por 10 0 =1.

Peso:....10 6 10 5 10 4 10 3 10 2 10 1 10 0

Los pesos para los números fraccionarios son potencias negativas de diez, aumentando de izquierda a derecha, comenzando por 10 -1 .

Peso:....10 6 10 5 10 4 10 3 10 2 10 1 10 0 , 10 -1 10 -2 10 -3 10 -4

La expresión general para descomponer el valor de una magnitud expresada en cualquier sistema numérico para obtener su valor decimal:

image 17288ae24fd6e62afa01545356e5fc63

d i = Dígito en la posición i.

r = Base del sistema utilizado.

n = No. de dígitos fraccionarios.

p = No. de dígitos enteros.

La base r del sistema numérico es el número total de dígitos permitidos para el sistema.

Ejemplo 235.63 = 2x10 2 + 3x10 1 + 5 x 10 0 + 6x10 -1 + 3x10 -2

Page 7


image 406cb16f6b1bce47f3fe1113a8f502c9

El sistema binario es un sistema en base dos. Es el sistema utilizado por los computadores digitales y tiene sólo dos valores lógicos posibles - "0 y 1" - para sus coeficientes, los cuales se pueden representar físicamente de distintas maneras, como las siguientes:

Tensiones alto y bajo.

Interruptor cerrado o abierto.

Sentido de magnetización de un núcleo magnético.

Corriente eléctrica alta o baja.

Los dígitos 0 y 1 se llaman bits.

En un número entero binario el BIT a la derecha es el BIT menos significativo (LSB, Least Significant Bit) y tiene un peso de 2 0 =1. El BIT del extremo izquierdo el BIT más significativo (MSB, Most Significant Bit) y tiene un peso dependiente del tamaño del numero binario. Los pesos crecen de derecha a izquierda en potencias de 2. En números fraccionarios el bit a la izquierda de la coma es el MSB y su peso es de 2 -1 = 0,5. Los pesos decrecen de izquierda a derecha en potencias negativas de 2.

Peso: 2n -1 ....2 4 2 3 2 2 2 1 2 0 , 2 -1 2 -2 2 -3 ......2 -n .

En el cual n es el número de bits a partir de la coma binaria. La tabla 1.1.1. muestra la equivalencia de los números decimales del 0 al 15 a su correspondiente binario.

image a565e28283f9da0208bba58d95dab66e

Tabla 1. Sistema decimal y binario

Ejemplo 101101,11 = 1x2 5 + 0x2 4 + 1x2 3 + 1x2 2 + 0x2 1 + 1x2 0 + 1x2 -1 + 1x2 -2

En decimal se tiene: 32 + 8 + 4 + 1 + 0,5 + 0,25= 45,75 10.

Page 8


image 2df144f0aaf7d6eaf1c97f8b70d56321

El sistema hexadecimal es un sistema en base 16 y consta de 16 dígitos diferentes que son: del 0 al 9 y luego de la letra A a la F, es decir 10 dígitos numéricos y seis caracteres alfabéticos.

El sistema hexadecimal se usa como forma simplificada de representación de números binarios y debido a que 16 es una potencia de 2(2 4 =16), resulta muy sencilla la conversión de los números del sistema binario al hexadecimal y viceversa.

La tabla 2. Muestra los números decimales de 0 al 15 con su equivalencia en binario y hexadecimal.

image 267c13ef8489ea235f87f9777153e203

Para convertir un número hexadecimal en un número binario se reemplaza cada símbolo hexadecimal por un grupo de cuatro bits.

Ejemplo:

El número 4F5B 16 en binario equivale a

image 7738c099b7124c8520d1db8ba179f59e

El sistema octal es un sistema en base 8 y está formado por 8 dígitos. En un número octal, los pesos crecen de derecha a izquierda en potencias de 8.

Peso: 8 4 8 3 8 2 8 1 8 0

La tabla 3. Muestra los números decimales de 0 al 17 con su equivalencia a binario y octal.

Page 9


image 9ff836b7dcd64de3676c08a1c141f955

Observe que en octal los dígitos 8 y 9 no se usan. La conversión de un número octal en decimal se obtiene multiplicando cada dígito por su peso y sumando los productos.

Ejemplo: 1725= 1x8 3 + 7x8 2 + 2x8 1 + 5x8 0 = 512+448+16+5= 981

Código decimal binario (BCD)

El código decimal binario (BCD Binary Code Decimal) es utilizado para expresar los diferentes dígitos decimales con un código binario. Por consiguiente, el código BCD tiene diez grupos de código y resulta práctico para convertir entre decimal y BCD.

El código 8421: Pertenece al grupo de códigos BCD. El nombre 8421 indica los diferentes pesos de los cuatro bits binarios (2 3 , 2 2 , 2 1 , 2 0 ). La tabla 4. Muestra los números decimales de 0 al 9 con su equivalencia en BCD.

image 2f2028b99f2294b58684dcf90dc16868

Con un número de 4 bits se pueden representar 2 4 combinaciones posibles, pero al emplear el código 8421 se incluyen solamente 10 grupos de código binario, en consecuencia las combinaciones 1010, 1011, 1100, 1101, 1110, 1111 no se utilizan.

Page 10


image 981dbc504eabdcf1982e4eabe05b5935

Ejemplo: Convertir a BCD el número decimal 6498.

Reemplazando por los valores de la tabla 4. Se obtiene,

6498 10 = (0110 0100 1001 1000) 8421

1.5. Conversiones de un Sistema a Otro

Las conversiones entre números de bases diferentes se efectúan por medio de operaciones aritméticas simples. Dentro de las conversiones más utilizadas se encuentran:

1.5.1. Conversión de Decimal a Binario

Para la conversión de decimal a binario se emplean dos métodos. El primero es divisiones sucesivas y el segundo es suma de potencias de 2.

Por divisiones sucesivas: Se va dividiendo la cantidad decimal por 2, apuntando los residuos, hasta obtener un cociente cero. El último residuo obtenido es el BIT más significativo (MSB) y el primero es el BIT menos significativo (LSB).

Ejemplo Convertir el número 153 10 a binario.

image 17239254c3921694bc006288ee15dfaa

El resultado en binario de 153 10 es 10011001

Por sumas de potencias de 2: Este método consiste en determinar el conjunto de pesos binarios cuya suma equivalga al número decimal.

Ejemplo: Convertir el número 153 10 a binario.

153 10 = 2 7 + 2 4 + 2 3 + 2 0 = 128 + 16 +8 +1; 153 10 = 10011001 2

1.5.2. Conversión de Fracciones Decimales a Binario

Para la conversión de fracciones decimales a binario se emplean el siguiente método.

Por suma de potencias de 2: Emplea la misma metodología de la suma de potencias de 2 pero se trabaja con potencias negativas.

Page 11


image d86bde32abd9bcc46b864d5cc75ce46b

Ejemplo Convertir el número 0,875 10 a binario.

0,875 10 = (2 -1) + (2 -2) + (2 -3) = 0,5 + 0,25 + 0,125 = 0,111 2

Por multiplicaciones sucesivas: La conversión de números decimales fraccionarios a binario se realiza con multiplicaciones sucesivas por 2. El número decimal se multiplica por 2, de éste se extrae su parte entera, el cual va a ser el MSB y su parte fraccional se emplea para la siguiente multiplicación y seguimos sucesivamente hasta que la parte fraccional se vuelva cero o maneje un error moderado. El último residuo o parte entera va a constituir el LSB.

Ejemplo: Convertir el número 0,875 10 a binario.

image 29905d349208deaf314d25bd8a4c9d39

El resultado en binario de 0,875 10 es 0,111 2 .

1.5.3. Conversión de Decimal a Hexadecimal

En la conversión de una magnitud decimal a hexadecimal se realizan divisiones sucesivas por 16 hasta obtener un cociente de cero. Los residuos forman el número hexadecimal equivalente, siendo el último residuo el dígito más significativo y el primero el menos significativo.

Ejemplo: Convertir el número 1869 10 a hexadecimal.

image 01f70da88ac1ed18b23799f75b35ae1f

El resultado en hexadecimal de 1869 10 es 74D 16.

1.5.4. Conversión de Decimal a Octal

En la conversión de una magnitud decimal a octal se realizan divisiones sucesivas por 8 hasta obtener la parte entera del cociente igual a cero. Los residuos forman el número octal equivalente, siendo el último residuo el dígito más significativo y el primero el menos significativo.

Ejemplo: Convertir el número 465 10 a octal.

Page 12


image 63912989f68aec3ab9f59156bcd89bf4

El resultado en octal de 46510 es 721 .

1.5.5. Conversión de Binario a Decimal

Un número binario se convierte a decimal formando la suma de las potencias de base 2 de los coeficientes cuyo valor sea 1.

Ejemplo: Convertir el número 1100 2 a decimal.

1100 2 = 1x2 3 + 1x2 2 = 12 10

1.5.6. Conversión de Binario a Hexadecimal

El método consiste en conformar grupos de 4 bits hacia la izquierda y hacia la derecha del punto que indica las fracciones, hasta cubrir la totalidad del número binario. Enseguida se convierte cada grupo de número binario de 4 bits a su equivalente hexadecimal.

Ejemplo: Convertir el número 10011101010 a hexadecimal.

image 97b7daffb3faa76543d5aabb5cae0be3

El método consiste en hacer grupos de 3 bits hacia la izquierda y hacia la derecha del punto que indica las fracciones, hasta cubrir la totalidad del número binario. Enseguida se convierte cada grupo de número binario de 3 bits a su equivalente octal.

image 872d6ff9b4f9e413277c427d12817d78

Ejemplo: Convertir el número 01010101 2 a octal.

1.5.8. Conversión de Hexadecimal a Decimal

En el sistema hexadecimal, cada dígito tiene asociado un peso equivalente a una potencia de 16, entonces se multiplica el valor decimal del dígito correspondiente por el respectivo peso y realizar la suma de los productos.

Ejemplo Convertir el número 31F 16 a decimal.

31F 16 = 3x16 2 + 1x16 + 15 x 16 0 = 3x256 + 16 + 15 = 768 + 31 = 799 10

Page 13


image 6c3dbd96011214a1009ab80aa54891b3

La conversión de hexadecimal a binario se facilita porque cada dígito hexadecimal se convierte directamente en 4 dígitos binarios equivalentes.

Ejemplo: Convertir el número 1F0C 16 a binario.

1F0C 16 = 1111100001100 2

1.5.10. Conversión de Octal a Decimal

La conversión de un número octal a decimal se obtiene multiplicando cada dígito por su peso y sumando los productos:

Ejemplo: Convertir 4780 8 a decimal.

4780 = (4 x 8 3 )+(3x8 2 )+(8x8 1 )+(0x8 0 ) = 2048+192+64+0= 2304

1.5.11. Conversión de Octal a Binario

La conversión de octal a binario se facilita porque cada dígito octal se convierte directamente en 3 dígitos binarios equivalentes.

Ejemplo: Convertir el número 715 8 a binario. 715 8 = (111001101) 2

1.6. Representación de Números Enteros y de Punto Flotante: Los computadores deben interpretar números positivos y negativos. Los números binarios se caracterizan por su magnitud y su signo. El signo indica si el número es positivo o negativo y la magnitud el valor del número.

1.6.1. Representación de Números Binarios Enteros: Existen tres formas de representar los números binarios enteros con signo:

a. Signo - magnitud. b. Complemento a 1. c. Complemento a 2.

a. Signo - Magnitud

En el sistema Signo - Magnitud los números positivos y negativos tienen la misma notación para los bits de magnitud pero se diferencian en el bit del signo. El bit del signo es el bit situado más a la izquierda en el número binario:

En números positivos se emplea el bit "0".

En números negativos se emplea el bit "1".

El número no debe estar complementado.

Ejemplo: El número decimal 21 se expresa en binario de 6 bits 010101, donde el primer bit "0" denota el bit de una magnitud positiva. El número decimal -21 se expresa en binario 110101, donde el primer bit "1" denota el bit de una magnitud negativa.

Page 14


image 2945ac79c6a5d55fac1e925c80e1ea58

b. Complemento a 1:

El complemento a 1 en binario se obtiene cambiando los unos por ceros y los ceros por unos. La representación de números positivos en complemento a 1 sigue las mismas reglas del sistema signo-magnitud y la representación de los números negativos en complemento 1 es el complemento a 1 del número positivo.

Ejemplo: El número decimal 21 se expresa en complemento a 1 a 6 bits como 010101, donde el primer bit "0" denota el bit de una magnitud positiva.

El complemento 1 a 6 bits del decimal -21, se obtiene por medio del complemento a 1 del número positivo 010101 el cual es 101010.

c. Complemento a 2

Los computadores utilizan la representación binaria en complemento a 2 para representar números negativos. La representación de números positivos en complemento a 2 sigue las mismas reglas del sistema signo-magnitud y la representación de los números negativos en complemento a 2 se obtiene de la siguiente forma:

1. Se representa el número decimal dado en magnitud positiva. 2. El número de magnitud positiva se representa en forma binaria positiva. 3. Se obtiene el complemento 1 del número binario obtenido en el paso anterior mediante el cambio de los unos por ceros y viceversa. 4. Al complemento 1 se le suma uno y el resultado es la representación en el complemento 2.

Ejemplo: Representar el número -5 10 en binario, utilizando el complemento a 2 con 5 bits.

image 63bdb2df3fbcec4e55d4500ae54df1b3

Ejemplo: Obtener el complemento a 2 del número positivo de 8 bits 00000101 2 (+5 10 ) .

El equivalente en complemento a 1 es 11111010. El complemento a 2 del número es 11111011. Comprobando los pesos en decimal se puede demostrar la obtención del negativo del número inicial utilizando el método del complemento a 2:

11111011 2 = (-128 + 64 + 32 +16 + 8 + 0 + 2 + 1) 10 = - 5 10

En la representación en complemento 2 el primer bit del lado más significativo puede interpretarse como el signo, siendo cero para números positivos y 1 para números negativos. Se puede comprobar que si a una cantidad negativa expresada en complemento 2 se le saca su complemento 2, se obtiene la magnitud positiva correspondiente.

Page 15


image 6bd23da9ac0a93fe8b8757f7a862f26c

En los computadores los números se representan en punto fijo y en punto flotante.

Punto fijo: Se usa para los números enteros con signo o fracciones con signo. En este caso las cantidades se representan en forma binaria en complemento a 1 ó a 2 y se pueden utilizar longitudes de 8, 16 y 32 bits. En 8 bits el rango va desde 128 hasta 127. El número de combinaciones diferentes de un número binario de n bits es:

Nº total de combinaciones: 2 n .

En los números con signo e complemento a 2, el rango de valores para números de n bits:

(2 n-1 ) a + (2 n-1 -1).

a. Enteros con signo

Los enteros de punto fijo usan un punto binario a la derecha del LSB.

Ejemplo El número de punto fijo de 8 bits 01110101 en complemento a 2, por tener un 0 en el bit de signo representa:

El número entero positivo 1110101 ó la fracción positiva 0.1110101

b. Fracciones de punto fijo

Las fracciones de punto fijo usan el punto binario entre el bit de signo y el MSB.

Ejemplo: El número de punto fijo de 8 bits 11001111 en complemento a 2, por tener un 1 en el bit de signo representa: El número entero negativo -0110001 ó la fracción negativa -0. 0110001.

Punto flotante: El punto flotante se utiliza para representar números no enteros, números muy grandes o números muy pequeños.

m x r e donde, m es la mantisa y es un Un número en punto flotante se expresa como

número de punto fijo, e es el exponente o característica y es un entero de punto fijo, r es la base. En los computadores personales se usa base 2.

La mantisa representa la magnitud del número. El exponente es la parte que representa el número de lugares a desplazar el punto decimal o binario.

Sí tenemos un número de punto fijo de la forma ± (a n-1 .... a 0 . a -1 ….a -m ) r en forma de punto flotante será de la forma ± ( . a n-1 ....a -m ) r x r n , la base generalmente se omite.

Con frecuencia la mantisa m se escribe con magnitud y signo de la siguiente forma, y en forma de fracción M = (s m . a n-1 … a -m ) donde, s m indica el signo (1 para una cantidad negativa y 0 para una cantidad positiva) y . a n-1 … a -m representa la magnitud.

Page 16


image c30b4704ab2f1231bd72e195171dd5c8

Un número de punto flotante está normalizado si el exponente se ajusta de modo que la mantisa tenga un valor distinto de cero en la posición más significativa.

Ejemplo: El número +1010.0111 en representación normalizada en punto flotante da como resultado

(0.10100111) x 2 4

El estándar ANSI/IEEE 754-1985 define tres formatos para los números de punto flotante:

Precisión sencilla: Utiliza 32 bits.

Doble precisión: Utiliza 64 bits

Precisión ampliada: Utiliza 80 bits.

Ejemplo: Un formato a 32 bits es el siguiente, El exponente desplazado se obtiene adicionando 127 al exponente real y convirtiéndolo al binario correspondiente.

1.7. Operaciones Aritméticas en Binario

Los circuitos de control básicos y los computadores efectúan operaciones aritméticas. Estas operaciones se realizan en sistema binario y las leyes que las rigen, son paralelas a las usadas en el sistema decimal. A continuación se describe cada una de las metodologías para realizar tales operaciones.

a. Suma Binaria

La suma de dos cantidades binarias empieza con la suma de los dos dígitos menos significativos de los sumandos y un acarreo inicial de cero ó uno (Acarreo C in ). Esta operación puede producir un bit de acarreo (Acarreo C out ) para la suma de la siguiente posición significativa. En la tabla 7. Las entradas A, B y Cin denotan al primer sumando, el segundo sumando y el acarreo de entrada. Las salidas S y Cout representan a la suma y el acarreo de salida.

image 05c511d4e631ded625e9adf45d420461

Page 17


image ff1355942121403dd503cc405a678ef1

Ejemplo: Efectuar la suma de 010110 y 101010.

image 598b598c52d87be84d405b75a5098209

La suma de 2 magnitudes binarias en representación de complemento a 2, da como resultado la suma binaria en complemento a 2.

b. Resta Binaria:

En la resta binaria, los bits del minuendo de las columnas se modifican cuando ocurre un préstamo. En la tabla 1.4.2. las entradas A, B y B in denotan el minuendo, el sustraendo y el bit prestado. Las salidas D y P representan a la diferencia y el préstamo. La tabla muestra los resultados de una resta binaria de dos bits,

image 87d066f64f65c2c1bcaed7b7c828974e

Para A=0, B=0 y B in =1, hay que tomar prestado un 1 de la siguiente columna más significativa, lo cual hace P=1 y agregar "en decimal" 2 a A. La resta 2-0-1=1, da como resultado en binario D=1.

Los préstamos se propagan hacia la izquierda de columna en columna.

Ejemplo: Restar 1001 2 de 10011 2.

Renglón 2, Tabla 1.4.1. 0 - 1 = 0 con un préstamo de la columna izquierda. 10 - 1 = 1 Renglón 1, Tabla 1.4.1. 0 - 0 = 0 sin préstamo. Renglón 3, Tabla 1.4.1. 1 - 0 = 0 sin préstamo.

Renglón 4, Tabla 1.4.1. 1 - 1= 0 sin préstamo.

1 Préstamo 1 0 0 1 1 - 0 1 0 0 1 0 1 0 1 0

Page 18


image ab50084864449c9e45d5d51f4b10477a

Rebasamiento: Se presenta cuando la suma de la columna más significativa genera un acarreo. Este sólo se puede producir cuando ambos números son positivos o negativos.

Ejemplo: Efectuar la suma de 865 10 y 412 10 .

image b58884cca490b4ce1acf1c781998159f

Ejemplo: Efectuar la suma de 110 2 y 110 2 .

image 140400c54b725a4ac08a5ba69b6674fa

Resta binaria en Complemento a 2

En la lección anterior se vió que el signo de un número positivo ó negativo se cambia calculando su complemento a 2. La resta de dos números con signo se calcula sumando el complemento a 2 del sustraendo al minuendo y descartando cualquier bit de acarreo final. El siguiente procedimiento es necesario para calcular la resta de dos números:

1. Obtener el complemento a 2 del sustraendo.

2. Efectuar la suma del minuendo y el sustraendo en complemento a 2.

3. Sí la suma presenta rebosamiento indica que la repuesta es positiva. Ignore el rebasamiento.

4. Si no hay rebosamiento, entonces la repuesta es negativa. Para obtener a magnitud del número binario, obtenga el complemento a dos de la suma.

Ejemplo: Sustraer (1010111 - 1001000) 2

1. El complemento a 2 de 1001000 es 0111000.

2. Sumamos el primer sumando y el complemento a 2 obtenido.

image aeb89dcc82be2926f7248066a05e3571

Page 19


image 5130ea262c080b0ef1c108682a36819f

3. La respuesta es 0001111 2.

Multiplicación Binaria

La multiplicación de dos cantidades binarias es necesario considerar lo siguiente:

image fe5ea41c81488589155841435f4a00e5

La multiplicación binaria cumple las mismas reglas de la multiplicación decimal. En el próximo ejemplo se ilustrará la multiplicación binaria.

Ejemplo: Multiplicar las cantidades 1011 y 1101.

image 6379c39984b6304ee52d3f0cc4f5cef7

Multiplicación con signo: Se representan los operandos en complemento 2 y el resultado también se obtiene en complemento 2. El último multiplicando desplazado se niega.

Page 20


image 8cb9b40c4592c7a5efa377f0ce564a05

Page 21


image 58b9c9b9de4a794d655458a465656e92

Page 22


image 276567b7ccdedd909a83ae65a83645ba

Page 23


image 6746100139e8e4af1543b6ca9619b609

Page 24


image 1f9ea067e3e8aaf47c31bb8a8a8885d3

Page 25


image d4b2ee22bbef3d2ddf33f9cdddf2b7a5

Figura 17. Prueba de una de las compuertas del Circuito Integrado 74LS08

image 8d90b70895858d8f660c5307e6e4d96e

En aplicación a los circuitos digitales, podríamos decir que no importa el orden de conexión de las entradas a una compuerta OR.

image b53a7986ab3f99db139183ea6b17937a

Page 26


image e3cb069ae6485b9e4cfc79b2a64e4515

En la figura 19 se muestra la aplicación de la propiedad a las compuertas OR,

image 8a853d6964d4c8e0e9ac8741c548f765

En la figura 20 se muestra la aplicación de la propiedad a las compuertas AND,

image 126c9c0fedec524981b374aea687c314

Page 27


image 7a108551605112458d87e13de6265d56

Page 28


image 4e9650f9ddf3d53f85df5ef0f19386aa

(X 1 + X 2 +.....+ X n )’ = X 1 ’ · X 2 ’ · ..... · X n

En el caso de dos variables se tiene, (X + Y)’ = X’ · Y’

El circuito equivalente a la ecuación anterior se muestra en la figura 22.

image 2a2c9c34900c1f00849ee5d1982bb760

(X 1 · X 2 ·.....· X n )’ = X 1 ’ + X 2 ’ + .....+ X n

En el caso de dos variables se tiene, (X · Y)’ = X’ + Y’

El circuito equivalente en dos variables a la ecuación se muestra en la figura 24.

image 10760bdd0e9389b33294fe82d1d6bc55

Page 29


image 9d20f9e08ce0a4509ca1d7616d123dd4

Tabla 8.1. Propiedades, Tablas y Representación Gráfica del Algebra de Boole

Page 30


image 88be2f807a0386dfdb63395e42333658

Page 31


image a3c6a12a321e15c7f473cc10711a72e4

2.4. Implementación de Funciones Lógicas mediante Compuertas.

image 0f68d0faae9e70bfaeefc55ccfa8dabd

derecho. Por lotanto, la expresión de esta compuerta OR es [(A+B)’·C]+D.

image 5687e353fab6d72f3e7e143e37d267fd

Page 32


image 68f8e48ae743462d0df7b0a5bee544de

Ejemplo: X’, Y’, X, Y.

Dominio de una expresión booleana: Es el conjunto de variables contenido en una expresión booleana.

Ejemplo: Determine el dominio de la expresión X’·Y·Z + X·Y’·Z·W.

El dominio es X, Y, Z, W.

Término normal: Un producto o término suma en donde ninguna variable aparece repetida.

Ejemplo de término repetido: X·Y·Y, Z·X’·X’·Y

Ejemplo de término no repetido: X’·Y·Z, Z·Y’·X

Término producto: Un solo literal o el producto lógico (multiplicación booleana) de dos o más literales.

Ejemplo: X’, X·Y’, Z·Y, X·Y’·Z

Un término producto es 1 sólo para una combinación de valores de las variables.

Ejemplo: El término producto X·Y'·Z es 1 sólo para X=1, Y=0 y Z=1 y es 0 para el resto de combinaciones. El valor en binario será 101 ó 5 en decimal.

Término suma: Un solo literal o una suma lógica (suma booleana) de dos o más literales.

Ejemplo: X, X + Y’,X’+Z’, X+Y+Z, X+Y’+Z’

Un término suma es 1 cuando cualquier literal que lo compone es 1.

Ejemplo: El término X+Y’+Z’ es 0 para X=0 ó Y=1 ó Z=1 y es 1 para el resto de combinaciones. El valor en binario será 011 ó 3 en decimal.

Suma de productos: Suma lógica de términos productos (Ver tabla 9).

Ejemplo: X’+ X·Y’ + Z·Y + X·Y’·Z

Forma estándar de la suma de productos: Una suma de productos no se encuentra en su forma estándar cuando alguno de los términos producto no contiene alguna de las variables del dominio de la expresión.

Ejemplo

Page 33


image 796ef3d69971ba552ed4da37210b37fe

X’·Y·Z + X·Y’·Z·W. El dominio es X, Y, Z, W. El primer término producto no contiene el literal W ó W'.

Ejemplo

X'·Y·Z'.W + X·Y·Z·W. En cada uno de los términos de la expresión aparecen todas las variables del dominio. Por lo tanto, la suma de productos está en su forma estándar.

Producto de sumas: Producto lógico de términos suma (Ver tabla 9).

Ejemplo: X·(X+Y’)·(X’+Z’)·(X+Y+Z)·(X+Y’+Z’).

Forma estándar del producto de sumas: Un producto de sumas no se encuentra en su forma estándar cuando alguno de los términos suma no contiene alguna de las variables del dominio de la expresión.

Ejemplo

(X’+W+Z')·(X'+Y’+Z+W')·(X+Y). El dominio es X, Y, Z, W. El primer término suma no contiene el literal Y ó Y'. El tercer término suma no contiene los literales Z ó Z' y W ó W'.

Ejemplo

(X'·Y·Z'.W)·(X·Y'·Z·W). En cada uno de los términos de la expresión aparecen todas las variables del dominio. Por lo tanto, el producto de sumas está en su forma estándar.

Mintérmino: Es un término de producto con n literales en el cual hay n variables. De n variables obtenemos 2 n mintérminos.

Ejemplo de mintérminos de 3 variables: X’·Y’.Z’, X’.Y’.Z, X’.Y.Z’, X’.Y.Z, X.Y’.Z’, X.Y’.Z, X.Y.Z’, X.Y.Z. (Ver tabla 9.).

Maxtérmino: Es un término de suma con n literales en el cual hay n variables. De n variables obtenemos 2 n maxtérminos. (Ver tabla 9.).

Ejemplo de maxtérminos de 3 variables: X+Y+Z, X+Y+Z’, X+Y’+Z, X+Y’+Z’, X’+Y+Z, X’+Y+Z’, X’+Y’+Z, X’+Y’+Z’. (Ver tabla 2.2.1.).

image 8d214e3ede6c25e1a69cfc23c1a8dee9

Page 34


image 779739dead8cc3a092bc9130b58e259a

Page 35


image 400e8c9a3a19bec91b6249f5b088b19a

A’·B

2. La segunda condición se presenta cuando A es 1 y B es 0. Esta condición ocasiona un resultado 1, si el producto lógico es:

A·B’

image 29e79cd43b48f6b342e88e571074833f

Page 36


image d81d1219dc4c636c78d553251308d314

2. Repetir el paso 1 para todos los términos de la expresión que no contengan todas las variables (o sus complementos) del dominio. Resolver los términos intervenidos.

image 46d7fa92ac608dca36063c0c065ec5e3

Page 37


image e80dd45b64414731be89bbcf8f24c302

Page 38


image 77e899eda464aa6d28924368b516fc90

F 5 = (F 5 ')' = (A'·B' + A·B)' =(A'·B')'·(A·B)' = [(A')'+(B')']·(A'+B') = (A+B)·(A'+B')

image 519f2a580adcd3772bd3ce9a06a8ec60

Page 39


image b799508f24fac554f6d58ef98ed5c4fe

Page 40


image da9158d4b5e4478ffbd0c5c415059855

F 1 = (m 3 , m 4 , m 5 , m 6 , m 7 ) = A’·B·C + A·B’·C’+ A·B’·C + A·B·C’+ A·B·C

Page 41


image b6a5e6df39519032703de56b9200e2e9

Page 42


image 36f2eae2820d6c9ee8eb287ff12b87d1

Page 43


image 8e3722cf77e97a1ff33f580c17f83687

image 6ec12cde0471faa170225e34da9fb628

Page 44


image efe759b48b5b5da6376a2a75d5f72d8b

Page 45


image 48392cb2f4d400874225f71ef53b6434

Page 46


image 7b59b897238b1192538a3353ef1a446d

Simplificar la función de Boole F 5 = Σ (m 0 , m 4 , m 7 , m 9 ) con condiciones de importa,

image 86d2880688ceff3e6f1498e1c0cfd7ba

Page 47


image 80bb0ad9aab0325ee987d24d5740c6cb

1. Enumerar en una tabla todos los mintérminos en forma binaria, organizados según el número de unos que contenga. La aplicación de este paso se muestra en la tabla 18.

image 6a7ecde4f6f2f5d9ab0103ad08b67b61

Page 48


image 0a4231e9dc40fa92ff02b3a188349dcd

La metodología consiste en comparar el primer mintérmino con el resto de los términos del segundo grupo. Así, los términos del segundo grupo se comparan con los mintérminos del grupo siguiente. De la forma anterior, se procede con los demás mintérminos de los demás grupos. Los mintérminos utilizados se les pone una marca (√ ) con el fin de ir diferenciando los términos utilizados y la variable apareada en el proceso se reemplaza con un guión para denotar la eliminación de la variable. Los términos no marcados en la tabla son los primeros implicantes primos (PI X ). Los mintérminos utilizados se les pone una marca (√ ) con el fin de ir diferenciando los términos utilizados y la variable apareada en el proceso anterior se reemplaza con un guión para denotar la eliminación de la variable.

image 95968d98b8f4e77a31e487f11f51b8a2

cada implicante primo. La letra X en la tabla 20 indica el mintérmino contenido en cada implicado por fila. Por ejemplo, en la tabla se observa en el primer renglón los mintérminos 2, 3, 6 y 7 para el primer implicante primo. El resto de la tabla se construye de forma similar.

image 543bce797783b4c2c116c4f4179d1d5c

Page 49


image 8a5ab7cf4701f73f34896ce7665d0496

En la tabla se seleccionan las columnas de los mintérminos que contengan solamente una cruz. En este ejemplo, hay dos mintérminos cuyas columnas tienen una sola cruz: 6 y 15. Es decir, la selección del primer implicado PI 1 (A’·C) garantiza que el término mínimo 6 está incluido en la función. De la misma forma, el término mínimo 7 está cubierto por el primer implicado PI 7 (A'·B·C·D). Los primeros implicados que cubren los mintérminos con una sola cruz, se llaman primeros implicados esenciales (en la tabla se encuentran marcados con un asterisco) y son indispensables en la construcción de la función.

4. Seleccionar en cada columna los mintérminos que estén cubiertos por los primeros implicados esenciales. Por ejemplo, el primer implicado esencial * PI 1 (A’·C) cubre los mintérminos 2, 3, 6 y 7. De la misma forma, el primer implicado esencial *PI 7 (A'·B·C·D) cubre los mintérminos 7 y 15. Hasta el momento la selección de primeros implicados cubre los mintérminos 2, 3, 6, 7 y 15 excepto 1, 8, 9 y 10. Estos términos mínimos deben ser seleccionados por medio de otros primeros implicados esenciales. En la tabla 2.5., la selección de los primeros implicados PI 3 y PI 6 garantiza el cubrimiento de los términos mínimos 1, 8, 9 y 10. En la tabla 21 se muestra el proceso de selección.

image 72205b850647f5da903d3da779c99099

La función simplificada se obtiene de la suma de los primeros implicados hallados:

F= PI 1 + PI 3 +PI 6 + PI 7

F= (0-1-) + (-001) + (10-0) + (-111)

F = A'·C + B’·C’·D + A·B’·D’ + B·C·D

Page 50


image 7c488e1ca99e7741d3df44de61cfc47b

Los circuitos lógicos se dividen en combinacionales y secuenciales. Los circuitos combinacionales consisten en variables de entrada, compuertas lógicas y variables de salida que cumplen funciones intermedias de mediana escala de integración. El nivel de complejidad de los sistemas combinacionales puede llegar al caso de millones de entradas, dispositivos, interconexiones y salidas. La comprensión de estos circuitos se hace por medio de la división en subsistemas o estructuras más simples.

Hay esencialmente tres tipos de funciones en el diseño de circuitos lógicos combinacionales:

a. Funciones aritmético lógicas (ALU): Encargados de realizar operaciones locales entre dos datos de n bits. (Sumadores, restadores, multiplicadores y operaciones lógicas bit a bit).

b. Funciones de ruta de datos: Guían el tráfico de datos e instrucciones entre las distintas partes de un sistema de cálculo (de memoria a unidad aritmética, etc,..). Su clave es el carácter controlado del movimiento a través de compuertas que se abren o cierran de forma sincrónica, en general, de acuerdo con pulsos de un reloj. (multiplexores, demultiplexores).

c. Circuitos cambiadores de código: Para cada tipo de proceso existe una representación digital de la información que es más adecuada que otras. Su ejemplo más general es el de las memorias de solo lectura (ROM), que son en realidad circuitos que sintetizan funciones múltiples de forma que cada bit de la palabra de salida puede ser una función lógica cualquiera de todos los bits de entrada.

3.1. Circuitos Aritméticos

El diseño de sistemas digitales involucra el manejo de operaciones aritméticas. A continuación se implementarán los circuitos de suma y resta de números binarios.

La suma o adición binaria es análoga a la de los números decimales. La diferencia radica en que en los números binarios se produce un acarreo (carry) cuando la suma excede de uno mientras en decimal se produce un acarreo cuando la suma excede de nueve(9). Del gráfico de la figura 1 podemos sacar las siguientes conclusiones:

1. Los números o sumandos se suman en paralelo o en columnas, colocando

image 7cadb49e49bad74fc7fd4193920ca360

2. 2. El orden de ubicación de los números no importa (propiedad conmutativa).

En la figura 38 se indican las reglas que rigen la suma binaria y en la figura 40 se muestra un circuito lógico llamado semisumador, que suma 2 bits (A y B) que genera un bit de suma y un bit de acarreo cuando este se produce.

Page 51


image 978b3247707ce473c53ce9716e361753

La resta o sustracción de números binarios es similar a los números decimales. La diferencia radica en que, en binario, cuando el minuendo es menor que el sustraendo, se produce un préstamo o borrow de 2, mientras que en decimal se produce un préstamo de 10.

Al igual que en la suma, el proceso de resta binaria, se inicia en la columna correspondiente a la de los dígitos menos significativos. En la figura 39 se indican las reglas que rigen la resta binaria.

image ccc694154d5b87db4ebfb9a95a566822

Semisumador: La operación de un Semisumador conforme a las reglas de la suma binaria mostradas en la figura 38 se puede sintetizar mediante las siguientes 2 operaciones booleanas:

=A(xor)B (suma) Co=A·B (acarreo)

Para realizar una suma binaria donde se tenga presente un carry de entrada se debe implementar un circuito que tenga presente esta nueva variante; como es el caso del sumador completo (Figura 42).

El bit de suma es 1, sólo si las variables A y B son distintas. El bit de acarreo Co es 0 a no ser que ambas entradas sean 1. Por consiguiente, la salida S puede expresarse en términos de la operación EXOR: = A’·B + A·B’ = A B

image 81b750d801e7df4dbedcb3eb373f04cc

Page 52


image bd572a0ed9e64db3b8e8cee79b3386da

Sumador Completo: El sumador completo acepta dos bits y un acarreo de entrada y genera una suma de salida junto con el acarreo de salida. El sumador completo tiene 3 entradas que se suman y son: A, B, y Cin (entrada de arrastre), y las salidas habituales y Co (suma y salida de arrastre)

La tabla 22 muestra la tabla de verdad del sumador completo. Las entradas A, B y C in denotan al primer sumando, el segundo sumando y el acarreo de entrada. Las salidas S y C out representan a la suma y el acarreo de salida.

image 54699ee5fdfeba2452aecce021780ef5

El mapa de karnaugh de la salida C out se muestra en la figura 41.

image 627c186afd256a8dc0876aab33870772

Page 53


image a3b628f112e62644c404593192a3246a

La salida C out está dada por:

image 8333fce1a6c9aad41009cc7bdaafe5b5

Semirrestador: La operación de un Semirrestador como el mostrado en la figura 43 se puede resumir mediante las ecuaciones booleanas:

Di=A·B(neg)+A(neg)·B= A(xor)B (diferencia) Bi=A(neg).B (borrow)

El circuito tiene dos entradas binarias y dos salidas. La figura 43 muestra el símbolo lógico y el circuito las entradas son A(minuendo) y B(sustraendo) y la salida Di corresponde a la diferencia y Bo al préstamo de salida.

image fe9ddc050a23e99ea1dde05699f3f15f

Si A≥ B, existen tres posibilidades 0-0=0, 1-0=0 y 1—1=1. El resultado es el bit de diferencia Di. Si A<B se tiene 0-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.

La tabla de verdad 23. Está dada por las reglas de la resta binaria.

image 6cbb9a22cb4bc3212041b16f58fc1de7

Page 54


image 78d33b101c1a8918cb0b2e288b6cb814

La salida Di coincide con la operación EXOR y se puede expresar de la siguiente forma:

Di = A’·B + A·B’

La salida Bo está dada por la suma de productos de los términos presentes en el renglón 2 de la tabla de verdad:

Bo = A’·B

Restador Completo

El Restador completo realiza la resta entre dos bits, considerando que se ha prestado un 1 de un estado menos significativo. En la tabla 24 las entradas A, B y C denotan el minuendo, el sustraendo y el bit prestado. Las salidas Di y Bo representan a la diferencia y el préstamo.

image 402ad7308c7a35fe8ae0757b6f3be33e

En las combinaciones del mapa donde C=0, se tienen las mismas condiciones para el semisumador.

La función de la salida Di de un restador es la misma que la salida de un sumador completo:

D = A’·B’·C + A’·B·C’ + A·B’·C’ + A·B·C = (A B) C in

El mapa de karnaugh de la salida Bo se muestra en la figura 44.

Page 55


image 0293161afe101d9c418b5bfeb7a947b2

La salida Bo está dada por:

P = A’·B + A’·C + B·C

El símbolo y circuito lògico se muestra en la figura 45.

image 2630ac029242d0ad720f9463fd5f1676

Page 56


image 2623a2214476a916dabded5cd70b65a0

Sumador y Restador de Cuatro Bits

Las operaciones aritméticas se pueden implementar mediante circuitos lógicos. El nivel de sencillez obtenido en los circuitos está dado por la técnica de diseño utilizada. La implementación de una unidad aritmética que realice las operaciones de suma y resta en un sólo circuito, es más simple comparándola con una de dos circuitos para las mismas funciones.

La suma de dos números binarios de cuatro bits se realiza de derecha a izquierda, teniendo en cuenta las correspondientes posiciones significativas y el bit de arrastre (acarreo C inx ). El bit de arrastre generado en cada posición se utiliza en la siguiente posición significativa. La figura 46 muestra la suma de dos números de cuatro bits.

image 1bf784ef279e6622b69af5a6dee2b8f0

En un sumador completo, la suma de un par de bits genera un bit de acarreo. Un sumador de 2 números de n bits se puede implementar de la forma descrita a continuación. Los bits de la posición menos significativa se suman con un acarreo inicial de 0, generando el bit de suma y el de acarreo. El bit de acarreo generado es usado por el par de dígitos en la siguiente posición significativa. La suma se propaga de derecha a izquierda según los acarreos generados en cada sumador y los sumandos presentes. Por consiguiente, la suma de dos 2 números binarios de n bits se puede implementar mediante la utilización de n sumadores completos. Así, para números binarios de dos bits se necesitan dos sumadores completos; para números de cuatro bits cuatro sumadores. En la figura 47 se muestra un sumador de cuatro bits.

image 42a269ab99c08be92b81b6d5325a7fcf

El símbolo lógico del sumador de cuatro bits se muestra en la figura 48.

Page 57


image 3048f8598473a415d534a5e31a144c8a

Un sumador se puede modificar en forma de sustractor invirtiendo cada bit del sustraendo y sumando 1 al establecer un acarreo de entrada C in1 .

Observese el complementador de la figura 49. Si la entrada de control es igual a S=0, la entrada de datos I pasa sin ningún cambio a la salida. Si S=1, la entrada de datos se complementa.

image 756707b2211cb1208b2b6c12b5e6b9c5

El funcionamiento de este elemento se describe en la tabla de verdad 25.

image 2fdbd37bef221f59c1bcf364f3558b21

De la tabla de verdad se observa que Y = S I. La figura 50 muestra la función EXOR como complementador.

Page 58


image 9b02b2a8a664ba0c57bd980c9da25cb1

Una sola entrada de control S con n líneas de entrada de datos I i sirve para complementar o no complementar la entrada, según la operación de resta o suma binaria. La figura 51 ilustra un complementador de 4 bits.

image 2cafb719b9a99e18f3f52d0ece8e55c8

El circuito completo de un sumador/restador de 4 bits se representa en la figura 52.

image 1eca207343711a602d5ea97c9eb2c449

Page 59


image 36970716f01bf2f74b197d3d8b3ce6e2

Sumador en BCD

La suma en código BCD utiliza las mismas reglas de la suma binaria vistas en la figura 38 Si una suma de dos números es menor o igual que 9, el número BCD resultante es válido. Si la suma es mayor que 9, o si se genera un acarreo el resultado no es válido. En este caso, se suma el número binario 0110 para pasar de nuevo al código BCD. Si se genera acarreo al sumar 0110, éste se suma al siguiente grupo de 4 bits. En los siguientes ejemplos se verán los casos que se pueden presentar.

Ejemplo Sumar los números 01000101 (45) 10 y 00010010(12) 10 .

La suma de la figura 53 no genera acarreos.

image 3a51e22125653efde19ce4fb213eb78a

Ejemplo Sumar los números 00111001(39) 10 y 01010110(56) 10 .

La suma de los cuatro bits menos significativos de la figura 54 genera acarreo.

image 75a3c25a0b60cc1f39655162c7aa39f3

Figura 54. Suma BCD con acarreo en el dígito BCD menos significativo

Ejemplo Sumar los números 01111001(79) 10 y 00110101(35) 10 .

La suma de dígito BCD menos significativo de la figura 55 genera acarreo, al igual que el segundo dígito BCD.

image b558027faeca7043208a872482865789

Page 60


image 17b17802d06f71beb842b5eecfb907f8

Un sumador BCD es un circuito que suma dos dígitos en BCD. En una suma BCD, la suma 9+9+1=19 es el valor máximo resultante, siendo el 1 en la suma el acarreo de entrada. Los dígitos BCD con un acarreo de entrada, se agregan en un sumador binario de cuatro bits para producir la suma binaria. Los números decimales se listan en la tabla 3.11.1. C 1 es el acarreo de la suma de los números A y B de entrada (ver figura 56) y los dígitos S 1 a S 4 son el resultado de la suma binaria, donde cada dígito tiene los pesos 8, 4, 2, 1 del código BCD. Cuando la suma binaria es menor o igual a 1001, no se agrega nada a la suma. Cuando el número binario es mayor que 1001 se obtiene una representación en código BCD no válida. La suma del número binario 0110 a la suma binaria convierte la representación a un código BCD válido. En la figura la suma del número 0110 se realiza por medio de un segundo sumador inferior. Este código BCD válido se observa en la tabla 3.11.1 en la columna de suma BCD. Las salidas S 5 a S 8 representan la suma BCD. C 2 es el acarreo de salida de la suma BCD.

image d41c973fc27c09618e93ff8f5a13dc77

El circuito necesario para detectar la condición de acarreo o suma binaria mayor a 1001 se obtiene de la tabla de verdad. Cuando C 1 es 1 se necesita sumar 0110 o una correción. Lo mismo entre las combinaciones 1010 y 1111, se tiene una corrección cuando S 2 =S 4 =1 ó S 3 =S 4 =1. La expresión lógica de la corrección es:

Page 61


image 2fa24dffbe43b96fc35bb501b5f277b2

El circuito lógico necesario para implementar el sumador BCD se muestra en la figura 56

image 93799e4a8c735f1bade960d673893ba5

Unidad Aritmética y Lógica (ALU)

Una unidad aritmética lógica puede realizar un conjunto de operaciones aritméticas básicas y un conjunto de operaciones lógicas, a través de líneas de selección. En inglés ALU significa Arithmetic Logic Unit (Unidad Aritmética Lógica). La figura 57. Muestra el diagrama de bloques de una ALU.

image 71f5b93ea04e69860b9f0da1a63efa0e

Page 62


image b6b1a032633222ee5fcddcfdf1418dfb

Las cuatro entradas de A se combinan con las de B generando una operación de salida de cuatro bits en F. La entrada de selección de modo S 2 distingue entre las operaciones aritméticas y lógicas. Las entradas de selección S 0 y S 1 determinan la operación aritmética o lógica. Con las entradas S 0 y S 1 se pueden elegir cuatro operaciones aritméticas (con S 2 en un estado) y cuatro lógicas (con S 2 en otro estado). Los acarreos de entrada y salida tienen sentido únicamente en las operaciones aritméticas. El diseño de una ALU implica el diseño de la sección aritmética, la sección lógica y la modificación de la sección aritmética para realizar las operaciones aritméticas y lógicas.

Sección Lógica

Los datos de entrada en una operación lógica son manipulados en forma separada y los bits son tratados como variables binarias. En la tabla 27 se listan cuatro operaciones lógicas OR, EXOR, AND y NOT. En el circuito, las dos líneas de selección (S 1 , S 0 ) permiten seleccionar una de las compuertas de entrada, correspondientes a la función F i .

image 9f711027aed4e250633678902a4fc163

El circuito lógico de la figura 58 es una etapa de un circuito lógico de n bits.

image b627946e099e8e5c4155a609cc07a92f

Sección Aritmética

El componente básico de la sección aritmética es un sumador en paralelo (ver figura 47). Las operaciones aritméticas configuradas en el circuito aritmético se presentan en la tabla

Page 63


image a7a522e7a81a2a65e2c38cb1482e1531

28. En una ALU, la suma aritmética se puede implementar con un número binario en A, otro número en la entrada B y el acarreo de entrada C in en un valor lógico 0. El resto de las funciones se enuncian en la columna descripción.

image 2697b1c17cdf37ebe8fc31d82d1266ff

La implementación de las funciones anteriores por medio de un circuito lógico sencillo se describe a continuación. El circuito se diseña bajo el precepto de intervenir cada entrada B i para obtener las siguientes funciones:

image 675ece29b7d77131c187fbc54798d602

La figura 59 muestra el circuito.

image 859722c00a113263411acbce0c979abd

Por medio de estas funciones se pueden lograr las funciones de la tabla 28 al agregar el número N i (tabla 29) a la entrada A, a través de un sumador en paralelo para cada etapa, teniendo en cuenta el valor de la entrada C in . El circuito combinacional aritmético se muestra en la figura 60, la entrada A se denomina M i en el sumador completo.

Page 64


image 95808e48edc04a75f2a14791494aa6c2

Diseño de una Unidad Aritmética Lógica: se deben seguir los siguientes pasos:

1. Diseñar la sección aritmética independientemente de la sección lógica. 2. Determinar las operaciones lógicas del circuito aritmético, asumiendo que los acarreos de salida de todas las etapas son 0.

3. Modificar el circuito aritmético para obtener las operaciones lógicas requeridas.

El diseño simple de una ALU se hace utilizando el sumador completo para generar las operaciones lógicas de la unidad. Por lo tanto es necesario introducir una variable de control adicional (S 2 ), con el fin de seleccionar entre las operaciones lógicas y aritméticas. En este diseño, un valor S 2 = 1 hace que el circuito efectúe operaciones lógicas. Recordando la salida de un sumador completo:

F = (A i B i ) C in

A partir de esta ecuación, es posible obtener la función lógica requerida, utilizando la debida manipulación lógica. La función requerida se expone en la tabla 30.

image 2e9be5d52a593d053e9ddb82b93490ca

Tabla 30. Tabla de obtención de las funciones lógicas con un sumador completo

Page 65


image c307d940eaaecef3ed1e7d7afb306da2

Partiendo de la tabla 30, las entradas M i , N i y C ini en un sumador completo, son equivalentes a las siguientes expresiones:

image 934227b1d0b0df96ece672a61088020d

La figura 61 muestra el diagrama de la unidad aritmética lógica de dos etapas.

image ea78a2731e48f44051d5c081ab82a455

Las doce operaciones generadas en el ALU se resumen en la tabla 31, la función en particular se selecciona a través de S 2 , S1, S0 y Cin. Las operaciones aritméticas son las mismas del circuito aritmético.

Page 66


image 326763aba921a1be22575a628d95f0ef

Multiplicador Combinatorio

Un multiplicador combinatorio permite realizar la operación de multiplicación mediante circuitos combinacionales. Como ejemplo, un circuito construido para este propósito es un multiplicador combinacional paralelo de 4 bits, mostrado en la figura 62. Este multiplicador está constituido internamente por circuitos sumadores completos, que a su vez internamente están diseñados a nivel de puertas lógicas. En el primer nivel de compuertas de la figura se obtienen las operaciones A 0 B 0 , A 1 B 0 , A 2 B 0 y A 3 B 0 . En el segundo nivel de compuertas, las operaciones A 0 B 1 , A 1 B 1 , A 2 B 1 y A 3 B 1 . En el tercero, las operaciones A 0 B 2 , A 1 B 2 , A 2 B 2 y A 3 B 2 y en el cuarto A 0 B 3 , A 1 B 3 , A 2 B 3 y A 3 B 3 . Por ejemplo, A 0 B 0 es directamente el resultado P 0 . El dígito P 3 , se obtiene de la suma de los bits de entrada a los sumadores S3, S6, S9 y el bit A 3 B 0 . La figura 62 recuerda el proceso de multiplicación de dos números de cuatro bits.

image 8fdb1f633553b7f32b3fe25c3fba0f02

Page 67


image b284c406286a0ec66a1210cc68656d25

3.2. Decodificadores:

Un decodificador es un circuito lógico cuya función es indicar la presencia de cierto código en sus líneas de entrada con un nivel predeterminado a la salida. El procedimiento consiste en interpretar el código de n líneas de entrada con el fin de activar un máximo de 2 n líneas a la salida. Si el código de entrada tiene combinaciones no usadas o de no importa, la salida tendrá menos de 2 n salidas. La característica predominante en los decodificadores es un mayor número de salidas con respecto al número de entradas.

n Entradas ------[ n x 2 n ]----- 2 n salidas

Page 68


image 83c528d1475eb2e6c7cfe702dd9abbd2

Decodificador de 2 a 4 líneas (2 bits)

El Decodificador de 2 a 4 líneas tiene 2 líneas de entrada y 4 líneas de salida. En la tabla 32 las entradas del decodificador son I0 e I1 y representan un entero de 0 a 3 en código decimal. G es la entrada de habilitación y determina la activación del circuito de acuerdo a su valor lógico ("1" circuito activo, "0" circuito no activo). Según el valor binario presente en las 2 entradas se activa una de las 4 salidas al valor lógico 1. Por ejemplo, con el valor 1 en I 0 y el valor 0 en I 1 se activará la salida Y 1 .

image 4914fbac558786cd0615a39ee8cbca1d

En la figura 65 se muestra el circuito lógico del decodificador 2x4.

image be2792d8fdc0047313db262a60e5b6b3

Figura 65. Diagrama lógico del decodificador 2 x 4 con entrada de habilitación

Page 69


image 26e24284592f17069a69a9b82d10dd9a

Decodificador de 3 a 8 líneas (3 bits)

El decodificador de 3 a 8 líneas activa una sola de las 8 líneas de salida de acuerdo con el código binario presente en las 3 líneas de entrada. Las salidas son mutuamente exclusivas ya que solamente una de las salidas es igual a 1 en cualquier momento.

Las entradas del decodificador son x, y, z y las salidas van de y 0 a y 7 (activas bajas). La tabla de verdad del decodificador se muestra en la tabla 33.

image 5536801842b45c599bc4c05a044887a3

Como la tabla anterior tiene 8 salidas, por lo tanto sería necesario dibujar ocho mapas de karnaugh para simplificar cada una de las funciones de salida.

Por tanto procedimiento, se puede dibujar un solo mapa y reducir la función para cada término por separado. La reducción de cada término da como resultado la equivalencia entre cada mintérmino de entrada y la salida correspondiente.

Por ejemplo, la entrada 110 activará la salida Y 6 . En el circuito el mintérmino corresponderá a una compuerta AND de tres entradas con las variables A·B·C’ como entradas. De manera similar se construye el circuito para el resto de entradas. El circuito lógico del decodificador de 3 a 8 líneas se representa en la figura 66.

Page 70


image e76d8f49da08ffb5f92279eefd38a39f

Decodificador de 4 a 16 líneas (4 bits)

El decodificador de 4 a 16 líneas activa una sola de las 16 líneas de salida de acuerdo con el código binario presente en las 4 líneas de entrada. Las salidas son mutuamente exclusivas ya que solamente una de las salidas es igual a 1 en cualquier momento.

Las entradas son w, x, y, z y las salidas son y 0 a y 15 (activas bajas). La tabla 34 muestra la tabla de verdad para el decodificador.

image 80335d79c89fef93938110b25ef4a7c6

Page 71


image 81e6445d551d3aabc3f4a3521864357d

Similar al decodificador de 3 a 8, la salida correspondiente a cada código es el mintérmino correspondiente a cada entrada. La simplificación de la función necesitaría de 16 mapas para la reducción. En vez de construir 16 mapas, se construye solo uno, en el cuál se representa cada uno de los valores para cada combinación de entrada (Ver figura 67). Los mintérminos no se pueden asociar por la consideración anterior, pero el ejemplo sirve para mostrar la construcción del circuito lógico.

image 26b31d62dbe6c704454dcac854891810

Figura 67. Mapa de karnaugh de la función del decodificador de 4 a 16 líneas

En la tabla el término Y 7 se obtiene del mintérmino m 7 (W’·Z·Y·X). En la entrada, los valores 0111 activarán la salida Y 7 . El resto del circuito lógico se construye de manera similar. El diagrama de bloques del circuito lógico se representa en la figura 68.

image 00d2c4ddf9e78c643b4d1ce44cdea0ff

Page 72


image a02b18ddbc6ba7780908f5e6c5063059

Ejemplos de Aplicación en los Computadores

En la comunicación entre los diferentes dispositivos que conforman un computador, se emplean puertos de E/S y memorias. Entre las aplicaciones más comunes de los decodificadores se encuentra la habilitación de puertos de E/S en los computadores.

Cada uno de los dispositivos dentro de un computador posee una dirección que es codificada mediante un código binario (dirección) y cuando es necesario comunicarse con un dispositivo, la CPU del computador envía la dirección del puerto o posición de memoria al que se encuentra conectado el dispositivo. El código binario de la dirección es decodificado, activando la salida que habilita el dispositivo correspondiente.

Los decodificadores también son utilizados internamente en los chips de memoria para direccionar las posiciones de memoria de las palabras binarias almacenadas. Como ejemplo, un computador que maneja direcciones de 16 bits, tiene la capacidad de direccionar 2 16 = 65536 posiciones de memoria, o lo que equivale a 64 K.

Decodificadores BCD a 7 segmentos

El decodificador de BCD a siete segmentos es un circuito combinacional que permite un código BCD en sus entradas y en sus salidas activa un display de 7 segmentos para indicar un dígito decimal.

El Display de Siete Segmentos

El display está formado por un conjunto de 7 leds conectados en un punto común en su salida. Cuando la salida es común en los ánodos, el display es llamado de ánodo común y por el contrario, sí la salida es común en los cátodos, llamamos al display de cátodo común. En la figura 69,se muestran ambos tipos de dispositivos. En el display de cátodo común, una señal alta encenderá el segmento excitado por la señal. La alimentación de cierta combinación de leds, dará una imagen visual de un dígito de 0 a 9.

image 497e5a7919bac2233508e31d03389ecd

Page 73


image 731347a5356c0d24709e67557ab58c7f

Decodificador de BCD a Siete Segmentos

El decodificador requiere de una entrada en código decimal binario BCD y siete salidas conectadas a cada segmento del display. La figura 70 representa en un diagrama de bloques el decodificador de BCD a 7 segmentos con un display de cátodo común.

image 954eb01fdaa3864a53d58ec6f55d688b

Figura 70. Diagrama de bloques de un decodificador BCD a siete segmentos

Suponiendo que el visualizador es un display de cátodo común, se obtiene una tabla cuyas entradas en código BCD corresponden a A, B, C y D y unas salidas correspondientes a los leds que se encenderían en cada caso para indicar el dígito decimal. La tabla 35 muestra el caso de ejemplo.

image 6bbb7f97408aa0c6018f4690512d82d0

Tabla 35. Tabla de verdad del decodificador BCD a siete segmentos.

Los valores binarios 1010 a 1111 en BCD nunca se presentan, entonces las salidas se tratan como condiciones de no importa.

Page 74


image 58c4a2c7f2c3a38a799e85a96d297309

La simplificación de la información contenida en la tabla 35 requiere de siete tablas de verdad, que se pueden separar para cada segmento. Por consiguiente, un 1 en la columna indica la activación del segmento y varios de estos segmentos activados indican visualmente el número decimal requerido.

Según la información de la tabla de verdad, se puede obtener la expresión para cada segmento en suma de productos o producto de sumas según la cantidad de unos y ceros presentes.

Salida a En la columna a existen 3 ceros y 7 unos, entonces es más fácil obtener la función PDS:

a = (A+B+C+D’)·(A+B’+C+D)= A + D·(B+C) + B’·(D’+C) = A + A·B’ + A·C + A·D + B·A + B·C + B·D + C·A + C·B’+ C + C·D + D’·A + D’·B’ + D’·C

a = A + (A·B’+B·A)+(A·C+C·A)+ (A·D+D’·A)+( B·C+C·B’) + B·D + C + (C·D+D’·C) + D’·B’ = A + A +A·C + A+ C + B·D + C + C + D’·B’ = A + A.C + C + B·D + D’·B’

a = A + C + (B D)’

image 665ae8a6a884cfc492a7f4eb4700d8fe

Figura 71. Circuito para la salida a del decodificador BCD a siete segmentos

Salida c En la columna de la salida c se tiene un solo 0, entonces se emplea el PDS:

c = (A + B + C’ + D)

image 26a0a6a82c34cf4b2ae8aed122792f9e

Figura 72. Circuito para la salida c del decodificador BCD a siete segmentos

Salida e La columna correspondiente a esta salida tiene 4 unos y 5 ceros. Es mejor utilizar la representación SDP:

e = (A’·B’·C’·D’) + (A’·B’·C·D’) + (A’·B·C·D’) + (A·B’·C’·D’) ; factorizando el primer término con el cuarto y el segundo con el tercero:

e = B’·C’·D’ + A’·C·D’ = D’·(B’·C’+ A’·C)

Page 75


image 6ec21f87f6d06dfc76a4c42e7a11f51a

Figura 73. Circuito para la salida e del decodificador BCD a siete segmentos

El resto de salidas se obtiene por las mismas deducciones anteriores.

3.3. Registros de Tres Estados

El principio básico de un registro de estados es la presencia de tres estados para la salida del dispositivo (0, 1 y alta impedancia) según el valor de una entrada de control predeterminada. El dispositivo más básico es el registro ("buffer") de tres estados. Este registro posee una entrada de habilitación ("entrada lateral al registro") para determinar su comportamiento como amplificador, inversor ordinario o dispositivo de alta impedancia. La figura 74 muestra el símbolo lógico del registro. En los casos 1 y 3 se habilita con estado activo alto y en los casos 2 y 4 se habilita con estado activo bajo. En estado de activación la salida se comporta como amplificador o inversor. Cuando la entrada de habilitación se niega, la salida va a un estado de alta impedancia (Z).

image 4350f18507c3b12c1e998531d2e0b824

Estos dispositivos permiten que varias fuentes puedan compartir una misma línea de comunicación, siempre y cuando una sola fuente utilice la línea a la vez. Un circuito de este tipo se muestra en la figura 75. El circuito se configura con un decodificador para seleccionar una de ocho líneas de salida.

Por ejemplo, la selección 001 habilita la salida Y 1 en estado bajo, activando el registro 2 y coloca la información de entrada del registro en la línea de comunicación.

Page 76


image 1e817789c18609a65703844b17915f8e

Los registros de tres estados pasan más rápidamente al estado Z. Por el contrario, el tiempo de transición para salir del estado Z es mucho más demorado. El tiempo muerto en la línea de comunicación debe ser lo bastante largo para tomar en cuenta las diferencias del peor caso entre los tiempos de activación y desactivación de los dispositivos al igual que las asimetrías en las señales de control de los tres estados.

3.4. Codificadores y Decodificadores

Un codificador tiene 2 n o menos líneas de entrada y n líneas de salida. Por ejemplo, en una de las entradas se puede ingresar un dígito decimal u octal y generarse un código de salida en BCD o binario. La función de los codificadores es inversa a la de los decodificadores. Los codificadores se utilizan también para codificar símbolos diferentes y caracteres alfabéticos.

2 n Entradas ------[ ]------ n salidas

Codificador Binario

El codificador binario tiene 2 n entradas y n salidas. Sólo, una sola de las entradas puede estar activada. La salida suministra el valor binario correspondiente a la entrada activada. Este tipo de decodificador opera en forma contraria a los decodificadores de 2 a 4, 3 a 8, estudiados antes.

Codificador de 8 a 3.

El codificador 8 a 3 tiene 8 entradas (I 0 a I 7 ), una para cada uno de los ocho dígitos y 3 salidas que conforman el número binario equivalente (A 0 a A 2 ). La figura 76 muestra en el diagrama de bloques del decodificador.

Page 77


image 26124a0a699ef4b667cea090304f5278

La tabla de verdad se muestra en la tabla 36.

image 1fbf48229a89d8880faa82bc501fe8d5

En la tabla de verdad, A 0 tiene un 1 lógico para la columnas de entrada con subíndice impar. La salida A 1 es 1 en la columnas I 2 , I 3 , I 6 e I 7 y la salida A 2 es 1 en la columnas I 4 , I 5 , I 6 e I 7 . Las expresiones lógicas son las siguientes:

image cae3e93f86579077a0118216ae2f4bd2

Por ejemplo, sí está activada la entrada 3, la salida es 011. El circuito se construye con compuertas OR y se muestra en la figura 77.

Page 78


image f80a766bb7ec8fd058ca52f2434d3c60

Codificador sin prioridad

Los circuitos codificadores pueden ser diseñados con prioridad o sin ella. En los codificadores sin prioridad con entradas activas altas, la activación de más de una entrada simultáneamente con valor 1, genera un código erróneo en la salida, de acuerdo al número de entradas excitadas con el respectivo valor. La solución de este conveniente se logra empleando codificadores de prioridad.

Codificador de prioridad

Los codificadores de prioridad seleccionan la entrada de mayor prioridad cuando se presentan varias entradas activas simultáneamente. En la tabla 37 se muestra la lógica de entrada y de salida de un decodificador.

image 097a1e502e23ebc77d247e48007da2a7

Page 79


image 848c961f08f185773de4d689c94abf23

El decodificador se encuentra comercialmente tal como se encuentra dispuesto en la figura 78. La diferencia radica en unas entradas de habilitación adicionales que activan las entradas ó las salidas a unos valores predefinidos.

image 7d7e0e94447df73671f6faf3fbe3fe17

Codificador Decimal - BCD

El codificador decimal a BCD posee diez entradas, correspondientes cada una a un dígito decimal y cuatro salidas en código BCD (8421). El diagrama de bloques de la figura 79 muestra la disposición de entradas y salidas del decodificador.

image f32b20f6097e3b67745d72c3e0379363

En la tabla 38 se encuentra el código BCD correspondiente a cada dígito decimal.

Page 80


image 42bed7e6d62dc8e427eba1d4d1697d9f

El bit A 3 es el más significativo del código BCD y es 1 para los decimales 8 ó 9. La expresión para este bit en función de los dígitos decimales se escribe:

A 3 = 8+9

Por tanto las funciones siguientes corresponden a:

image 5f11024e7509f690de48beb2354ee467

Ahora configurando el análisis en un circuito combinacional, se obtiene el siguiente circuito sin necesidad de una entrada para el bit 0.

image ecb8d78e14db896f31f144a26aa7b71a

Page 81


image 5427669bd735153a28fa0ec2d07494f8

Aplicaciones

Los codificadores encuentran mayor aplicación en los dispositivos de entrada y salida. La señal de entrada es introducida de una forma comprensible para el usuario y la "traducción" la realiza el codificador a un código comprensible para el equipo. En un teclado, cuando se pulsa la tecla correspondiente a un dígito, esta entrada se codifica en código BCD.

3.5. Multiplexores y Demultiplexores

Multiplexar es transmitir datos de una de n fuentes a la salida del circuito combinacional. El demultiplexor desempeña la función contraria.

Multiplexores (MUX) Selector de Datos

Es la versión electrónica de un conmutador rotatorio en un solo sentido, se puede comparar con un selector mecánico en una sola dirección. También se puede definir como un proceso de selección de una entrada entre varias y la transmisión de los datos seleccionados hacia un solo canal de salida.

Un multiplexor es un circuito combinacional que selecciona una de n líneas de entrada y transmite su información binaria a la salida. La selección de la entrada es controlada por un conjunto de líneas de selección. La relación de líneas de entrada y líneas de selección está dada por la expresión 2 n , donde n corresponde al número de líneas de selección y 2 n al número de líneas de entrada.

image 9197230148c46755e3dac8b011e5f323

En la figura 81, se compara un selector mecánico de datos y un selector electrónico de datos. En el primer caso la selección del dato se logra girando mecánicamente el rotor del conmutador, y en el selector electrónico de datos multiplexor se selecciona el dato colocando el número binario adecuado en las entradas de selección de datos A, B, C.

Page 82


image f39581648c3f2d5d3a3f811b8cf00823

A continuación se ilustra el multiplexor comercial TTL 74150 que tiene las siguientes características:

1. Consta de 16 entradas de datos.

2. Tiene una única salida invertida w (pin 10).

3. Posee cuatro entradas selectoras de datos de A a D (pin 15 al 11).

4. Tiene una entrada de habilitación denominada STROBE que se considera como un conmutador ON-OFF.

image 62d4c8228127aea2e2ba96e4334383f4

La tabla de verdad del selector de datos 74150 nos muestra en su primera línea la entrada de habilitación (STROBE) en alto lo cual no habilita ningún dato, sea cualquiera la entrada de selección, como resultado obtendremos en la salida una tensión alta. En la segunda línea tenemos las entradas de habilitación en bajo lo cual habilita las entradas selectoras de datos que en este caso están en bajo por lo cual en la salida obtendremos la entrada E.

Multiplexor de 2 entradas

El multiplexor se caracteriza por tener dos líneas de entrada, una línea de selección y una de salida. En el multiplexor, las entradas son I 0 e I 1 y la selección viene dada por el valor de la entrada S.

El valor de la salida Y depende de los valores lógicos ingresados en los cuadros de texto para las variables I 0 , I 1 y S. Por ejemplo, sí I 0 =0, I 1 =1 y S=0, entonces Y=I 0 =0.

La tabla de verdad se muestra en la tabla 39.

Page 83


image 6a2782f36f130326c5ea91d72f44a46f

El circuito lógico se muestra en la figura 83.

image f2354252b76293ab782efd290312af8c

Multiplexor de 4 entradas

El multiplexor de 4 entradas es un multiplexor de 4 líneas a 1. La figura 84 muestra el diagrama de bloques del multiplexor. Las entradas son I 0 , I 1 , I 2 e I 3 y la selección viene dada por las entradas S 0 y S 1 . El valor de la salida Y depende de los valores lógicos presentes en las entradas de datos y la selección.

image 500314528536dd7428969ae9c28b87a6

La tabla de verdad se muestra en la tabla 40. Por ejemplo, sí I 0 =1, I 1 =1, I 2 =0, I 3 =1 y S 1 =1, S 0 =0 entonces Y=I 2 =0.

Page 84


image ac02186e9499a1a124095df63cd1d973

El problema consiste en definir un conjunto de expresiones para construir el circuito lógico. La ecuación en cada fila, se obtiene a partir del dato de entrada y la entrada de selección de datos:

La salida es Y= I 0 , sí S 1 =0 y S 0 =0. Entonces Y = I 0 ·S 1 ’·S 0 ’.

La salida es Y= I 1 , sí S 1 =0 y S 0 =1. Entonces Y = I 1 ·S 1 ’·S 0 .

La salida es Y= I 2 , sí S 1 =1 y S 0 =0. Entonces Y = I 2 ·S 1 ·S 0 ’.

La salida es Y= I 3 , sí S 1 =1 y S 0 =1. Entonces Y = I 3 ·S 1 ·S 0 .

Sumando lógicamente las ecuaciones anteriores:

Y = I 0 ·S 1 ’·S 0 ’ + I 1 ·S 1 ’·S 0 + I 2 ·S 1 ·S 0 ’ + I 3 ·S 1 ·S 0

En consecuencia, el circuito asociado se implementa en la figura 85.

image 79b585e2f43627b0d3bc80aa0e49d819

Page 85


image 358d630c22b9e0d149e53580accf2ddc

Demultiplexores DEMUX (Distribuidores de datos)

Un demultiplexor es un circuito combinacional que recibe información en una sola línea y la transmite a una de 2 n líneas posibles de salida. La selección de una línea de salida especifica se controla por medio de los valores de los bits de n líneas de selección. La operación es contraria al multiplexor.

image 41a1e9ad60de3fb6bb85deffe673ae46

La figura 87 muestra un demultiplexor de 1 a 4 líneas. Las líneas de selección de datos activan una compuerta cada vez y los datos de la entrada pueden pasar por la compuerta hasta la salida de datos determinada. La entrada de datos se encuentra en común a todas las AND.

image d4e5ed17570684cb7679d3144e62efab

El decodificador de la figura 88 funciona como un demultiplexor si la línea E se toma como línea de entrada de datos y las líneas I 0 e I 1 como líneas de selección. Observe que la variable de entrada E tiene un camino a todas las salidas, pero la información de entrada se dirige solamente a una de las líneas de salida de acuerdo al valor binario de las dos líneas de selección I 0 e I 1 . Por ejemplo si la selección de las líneas I 0 I 1 = 10 la salida Y 2

Page 86


image 5c439a96b5ea1d45a1d656950e91c600

tendrá el mismo valor que la entrada E, mientras que las otras salidas se mantienen en nivel bajo.

image 01e14051a30ef4329412be353c77c932

En consecuencia, como las operaciones decodificador y demultiplexor se obtienen del mismo circuito, un decodificador con una entrada de activación se denomina decodificador/demultiplexor; siendo la entrada de activación la que hace al circuito un demultiplexor.

La tabla de verdad se muestra en la tabla 41

image 23c4d801eb936f85fda3c51d3e602961

Los DEMUX están disponibles en versiones TTL y CMOS de una entrada y cuatro salidas, una entrada y ocho salidas, una entrada y diez salidas y una entrada y dieciséis salidas.

El CI decodificador/demultiplexor de 4 a 16 TTL 74LS154 tiene dos entradas de datos G1 y G2 que activan a una única entrada en el nivel BAJO.

La figura 89 muestra el DEMUX 74LS154 que tiene 16 salidas de 0 a 15 con 4 entradas de datos (D a A) sus salidas son activas en bajo por lo que normalmente están en alto y cuando se activan están en bajo, además como se había dicho antes tiene dos entradas de datos G1 y G2 negados que realizan la operación NOR para generar la única entrada de datos lo que quiere decir que para poder activar un dato deben estar los dos en bajo.

Page 87


image e4d8c29c2a8e7c34804cfb4284ef6844

3.6. Generadores de Paridad

La transmisión binaria por diversos medios de comunicación está sujeta a errores por fallas en los sistemas digitales o la presencia de ruido eléctrico. Cualquier condición interna o externa al sistema puede alterar el valor de los ceros a unos o viceversa. Cuando se altera un solo bit, decimos que el bit distorsionado contiene un error individual.

De la misma forma, dos o más bits distorsionados, involucran un error múltiple, pero estos errores tienen menor probabilidad de ocurrencia a los errores individuales. Un código que permite detectar errores es el código de paridad. El principio es añadir un bit de paridad para hacer que el número total de bits (incluida la palabra) sea par o impar. Un bit de paridad par, incluido con el mensaje (palabra), convierte el número total de unos en par (paridad par) y el bit de paridad impar hace el total de unos impar (paridad impar).

El generador de paridad es un sistema combinacional que permite generar el bit de paridad de una palabra de código. La información se transmite y el comprobador de paridad recepciona la información con el fin de validarla.

Ejemplo Construir un generador de paridad par y el respectivo comprobador de paridad para tres bits .

En la tabla 42 los bits de entrada A, B, C constituyen el mensaje y el bit de paridad P la salida. En la tabla, se escoge P de tal forma que la suma todos los unos es par.

Page 88


image 7a93a6216610a577da9cb4cdcc3b34e9

La figura 90 muestra la función en un mapa de karnaugh de tres variables.

image a1670ad131e5823160f51ad0b70acf7a

La paridad esta directamente relacionada con la operación EXOR. En una expresión OR-Exclusiva de n variables, 2 n /2 términos mínimos tienen un número par de unos. La otra mitad tiene un número impar de unos. Observando el mapa se puede deducir que la mitad de los términos mínimos tiene un número par de unos. La función puede expresarse en términos de una operación EXOR con las tres variables de la siguiente forma:

P = Σ (m 1 , m 2 , m 4 , m 7 )

Asumiendo

P = Σ (m 1 , m 2 , m 4 , m 7 ) = (A B) C

image a1c5077bfc7734b7f1656f96f1c54dd3

Page 89


image d5c984275c3aced3f5120492511791ac

Llegamos a la igualdad,

P = Σ (m 1 , m 2 , m 4 , m 7 ) = A’·B’·C + A’·B·C’+ A·B’·C’ + A·B·C

Entonces,

P = A B C

El circuito realiza la función EXOR de un numero n de variables, constituyendo a la salida un uno lógico si el número de unos aplicados a sus entradas es impar y un cero si el número es par.

El diagrama lógico del generador de paridad se muestra en la figura 91. El circuito está conformado por dos compuertas EXOR.

image 906f32cd0a9a006bc7f2c6e793c66a62

Figura 91. Circuito Lógico para el Generador de Paridad Par de tres bits.

El bit de paridad y el mensaje de tres bits, se transmiten a su destino donde se aplican a un circuito de observación de paridad.

La salida C del comprobador de paridad debe ser 1 para indicar el error de transmisión. El error se presenta cuando el número de unos en sus entradas es impar.

La tabla de verdad 43 muestra las entradas y las salidas del circuito.

Page 90


image 6d958810eff19ce8df1e86cc93f90499

La figura 92 muestra la función en un mapa de karnaugh de tres variables.

image 817ce70fe15e861fca4166df1fd92b0d

En el mapa de karnaugh se pueden observar los unos en los mintérminos que tienen un número impar de unos. La función puede expresarse en términos de la operación OR-Exclusiva. La demostración es la siguiente:

image caa3f28a0b81331abc0b34333796a1d4

Page 91


image 5736db814f9f4ac1abbe23f265ab04d5

Entonces,

CP = Σ (m 1 , m 2 , m 4 , m 7 , m 8 , m 11 , m 13 , m 14 ).

El circuito lógico se muestra en la figura 93

image b92892fe5569551e98611552b6d165ee

Figura 93. Circuito Lógico para el comprobador de paridad par de tres bits

3.7. Comparadores

Los circuitos comparadores son sistemas combinacionales que comparan la magnitud de dos números binarios de n bits e indican cuál de ellos es mayor, menor o sí existe igualdad entre ellos. Existen varias configuraciones de circuitos de un nivel sencillo a uno más complejo para determinar relaciones de magnitud.

Comparador de Magnitudes de un Bit

La comparación de dos bits se puede realizar por medio de una compuerta EXOR o una NEXOR. La salida del circuito es 1 si sus dos bits de entrada son diferentes y 0 si son iguales. La figura 94.muestra el circuito comparador de magnitudes de un bit.

image 5edcc96973e1399a67e3bd4448149c62

Page 92


image e6d8e06428a2d958d0d0c47f61b20935

Comparador de Magnitudes de Dos Bits

Los números A y B de dos bits en orden significativo ascendente a descendente se ordenan de la siguiente forma:

image 0fc51575f7b38f15c12f11df34052256

En un comparador de dos bits se utilizan dos compuertas EXOR. El comparador se muestra en la figura 95. Los bits más significativos se comparan en la compuerta 1 y los dos menos significativos en la compuerta 2. En el caso de números iguales, los bits también son iguales, teniendo como salida en cada EXOR el valor 0. Cada EXOR se invierte y la salida de la compuerta AND tendrá un 1. En números diferentes, los bits serán diferentes y la salida de cada EXOR será 1.

image ffb19eae9a2f42b57cc982a21aa76fda

Comparador de magnitudes de cuatro bits

En el diagrama 96 se muestra un comparador de magnitud de cuatro bits. Las entradas son A y B y las salidas son las tres variables binarias A>B, A=B y A<B. Escribiendo los coeficientes de los números A y B en orden significativo de ascendente a descendente:

image 7c4870b7c040e9038bc4a9c264c41b1f

Salida A=B

Los dos números son iguales si todos los números del mismo peso son iguales, es decir A 3 =B 3 , A 2 =B 2, A 1 =B 1 y A 0 =B 0 .

Page 93


image c07093924b1ac3d1707e9fffab67f86f

La igualdad de los números A i y B i se determina comparando los coeficientes según el valor 0 ó 1 para los dos bits. En la comparación se emplea la variable y i . Esta variable binaria es igual a 1 si los números de entrada A y B son iguales, de lo contrario será igual a 0. Por consiguiente, la comparación de dos bits en la posición i de un número, está dada por:

y i (A i =B i ) = A i ·B i + A i ’·B i ’ = (A i B i )'

Por ejemplo, sí A 3 = 1 y B 3 = 1; y 3 será igual a y 3 = A 3 ·B 3 + A’ 3 ·B’ 3 = 1·1 + 1·1 = 1 pero sí A 3 = 1 y B 3 = 0 ; y 3 = A 3 ·B 3 + A’ 3 ·B’ 3 = 1·0 + 0·1 = 0. La comparación se realiza para el resto de los ceficientes A i y B i . El número A será igual a B sí se cumple la condición y i =1 para todos los coeficientes, es decir una operación AND:

(A=B) = y 3 ·y 2 ·y 1 ·y 0

La variable binaria A=B es igual a 1 solamente si todos los pares de dígitos de los números son iguales.

Salidas A>B y A<B

La comparación en este caso se comienza desde el bit más significativo. Los dígitos se comparan uno a uno y si estos son iguales se prueba con el siguiente par de bits menos significativos. La comparación continua hasta que se encuentra un par de dígitos desiguales. En la posición donde se encuentre un uno en A y un 0 en B se puede afirmar que A>B. Por el contrario, sí A es igual a 0 y B igual a 1 entonces A<B. La función corrresondiente a cada salida es:

image 48d23b9c892104365724b1eaed81da9c

Ejemplo Comparar los números binarios A = A 3 ·A 2 ·A 1 ·A 0 = 1001 y B = B 3 ·B 2 ·B 1 ·B 0 = 1011.

El valor de las variables y i :

y 3 (A 3 =B 3 ) = (1)·(1) + (0)·(0) = 1 ; y 2 (A 2 =B 2 ) = (0)·(0) + (1)·(1) = 1 ; y 1 (A 1 =B 1 ) = (0)·(1) + (1)·(0) = 0 ; y 0 (A 0 =B 0 ) = (1)·(1) + (1)·(0) = 1.

Las ecuaciones son:

(A>B) = (1)·(0) + (1)·(0)·(1) + (1)·(1)·(0)·(0) + (1)·(1)·(0)·(1)·(0) = 0.

(A<B) = (0)·(1)+ (1)·(1)·(0) + (1)·(1)·(1)·(1) + (1)·(1)·(0)·(0)·(1) = 1.

El diagrama del comparador de cuatro bits se muestra en la figura 97.

Page 94


image 84024187f6d00099115b0d5aeb9c6506

Page 95


image dc42083e14d231783eea292a1ba4810d

3.8. Implementación de Funciones Lógicas con Decodificadores

Teniendo en cuenta que los decodificadores son Circuitos integrados de Mediana Escala de Integración (MSI), se pueden implementar funciones lógicas con ellos, ya que en su interior existen entre 100 y 999 compuertas lógicas.

Ejemplo: A partir de la función de la Tabla 44, se explicará el procedimiento de diseño e implementación de Funciones Lógicas mediante decodificadores así (Ver figura 98):

image 1f6d145a1a9ee8e8fc75c2fddeece1d1

Tabla 44. Tabla de Verdad Ejemplo Implementación de Funciones Lógicas con Decodificador.

Procedimiento:

F = A’B’C + A’BC + AB’C + ABC

a. Emplear un decodificador del mismo o mayor número de líneas de entrada que tenga la función a implementar. (Para este caso utilizaremos un decodificador 7442 que tiene 4 entradas y 10 Salidas) La entrada que no se necesite (La más significativa) se conecta a Tierra (GND).

b. Buscar cada una de las salidas del decodificador que corresponde con la combinación de las variables de entrada que tienen un 1 en la salida. (Para este caso S1, S3, S5, S7).

c. Para corregir la suma de términos de la salida F, se colocará una compuerta lógica que dependerá del codificador empleado teniendo en cuenta:

COMPUERTA OR: Para decodificadores con salidas activas en alto.

COMPUERTA NAND: Para decodificadores con salidas activas en bajo. (Esta es la que aplica para nuestro ejemplo, ya que, el CI7442 tiene sus salidas activas en Bajo).

d. En caso que una o varias combinaciones de la tabla de verdad que tienen un 1 en su salida no correspondan con las salidas del decodificador, se añadirán las compuertas que representarán las combinaciones correspondientes.

Page 96


image 08787c8ab2d4c07d9521eb5364614e4b

Figura 98. Ejemplo Implementación de Funciones Lógicas con Decodificador

3.9. Implementación de Funciones Lógicas con Multiplexores

Así como los decodificadores, los Multiplexores son Circuitos integrados de Mediana Escala de Integración (MSI), se pueden implementar funciones lógicas con ellos, ya que en su interior existen entre 100 y 999 compuertas lógicas.

Para la implementación de funciones Lógicas con Multiplexores se tendrán en cuenta dos casos, según el número de entradas de selección de éste vs entradas de la función a implementar así:

1. Empleo de Multiplexores de igual número de entradas de selección que variables de entrada de la función a implementar

2. Empleo de Multiplexores con número inferior de entradas de selección que variables de entrada de la función a implementar

Ejemplo: A partir de la siguiente expresión algebraica de la función F1, se explicará el procedimiento de diseño e implementación de Funciones Lógicas mediante multiplexores así

F1= A’B’C’D + A’B’CD + A’BCD’ + A’BCD + A’BC’D + A’BC’D’ + ABCD’ + ABC’D’ + AB’C’D

Procedimiento Caso 1: Empleo de Multiplexores de igual número de entradas de selección que variables de entrada de la función a implementar

A partir de la tabla de verdad de la Función F1 (Ver Tabla 45) se enumera en orden los pines de los datos de entrada del Multiplexor

Si el Valor de F1 correspondiente a las combinaciones de entrada está en uno (1) se conecta a Vcc (5V).

Si el Valor de F1 correspondiente a las combinaciones de entrada está en cero (0) se conecta a GND (Tierra).

En la Figura 99 se puede observar el ejemplo del circuito, aquí se utiliza el CI 74LS150.

Page 97


image 712076d9624bccfadba6f96fd1235146

Tabla 45. Empleo de Multiplexores de igual número de entradas de selección que

image 9466d54ee6c83e698b48ed1ffd77d6a2

Figura 99. Ejemplo Implementación de Funciones Lógicas con Multiplexores de igual número de entradas de selección que variables de entrada de la función a implementar.

Procedimiento Caso 2: Empleo de Multiplexores con número inferior de entradas de selección que variables de entrada de la función a implementar

Se Dibuja una Tabla (de minterminos Ver Tabla 46) que represente las posiciones en orden colocando los valores de la función a implementar (o Tabla de Verdad), que

Page 98


image 3a183c9d0f7abffb285f530c26e1eccd

para el caso del ejemplo 1 la expresión algebraica de F1 está dada por una suma de productos donde la función vale uno. Es importante aclarar que esta tabla no corresponde al Mapa de Karnaugh. El Circuito implementado se puede ver en la figura 100 ( con CI 74LS151).

En la Primera Columna y Primera Fila de la tabla 46 se pueden observar las variables de entrada de la Función, La más significativa (A) se deja aparte y le corresponderán los valores de 0 y 1 (Columna 1 filas 2 y 3), las demás variables menos significativas (BCD) corresponderán a las combinaciones (Fila 1 Columnas de la 2 hasta la 6)

En la tercera fila de la Tabla se colocaran en orden los Pines de Entrada del Multiplexor.

En la Cuarta Fila se indicará a qué conectar así:

Si los dos valores correspondientes al pin de entrada de datos (Columna del Dato) del Multiplexor (Filas 1 y 2) están en cero (0) se conecta a GND (Tierra).

Si los dos valores correspondientes al pin de entrada de datos (Columna del Dato) del Multiplexor (Filas 1 y 2) están en uno (1) se conecta a GND (Tierra).

Si el Bit de la fila 2 está en uno (1) y el de la fila 2 está en cero (0) correspondientes al pin de entrada de datos (Columna del Dato), se conectará a A’.

Si el Bit de la fila 2 está en cero (0) y el de la fila 2 está en uno (1) correspondientes al pin de entrada de datos (Columna del Dato), se conectará a A.

image 89bcb849a7553cd800d1e4109fe73a30

Tabla 46. Tabla de Verdad Ejemplo Implementación de Funciones Lógicas con Decodificador.

Page 99


image 946fdea99767a43b026a4ec74786484a

Multiplexores con número inferior de entradas de selección que variables de entrada de la función a implementar

4. Lógica Secuencial

En la lógica secuencial a diferencia de la lógica combinatoria se hace uso de un elemento básico llamado flip-flop. El FLIP-FLOP es un elemento de memoria que almacena un bit de información. Algunos textos usan este nombre para referirse a los cerrojos, pero en la mayoría de las publicaciones se hace la diferencia entre FLIP-FLOP y latch. Este último término es el que traducimos como cerrojo.

Los circuitos lógicos secuenciales tienen la capacidad de memorizar información, en consecuencia, los valores de las salidas, en un determinado momento, no dependen exclusivamente de los valores de las entradas en ese instante, sino que dependen también de los que estuvieron presentes con anterioridad.

Los circuitos lógicos secuenciales se dividen básicamente en dos grupos: Los circuitos asincrónicos y los circuitos sincrónicos. Los primeros pueden cambiar los estados de sus salidas como resultado del cambio de los estados de las entradas, mientras que los circuitos sincrónicos pueden cambiar el estado de sus salidas en instantes de tiempo discretos bajo el control de una señal de reloj.

Existen tres circuitos clasificados según la forma en que retienen o memorizan el estado que adoptan sus salidas, estos son:

Circuitos Biestables o FLIP-FLOP (FF): Son aquellos que cambian de estado cada vez que reciben una señal de entrada (ya sea nivel bajo o alto), es decir retienen el dato de salida aunque desaparezca el de entrada. Conclusión: Poseen dos estados estables

image b180a80aa24c43dc6fde83c0e396fd85

Circuitos Monoestables: Estos circuitos cambian de estado sólo si se mantiene la señal de entrada (nivel alto o bajo), si ésta se quita, la salida regresa a su estado anterior. Conclusión: Poseen un sólo estado estable y otro metaestables.

Page 100


image b03b3448c60179d36b1fbe80ffc9113c

Circuitos Astables o Aestables: Son circuitos gobernados por una red de tiempo R-C (Resistencia-Capacitor) y un circuito de realimentación, a diferencia de los anteriores se puede decir que no poseen un estado estable sino dos metaestables.

image 0d61f1bd55e691350eb45f8ee3d754c7

4.1. Oscilador Simétrico con compuertas NOT:

Supongamos que en determinado momento la salida del inversor B está a nivel "1", entonces su entrada esta a "0", y la entrada del inversor "A" a nivel "1". En esas condiciones C se carga a través de R, y los inversores permanecen en ese estado.

Cuando el condensador alcanza su carga máxima, se produce la conmutación del inversor "A". Su entrada pasa a "0", su salida a "1" y la salida del inversor "B" a "0", se invierte la polaridad del capacitor y este se descarga, mientras tanto los inversores permanecen sin cambio, una vez descargado, la entrada del inversor "A" pasa nuevamente a "1", y comienza un nuevo ciclo.

Este oscilador es simétrico ya que el tiempo que dura el nivel alto es igual al que permanece en nivel bajo, este tiempo está dado por T = 2,5 R C

T expresado en segundos, R en Ohms, C en Faradios

Ahora bien, si recordamos las leyes de De Morgan, uniendo las entradas de compuertas NAND o compuertas NOR se obtiene la misma función que los inversores o compuertas NOT.

image 640a05ace396d656f8be91ddac3b2dc6

Page 101


image e1fb34203b077550bbf61f36e5077e4f

4.2. Disparadores Schmitt Trigger

Las compuertas SCHMITT TRIGGER o disparadores de Schimitt, son iguales a las compuertas vistas hasta ahora, pero tienen la ventaja de tener umbrales de conmutación muy definidos llamados VT+ y VT-, esto hace que puedan reconocer señales que en las compuertas lógicas comunes serían una indeterminación de su estado y llevarlas a estados lógicos definidos, mucho más definidos que las compuertas comunes que tienen un solo umbral de conmutación.

image 24bfd49a628b875373378b174492416a

Si la salida está en un nivel lógico 1, C comienza a cargarse a través de R, a medida que la tensión crece en la entrada de la compuerta, esta alcanza el nivel VT+ y produce la conmutación de la compuerta llevando la salida a nivel 0 y el capacitor comienza su descarga. Cuando el potencial a la entrada de la compuerta disminuye por debajo del umbral de VT-, se produce nuevamente la conmutación pasando la salida a nivel 1, y se reinicia el ciclo.

image f9ae6bffe3827f7edc01ed32d8d9b026

4.3. Oscilador de Cristal

El cristal de cuarzo es utilizado como componente de control de la frecuencia de circuitos osciladores convirtiendo las vibraciones mecánicas en voltajes eléctricos a una frecuencia específica. Esto ocurre debido al efecto "piezoeléctrico". La piezoelectricidad es electricidad creada por una presión mecánica. En un material piezoeléctrico, al aplicar una presión mecánica sobre un eje, dará como consecuencia

Page 102


image dbf943304a2c6b2b73658c5645ee84d6

la creación de una carga eléctrica a lo largo de un eje ubicado en un ángulo recto respecto al de la aplicación de la presión mecánica. En algunos materiales, se encuentra que aplicando un campo eléctrico según un eje, produce una deformación mecánica según otro eje ubicado a un ángulo recto respecto al primero. Por las propiedades mecánicas, eléctricas, y químicas, el cuarzo es el material más apropiado para fabricar dispositivos con frecuencia bien controlada.

image ecef5aae2cfa62c299d82739d5357e0c

Figura 105. Ubicación de elementos específicos dentro de una piedra de cuarzo

Frecuencia Fundamental vs. Frecuencia de Sobretono: Esto es de importancia cuando se especifica un cristal. Cuando se incrementa la frecuencia solicitada, el espesor del cuerpo del cristal disminuye y por supuesto existe un límite en el proceso de fabricación. Alrededor de 30MHz, el espesor de la placa del cristal comienza a ser muy delgada.

Debido a que el corte "AT" (ver figura 105) resonará a números enteros impares múltiplos de de la frecuencia fundamental, es necesario especificar el orden del sobretono deseado para cristales de altas frecuencias.

Potencia de trabajo (Drive Level): Es la potencia disipada por el cristal. Está normalmente especificada en micro o mili vatios, siendo un valor típico 100 micro vatios.

Tolerancia en la frecuencia: La tolerancia en la frecuencia se refiere a la máxima desviación permitida y se expresa en partes por millón (PPM) para una temperatura especificada, usualmente 25°C.

Estabilidad de la frecuencia: La estabilidad de la frecuencia se refiere a la máxima desviación en PPM, en un determinado rango de temperatura. La desviación está tomada con referencia a la frecuencia medida a 25°C.

Envejecimiento: El envejecimiento se refiere a los cambios acumulativos en la frecuencia del cristal con el transcurrir del tiempo. Los factores que intervienen son: exceso en la potencia disipada, efectos térmicos, fatiga en los alambres de armado y pérdidas en la elasticidad del cristal. El diseño de circuitos considerando bajas temperaturas ambientales y mínimas potencias en el cristal reducirán el envejecimiento.

Circuito Eléctrico Equivalente: El circuito eléctrico equivalente que se muestra a continuación es un esquema del cristal de cuarzo trabajando a una determinada frecuencia de resonancia. El condensador Co en paralelo, representa en total la capacidad entre los electrodos del cristal más la capacidad de la carcasa y sus terminales. R1, C1 y L1 conforman la rama principal del cristal y se conocen como componentes o parámetros motional donde:

Page 103


image 343cfd41a911b338715c3602c0debc41

L1 representa la masa vibrante del cristal,

C1 representa la elasticidad del cuarzo y

R1 representa las pérdidas que ocurren dentro del cristal.

image c82f3804807cb6d6ea4424150fe68406

Por ejemplo, un oscilador implementado con dos inversores y un Cristal de cuarzo, el trimer de 40pf se incluye para un ajuste fino de la frecuencia de oscilación, mientras el circuito oscilante en si funciona con un solo inversor, se incluye otro para actuar como etapa separadora.

image cf2c0ad3fe0f475b1290bbb4c63c5bac

Page 104


image 272685260797d381cc3fd195d4961340

4.4. Osciladores Controlados

Se trata simplemente de controlar el momento en que estos deben oscilar, tenemos dos opciones, que sean controlados por un nivel alto o por un nivel bajo.

Se tiene en cuenta que los osciladores vistos hasta el momento solo pueden oscilar cambiando el estado de sus entradas en forma alternada, lo que haremos será forzar ese estado a un estado permanente, como dije anteriormente ya sea a 1 o 0.

image b1f68527bbbda322946cbd1b7df18feb

4.5. Circuito Integrado 555

Este Circuito Integrado (C.I.) es para los experimentadores y aficionados un dispositivo barato con el cual pueden hacer muchos proyectos. Es un temporizador es tan versátil que se puede, incluso utilizar para modular una señal en frecuencia modulada (F.M.)

Está constituido por una combinación de comparadores lineales, Flip-Flops (básculas digitales), transistor de descarga y excitador de salida.

Es muy popular para hacer osciladores que sirven como reloj (base de tiempo) para el resto del circuito. A continuación se explicara la configuración de sus pines:

image 110547e9a19af7b803782ce271b254de

Page 105


image 0725e440706fb0a7800b3acc14dd6eab

Pin 1 - Tierra o masa

Pin 2 - Disparo: Es en esta patilla, donde se establece el inicio del tiempo de retardo, si el 555 es configurado como monostable. Este proceso de disparo ocurre cuando este pin va por debajo del nivel de 1/3 del voltaje de alimentación. Este pulso debe ser de corta duración, pues si se mantiene bajo por mucho tiempo la salida se quedará en alto hasta que la entrada de disparo pase a alto otra vez.

Pin 3 - Salida: Aquí veremos el resultado de la operación del temporizador, ya sea que esté conectado como monostable, astable u otro. Cuando la salida es alta, el voltaje será el voltaje de aplicación (Vcc) menos 1.7 Voltios. Esta salida se puede obligar a estar en casi 0 voltios con la ayuda de la patilla reset ( Pin 4)

Pin 4 - Reset: Si se pone a un nivel por debajo de 0.7 Voltios, pone la patilla de salida 3 a nivel bajo. Si por algún motivo esta patilla no se utiliza hay que conectarla a Vcc para evitar que el 555 se "reinicie"

Pin 5 - Control de voltaje: Cuando el temporizador se utiliza en el modo de controlador de voltaje, el voltaje en esta patilla puede variar casi desde Vcc (en la práctica como Vcc-1 voltio) hasta casi 0 V (aprox. 2 Voltios). Así es posible modificar los tiempos en que la patilla 3 está en alto o en bajo independiente del diseño (establecido por las resistencias y condensadores conectados externamente al 555). El voltaje aplicado a la patilla 5 puede variar entre un 45 y un 90 % de Vcc en la configuración monoestable. Cuando se utiliza la configuración astable, el voltaje puede variar desde 1.7 voltios hasta Vcc. Modificando el voltaje en esta patilla en la configuración astable causará la frecuencia original del astable sea modulada en frecuencia (FM). Si esta patilla no se utiliza, se recomienda ponerle un condensador de 0.01uF para evitar las interferencias.

Pin 6 - Umbral: Es una entrada a un comparador interno que tiene el 555 y se utiliza para poner la salida (Pin 3) a nivel bajo.

Pin 7 - Descarga: Utilizado para descargar con efectividad el condensador externo utilizado por el temporizador para su funcionamiento.

Pin 8 - V+: También llamado Vcc, es el pin donde se conecta el voltaje de alimentación que va de 4.5 voltios hasta 16 voltios (máximo). Hay versiones militares de este integrado que llegan hasta 18 Voltios.

El CI 555 se puede conectar para que funcione de diferentes maneras, entre los más importantes están: como multivibrador astable y como multivibrador monoestable.

4.6. CI 555 como Multivibrador Astable: Este tipo de funcionamiento se caracteriza por una salida con forma de onda cuadrada (o rectangular) continua de ancho predefinido por el diseñador del circuito. El esquema de conexión es el que se muestra. La señal de salida tiene un nivel alto por un tiempo T1 y en un nivel bajo un tiempo T2. Los tiempos de duración dependen de los valores de R1 y R2.

T1 = 0.693(R1+R2)C1 y T2 = 0.693 x R2 x C1 (en segundos)

Page 106


image e880fc47b90fac7b561b037fbd58ba9e

La frecuencia con que la señal de salida oscila está dada por la fórmula:

image 3504dea10e09c67bdac66809929d46dd

Hay que recordar que el período es el tiempo que dura la señal hasta que ésta se vuelve a repetir (Tb - Ta), ver figura 109.

4.7. CI 555 como Multivibrador Monoestable: En este caso el circuito entrega a su salida un solo pulso de un ancho establecido por el diseñador (tiempo de duración) Ver figura 110.

El esquema de conexión es el que se muestra. La Fórmula para calcular el tiempo de duración (tiempo que la salida está en nivel alto) es:

T = 1.1 x R1 x C1 (en segundos).

Observar que es necesario que la señal de disparo, sea de nivel bajo y de muy corta duración en el PIN 2 del C.I. para iniciar la señal de salida.

image 67df8a697cdce81b67c756e0fb3b4170

4.8. Circuitos Monoestables:

Monoestable sencillo con un inversor: Considere inicialmente la entrada del inversor en nivel bajo a través de R y C, entonces su salida estará a nivel alto, ahora bien, un 1 lógico de poca duración en la entrada, hace que se cargue el capacitor y

Page 107


image 1625b6e6163ec0e6a50a62e4d2347d9d

conmute el inversor entregando un 0 lógico en su salida, y este permanecerá en ese estado hasta que la descarga del capacitor alcance el umbral de histéresis de la compuerta y entonces conmutará y regresará a su estado inicial (Ver figura 111)

image 838c5ccbc16715a2e48fcc167209ac63

4.9. Circuitos Biestables (FLIP-FLOPs):

Los circuitos biestables son muy conocidos y empleados como elementos de memoria, ya que son capaces de almacenar un bit de información. En general, son conocidos como FLIP-FLOP y poseen dos estados estables, uno a nivel alto (1 lógico) y otro a nivel bajo (cero lógico).

Observación: es posible que al presionar el pulsador se produzcan rebotes eléctricos, es como haberlo presionado varias veces, y sí... los resultados serán totalmente inesperados, así que si se utilizan los cables para probar estos circuitos no nos servirán de mucho, es conveniente utilizar un pulso de reloj para realizar estas pruebas, un circuito astable o monoestable, que llamaremos pulso de reloj o Clock o CK.

Por lo general un FLIP-FLOP dispone de dos señales de salida, una con el mismo valor de la entrada y otra con la negación del mismo o sea su complemento.

Page 108


image d5f4ac10f3c21fc08512936ce4af73b0

Existen varios tipos de FLIP-FLOPs y variaciones de estos que permiten realizar funciones específicas, dependiendo de la aplicación. A continuación veremos algunos de ellos.

4.9.1. FLIP-FLOP Básico R-S (Reset-Set): Se puede construir uno fácilmente utilizando dos compuertas NAND o NOR conectadas de tal forma de realimentar la entrada de una con la salida de la otra, quedando libre una entrada de cada compuerta, las cuales serán utilizadas para control Set y Reset.

image 649f9a3b84f1ce37b438a64e66dda12e

Figura 114. FLIP-FLOP Básico R-S con compuertas NOR y NAND

Las resistencias R1 y R2 utilizadas en ambos casos son de 10k y empleadas solamente para evitar estados indeterminados, observa el circuito con compuertas NOR... Un nivel alto aplicado en Set, hace que la salida negada Q’ sea 0 debido a la tabla de verdad de la compuerta NOR, al realimentar la entrada de la segunda compuerta y estando la otra a masa, la salida normal Q será 1. Ahora bien, esta señal realimenta la primer compuerta, por lo tanto no importan los rebotes, y el FF se mantendrá en este estado hasta que le des un pulso positivo a la entrada Reset

Conclusión: El Biestable posee dos entradas Set y Reset que trabajan con un mismo nivel de señal, provee dos salidas, una salida normal Q que refleja la señal de entrada Set y otra Q’ que es el complemento de la anterior. Si comparas los dos FLIP-FLOP representados en la figura 111, verás que sólo difieren en los niveles de señal que se utilizan, debido a la tabla de verdad que le corresponde a cada tipo de compuerta. Este suele presentar un estado indeterminado cuando sus dos entradas R y S se encuentran en estado alto (ver tablas 47 y 48).

image cd4d629d3304e9737855a5ed8b33ccb7

Tabla 48. Estados lógicos del FLIP-FLOP R-S con compuertas NAND

Page 109


image 14d93722cd6caaa182f3dd2e6b102066

Tabla 49. Estados lógicos del FLIP-FLOP R-S con compuertas NOR

4.9.2. FLIP FLOP RS - Controlado por un pulso de reloj: En este caso voy a utilizar el ejemplo de las compuertas NAND, pero le agregaremos dos compuertas más, y uniremos la entrada de cada una a una señal de Reloj

image fb4dd5a67068f3be69ad041286bcfbb1

Necesitamos un generador de pulsos (Astable) para conectarlo en la entrada Clock, una vez lo tenemos pasamos a interpretar el circuito...

Sorpresa, el FF se mantiene sin cambios en Q y Q’. Fíjate que ahora no importa el estado de Set y Reset, esto se debe a su tabla de verdad (basta que una de sus entradas sea 0 para que su salida sea 1) por lo tanto Set y Reset quedan inhabilitadas. Es decir que se leerán los niveles de Set y Reset sólo cuando la entrada Clock sea 1.

NOTA 1: El primer circuito que vimos (FLIP-FLOP simple) es llamado FLIP-FLOP Asíncrono ya que puede cambiar el estados de sus salidas en cualquier momento, y sólo depende de las entradas Set y Reset.

NOTA 2: El segundo circuito es controlado por una entrada Clock y es llamado FLIP-FLOP Síncrono ya que el cambio de estado de sus salidas esta sincronizado por un pulso de reloj que realiza la lectura de las entradas en un determinado instante.

Page 110


image e889ec0bf6f3139aa7a12019e62f3ee4

Si pones un 0 en Set y la entrada Clock está a 1 ocurrirá todo lo que se describe en el esquema anterior, veamos figura 116 que ocurre cuando Clock pasa a 0...

4.9.3. FLIP-FLOP D: En este circuito no existe la posibilidad de que las dos entradas estén a nivel alto ya que posee un inversor entre la una y la otra de tal modo que R = ~S, observa la figura 116, aquí se supone la entrada Dato a nivel 0...

image a4194fd17653210ddd9becf006c98ba0

Veamos que ocurre cuando la entrada Dato, pasa a 1 y CK cambia de estado pasando también a 1, según como se van transmitiendo los datos por las compuertas resulta Q = 1 y Q’ = 0.

image 851d96b301ce36a3d961d0364415068d

Para que el FLIP-FLOP retorne a su estado inicial, la entrada Dato D deberá pasar a 0 y sólo se transferirá a la salida si CK es 1. Nuevamente se repite el caso que para leer el datos debe ser CK = 1. En forma general se representa el FLIP-FLOPD con el siguiente símbolo

image c1ce89b76d10cbc9461ede2cd227a5c4

La forma de operación de este FLIP-FLOP es muy sencilla:

Page 111


image 97d1c59f685526c1f50b3ae5aa42ad2a

Cuando D=0 y se presenta un cambio de 0 a 1 lógico en la entrada de reloj del FLIP-FLOP la salida Q=0.

Cuando D=1 y se presenta un cambio de 0 a 1 lógico en la entrada de reloj del FLIP-FLOP la salida Q=1.

En otras palabras, el dato en D se transfiere y memoriza en Q cada vez que se presenta una transición de 0 a 1 lógico en la señal de reloj (CLK); esta condición se conoce con el nombre de transición por flanco positivo.

La condición complementaria a la anterior es cuando la transición es de 1 a 0 lógico, en este caso se dice que la transición se da por flanco negativo.

Este FLIP-FLOP se puede utilizar para que la transición se de por flanco negativo, simplemente basta con poner a la entrada del reloj (CLK) un inversor como en la figura 119.

image 976f6e77b44a24d5f43ff4b227fc6f34

4.9.4. FLIP-FLOP D PRESET-CLEAR

Este FLIP-FLOP es similar al FLIP-FLOP D, excepto que este tiene dos entradas asincrónicas activadas en bajo llamadas Preset y Clear. Estas entradas como su nombre lo indican sirven respectivamente para poner en 1 y 0 la salida Q del FLIP-FLOP independientemente de la señal de reloj. La configuración de este FLIP-FLOP y su representación abreviada se describen en la figura 120

image 72611f2222e3df58f175447e118b4fad

La gran parte de los Circuitos Integrados que contienen FLIP-FLOPs vienen con entradas asincrónicas de inicialización y borrado (Preset y Clear), comúnmente representados con las abreviaturas PRE y CLR.

Page 112


image 5cabf1ae11751d50c3192adaabca6518

4.9.5. FLIP-FLOPJ-K

Este FLIP-FLOP es una versión modificada del FLIP-FLOP D, y su aplicación es muy difundida en el Análisis y Diseño de Circuitos Secuenciales. El funcionamiento de este dispositivo es similar al FLIP-FLOP S-R, excepto que en este no se presentan indeterminaciones cuando sus dos entradas se encuentran en 1 lógico, si no que el FLIP-FLOP entra en un modo de funcionamiento llamado modo complemento, en el cual, la salida Q cambia a su estado complementario después de cada pulso de reloj. La configuración de este FLIP-FLOP y su representación abreviada se muestran en la figura 121 y en la tabla 51 se indican los estados de entrada y salida de este FLIP-FLOP.

image 341bd8120a402bdefea66644785723ad

Note que las entradas J y K controlan el estado de este FLIP-FLOP de la misma manera que en el FLIP-FLOPD. Cuando las entradas son J=1 y K=1 no generan un estado indeterminado a la salida, sino que hace que la salida del FLIP-FLOP cambie a su estado complementario.

image d245f93400f6cadb28ced593a2a8d1cb

4.9.6. FLIP-FLOP T (Toggle)

Este FLIP-FLOP recibe su nombre por la función que realiza (Toggle) cambiando el estado de la salida por su complemento. Es una modificación del FLIP-FLOP J-K limitándolo a cumplir exclusivamente esta función, la cual se logra uniendo las terminales J y K como se muestra en la figura 122.

image 854110b40c670712743c1d9690036b6c

Page 113


image 9d1aacfabce3f34fbaa402d42941990f

La tabla de verdad de este FLIP-FLOP se limita a las líneas 1 y 4 del FLIP-FLOP J-K.

image 35ed7afe4f0cedd099cde0b3c00d511c

5. Contadores y Registros

Son circuitos digitales lógicos secuenciales de salida binaria o cuenta binaria, característica de temporización y de memoria, por lo cual están constituidos a base de flip-flops.

Características Importantes: 1. Un número máximo de cuentas (módulo del contador), 2. Cuenta ascendente o descendente, 3. Operación síncrona o asíncrona,

4. Autónomos o de autodetención.

Utilidad Se utilizan para contar eventos. Ejemplos: 1. Número de pulsos de reloj, 2. Medir frecuencias, 3. Se utilizan como divisores de frecuencia y para almacenar datos (en un reloj digital), 4. Se utilizan para direccionamiento secuencial y algunos circuitos aritméticos.

5.1. Contadores de Propagación: Los contadores digitales o binarios en esencia son un grupo de FLIP-FLOPs dispuestos de tal manera que sus salidas proporcionan una secuencia determinada como respuesta a los acontecimientos que ocurren a la entrada del reloj. Estos acontecimientos pueden ser por lo general pulsos de reloj (sincrónicos) o acontecimientos aleatorios (asincrónicos) alimentados como entradas por la terminal de reloj de los FLIP-FLOPs. Los contadores de propagación se basan en este último principio para generar secuencias binarias que cambian como respuesta a eventos.

Para conformar un contador de n bits solo basta tener n FLIP-FLOPs, uno para cada BIT de información. A continuación se dará una descripción sobre la estructura y funcionamiento de los contadores de propagación más comunes en lógica secuencial.

5.2. Contador de propagación ascendente: El FLIP-FLOP T, tiene especial aplicación en los contadores, debido a la habilidad que tienen para cambiar a su estado complementario, después de un evento de reloj.

image 68f9d456e438762d592b7e372f5f1250

Page 114


image 1b1e64c4852fc1e409e74c637ed86d32

Observe la forma en que opera este circuito. Los pulsos de reloj se aplican únicamente al FLIP-FLOP A, así que la salida de este FLIP-FLOP se complementará cada vez que haya una transición negativa en la entrada de reloj.

La salida del FLIP-FLOP A se aplica directamente a la entrada de reloj del FLIP-FLOP B, de tal forma que la salida de este FLIP-FLOP se complementa cada vez que su entrada de reloj pasa de 1 a 0 lógico. De forma similar se comportan los FLIP-FLOPs C y D cambiando su estado cada vez que reciben una transición negativa en sus respectivas entradas de reloj.

Las salidas de los FLIP-FLOPs D, C, B y A representan un numero binario de 4 bits, siendo D el bit más significativo y al menos significativo.

Este contador cuenta en forma ascendente desde 0000 hasta 1111, es decir que tiene 16 estados diferentes (2 4 =16). En electrónica digital, existe una notación que define el número de estados de un contador, designada por la sigla MOD más él numero de estados, por esta razón se dice que es un contador MOD16. Este tipo de contadores actúa como divisores de frecuencia. Si se hace un análisis sobre la frecuencia de las señales de salida de los FLIP-FLOPs se puede observar que la señal Q 3 tiene una frecuencia dada por la siguiente expresión:

image f26441ad34f7edf51035f44c9b71dacd

Donde f CLK corresponde a la frecuencia de la señal del reloj. De igual forma las frecuencias de las salidas de los demás FLIP-FLOPs estarían dadas por las siguientes expresiones:

image a125ed8b432e03ccdd2199a353c6f99b

Se plantea como ejercicio dibujar la señal de reloj y las señales de salida de los FLIP-FLOPs para confirmar estos resultados.

Este contador se puede modificar para que opere a cualquier número MOD entre 1 y 16. De forma general un contador de n bits se puede modificar para cualquier número MOD2 n , y para lograrlo es necesario utilizar la entrada asincrónica de borrado CLR de los FLIP-FLOPs, como veremos a continuación.

5.3. Contadores con números MOD < 2 n

Los contadores básicos pueden ser modificados para producir números MOD < 2 n , permitiendo que el contador omita estados que normalmente hacen parte de la

Page 115


image 464dfaa2e7f4ea688141349bb46dcff1

secuencia de conteo. La forma más usual para lograr esto se puede ver en la Figura 123, la cual corresponde a un contador de 4 bits MOD10. Este contador es conocido también como contador décadas.

image 541507e3039e154e7bb081b0508bcaed

Asumiendo que la compuerta NAND no estuviera presente, el contador sería MOD16, sin embargo la presencia de esta compuerta altera el funcionamiento normal cuando las salidas Q 3 y Q 1 que van a la compuerta son 1. Esta condición ocurrirá cuando el contador pase del estado 1001 (9) al 1010 (10), haciendo que las entradas asíncronas CLR de los FLIP-FLOPs sean 0 y por tanto el contador pase al estado 0000. En la Tabla 54, se resumen los estados de este contador.

En el momento que el contador llega al estado 1001 y ocurre una nueva transición en la entrada de reloj (CLK), se presenta el estado 1010 (10) de forma temporal, y su duración depende del tiempo de propagación de la compuerta NAND. En la Figura 123 se observa el estado temporal entre los estados 1001 y 0000.

image cfee712159253b0a64a67bc8fb2459e3

Page 116


image 9a41a6edd42ec5e247b57b1b3e51aa3c

Figura 124. Estados de transición del contador de propagación MOD10

5.4. Contador de propagación descendente:

Los contadores descendentes cuentan en forma inversa, por ejemplo de 1111 hasta 0000. En la Figura 125 se observa un contador descendente de 4 bits. Note que este contador es similar al ascendente excepto que las salidas ahora son su complemento.

image d719736e2b8ea7e3aec6e42d49e793eb

En la tabla 55 se muestran los estados de las salidas de los FLIP-FLOPs, donde se observa que después de cada pulso sé decremento la secuencia binaria representada por las salidas Q 3 a Q 0.

image d5494eaf784cd81aa639660bf1b43e3b

Ejercicio: Dibujar dos contadores binarios de 4 bits (ascendente y descendente) utilizando FLIP-FLOPs T que respondan al flanco negativo del la señal del reloj.

Page 117


image 74590fc590a306a9af4b70cf51e800a1

5.5. Contadores Sincrónicos

El inconveniente que se presenta con los contadores de propagación de la lección anterior, consiste básicamente en que no todos los FLIP-FLOPs cambian simultáneamente con la señal del reloj. Los contadores asincrónicos deben esperar que la señal se propague desde el primer FLIP-FLOP que representa el BIT menos significativo hasta el FLIP-FLOP del BIT más significativo.

En los contadores sincrónicos a diferencia de los contadores de propagación o asincrónicos, la señal de reloj se aplica simultáneamente a todos los FLIP-FLOPs. Estos contadores por lo general tienen más circuitería que los contadores de propagación y están conformados por FLIP-FLOPs J-K. Para entender el funcionamiento de este tipo de contadores es necesario observar con atención la secuencia para determinar los componentes que se deben agregar (generalmente FLIP-FLOPs y compuertas).

Analicemos el funcionamiento del contador de 3 bits que se muestra en la figura 126, y cuyos estados se resumen en la tabla 56. Asumamos que inicialmente el contador se encuentra en el estado 000. Note que el estado de la salida Q 0 debe cambiar después de cada transición positiva del reloj (CLK), así que el FLIP-FLOP F0 debe tener sus entradas J y K en 1 lógico para que cumpla esta función, tal como se muestra en la figura 126.

image e2e2a7333c837c4513243f5188ac7ebf

Page 118


image adee65f9a79d6eea9ae2ea7dadd9839f

Ahora note que la salida Q 1 cambia a su estado complementario cada vez que Q 0 =1 (ver tabla 56), así que las entradas J y K del FLIP-FLOP F1 deben estar conectadas a la salida Q 0 . De esta forma cada vez que Q0=1 y ocurra una transición positiva del reloj el FLIP-FLOP cambiara de estado tal como se observa en la secuencia.

Finalmente nos resta analizar el estado de la salida Q 2 , para lo cual se debe observar nuevamente la tabla 56.

Note que Q 2 cambia a su estado complementario cada vez que Q 1 y Q 0 son 1, así que la forma de implementarlo en el contador es conectado Q 1 y Q 0 como entradas a una compuerta AND y cuya salida debe ir a las entradas J y K del FLIP-FLOP F2.

Observe que este FLIP-FLOP queda en estado complemento (toggle), cada vez que se presente esta condición y ocurra una transición positiva en el reloj (CLK).

image f65973be85f34ab3a89e06983db9fc38

Se puede hacer un análisis similar al anterior para entender el funcionamiento de este contador, sin embargo, observe que la secuencia de 3 bits es parte de la secuencia para 4 bits, así que solo basta agregar un FLIP-FLOPJK y una compuerta AND que ponga el FLIP-FLOPF3 en modo complemento cada vez que Q 2 , Q 1 y Q 0 son 1, para lograr que el contador genere finalmente la secuencia de la tabla 57.

Al igual que el contador de propagación de la lección anterior, el contador sincrónico se puede modificar para cambiar su número MOD, mediante el uso de compuertas NAND y las entradas asincrónicas CLR de los FLIP-FLOPs. En la Figura 127 se observa cómo se puede convertir este contador MOD16 a MOD10, agregando simplemente una compuerta NAND de dos entradas.

Page 119


image c9f5c3758fc9290d7cfeb7eb2ef76ee8

Figura 127. Componente adicional para convertir un contador MOD16 a MOD10

5.6. Ejemplos de Contadores en Circuito Integrado

En el comercio existen varios contadores en circuito integrado que aparte de realizar la función de generar secuencias binarias, tiene otras funciones adicionales que generalmente tienen que ver con la configuración y modo de funcionamiento. Entre las funciones que se pueden encontrar en estos circuitos integrados se encuentran opciones de selección de secuencia ascendente o descendente, borrado así como inicialización entre otras.

A continuación se presenta una lista de algunos contadores en circuito integrado de uso difundido en Electrónica Digital, con una descripción detallada de sus pines.

Page 120


image 906c4edf55a98b193be42d09594c1509

Page 121


image 67fe45698f64a8e5ce8442c0782451ad

Se plantea como ejercicio, adquirir algunos de estos circuitos integrados comerciales y verificar su funcionamiento.

5.7. Registros de Corrimiento

En el procesamiento digital de datos se necesita con frecuencia retener los datos en ciertas ubicaciones intermedias del almacenamiento temporal, con el objeto de realizar algunas manipulaciones específicas, después de las cuales los datos modificados se pueden enviar a otra localización similar.

Los dispositivos digitales donde se tiene este almacenamiento temporal se conocen como registros de corrimiento o registros de desplazamiento. Dado que la memoria y el desplazamiento de información son sus características básicas, los registros son circuitos secuenciales constituidos por FLIP-FLOPs, donde cada uno de ellos maneja un bit de la palabra binaria.

Por lo general se da el calificativo de registro a un conjunto de ocho (8) o más FLIP-FLOPs. Muchos registros usan FLIP-FLOPs tipo D aunque también es común el uso de FLIP-FLOPs JK. Ambos tipos pueden obtenerse sin dificultad como unidades

Page 122


image a5c835c8e61df13e092ca9d128cebb79

comerciales. Son muy populares los de 8 bits, ya que en los computadores con frecuencia manipulan bytes de información.

5.8. Registro de Corrimiento Básico

Un registro de corrimiento básico es un conjunto de FLIP-FLOPs conectados de tal forma que los números binarios almacenados en él son desplazados de un FLIP-FLOP al siguiente con cada pulso de reloj aplicado.

Con cada flanco ascendente del reloj la información se va desplazando hacia la derecha una posición. En la Figura 128 se observan las formas de onda de las salidas de cada FLIP-FLOP, donde se observa el desplazamiento de los datos de izquierda a derecha.

image 780f5fb3362958a9fca216a72957a17c

5.9. Tipos de Entradas y Salidas en los Registros de Corrimiento

Existen diversas formas de cargar o extraer información en un registro de corrimiento. En la figura 129 se muestran las distintas formas de mover la información en un registro de corrimiento.

image 588c276b382364f308f5238f778b66c9

Figura 129. Tipos de Entradas y Salidas en los registros de corrimiento

Page 123


image bbb6b82c526470b1202c4c209a755f54

Las combinaciones de Entrada/Salida más comunes en los registros de corrimiento son: Entrada Serie/Salida Paralelo y Entrada Paralelo/Salida Serie. A continuación se dará una descripción sobre estos dos modos de funcionamiento.

Entrada Serie - Salida Paralelo: Es la forma más usual del tipo de entrada y salida de datos en los registros de corrimiento. En la Figura 130 se observa el esquema de un registro de esta clase. La entrada asincrónica CLR que se observa, es usada para poner todos los bits del registro en 0. Existen circuitos integrados como el 74HC164 que funcionan de esta forma.

image 657552ca09bc71b31d64fcfb482d3a92

Figura 130. Registro de corrimiento Entrada serie - Salida paralelo

Entrada paralelo - Salida serie: En la Figura 131 se observa el esquema de un registro de este tipo. LOAD: Las entradas en paralelo se almacenan en los FLIP-FLOPs internos (entrada asincrónica), SHIFT: Corrimiento del puerto hacia la derecha (entrada sincrónica), entrada serie por el primer FLIP-FLOP y salida serial por el último. Existen circuitos integrados como el 74HC165 que funcionan con base en este esquema.

image 50ee96dbfaaff00581e2f02f8ee828ff

Figura 131. Registro de corrimiento Entrada paralelo - Salida serie

5.10. Registros de corrimiento bidireccionales

Este tipo de registro tiene la opción de elegir la dirección en que se transmiten los datos. Estos registros tienen una señal de control que permite seleccionar el sentido de desplazamiento de los datos. En la Figura 132 se observa el circuito lógico de un registro bidireccional de 4 bits.

Page 124


image 02b8b93b7f8919ff0dbe51fd147e99ae

Para propósitos de entender el funcionamiento de este registro se ha dispuesto de forma vertical, para mostrar cómo se desplazan los datos. Cuando la entrada ABA/ARR' se encuentra en 1 lógico, los datos se desplazan hacia abajo y cuando esta es 0 lógico los datos se desplazan hacia arriba.

Cuando la señal de control ABA/ARR' es 1, las compuertas marcadas con A se activan, permitiendo que el dato de cualquier FLIP-FLOP pase al FLIP-FLOP inmediatamente inferior después de que ocurra una transición positiva en la señal del reloj, de esta forma la información de desplaza por las líneas marcadas en azul que se observan en la figura 132.

Cuando la señal de control ABA/ARR' es 0, las compuertas marcadas con B se activan y el dato de cualquier FLIP-FLOP se pasa al FLIP-FLOP inmediatamente superior. Las líneas marcadas en rojo en la figura 132 indican el canal de transmisión de los datos de un FLIP-FLOP a otro para esta condición.

Note que las compuertas marcadas como A y B se activan de forma complementaria, es decir, mientras se activan aquellas marcadas como A las marcadas como B se encuentran inactivas y viceversa.

Page 125


image a37af64eee81c9650b6e209d3174b23f

5.11. Registros en Circuito Integrado

En el mercado existen actualmente varios circuitos integrados que desempeñan su función como registros, en esta sección mencionaremos algunos de estos registros disponibles en lógica TTL y CMOS.

Circuito Integrado 74HC373

Este integrado contiene 8 Cerrojos tipo D con salidas triestado. En la figura 133 se observa el esquema de conexiones interno y la descripción de sus entradas y salidas es la siguiente:

D0...D7: Entrada paralelo

Q0...Q7: Salida paralelo

LE: Latch Enable

OE: Output Enable

image d9532fd69bbff81652bec944efed8377

Circuito Integrado 74HC374

Este circuito integrado contiene 8 FLIP-FLOPs tipo D con salidas triestado sensibles al flanco de subida de la señal del Reloj. En la figura 134 se muestra la estructura interna de este registro y su diferencia con el anterior Circuito Integrado es que este contiene FLIP-FLOPs.

Page 126


image 2f59657c1a34fd5679022b1e27dfede3

Circuito Integrado 74HC273

Este integrado contiene 8 FLIP-FLOPs tipo D con salidas triestado sensibles al flanco de subida de la señal del reloj, adicionalmente tiene una entrada para borrar activa en bajo (CLR'). En la figura 135 se observa el diagrama de pines de este integrado y el tabla 59 los estados lógicos.

image 51c23edfdf188e8b2f0a4fb660b1d4e9

Page 127


image 2ea056f23e7526a649e64752e8fe7fa5

5.12. Aplicaciones de los Registros de Corrimiento

Los registros de corrimiento tienen varias aplicaciones en la Electrónica Digital, entre las cuales se pueden mencionar las siguientes:

Transmisión de datos.

Conversión de protocolo serie en paralelo y viceversa.

Puertos de salida de los microcomputadores.

Secuenciadores (luces y anuncios publicitarios).

Multiplicaciones y divisiones por 2, 4, 8, 16 bits.

Operaciones que se hacen en forma secuencial.

5.13. Contador en Anillo

El contador en anillo es un registro de corrimiento básico en el que los datos no se pierden al desplazarse, en lugar de ello, la información rota debido a que los FLIP-FLOPs de los extremos se encuentran interconectados, de tal forma que los datos se desplazan en forma de "anillo".

Asumiendo que el estado inicial del contador en anillo es 1000 (Q3=1, Q2=0, Q1=0, Q0=0), los estados que se presentarían en este contador serían los mostrados en la tabla 60. Después del cuarto pulso en la señal del reloj el estado inicial se repite.

image f1567e0d2ea899a44928605eb1b4bb47

En el mercado existen contadores de este tipo en circuito integrado, sin embargo su construcción es muy fácil a partir de un registro de corrimiento convencional.

Existe otro contador en anillo llamado contador Johnson, el cual tiene un funcionamiento similar al contador en anillo, excepto que el estado del último FLIP-FLOP se realimenta al primero a través de un inversor. En al figura 136 se observa el diagrama lógico de este contador.

image 73a98f8c672f2a6a73798bddba253f12

Page 128


image fcf4d2e5b861806f28d8bcb765d83014

Tomando como estado inicial del contador Johnson 0000 (Q3=0, Q2=0, Q1=0, Q0=0), los estados presentes en este contador serían los mostrados en la tabla 61. Note que durante el octavo pulso en la señal del reloj el estado inicial se repite.

image 33cbdb611a7a240c487d561879b792d0

6. Análisis y Diseño de Circuitos Secuenciales

El Análisis y Diseño de Circuitos Secuenciales se encuentra estrechamente relacionado con el control secuencial, denominado también control lógico o control binario. En los sistemas de control secuencial las entradas y las salidas son de tipo binario y determinan una serie de pasos para la operación de un proceso.

Las entradas por lo general son: pulsadores, interruptores, microinterruptores, fines de carrera o detectores de proximidad. Las salidas pueden ser: Válvulas solenoides, cilindros neumáticos, contactores para arranque y parada de motores, pilotos de señalización, alarmas, entre otros.

Cuando el sistema de control secuencial es pequeño se realiza con circuitos digitales combinatorios y secuenciales. Cuando es grande se realiza con PLC´s (Controladores Lógicos Programables), microcomputadores, microprocesadores especiales para control secuencial y por software en PC.

En este capitulo se mostraran las metodologías básicas para el Diseño de Circuitos Secuenciales y su aplicabilidad en dispositivos secuenciales para funciones específicas.

6.1. Teoría de Máquinas de Estado (FSM)

La teoría de máquinas de estado es el nombre con el que se conocen los métodos de Análisis y Diseño de Circuitos Secuenciales Sincrónicos. Esta lección constituye una introducción al tema del capítulo, donde se definirá lo que son las máquinas de estado y los conceptos básicos para entender la metodología de Análisis y Diseño de Circuitos Secuenciales.

Page 129


image d0b15f6025a9ce0d14241b2bdd8492a3

Las máquinas de estado son circuitos secuenciales que se encuentran constituidos por una etapa combinacional y una etapa de memoria, relacionadas de tal forma que conforman un sistema secuencial para algún propósito especial. Los registros y contadores con entradas asincrónicas son ejemplos de este tipo de sistemas secuenciales.

6.2. Máquinas de Estado de Mealy y Moore

Los circuitos secuenciales se clasifican dentro de una categoría conocida como máquinas de estado, de la cual se distinguen comúnmente dos tipos:

Máquina de Mealy: En esta máquina de estados las salidas se encuentran determinadas por el estado interno del sistema y por las entradas no sincronizadas con el circuito. El diagrama de bloques representativo de esta máquina se muestra en la figura 137, donde se observa que las salidas del sistema son tanto sincrónicas como asincrónicas.

image d413fc5e9143d2c9ff491e8b4493bd92

Máquina de Moore: Las salidas solo dependen del estado interno y de cualquier entrada sincronizada con el circuito, como se observa en la figura 138, donde las salidas del sistema son únicamente sincrónicas. Un ejemplo de este tipo de máquinas de estado son los contadores (ver capítulo 5).

image d2aa86df7f18b8f0b5315716d53a3e39

Los circuitos secuenciales se caracterizan por tener una etapa combinacional y otra de memoria conformada por FLIP-FLOPs. En la figura 140, se puede observar un ejemplo particular de este tipo de circuitos, el cual corresponde a una Maquina de estado de Mealy. Observe que hay salidas que dependen de la etapa de memoria y hay una salida que depende directamente de la etapa combinatoria.

Page 130


image 0655bb5f6cfe0daee66a689d52f4a1cb

Con base en el circuito de la figura 140, se dará una descripción de las herramientas básicas que son empleadas para el Análisis y Diseño de Circuitos Secuenciales. Entre estas herramientas se encuentran las ecuaciones lógicas, las los diagramas de estado, las tablas de estado, las tablas de transición y los mapas de Karnaugh.

6.3. Ecuaciones Lógicas

Las ecuaciones lógicas son funciones que definen la relación existente entre los estados de entrada y los estados de salida del sistema. Para determinar las ecuaciones lógicas de la máquina de estados de la figura 140, inicialmente se deben identificar los estados siguientes. Estos estados corresponden a aquellos que ocurren después de una transición en la señal de reloj de los FLIP-FLOPs. Recuerde que para los FLIP-FLOPs tipo D el estado siguiente (Q i+1) es igual al estado de la entrada D. Teniendo en cuenta lo anterior las ecuaciones lógicas para los FLIP-FLOPs A y B del circuito de la figura 140 serían las siguientes:

image 9c15b51fc452fb64ac21583e859b13cf

La salida Y esta dada por:

Y = (A + B)·X’

Observando esta última ecuación se concluye que la salida (Y) es función del estado presente del sistema (A y B) y de la entrada asincrónica (X).

Las ecuaciones lógicas en los circuitos secuenciales tienen una estructura formada por dos clases de estados:

Los estados siguientes, los cuales se agrupan al lado izquierdo de la expresión y representan las variables dependientes del sistema. El estado de estas variables cambia en el momento que ocurra una transición en la señal de reloj.

Los estados actuales y entradas del sistema. Agrupados al lado derecho de la expresión, constituyen las variables inpendientes, las cuales pueden o no cambiar en sincronía con el sistema.

Page 131


image 7758867db235751b628e2cc1139c049a

Cuando las ecuaciones de estado contienen varios términos, se pueden simplificar empleando metodologías de reducción de términos como Algebra de Boole, Mapas de Karnaugh, o mediante el Algoritmo de Quine-McCluskey, las cuales fueron presentadas en el Capitulo 2.

6.4. Tablas de Estado

Una tabla de estado es un listado que contiene la secuencia de los estados de entradas, estados internos y salidas del sistema, considerando todas las posibles combinaciones de estados actuales y entradas. Las tablas de estado por lo general se dividen en tres partes: estados actuales, estados siguientes y salidas, tal como se muestra en la tabla 62.

image c4401f0748fd8a78dc993c8675647654

La tabla de estado para un circuito secuencial con m FLIP-FLOPs y n entradas tiene 2 m+n filas. El estado siguiente tiene m columnas, y el número de columnas depende del número de salidas.

Existe una forma más conveniente de organizar la información en la tabla de estado, la cual se muestra en la Tabla 63, donde los estados se agrupan de tal modo que la tabla se puede traducir a un diagrama de estados. Al igual que la tabla anterior esta tiene tres secciones: estados actuales, estados siguientes y salidas, sin embargo los estados se agrupan dependiendo del valor de las entradas. La sección de estados actuales agrupa los estados que ocurren antes de una transición en la señal de reloj, la sección de estados siguientes lista aquellos que ocurren después de la transición del reloj y la sección de salidas reúne los estados que se dan en el mismo instante de los estados actuales.

Page 132


image 771bcbdab17fea6f0109ebb7b5326c03

Haciendo un análisis de la operación del circuito de la figura 140, se puede observar lo siguiente: Cuando la variable X=0 los estados actuales A y B cambian a 0 después de la transición de reloj, y cuando X=1, los estados de las salidas se comportan tal como se resume en la tabla 63. Se plantea como ejercicio verificar la información de la tabla.

6.5. Diagramas de Estado

Un diagrama de estados es una representación gráfica que indica la secuencia de los estados que se presentan en un circuito secuencial, teniendo en cuenta las entradas y salidas. El diagrama se forma con círculos y líneas. Los círculos representan los estados del circuito secuencial y cada uno de ellos contiene un número que identifica su estado. Las líneas indican las transiciones entre estados y se marcan con dos números separados por un (/), estos dos números corresponden a la entrada y salida presentes antes de la transición. A manera de ejemplo observe la línea que une los estados 00 y 01 en el diagrama de estado de la figura 141. Esta línea marcada como 1/0 indica que el circuito secuencial se encuentra en el estado 00 mientras la entrada X=0 y la salida Y=0, y que después de que ocurra una transición en la señal de reloj el estado cambia a 01.

image 696e9da6570ea18ea80baf5ff0a8a2aa

Las líneas que salen y regresan al mismo círculo indican que no hay cambio en el estado, cuando se presentan la entrada y salida indicados.

Page 133


image ec3f8fd3e51c51884d2b4d33aabbbd24

6.6. Tablas de Transición de FLIP-FLOPs

Las tablas de transición se usan en conjunto con las de estado y representan la tabla de verdad de los FLIP-FLOPs con los cuales se desea implementar el circuito secuencial. La tabla contiene los estados actuales y siguientes según el estado de las entradas de los FLIP-FLOPs. La tabla 64, corresponde a la tabla de transición del FLIP-FLOP JK.

image 015e461f2db72d0af3ec429e88d7d3f1

En la tabla, Q i corresponde al estado actual y Q i+1 al estado siguiente, J y K son las entradas de los FLIP-FLOPs. La información sombreada en la tabla se interpreta de la siguiente forma: cuando el estado presente de la salida Q=0 y las entradas J=1 y K=X (X indica una condición de no importa, 1 o 0), después de un pulso de reloj en el FLIP-FLOP la salida cambia al estado siguiente Q=1.

6.7. Mapas de Karnaugh

Generalmente las tablas de estado y de transición de los FLIP-FLOPs se fusionan en una sola para agrupar la información de tal forma que permitan construir los Mapas de Karnaugh para simplificar las funciones lógicas. La tabla 65 corresponde a una tabla de estado de un contador de tres bits con FLIP-FLOPs JK. Observe que esta tabla incluye las entradas J y K para cada una de la transiciones (estado actual a estado siguiente). Las regiones sombreadas en la tabla indican que el estado Q i cambia estando presentes las entradas J i y K i correspondientes después de una transición del reloj.

image 5bcc200a44d68136bb2213cfe5ab2dc3

Page 134


image 75fd30e0d891ec581d374f5d1d608957

Los Mapas de Karnaugh se emplean para definir la lógica de las entradas de los FLIP-FLOPs y se debe hacer uno para cada una de las entradas. La figura 142 corresponde al Mapa de karnaugh de la entrada J 1 . de la tabla de estado 65.

image cb76fff26eebfc3758db567ac57f09f1

Observe que cada celda en el mapa representa uno de los estados actuales de la secuencia en la tabla de estado. Una vez asignados todos los estados posibles a cada celda en el Mapa de Karnaugh se procede a simplificar y deducir las expresiones lógicas. En la figura 142 se observa que la expresión correspondiente a la entrada J 1 es:

J 1 = Q 0

Esta expresión indica que en el circuito lógico la salida Q 0 debe ir conectada a la entrada J 1 . En la siguiente lección se explicara de una forma detallada el procedimiento para el Diseño de Circuitos Secuenciales.

6.8. Análisis y Diseño de Circuitos Secuenciales Sincrónicos

La gran mayoría de los circuitos digitales contienen FLIP-FLOPs y compuertas para realizar funciones específicas. El diseño de estos circuitos inicia a partir de las especificaciones y finaliza con las funciones lógicas, de las cuales se obtiene el circuito lógico.

Inicialmente se debe crear una tabla de estado o representación equivalente, para identificar la secuencia de estados que deseada. Luego de seleccionar el número y tipo de FLIP-FLOPs con los cuales se desea hacer el diseño, se deduce la lógica combinatoria necesaria para generar la secuencia de estados.

Los circuitos secuenciales se pueden analizar y diseñar siguiendo un procedimiento claramente definido que consiste en los siguientes pasos:

1. Asignación de estados 2. Construcción del diagrama de transición 3. Elaboración de la tabla de estados 4. Obtención de ecuaciones o funciones lógicas 5. Realización de circuitos lógicos

Para explicar este método se desarrollará un ejemplo aplicado a un diseño particular.

Ejemplo 1: Diseñar el circuito secuencial del proceso que se cumple de acuerdo al diagrama de estados de la figura 143.

Page 135


image 5bd210385df737e2b40d3b44e32e0e21

Paso 1. Asignación de estados

Este proceso tiene cuatro estados, una entrada y no tiene salidas (se pueden considerar como salidas las de los FLIP-FLOPs). Para representar los cuatro estados se usarán dos FLIP-FLOPs identificados como A y B de tipo JK y la entrada será identificada como X.

image 970f10420e1888f18e2b39ede9a83e45

Paso 2. Construcción del diagrama de la transición o de estado

La figura 143 corresponde al diagrama de transición. Analizando este diagrama se observa que el estado 10 se mantiene mientras X=0 y en el momento que X=1 pasa al estado 11, después al estado 00 y finalmente al estado 01, hasta el momento que nuevamente X=0, volviendo de esta forma al estado AB=10. Adicionalmente observe que los estados 00 10 y 11, se mantienen cuando X=0 y el estado 01 se mantiene cuando X=1.

Paso 3. Elaboración de la tabla de estados

A partir del diagrama de estados y de la tabla de transición del FLIP-FLOP JK se puede construir la tabla de estados (ver tabla 66).

image 0ad0c5702ab132c50acb885955413a22

Para la simplificación de los circuitos combinatorios es conveniente que se presenten condiciones de "no importa", ya que estas, permiten simplificar las funciones lógicas y por tanto el tamaño del circuito lógico.

Page 136


image c7493503d3f15a7cf3a12f29a8882701

Paso 4. Obtención de ecuaciones o funciones lógicas.

En este paso se obtienen las funciones lógicas para las entradas de los FLIP-FLOPs (J A , K A , J B y K B ) y el objetivo es deducir la lógica combinatoria de estado siguiente, mediante el uso de Mapas de Karnaugh. A continuación en la figura 144 se muestran los Mapas de Karnaugh y las funciones lógicas correspondientes.

image d9e7f9c1540c1e512bfd171b0e6b7d5a

Figura 144. Mapas de Karnaugh para las entradas J A , J B , K A y K B

Paso 5. Realización de circuitos lógicos

Este es el ultimo paso del diseño, y consiste en implementar la lógica combinacional a partir de las ecuaciones lógicas obtenidas en el paso anterior para las entradas J y K de los FLIP-FLOPs. Las conexiones correspondientes, se efectúan mediante el uso de compuertas e inversores y en la figura 145 se muestra el diseño final del circuito lógico.

image 6f1ca6be7b84c51843497e4f9f8d58fc

Page 137


image 8c673c36d327106b73e03a0872db72d4

6.9. Diseño de Circuitos Secuenciales con FLIP-FLOPs D

El diseño del circuito de la figura 145 se hizo con FLIP-FLOPs JK. En esta sección veremos como se realiza el diseño de circuitos secuenciales mediante el uso de FLIP-FLOPs tipo D.

A diferencia de las entradas de los FLIP-FLOPs JK, las entradas en los FLIP-FLOPs D corresponden exactamente a los estados siguientes. Por esta razón en la tabla de estado no se requiere una columna independiente para las excitaciones. En el siguiente ejemplo se verá como realizar el diseño de circuitos secuenciales con FLIP-FLOPs D.

Ejemplo 2: Realizar el diseño del circuito lógico correspondiente a la tabla de estado 67. Observe que esta tabla es la misma del ejemplo anterior, pero adicionalmente se agregó una salida (Y).

image aa66d378320a822109d29376b05af0b7

Paso 1. Asignación de estados

Este proceso al igual que el ejemplo anterior tiene cuatro estados de dos bits (AB), una entrada (X) y una salida (Y). Para representar los cuatro estados se usarán dos FLIP-FLOPs D identificados como A y B.

Paso 2. Construcción del diagrama de la transición o de estado

El diagrama de transición es el mismo del ejemplo anterior, excepto que ahora se tiene en cuenta la salida (Y). En la figura 146 se observa el diagrama de estado.

Page 138


image 091790ee1e4d66db4d4fa82151ae869c

Paso 3. Elaboración de la tabla de estado.

Para este ejemplo inicialmente se dió la tabla de estados, la cual se observa en la tabla 67.

Paso 4. Obtención de ecuaciones o funciones lógicas.

En este paso se deben obtener las funciones lógicas para las entradas de los FLIP-FLOPs (DA, DB) y la salida (Y). En la figura 147 se muestran los Mapas de Karnaugh y las funciones lógicas correspondientes.

image dea07281cd75e5af6800ca55cbf80faf

Page 139


image 9690541317f3f65ee012a991197425a3

Paso 5. Realización de circuitos lógicos

Con las ecuaciones lógicas obtenidas en el paso anterior se puede implementar el circuito lógico. Las conexiones correspondientes, se efectúan mediante el uso de compuertas e inversores y en la figura 148 se muestra el diseño del circuito.

image d887b08dc11219bc10d5bd53433ae376

6.10. Estados no usados

Durante el diseño de los circuitos secuenciales para simplificar las representaciones lógicas, es conveniente emplear los estados no usados como condiciones que no importa. Estos estados se identifican con una (X) en los Mapas de Karnaugh.

Para ilustrar como emplear estos estados, observe la tabla 68.

Teniendo en cuenta todas las posibles combinaciones de las variables A, B, C y X, Note que en esta tabla hay seis estados que no están presentes (0000, 0001, 1100, 1101, 1110 y 1111).

Las seis filas de la tabla correspondientes a estos estados se identifican como estados X (1 o 0) o condiciones de "No importa", al momento de elaborar los Mapas de Karnaugh.

Page 140


image f6f2511098bdc598bbeddf9b5b15c599

Tabla 68. Tabla de estado - Condiciones de "no importa"

Los mapas de karnaugh correspondientes a las entradas de cada FLIP-FLOP (J A , K A , J B, K B, J C y K C ) y la salida (Y), se muestran en la figura 149.

Observe que en cada mapa los estados resaltados en rojo corresponden a los estados no usados, los cuales se han incluido como condiciones "no importa" para simplificar la mayor cantidad de variables en las expresiones.

Page 141


image 015600b082fb4537cd95daea928c61c6

Figura 149. Mapas de Karnaugh para las entradas a los FLIP-FLOPs

Como conclusión sobre esta sección, podemos decir que es recomendable incluir los estados no usados en el diseño de los circuitos secuenciales. Esto implica una reducción en las expresiones lógicas y por consiguiente en el tamaño del circuito, que en otros términos representará obviamente un menor tiempo de desarrollo y costo de implementación.

Se plantea como ejercicio hacer el diagrama lógico correspondiente a las ecuaciones halladas a partir de los mapas de Karnaugh de la figura 149 y hacer el diseño del circuito secuencial sin tener en cuenta los estados no usados para comparar los dos casos y notar las diferencias.

Para más información sobre simplificación de funciones lógicas ver El Capítulo 2, numeral 2.6. Métodos para Sintetizar Circuitos Lógicos, literal c. Mapas de Karnaug.

6.11. Análisis de Circuitos Secuenciales Asincrónicos

El análisis de Circuitos Asincrónicos es similar al análisis de los circuitos sincrónicos, sin embargo estos circuitos requieren un tratamiento particular, debido a que no

Page 142


image 043e05a8b322e3d07a72491c2fac399f

existen pulsos de reloj, como referencia de tiempo para controlar los cambios de estado.

En los Circuitos Secuenciales Asincrónicos las variables de entrada actúan directamente sobre el sistema, es decir que un cambio en tales variables produce un cambio sobre el estado interno. Los Circuitos Secuenciales Asincrónicos se clasifican dependiendo del tipo de entradas o del cambio en el tiempo de las estas, en dos grupos: los Circuitos Asincrónicos en Modo Fundamental y los Circuitos Asincrónicos en Modo Pulso.

Circuitos Asincrónicos Activados por Nivel (Modo Fundamental)

Los circuitos asincrónicos operando de esta forma fueron los primeros que se implementaron en los inicios del análisis de los sistemas secuenciales en Electrónica Digital y se encuentran constituidos por un sistema combinacional, donde algunas de sus salidas se unen a las entradas formando lazos de realimentación. En la figura 150 se observa un diagrama de bloques descriptivo de este tipo de sistemas secuenciales.

image 8460aff9b1091825370aa1734b7c9984

Figura 150. Diagrama de bloques de un Circuito Asincrónico Activado por Nivel

Descripción y características de este esquema.

La variable t representa el tiempo de retardo mínimo para que ocurra una transición y corresponde al retardo que ocurre cuando una señal viaja a través de una o más compuertas del circuito secuencial.

En este tipo de sistemas secuenciales no se permiten cambios en forma simultánea en las variables de entrada, debido a la posible ocurrencia de estados indeterminados en las salidas.

Se pueden presentar estados estables e inestables. Los estables son aquellos en los que el valor de estado presente es igual al estado siguiente, y los inestables son aquellos en los que el valor del estado presente es diferente al estado siguiente.

Las variables en minúscula (y n ) corresponden a las variables secundarias en el instante t (Y t ), y las variables en mayúscula corresponden a las variables secundarias en el instante t+1 (Y t+1 ).

Para observar los fenómenos que pueden ocurrir en este tipo de sistemas, a continuación se describe un procedimiento para analizar los estados lógicos, el cual se desarrolla en los siguientes pasos:

Page 143


image 234fb83b50211f87f76d2655398a2363

1. Hallar las ecuaciones lógicas para las variables de excitación y salida del circuito.

2. Elaborar los mapas de Karnaugh para los estados de las variables de excitación y salida a partir de las ecuaciones halladas. Los mapas de Karnaugh contienen los estados secundarios versus los estados de salida.

3. Localizar e identificar todos los estados estables e inestables en el mapa de Karnaugh de las variables de excitación. Los estados estables ocurren cuando

yt = Yt, y los estados inestables cuando yt≠ Yt.

4. Asignar un nombre (puede ser un carácter) a cada fila de la tabla.

5. Elaborar una tabla de flujo, reemplazando cada estado estable de excitación con el mismo nombre que tiene asignado el estado secundario, así como el de los estados inestables. Para analizar la tabla de flujo, deberán considerarse movimientos horizontales, cuando ocurran cambios en las entrada, y movimientos verticales cuando se den transiciones de estados inestables a estados estables, sin cambio en las entradas.

Para ilustrar el proceso de análisis se desarrollará un ejemplo basado en el circuito de la figura 151.

image 12a02cc7ca1ce8081452039d8792cc3f

Este circuito tiene dos variables de entrada (x 1 , x 2 ), una variable de estado interno o secundaria (y) y una variable de salida o excitación (Y=z).

Obtención de las ecuaciones lógicas del circuito. Según la lógica del circuito se deducen las siguientes expresiones para los estados de excitación y salida. Comparando este circuito con el de la figura 151, se observa que la variable de excitación corresponde a la variable de salida, por esta razón las expresiones son las mismas.

image c4b7812ab30da599e682928cf6dd99c2

Elaboración de Mapas de Karnaugh para las variables de excitación y salida. Partiendo de las expresiones lógicas anteriores y teniendo en cuenta todas las posibles combinaciones de las variables x1, x2, y se puede llegar al mapa de Karnaugh de la figura 152, el cual es el mismo para Y como para z.

Page 144


image 9385967b528ddfa8f6a247a277286e2f

Figura 152. Mapa de Karnaugh para estados de excitación y salida

Esta tabla indica los cambios en el estado de la varible Y después de un cambio en las entradas x1 y x2. A manera de ejemplo, observe el estado sombreado (1) en la figura 152, el cual indica que el estado actual Y=0 cambia a Y=1 cuando las entradas son x1=x2=1.

Localización de estados estables e inestables. De la figura 152 se pueden deducir las estados estables e inestables, basta observar si los estados actuales cambian al alterar las entradas. Teniendo en cuenta lo anterior se puede concluir que los estados inestables son aquellos que están sombreados y los demás son estables, debido a que no hay cambios en el estado siguiente.

Asignación de nombres a cada fila de la tabla de excitación. Las filas de la tabla sean identificadas como a y b para identificar los estados 0 y 1 de la variable Y.

Tabla de flujo o transición de estados lógicos. Teniendo en cuenta que los estados de las entradas no deben tener cambios simultáneamente, en la figura 153 se muestra la tabla de flujo, donde se observa la transición de estados a y b según el estado de las entradas.

image 01875c430e14ed2bac1ddda04c74d2ab

Page 145


image 2c4a3148df2334cd55ab610d0087de83

Circuitos Asincrónicos Activados por Pulso (Modo Pulso)

Los circuitos asincrónicos operando de este modo son similares a aquellos que operan en modo fundamental, excepto que las señales de entrada corresponden a pulsos que se ocurren de forma asincrónica en la figura 154 se observa un diagrama de bloques ilustrativo sobre este tipo de sistemas.

image a94dc57b8391a526743ec8f476378a0a

Un circuito secuencial activado por pulsos, se caracteriza por cumplir las siguientes condiciones:

Como mínimo, una de las entradas debe ser un pulso.

Los cambios en los estados internos ocurren únicamente por la presencia de un pulso en las terminales de entrada.

Cada estado de entrada, desencadena únicamente un cambio en el estado interno del circuito.

No se permiten dos o más pulsos en forma simultánea en las señales de entrada. En caso de incumplirse esta condición la única forma de analizar el circuito es con un diagrama de tiempos.

Existen dos tipos de circuitos en esta modalidad de funcionamiento: La máquina de estados de Mealy y Moore (Ver Teoría de máquinas de estado (FSM))

Para entender el funcionamiento de este tipo de circuitos, se desarrollará un ejemplo con base en el circuito de la figura 155.

image fb7b48919ec53cb65b789baeb038f683

Para comenzar el análisis considere que los pulsos de entrada ocurren en la secuencia que se observa en la figura 156. Note que los estados de las entradas son complementarios y las transiciones ocurren en instantes de tiempo diferentes, lo cual es una característica particular de las entradas de estos sistemas secuenciales.

Page 146


image 573629c142cab21141679352d8a0c625

Para analizar el estado de las variables del circuito se deben deducir las expresiones lógicas para S, R y z. De la figura 155, se tiene:

image 4ad536eba80bb63a955e3d7f03e577bb

A partir de las expresiones lógicas se puede construir el diagrama de tiempos para las variables del circuito. En la figura 157 se observan las transiciones de los estados correspondientes a la secuencia de las señales de entrada.

image 38584e4b8e41a8107b397a586707c27d

La figura 158 muestra los estados siguientes y los estados de salida de la forma "estado siguiente/estado salida" (y/z).

image 6e1fa2f78ae2363982cea750c594155a

En la tabla no se tuvo en cuenta la columna correspondiente a la entrada x 1 x 2 =11, debido a que los circuitos secuenciales asincrónicos no admiten entradas activas de forma simultanea. Esta tabla de estados se puede simplificar aun más debido a que el

Page 147


image d46b89c80a918f9a50edaba0a6489e19

estado 00 no implica ningún cambio en los estados del circuito, así que la columna correspondiente se puede suprimir, sin alterar el análisis. Teniendo presente esta condición, la figura 158 se reduce a la figura 159. Observe que los estados de las entradas son complementarios, lo cual es característico de una señal pulsada.

image e44bceea0696d839ced8aaae998e4939

6.12. Ejemplos de Control Secuencial

Los sistemas combinacionales y secuenciales tienen gran variedad de aplicaciones en la vida real. En la mayoría de sistemas digitales encontrados en la práctica se incluyen elementos que memorizan la información, por lo cual se requieren de circuitos secuenciales.

El objetivo de esta lección consiste en dar aplicabilidad a la teoría vista en este capítulo, mediante dos ejemplos sencillos, con los cuales se harán uso de las herramientas de análisis y diseño de circuitos secuenciales: la implementación de un semáforo y un control de un motor de pasos.

Implementación de un Semáforo:

Construir el circuito lógico para un semáforo que responda a la siguiente secuencia: Verde, Amarillo, Rojo y Rojo/Amarillo.

El semáforo tiene cuatro estados, los cuales se pueden representar con 2 FLIP-FLOPs, sin embargo para asignar el tiempo de duración de cada estado se emplearan 3 FLIP-FLOPs, de los cuales se pueden obtener 8 estados, cuyos tiempos se pueden distribuir de la siguiente forma:

Verde (3 ciclos)

Amarillo (1 ciclo)

Rojo (3 ciclos)

Rojo-Amarillo (1 ciclo)

Donde cada ciclo representa una transición en la señal de reloj. Observe que la duración de la secuencia de los cuatro estados es de 8 ciclos.

El primer paso para realizar el diseño consiste en asignar los estados lógicos, como se puede notar en la tabla 69. Esta asignación de estados se puede hacer de forma libre y no necesariamente debe corresponder a una secuencia binaria, sin embargo, en este caso por comodidad sean establecido de esta forma para implementar el circuito con base en un contador sincrónico de tres bits.

Page 148


image 9a032e8c8d67f42c1397e6959226a3af

En la figura 160 se observa un contador sincrónico de tres bits construido con FLIP-FLOPs JK, a partir del cual se realizará el diseño. El objetivo de hacer uso del contador es emplear sus salidas (Q 2 , Q 1 y Q 0 ) para generar los estados de las variables V, A y R (Verde, Amarillo y Rojo) del semáforo.

image b7310d82cf505a4d80c0f614b94f851c

El siguiente paso consiste en deducir la lógica combinacional adicional para generar los estados de las variables V, A y R. Para ello se deben construir los mapas de Karnaugh y obtener las ecuaciones lógicas. En la figura 161 se muestran los mapas con las ecuaciones resultantes para cada variable.

Page 149


image ebce2234fc5211f5e3acde58cd24b8c3

Motor paso a paso operando en forma unipolar

Un motor de pasos es un tipo especial de motor diseñado para rotar un determinado ángulo como respuesta a una señal en su circuito de control. Estos motores se utilizan en varios sistemas de control de posición debido a la precisión que manejan.

Este tipo de motor puede tener una o dos bobinas por fase. Los que tienen una bobina por fase se conocen como motores de tres hilos y los que tienen dos bobinas por fase se conocen como motores de devanado partido. Para este ejemplo se empleará un motor de fase partida, como el que se indica en la figura 162. Observe la forma en que debe ser conectado para hacer el control.

image eb165544fba53ce9987e26e342c3b7a1

En este ejemplo se hará el diseño del circuito de control para manejar cuatro pasos, los cuales corresponden a la posición de los interruptores se indican en la tabla 70.

Page 150


image c7743098b1b366d0954f6d8d5e1f45b8

Los interruptores se pueden controlar de dos formas, ya sea con tiristores (SCR's) o mediante el uso de relevos. En la figura 163 se observan las dos opciones para manejar los interruptores.

image 700c4421f07a4735ec5260534e4810d5

Observando la tabla 70, se puede notar que los estados de los interruptores S1 y S2, son complementarios, al igual que los interruptores S3 y S4, lo cual simplifica el diseño del circuito.

El primer paso para realizar el diseño de la unidad de control, consiste en asignar los estados lógicos y seleccionar el tipo de FLIP-FLOP con el cual se implementará el circuito lógico.

En la tabla 71 se relacionan los estados lógicos de las salidas y los estados de las entradas j y k de los FLIP-FLOPs.

Note que las variables S 2 y S 4 no se tuvieron en cuenta, debido a que sus estados son el complemento de S 1 y S 3 respectivamente.

Page 151


image e48e8a27c9ccee93c454d4356d5b9ecc

El siguiente paso consiste en construir los mapas de Karnaugh para los estados de los FLIP-FLOPs (J 1 , K 1 , J 3 , K3). Tales estados se indican en los mapas de Karnaugh mostrados en las figura 164 con las ecuaciones lógicas correspondientes.

image a8e5676bb22bb78a3e5c05246936c445

El último paso del diseño consiste en construir el circuito lógico a partir de las ecuaciones lógicas obtenidas, el cual se muestra en la figura 165.

Page 152


image 3c1063866d2bab9f4473034817009a5a

Observe que los estados S2 y S4 no se tuvieron en cuenta en el diseño debido a que los FLIP-FLOPs por defecto entregan en sus salidas una variable y su complemento.

7. Dispositivos Lógicos Programables

Una forma rápida y directa de integrar aplicaciones se logra con la lógica programable, la cual permite independizar el proceso de fabricación del proceso de diseño fuera de la fábrica de semiconductores. El sistema desplaza los errores de alambrado al campo exclusivo de la programación. Los sistemas con estas características se pueden borrar y reprogramar en casos de cambios o revisiones. El resultado es la reducción del espacio físico de la aplicación. El diseño está basado en bibliotecas y mecanismos específicos de mapeado de funciones.

La mayor parte de los diseños de nivel de sistema incorporan diversos dispositivos, como son las memorias RAM, ROM, controladores, procesadores, etc., que se interconectan mediante gran cantidad de dispositivos lógicos de propósito general, frecuentemente denominados lógica de unión ("glue logic"). En los últimos años, los dispositivos PLD (Programmable Logic Device) han comenzado a reemplazar muchos de los antiguos dispositivos de unión, SSI y MSI.

El uso de dispositivos PLD proporciona una reducción en el número de circuitos integrados. Por ejemplo, en los sistemas de memoria de las computadoras, los PLD pueden utilizarse para decodificar direcciones de memoria y generar señales de escritura en memoria.

En muchas aplicaciones, los PLD y, en concreto, las matrices lógicas programables (PAL, Programmable Array Logic) y las matrices lógicas genéricas (GAL, Generic Array Logic) pueden emplearse para reemplazar dispositivos lógicos SSI y MSI, consiguiendo con ello una reducción de etapas y de los costos.

Por las razones anteriores el diseño lógico hoy día se realiza con PLDs. Un PLD está formado por una matriz de puertas AND y puertas OR, que se pueden programar para conseguir funciones lógicas específicas.

El diseño con PLDs señala las siguientes ventajas en relación a la lógica cableada:

Economía.

Menos espacio en los impresos.

Se mantiene la reserva del diseño.

Page 153


image 2c57b4bfd251f58e0d536b4d46420ff3

Se requiere tener menos inventarios que con circuitos estándar SSI, MSI.

Menos alambrado.

7.1. Tipos de PLD: Los PLD se dividen en dos clases:

1. PLDs combinatorios: Constituidos por arreglos de compuertas AND - OR. El usuario define las interconexiones y en esto consiste la programación.

2. PLDs secuenciales: Además de los arreglos de compuertas, incluyen FLIP -FLOPs para programar funciones secuenciales como contadores y máquinas de estado

7.2. Estructura de los Dispositivos Lógicos Programables Básicos

Los PLD se clasifican de acuerdo con su estructura, la cual es básicamente la ordenación funcional de los elementos internos que proporciona al dispositivo sus características de operación específicas.

Memoria programable de sólo lectura PROM (PROM, Programable Read Only Memory)

La PROM está formada por un conjunto fijo (no programable) de puertas AND conectadas como decodificador y una matriz programable OR. La PROM se utiliza como una memoria direccionable y no como un dispositivo lógico (Ver Figura 166).

image 436e737de66de4a65c37be0b6782ffdf

Figura 166. Diagrama de bloques de una PROM (Programmable Read-Only Memory).

Page 154


image 595406cbff56be5ce8567372f96e5944

Arreglo Lógico Programable PLA (PLA, Programmable Logic Array)

El PLA es un PLD formado por una matriz AND programable y una matriz OR programable. La PLA ha sido desarrollada para superar algunas de las limitaciones de las memorias PROM (Ver Figura 167).

image a32a18eba3af4ff1d022d35d4f67ffda

Figura 167. Diagrama de bloques de una PLA (Programmable Logic Array).

En la actualidad existen soluciones con Dispositivos Lógicos programables complejos que combinan arquitectura superior y software de gran alcance, ofreciendo un nivel sin precedente en la flexibilidad del diseño.

7.3. Herramientas para la Automatización del Diseño Electrónico (EDA Tools)

Las herramientas EDA ("Electronic Design Automation") son las herramientas de hardware y software utilizadas en el diseño de sistemas electrónicos.

El diseño de hardware tiene un inconveniente que no existe en el desarrollo de software. El problema es el alto costo en el ciclo de diseño, desarrollo del prototipo, pruebas y reinicio del ciclo. La etapa de costo más elevado es el prototipo. Por necesidad del mercado, se impone la reducción de costos en esta etapa, con el fin de incluir la fase de desarrollo del prototipo al final del proceso, evitando la repetición de varios prototipos, razón por la cual se encarece el ciclo. La introducción de la fase de simulación y verificación de circuitos utilizando herramientas EDA, hace no necesaria la comprobación del funcionamiento del circuito por medio de la implementación física del prototipo.

Las herramientas EDA están presentes en todas las fases del ciclo de diseño de circuitos. Primero en la fase de generación del sistema que puede representarse en un diagrama esquemático, en bloques o de flujo.

Se encuentra también la fase de simulación y comprobación de circuitos, donde diferentes herramientas permiten verificar el funcionamiento del sistema. Estas simulaciones pueden ser de eventos, funcionales, digitales o eléctricas, de acuerdo al nivel requerido. Después están las herramientas EDA utilizadas en la síntesis y programación de circuitos digitales en dispositivos lógicos programables. Existen, además, las herramientas EDA orientadas a la fabricación de circuitos. En el caso del diseño de hardware estas herramientas sirven para la realización de PCBs ("Printed Circuit Boards" o placas de circuito impreso), o para desarrollar circuitos integrados de aplicación especifica como ASICs ("Aplication Specific Integrated Circuits").

Las principales características y finalidad de algunas herramientas EDA que intervienen en el diseño de circuitos son:

Page 155


image c5b056af00c46475fbe0b276f1c290db

1. Lenguajes de Descripción de Circuitos. 2. Diagramas Esquemáticos. 3. Grafos y Diagramas de Flujo. 4. Simulación de Eventos. 5. Simulación Funcional. 6. Simulación Digital. 7. Simulación Eléctrica. 8. Diseño de PCBs. 9. Diseño de Circuitos Integrados. 10. Diseño con Dispositivos Programables.

Para la automatización del diseño electrónico se utilizan herramientas EDA.

Ventajas de la metodología de diseño que usa herramientas EDA

Entre las ventajas de la metodología de diseño con el empleo de herramientas EDA está la reducción del diseño, la posibilidad de dividir un proyecto en módulos que se desarrollan por separado, la independencia del diseño con respecto a la tecnología, la posibilidad de la reutilización de los diseños, la optimización de los circuitos y las simulaciones posibles con las herramientas.

Con la aparición de herramientas EDA cada vez más complejas, que integran en el mismo marco de trabajo las herramientas de descripción, síntesis, simulación y realización; apareció la necesidad de disponer de un método de descripción de circuitos que permitiera el intercambio de información entre las diferentes herramientas que componen el ciclo de diseño. En principio se utilizó un lenguaje de descripción que permitía, mediante sentencias simples, describir completamente un circuito. A estos lenguajes se les llamó Netlist puesto que eran simplemente eso, un conjunto de instrucciones que indicaban las interconexiones entre los componentes de un diseño.

7.4. Principios y Aplicaciones de los Dispositivos Lógicos Programables como las PALs y las GALs.

Una matriz programable es una red de conductores distribuidos en filas y columnas con un fusible en cada punto de intersección. Las matrices pueden ser fijas o programables. Todos los PLD están formados por matrices programables.

Estructura Interna de un PLD: Está formada por un arreglo de compuertas AND y OR interconectadas a través de fusibles.

Matriz AND: está formada por una red de compuertas AND conectadas a través conductores y fusibles en cada punto de intersección. Cada punto de intersección entre una fila y una columna se denomina celda. La figura 168 muestra un arreglo de compuertas no programado.

Page 156


image accd02a613a3c7fd31d798860524f425

Cuando se requiere una conexión entre una fila y una columna, el fusible queda intacto y en caso de no requerirse la conexión, el fusible se abre en el proceso de programación. La figura muestra 169 un arreglo AND programado.

image d4af4fac82676c750369ce8d42d2df89

Matriz OR: está formada por una red de compuertas OR conectadas a través conductores y fusibles en cada punto de intersección. La figura 170 muestra un arreglo de compuertas no programado.

Page 157


image 31e1f7dea4f0eb642ec668a9368171bb

La figura 171 muestra un arreglo OR programado.

image 86871f44b2af8ea7779e43d8a9912dd5

Los dispositivos lógicos programables que se usan más comúnmente para la implementación lógica son la PAL y la GAL.

Lógica de Arreglos Programables (PAL, Programmable Array Logic)

La PAL es un PLD que se ha desarrollado para superar ciertas desventajas de la PLA, tales como los largos retardos debidos a los fusibles adicionales que resultan de la utilización de dos matrices programables y la mayor complejidad del circuito. La PAL básica está formada por una matriz AND programable y una matriz OR fija con la lógica de salida (Ver figura 172). Esta estructura permite implementar cualquier suma de productos lógica con un número de variables definido, sabiendo que cualquier función lógica puede expresarse como suma de productos. La PAL se implementa con tecnología bipolar (TTL o ECL).

Page 158


image 3063fa867b4fb25006181135666fb4cc

Figura 172. Diagrama de bloques de una PAL (Programmable Logic Array)

Nomenclatura de una PAL: Los líderes en fabricación de PLDs, Texas Instruments y AMD, tienen una notación para identificar los dispositivos. Por ejemplo, la estructura en PLD AMD es:

image 5e6db05bc5ce0d0e46cb3420d1f2b509

Figura 173. Diagrama de bloques de una PAL (Programmable Logic Array)

Dentro de la estructura de salida se tienen las posibilidades contenidas en la tabla 72.

image 09acc61ba8c327f3e72c981f6e371093

PALs comerciales: En el mercado se manejan referencias como la PAL16L8, PAL20L8, PAL20V8 y PAL20X8.

Page 159


image cd001409df901b2c2b8d76ffff5f8416

Matriz Lógica Genérica (GAL, Generic Array Logic)

La GAL se forma con una matriz AND reprogramable y una matriz OR fija, con una salida lógica programable. La figura 174 muestra el diagrama de bloques de una GAL. Esta estructura permite implementar cualquier expresión lógica suma de productos con un número de variables limitado.

image 02cf246f4d8849833d90a1b3a8310fe1

Figura 174. Diagrama de Bloques de una GAL (Generic Array Logic).

Las dos principales diferencias entre los dispositivos GAL y PAL son:

a) La GAL es reprogramable y

b) La GAL tiene configuraciones de salida programables. La GAL se puede programar una y otra vez, ya que usa tecnología ECMOS (Electrically Erasable CMOS, CMOS borrable eléctricamente).

En la figura 175 se ilustra la estructura básica de una GAL con dos variables de entrada y una de salida. La matriz reprogramable es esencialmente una red de conductores ordenados en filas y columnas, con una celda CMOS eléctricamente borrable (E 2 CMOS) en cada punto de intersección, en lugar de un fusible como en el caso de las PAL. Estos PLDs son borrables y reprogramables. El transistor CMOS tiene 2 compuertas, una de ellas totalmente aislada, flotante. Para programar cada celda se aplica o no una tensión mayor a V DD (alta) en la compuerta no flotante. Al aplicar esta tensión el dieléctrico conduce y la compuerta flotante se carga negativamente, dejando en operación normal siempre abierto el transistor.

image 0a4c5b572d1eb378d24b4415661168ee

Figura 175. Estructura Básica de una GAL (Generic Array Logic)

Page 160


image 8fc43037f166d4ca6712d775889efcdc

En la figura 176 se muestra un ejemplo de una sencilla matriz GAL programada para obtener la suma de tres productos.

image ee13d60a14b09247d02b1a1c0579d107

El borrado se puede hacer de dos formas:

Con luz ultravioleta (UV): exponiendo el transistor de 5 a 20 minutos a luz UV, el dieléctrico conduce y permite la descarga de la compuerta flotante. Para este borrado el chip lleva una ventana de cuarzo transparente.

Borrado eléctrico: Es el más usado hoy en día. La capa que aisla la compuerta flotante es más delgada. Al aplicar una tensión alta con polaridad contraria , la compuerta flotante se descarga porque el dieléctrico conduce. Las ventajas más importantes de esta técnica son una descarga rápida, no se requiere UV y no se requiere sacar el chip de su base.

GALs comerciales: Las diversas GAL tienen el mismo tipo de matriz programable. Se diferencian en el tamaño de la matriz, en el tipo de OLMC (Las macroceldas Lógicas de Salida que contienen circuitos lógicos programables que se pueden configurar como entrada o salida combinacional y secuencial) y en los parámetros de funcionamiento, tales como velocidad y disipación de potencia.

image 5dc7330ff1081dfefa584904a2024633

En la mayoría de las aplicaciones en electrónica digital se requiere del almacenamiento de información de forma temporal para efectuar operaciones lógicas. Debido a que los FLIP-FLOPs tienen esta característica, la gran parte de los

Page 161


image 5d56a444828743dc5124fad72f867e64

Dispositivos Lógicos Programables “PLDs” existentes en el mercado tienen incorporados estos dispositivos en su estructura interna.

Estos dispositivos lógicos se conocen como PLDs de registro y son empleados para construir máquinas de estado de propósito especial, además de la ventaja que ofrecen para reducir el tamaño de los circuitos. Se puede agregar que los PLDs facilitan el ruteado de las placas de circuito impreso debido a la libertad de asignación que proporcionan, y además permiten realizar modificaciones posteriores del diseño.

Los PLDs secuenciales se componen de un arreglo programable de compuertas AND seguido de un arreglo fijo de compuertas OR, dispuestos de la misma manera que en los PLDs combinatorios. Su diferencia con los PLDs combinatorios se debe a que el estado de las salidas se almacena en FLIP-FLOPscuando se presenta un flanco activo en la señal de reloj del PLD.

7.5. Arquitectura de Diversos PLD's Secuenciales

Los PLDs secuenciales se encuentran clasificados en dos tipos: "no reprogramables" y "reprogramables". A continuación veremos estas dos categorías de PLDs y sus diferencias.

PLDs no reprogramables: En este tipo de PLD's es posible programar el arreglo de compuertas sólo una vez, de tal manera que no es posible hacer modificaciones posteriores al estado de los fusibles, quedando únicamente operando con la lógica definida por las conexiones internas programadas. Estos dispositivos son conocidos por la sigla PAL (Programmable Array Logic).

En la tabla 74 se observa una lista de algunos PLDs secuenciales de uso general. Los PLDs PAL16XX indicados en la tabla tiene el mismo arreglo de compuertas de 16 variables. Los PLDs de la familia PAL20XX tienen un arreglo de compuertas similar con 20 variables. En la figura 177 se observan los esquemas lógicos de los PLDs relacionados en la tabla 74.

image e0cc0675f2cfa755be2e0c823c97a5b7

Tabla 74. Descripción de PLDs secuenciales no reprogramables de uso general

Page 162


image 385d3fa4c00ed4aeed101dc41ddb9edb

Figura 177. Diagramas lógicos de PLDs secuenciales no reprogramables (Copyright © 1999 by John F. Wakerly)

PLDs reprogramables: Estos PLDs utilizan tecnología EEPROM (Electrical Erasable Programmable ROM) y se conocen con el nombre de GALs (Generic Array Logic). Estos dispositivos a diferencia de los anteriores permiten modificar la disposición interna de las conexiones de las compuertas después de haber sido programados.

Este dispositivo tiene 20 pines distribuidos de la siguiente forma:

8 entradas dedicadas (pines 2 a 9).

8 salidas de registro programables (pines 12 a 19).

1 entrada de reloj (pin 1).

1 entrada de habilitación (pin 11).

2 entradas de alimentación (pines 10 y 20).

Las salidas se pueden programar como salida secuencial o como salida combinacional dependiendo del estado de los fusibles de selección ubicados en la macrocelda lógica de cada salida. La macrocelda corresponde al conjunto de elementos agrupados en cada salida, incluyendo la compuerta OR).

Page 163


image 15e72994461efe79d46a83d6e446d15d

Figura 178. Macroceldas lógicas para el PLD GAL16V8. (Copyright © 1999 by John F. Wakerly).

Estas celdas son conocidas como OLMCs de la sigla en inglés Output Logic MacroCell y en la figura 178 se observa la estructura interna de una de estas celdas en sus dos configuraciones disponibles (salida secuencial y salida combinacional).

7.6. Memorias: La mayoría de los procesos lógicos en electrónica digital se encuentran constituidos por sistemas que manipulan la información binaria para dar como resultado una o varias salidas.

En el proceso de manipular la información, los sistemas requieren del almacenamiento temporal o permanente de los estados lógicos. Un ejemplo de este tipo de sistemas son los microcomputadores, los cuales necesitan del almacenamiento tanto de datos como de los programas que manipulan la información.

Aspectos Generales sobre Memorias

Las unidades de memoria son módulos conformados por un conjunto de cerrojos o condensadores agrupados de tal forma que almacenan varias palabras binarias de n bits. Cada una de ellas tiene la capacidad de almacenar un bit de información (1 o 0), y se conocen con el nombre de celdas de memoria. Las celdas o bits de memoria se ubican mediante la fila y la columna en la que se encuentra. En la figura 179 se observa como ubicar un bit y una palabra dentro de una memoria.

Page 164


image 367f14b2c6ad8058c2e32c70c403910b

Las palabras binarias se identifican con una dirección la cual define la ubicación dentro del arreglo y generalmente se designa con un número binario, octal o hexadecimal. En la mayoría de las aplicaciones se asocian en grupos de ocho unidades para formar bytes y el tamaño de las palabras en las memorias actuales está entre 4 y 64 bits.

El parámetro básico de una memoria es su capacidad, la cual corresponde al total de unidades que puede almacenar. Como ejemplo, la memoria de la figura 179 tiene una capacidad de 8n bits, que en otras palabras representa n bytes.

Regularmente estas memorias en la actualidad se consiguen en tamaños del orden megabytes.

El tiempo de acceso es otro parámetro importante en las memorias. Este corresponde al tiempo que tarda la memoria en acceder a la información almacenada en una dirección.

Generalmente este tiempo se designan como t acc en las fichas técnicas de estos dispositivos. En tabla 75 se indican los tiempos de acceso de las memorias en Circuito Integrado comparados con los tiempos de otros tipos de memoria.

image 00fc4d5a6fd58f3f963705050c0637f3

Tabla 75. Comparación de tiempos de acceso de diversos tipos de memorias

Operaciones básicas de una Memoria

La función básica de las memorias es almacenar información. Sin embargo las memorias tienen la función específica de escribir y leer los datos en su interior. En la

Page 165


image fa658ae1f0308f3d3e8d8a865ac08afc

figura 180 se observa la estructura básica de una memoria de 1K de 4 bits, en la cual se indican sus partes básicas.

image 92db1c33f41322f9cc87d784da0666e0

En la figura 180 la entrada de direcciones (A 0 a A 9 ), como su nombre lo indica, define la posición a escribir o leer dentro de la memoria, las entradas y salidas de datos definen los datos a escribir y leer respectivamente, la entrada WE’ controla el tipo de operación que la memoria debe hacer y la entrada OE’ corresponde a la señal de habilitación de la memoria, la cual habilita o deshabilita la memoria para responder a las demás entradas.

En los computadores modernos las memorias actúan directamente con la CPU a través de canales de comunicación llamados buses. En la figura 181 se observa un esquema general, el cuál muestra cómo interactúa la CPU de un microcomputador con las memorias a través de estos canales.

image 77a33623ec337d3e26c761d746c85794

Las operaciones básicas de una memoria consisten en leer y almacenar información mediante el uso del bus de datos y direcciones. Estas operaciones ocurren en un orden lógico, el cual se indica a continuación:

Apuntar a la dirección de memoria que se desea leer o escribir mediante el uso del bus de direcciones

Page 166


image 798dc4d8cded81af1ce20414531469d3

Selección del tipo de operación: Lectura o escritura.

Cargar los datos a almacenar (en el caso de una operación de escritura)

Retener los datos de la memoria (en el caso de una operación de lectura)

Habilitar o deshabilitar la memoria para una nueva operación.

Memorias de Acceso Aleatorio

Las memorias de Acceso Aleatorio son conocidas como memorias RAM de la sigla en inglés Random Access Memory. Se caracterizan por ser memorias de lectura/escritura y contienen un conjunto de variables de dirección que permiten seleccionar cualquier dirección de memoria de forma directa e independiente de la posición en la que se encuentre.

Estas memorias son volátiles, es decir, que se pierde la información cuando no hay energía y se clasifican en dos categorías básicas: la RAM estática y la RAM dinámica, las cuales se describen en las siguientes dos secciones.

Memoria RAM estática: Este tipo de memoria conocida como SRAM (Static Random Access Memory) se compone de celdas conformadas por FLIP-FLOPs construidos generalmente con transistores MOSFET, aunque también existen algunas memorias pequeñas construidas con transistores bipolares. En la figura 182 se observa la estructura típica de una celda de memoria de una SRAM.

image 703476b8dbaa9f7b001681801792536d

Como se observa en la figura la celda se activa mediante un nivel activo a la entrada superior y los datos se cargan o se leen a través de las líneas laterales.

Las celdas de memoria se agrupan en filas y columnas para conformar el arreglo básico de la memoria. En la figura 183 se muestra la disposición de las celdas de memoria en una SRAM, donde se observa que cada una de las filas se habilita de forma simultánea para recibir o cargar los datos del bus de entrada/salida.

Page 167


image a742bf34fc4286f1f436a288302c7da3

Existen otras modalidades de funcionamiento de las memorias estáticas, entre ellas se pueden nombrar las siguientes:

SRAM Sincrónica: Al igual que en los sistemas sincrónicos, este tipo de memoria tiene una entrada de reloj, la cual le permite operar en sincronía con otros dispositivos. Esta característica no aporta mejores beneficios, sin embargo simplifica enormemente el diseño de sistemas de alta prestaciones, ya que una única señal controla todos los dispositivos involucrados. La ventaja de estas memorias viene proporcionada por lo que se podría llamar su funcionamiento automático, guiado por la señal de reloj, por lo que no es necesario ocuparse de generar las señales de control.

SRAM de Ráfaga: Las memorias de ráfagas (burst) son sincrónicas y se caracterizan por incluir un contador que permite que la memoria genere internamente la dirección a la que debe acceder, consiguiendo de esta forma accesos hasta cuatro posiciones de memoria con una sola dirección de referencia. Esto permite acceder de forma más rápida a la información en memoria.

Vemos como funciona este tipo de memoria. La CPU genera una dirección de memoria, la cual se propaga a través del bus de direcciones hasta la memoria, decodificándose y accediendo a la posición correspondiente. Si se ha configurado la memoria en modo ráfaga, una vez obtenido el primer dato, incrementa la dirección y vuelve a acceder. De esta forma se evita el tiempo de propagación de las señales por el bus y el tiempo de decodificación de la dirección. El número de palabras leídas o escritas en una ráfaga, viene limitado por el tamaño del contador interno de la memoria.

SRAM Pipeline: Con los dos tipos de memorias anteriores se consigue el acceso a posiciones consecutivas de forma rápida. Para mantener esta velocidad cuando se cambia de secuencia, las memorias pipeline incluyen un buffer para almacenar la dirección y los datos actuales proporcionados por la memoria. De esta forma, se puede enviar la nueva dirección antes de terminar la lectura, consiguiendo así que la CPU no espere la finalización del acceso a una posición de memoria para generar la nueva dirección.

Memoria RAM dinámica: Este tipo de memoria conocida como DRAM (Dinamic Random Access Memory), a diferencia de la memoria estática se compone de celdas de memoria construidas con condensadores. Las celdas de memoria son de

Page 168


image be56a38b56164823b79d7b6d6e7e6771

fabricación más sencillas en comparación a las celdas a base de transistores, lo cual permite construir memorias de gran capacidad. La figura 184 se observa la composición interna de una de estas celdas.

image 41402b8d9c043df77f6c166a082b906c

La operación de la celda es similar a la de un interruptor, cuando el estado en la fila se encuentra en alto, el transistor entra en saturación y el dato presente en el bus interno de la memoria (columna) se almacena en el condensador, durante una operación de escritura y se extrae en una operación de lectura. El inconveniente que tiene este tipo de memorias consiste en que hay que recargar la información almacenada en las celdas, por lo cual estas celdas requieren de circuitería adicional para cumplir esta función. En la figura 185 se observa la celda completa con sus aditamentos donde se puede identificar la forma en que se desarrollan las operaciones de escritura, lectura y recarga.

image 5326547851613f1bd4623b26b610a7c2

Figura 185. Sistema lectura, escritura y recarga de una celda DRAM

Como se ha notado, existen diferencias entre la memoria Estática y Dinámica. En La tabla 76 se indican las ventajas y desventajas de los dos sistemas de memoria, lo cual permite seleccionar el tipo de memoria dependiendo de la aplicación.

Page 169


image 3240141131743cc9258cadebddb6c6ed

Tabla 76. Ventajas y desventajas de los dos sistemas de memoria

Memorias de Solo Lectura: Las memorias de solo lectura son conocidas como memorias ROM de la sigla en inglés Read Only Memory. Se caracterizan por ser memorias de lectura y contienen celdas de memoria no volátiles, es decir que la información almacenada se conserva sin necesidad de energía. Este tipo de memoria se emplea para almacenar información de forma permanente o información que no cambie con mucha frecuencia.

Actualmente se dispone de varios tipos de memorias ROM, a continuación se explicará cada una de ellas con sus características básicas.

Memoria ROM de Máscara: Esta memoria se conoce simplemente como ROM y se caracteriza porque la información contenida en su interior se almacena durante su construcción y no se puede alterar. Son memorias ideales para almacenar microprogramas, sistemas operativos, tablas de conversión y caracteres.

Generalmente estas memorias utilizan transistores MOS para representar los dos estados lógicos (1 ó 0). La programación se desarrolla mediante el diseño de un negativo fotográfico llamado máscara donde se especifican las conexiones internas de la memoria. En la figura 186 se muestra la celda de memoria de una ROM de este tipo, en tecnologías TTL y MOS.

Page 170


image 73f7c6f29891841882078d688a53008d

Las celdas de memoria se organizan en grupos para formar registros del mismo tamaño y estos se ubican físicamente formando un arreglo, como el indicado en la figura 187.

image 65c4f887b13dccf23e9e412b0e6ff623

Memoria PROM: Esta memoria es conocida como ROM programable de la sigla en inglés Programmable Read Only Memory. Este tipo de memoria a diferencia de la ROM no se programa durante el proceso de fabricación, en vez de ello la programación la efectúa el usuario y se puede realizar una sola vez, después de la cual no se puede borrar o volver a almacenar otra información.

El proceso de programación es destructivo, es decir, que una vez grabada, es como si fuese una ROM normal. Para almacenar la información se emplean dos técnicas: por destrucción de fusible o por destrucción de unión. Comúnmente la información se programa o quema en las diferentes celdas de memoria aplicando la dirección en el bus de direcciones, los datos en los buffers de entrada de datos y un pulso de 10 a 30V, en una terminal dedicada para fundir los fusibles correspondientes. Cuando se aplica este pulso a un fusible de la celda, se almacena un 0 lógico, de lo contrario se almacena un 1 lógico (estado por defecto), quedando de esta forma la información almacenada de forma permanente. En la figura 188 se observa la disposición interna de una celda de memoria y los fusibles correspondientes.

Page 171


image a8de0f05f191326343776d61357d5953

El proceso de programación de una PROM generalmente se realiza con un equipo especial llamado quemador. Este equipo emplea un mecanismo de interruptores electrónicos controlados por software que permiten cargar las direcciones, los datos y genera los pulsos para fundir los fusibles del arreglo interno de la memoria. En la figura 189 se indica de forma esquemática la función del programador.

image d7d05a91d13b5ef9e55f5fc0d7cf3049

Memoria EPROM: Este tipo de memoria es similar a la PROM con la diferencia que la información se puede borrar y volver a grabar varias veces. Su nombre proviene de la sigla en inglés Erasable Read Only Memory. La programación se efectúa aplicando en un pin especial de la memoria una tensión entre 10 y 25 Voltios durante aproximadamente 50 ms, según el dispositivo, al mismo tiempo se direcciona la posición de memoria y se pone la información a las entradas de datos. Este proceso puede tardar varios minutos dependiendo de la capacidad de memoria. La memoria EPROM, tal como las memorias vistas anteriormente se compone de un arreglo de transistores MOSFET de Canal N de compuerta aislada. En la figura 190 se observa el transistor funcionando como celda de memoria en una EPROM.

Page 172


image 985b86c80badb966d24214cf695c08f9

Cada transistor tiene una compuerta flotante de SiO 2 (sin conexión eléctrica) que en estado normal se encuentra apagado y almacena un 1 lógico. Durante la programación, al aplicar una tensión (10 a 25V) la región de la compuerta queda cargada eléctricamente, haciendo que el transistor se encienda, almacenando de esta forma un 0 lógico. Este dato queda almacenado de forma permanente, sin necesidad de mantener la tensión en la compuerta ya que la carga eléctrica en la compuerta puede permanecer por un período aproximado de 10 años.

Por otra parte el borrado de la memoria se realiza mediante la exposición del dispositivo a rayos ultravioleta durante un tiempo aproximado de 10 a 30 minutos. Este tiempo depende del tipo de fabricante y para realizar el borrado, el circuito integrado dispone de una ventana de cuarzo transparente, la cual permite a los rayos ultravioleta llegar hasta el material fotoconductivo presente en las compuertas aisladas y de esta forma lograr que la carga se disipe a través de este material apagando el transistor, en cuyo caso todas las celdas de memoria quedan en 1 lógico. Generalmente esta ventana de cuarzo se ubica sobre la superficie del encapsulado y se cubre con un adhesivo para evitar la entrada de luz ambiente que pueda borrar la información, debido a su componente UV. En la figura 10.3.6 se observa la fotografía de una memoria de este tipo.

image fcd205820c1e293398cc6e74dafab968

Memoria EEPROM: La memoria EEPROM es programable y borrable eléctricamente y su nombre proviene de la sigla en inglés Electrical Erasable Programmable Read Only Memory. Actualmente estas memorias se construyen con transistores de tecnología MOS (Metal Oxide Silice) y MNOS (Metal Nitride-Oxide Silicon).

Page 173


image 606e2b841ae088eeb5217dee4d5ca1ba

Las celdas de memoria en las EEPROM son similares a las celdas EPROM y la diferencia básica se encuentra en la capa aislante alrededor de cada compuesta flotante, la cual es más delgada y no es fotosensible.

La programación de estas memorias es similar a la programación de la EPROM, la cual se realiza por aplicación de una tensión de 21 Voltios a la compuerta aislada MOSFET de cada transistor, dejando de esta forma una carga eléctrica, que es suficiente para encender los transistores y almacenar la información. Por otro lado, el borrado de la memoria se efectúa aplicando tensiones negativas sobre las compuertas para liberar la carga eléctrica almacenada en ellas.

Esta memoria tiene algunas ventajas con respecto a la Memoria EPROM, de las cuales se pueden enumerar las siguientes:

Las palabras almacenadas en memoria se pueden borrar de forma individual.

Para borra la información no se requiere luz ultravioleta.

Las memorias EEPROM no requieren programador.

Para reescribir no se necesita se necesita hacer un borrado previo.

Se pueden reescribir aproximadamente unas 1000 veces sin que se observen problemas para almacenar la información.

El tiempo de almacenamiento de la información es similar al de las EPROM, es decir aproximadamente 10 años.

Memoria FLASH: La memoria FLASH es similar a la EEPROM, es decir que se puede programar y borrar eléctricamente. Sin embargo esta reúne algunas de las propiedades de las memorias anteriormente vistas, y se caracteriza por tener alta capacidad para almacenar información y es de fabricación sencilla, lo que permite fabricar modelos de capacidad equivalente a las EPROM a menor costo que las EEPROM.

Las celdas de memoria se encuentran constituidas por un transistor MOS de puerta apilada, el cual se forma con una puerta de control y una puerta aislada, tal como se indica en la figura 192. La compuerta aislada almacena carga eléctrica cuando se aplica una tensión lo suficientemente alta en la puerta de control. De la misma manera que la memoria EPROM, cuando hay carga eléctrica en la compuerta aislada, se almacena un 0, de lo contrario se almacena un 1.

image 09dc081b66a3182dfd69ea62958110d8

Page 174


image 8d04d8305335c2b08f8774c5085fd24d

Las operaciones básicas de una memoria Flash son la programación, la lectura y borrado.

Como ya se mencionó, la programación se efectúa con la aplicación de una tensión (generalmente de 12V o 12.75 V) a cada una de las compuertas de control, correspondiente a las celdas en las que se desean almacenar 0’s. Para almacenar 1’s no es necesario aplicar tensión a las compuertas debido a que el estado por defecto de las celdas de memoria es 1.

La lectura se efectúa aplicando una tensión positiva a la compuerta de control de la celda de memoria, en cuyo caso el estado lógico almacenado se deduce con base en el cambio de estado del transistor:

Si hay un 1 almacenado, la tensión aplicada será lo suficiente para encender el transistor y hacer circular corriente del drenador hacia la fuente.

Si hay un 0 almacenado, la tensión aplicada no encenderá el transistor debido a que la carga eléctrica almacenada en la compuerta aislada.

Para determinar si el dato almacenado en la celda es un 1 ó un 0, se detecta la corriente circulando por el transistor en el momento que se aplica la tensión en la compuerta de control.

El borrado consiste en la liberación de las cargas eléctricas almacenadas en las compuertas aisladas de los transistores. Este proceso consiste en la aplicación de una tensión lo suficientemente negativa que desplaza las cargas como se indica en la figura 193.

image 525af02a9384f00ac3074a70b5774aff

Figura 193. Proceso de descarga de una celda de memoria FLASH

7.7. Aplicaciones de las Memorias: En la actualidad muchos de los sistemas electrónicos necesitan dispositivos para almacenar y/o leer información. Como ejemplo de este tipo de sistemas podemos mencionar los teléfonos electrónicos, televisores, equipos de sonido y los computadores entre otros.

Esta lección se centrará en mencionar algunas aplicaciones particulares de las memorias que pueden ser de interés para desarrollar proyectos.

Memoria RAM: La memoria RAM es uno de los componentes más importantes en un computador. Cuando se requiere emplear un archivo de datos o programa, los datos o instrucciones son leídos desde el disco duro o disquete y colocados en una memoria

Page 175


image 6d7cccd8b7bb036041cac45f0f6f50c0

RAM, para que sean leídos por el microprocesador, permitiéndole manipularlos, ingresar nuevos datos, modificar los existentes, hacer cálculos, búsquedas, resúmenes, etc.

El uso más difundido de estos dispositivos indiscutiblemente se encuentra en los computadores:

Se utilizan en sistemas microprocesados, y en los microcontroladores, en sistemas pequeños es de lectura/escritura.

En los computadores se utiliza como memoria de Cache y memoria de vídeo.

Las memorias para computadores generalmente no se consiguen en chips, sino en módulos de memoria empaquetados en dos formatos básicos: SIMM y DIMM que contienen 8, 16, 32, 64 o 128 MB cada uno. Estos módulos se introducen en ranuras o slots en la tarjeta madre de los computadores y en la figura 194 se muestra su presentación de 32 y 72 pines.

image 5e520b68729a12c37d49e69ca548eeed

Memoria ROM:

Programas y Datos

La aplicación más difundida en este tipo de memoria ha sido el almacenamiento de códigos de programas para el momento del arranque de dispositivos que utilizan microprocesadores, como es el caso de los computadores.

Los Computadores vienen con una memoria ROM, donde se encuentran alojados los programas del BIOS (Basic Input Output System), el cual contiene las instrucciones y datos necesarios para activar y hacer funcionar el computador y sus periféricos. Debido a que en esta memoria la información está disponible en cualquier momento, los programas en una ROM son a menudo los cimientos sobre los que se construye el resto de los programas (incluyendo el DOS).

La ventaja de tener los programas fundamentales del computador almacenados en una ROM, es que están allí disponibles y no hay necesidad de cargarlos en la memoria desde el disco de la misma forma que se carga el DOS. Comúnmente estos programas son llamados Firmware, lo que indica que se encuentran firmemente almacenados en el Hardware y que no cambian.

Funciones matemáticas y Generadores de Señales

Otra aplicación de estas memorias consiste en el almacenamiento de tablas de datos que permiten generar funciones matemáticas. Por ejemplo existen memorias que

Page 176


image 0330a52086af2992ba09eee4aa025537

almacenan funciones trigonométricas y hallan el resultado con base en el valor binario introducido en el bus de direcciones. En la figura 195, se observa como se puede implementar un generador de una señal seno, a partir de la información almacenada en una memoria ROM.

image d3bb799d0d0a110096aa77dd84a6783e

Ejemplos de Memorias Comerciales

Las memorias son circuitos integrados cuyos pines se hayan en ambos lados de la cápsula, formando dos líneas o hileras de pines (DIP) y generalmente se fabrican con capacidades de orden de Kilobytes o Megabytes múltiplos de 8, por ejemplo 8k, 16k, 32k, 64k, 128k, o 8M, 16M, 32M, etc.

image 21ae17a396bed2b4e2688c0d9791e822

En la figura 196 se observa un esquema descriptivo de los pines que generalmente se encuentran en una memoria. A continuación se da una explicación de cada uno de estos pines:

A 0 ...A n (Bus de direcciones): Estos pines son las entradas para seleccionar la posición de memoria a escribir o leer y su cantidad define la capacidad de palabras que puede almacenar, dada por la expresión 2 n , donde n es el número de pines.

Page 177


image d25440230125c049c14777dcd18369ef

D 0 ...D i (Bus de Datos): Corresponde a los pines de entrada y salida de datos. En el mercado se consiguen generalmente buses de 1, 4, 8 y 16 bits y lo más usual es encontrar chips tengan 8 entradas de datos.

CS (Chip Select): Este pin se utiliza para seleccionar el chip de memoria que se desea acceder. Esto en el caso del usar dos o más memorias similares.

OE (Output Enable): Utilizado para habilitar la salida de datos. Cuando se encuentra en estado activo las salidas tiene alta impedancia o actúan como entradas.

R/W’ (Read/Write’): Entrada utilizada en las memorias RAM para seleccionar la operación de lectura o escritura

V CC y GND (Alimentación): Corresponden a los pines de alimentación del circuito integrado. Algunas tienen disponible tres pines para este propósito, pero por lo general son dos y el valor de la tensión de alimentación depende de la tecnología de fabricación del circuito.

En las siguientes secciones se indicaran algunos ejemplos de circuitos integrados de uso general disponibles en el mercado, dando un ejemplo de cada uno de los tipos de memorias vistas.

MEMORIA SRAM - MCM6264C: Esta memoria fabricada por Motorola y desarrollada con tecnología CMOS tiene una capacidad de 8K x 8. Los tiempos de lectura y escritura del integrado son de aproximadamente 12 ns y tiene un consumo de potencia aproximado de 100 mW. En la Figura 197 se observa la disposición de los pines del circuito integrado de esta memoria y sus las características técnicas básicas.

image d0629f6db51028b1a6eca050e0bb7d59

Page 178


image 27474e38df273c062728db6e30a47531

MEMORIA DRAM - 4116: El CI 4116 es una memoria DRAM de 16K x 1. La estructura interna de este integrado se encuentra constituida por un arreglo de 128 filas y 128 columnas donde cada uno de los bits se ubica con una dirección de 14 bits. En la figura 198 se muestra la disposición de los pines del circuito integrado. Observe que la entrada de direcciones es de 7 bits (A0...A6). La razón de poseer 7 pines y no 14, se debe a que estos tienen función doble, por ejemplo la entrada A0 se utiliza para establecer los valores de los bits A0/A7 de la dirección de memoria que se quiere acceder.

image 08c9808f246940cd7bd10f9f82315804

Para ingresar una dirección de memoria en este integrado se utilizan las señales de entrada RAS’ y CAS’, las cuales deben estar inicialmente en "1" para recibir los 7 bits menos significativos de la dirección (A6...A0). Después de ello la entrada RAS’ debe cambiar a "0" con lo cual los 7 bits se cargan en el registro de direcciones de memoria y el dispositivo queda disponible para recibir los 7 bits mas significativos (A7...A14) de la dirección. Una vez se aplican estos bits, la entrada CAS’ debe cambiar a "0", cargándolos de esta forma en el registro de direcciones en su respectiva posición y permitiendo finalmente acceder a la posición de memoria para efectuar la operación de lectura o escritura.

MEMORIAS PROM - 74S473: Esta memoria tiene una capacidad de 512 palabras de 8 bits y la descripción de sus pines se muestra en la figura 199

image 9fb8ca541bbe28ac4e08eaa547371566

Page 179


image 95da3e735eb1bd0c46ba264777289e7c

MEMORIA EPROM - 27C16B: Esta memoria de 24 pines tiene una capacidad de 2048 palabras de 8 bits, es decir 2KB. Las salidas de esta memoria son triestado, lo que permite escribir o leer los datos con el mismo bus de datos.

image bd30c1f54f8648c2ceb4c5bd32f8f965

Esta memoria tiene dos pines no indicados inicialmente:

VPP: Es utilizado durante la programación.

CE’/P (Chip Enable’/Program): Utilizado para seleccionar el chip (en caso de emplearse en forma conjunta con otros) y para programar la posición de memoria seleccionada en el bus de direcciones.

Durante la programación de la memoria, la entrada OE’ se debe encontrar en 1. En la entrada debe estar presente una tensión de 5V, así como en los datos y la dirección de memoria. Después de ello, se aplica pulso de tensión durante 30 ms aproximadamente, para almacenar los datos.

Como se vió anteriormente, el borrado de este tipo de memoria se efectúa mediante la exposición del integrado a luz ultravioleta. Una lámpara UV de 12mW, puede ser utilizada para efectuar este proceso, el cual tarda entre 20 y 25 minutos.

MEMORIA EEPROM - 28C64A: Esta memoria tiene una capacidad de 8K X 8 y tiene características diferentes a las demás. La información almacenada puede perdurar aproximadamente 100 años y puede soportar hasta 100.000 ciclos de grabado y borrado.

Page 180


image 9095a856b45cf4c48d8759e87725e13c

En la figura 201 se indica la disposición de los pines de esta memoria la cual se encuentra disponible en dos tipos de encapsulados (DIL y PLCC).

MEMORIA FLASH - 27F256: La capacidad de esta memoria es de 32K X 8 y como memoria Flash tiene la característica particular de ser borrada en un tiempo muy corto (1 seg.). El tiempo de programación por byte es de 100 ms y el tiempo de retención de la información es de aproximadamente 10 años.

En la figura 202 se indica la disposición de los pines de esta memoria con sus características técnicas básicas.

image 782250f6449b2e3b0f68c430f3442916

Page 181


image 1470e434809730b8d9cf583a683c094e

7.8. Lógica programable temprana

image 8b36d53e88afbe71edfa68a34006b12c

Page 182


image 79b95d859600aaf00776572a654ee729

image 8c8b67543a2d7520327115a6fd8a0514

Page 183


image a42458cd88267fe83308d75e5bc252c3

image b6466898a3dbfdfccd3394edbfd7ff58

Page 184


image a41262acd92daf3adc181378d057a9a8

image c01ef34f71616bc8913d26c48b245235

Page 185


image 18fe0f1367855b40f88f396664101fe2

image 94b8ec5dd4f58fd9d8f9581c770e3899

image 3d58812b77ac80c68569c5b01f93aec2

Page 186


image 38f872b37f5f62869a7ec95c7b698066

image 50aa74458ff882ba622eac33df310cfc

Page 187


image 214e26cb13836d5744cfbddb037d4380

Selección múltiple Única Respuesta

1. El equivalente binario del numero decimal 27 es a. 11011 b. 10111 c. 11001 d. 11101

2. El Equivalente binario del numero hexadecimal E7 es: a. 11100111 b. 01111110 c. 01111111 d. 11110111

3. El Equivalente Octal del numero Binario 111000001 es: a. 701 b. 103 c. 031 d. 013

4. La clasificación de los circuitos Integrados en: LSI, MSI, VLSI corresponde a: a. Cantidad de pines que posee cada circuito integrado b. Serie de Velocidad de cada circuito integrado dado por el fabricante c. Serie de consumo de potencia da cada circuito integrado dado por el fabricante d. Cantidad de transistores o compuertas que posee cada circuito integrado

5. Según el Teorema de D’Morgan (X+Y)’ es equivalente a: a. (XY)’ b. X’Y’ c. X’+Y’ d. X’+Y

6. La expresión algebraica implementada por circuito de la figura es:

image 027f0d0343f576b83e192668734e5cd2

a. (AB)’+BC

b. (A+B)’+(B+C) c. AB+(BC)’ d. (A+B)(B+C)’

7. La expresión algebraica simplificada por Minterminos empleando Mapas de Karnaugh de la figura es:

Page 188


image acb70db9f2fc29227dee2d265b045773

a. A’(B’+C’) b. A+BC c. A(B+C) d. A’+(BC)’

8. La expresión algebraica simplificada por Maxterminos empleando Mapas de Karnaugh de la figura es:

image a059e4d1b46ada330f7f3077bcab5c79

a. C

b. C’ c. B+C d. B’+C’

A partir de la siguiente tabla de verdad Responder las preguntas 9 y 10.

image fcaeb19e3ac717401244234838154e42

9. Dado el siguiente circuito Función simplificada empleando multiplexor que corresponde a la Tabla de verdad es:

Page 189


image b35c9627fb1536bedd556a17dcddc980

Page 190


image 03b55c17b1e45ada26ea7727676bef28

Page 191


image 668fd5e56111d3af7b7361aec0e0455b

Page 192


image dd2a80a9daa2979552f4929c8197512e

ANEXO 2 Respuestas Evaluación Diseño Electrónico Digital

image c0f06acb31abccb86c7de03ef96ff72e

Page 193


image 1a3a7a679c99ed7eeeac8fefb96b6cf5

Permitir que el estudiante pueda digitalizar señales físicas utilizando los componentes adecuados de Electrónica Digital.

El proyecto consiste en que el estudiante deberá adquirir una señal análoga (temperatura) por medio de un conversor Análogo Digital ADC0804, visualizar su digitalización a través de diodos Led e implementar un circuito que determinará el estado actual de la temperatura y dos (2) estados de alarma así:

1) Alarma A: Se activará cuando la temperatura este por debajo de los 12 grados Centígrados

2) Alarma B: Se activará cuando la temperatura supere los 38 grados Centígrados.

Preguntas:

¿Cuál es la resolución del conversor análogo digital? ¿Cuántas muestras por segundo puede tomar el ADC0804?

¿Qué modificaciones realizaría en el circuito para poder adquirir más de una señal? ¿Cuáles son las limitantes del sensor de temperatura? ¿Qué puede decir de la linealidad del sensor?

Elaborar informe que contenga: diagrama del circuito, respuestas a las preguntas anteriores, conclusiones y posibles aplicaciones para dicho montaje.

image f070b2d54ae681a1a0de713182b5079a

Final del extracto de 193 páginas

Detalles

Título
Diseño Electronico Digital para Ingenieria
Subtítulo
Diseño Lógico Combinacional y Secuencial
Universidad
( Atlantic International University )
Curso
Diseño Electronico Digital
Calificación
Sobresaliente
Autor
Año
2008
Páginas
193
No. de catálogo
V184997
ISBN (Ebook)
9783656102212
Tamaño de fichero
3061 KB
Idioma
Español
Notas
Considero importante descatacar el papel que la Universidad Nacional de Colombia en la realización de esta obra gracias algunos referentes teóricos, y gráficos que complementé a partir de mi experiencia, formación complementaria de Pregrado e Investigación durante mi proceso de Doctorado en Atlantic International University.
Palabras clave
Electronica Digital, Diseño Lógico, Ingeniería
Citar trabajo
Doctor of Sciences (Cum Laude) with major in Electronic Engineering Ruben Dario Cardenas Espinosa (Autor), 2008, Diseño Electronico Digital para Ingenieria, Múnich, GRIN Verlag, https://www.grin.com/document/184997

Comentarios

  • No hay comentarios todavía.
Leer eBook
Título: Diseño Electronico Digital para Ingenieria



Cargar textos

Sus trabajos académicos / tesis:

- Publicación como eBook y libro impreso
- Honorarios altos para las ventas
- Totalmente gratuito y con ISBN
- Le llevará solo 5 minutos
- Cada trabajo encuentra lectores

Así es como funciona