Puertas lógicas

Puertas lógicas

Bibliografía:

· ELECTRÓNICA GENERAL.

1. Dispositivos y sistemas digitales.

Antonio Gil Padilla.

MacGraw-Hill.1991

Libro de texto utilizado en los cursos de Formación Profesional cuyo contenido tiene un nivel medio y adecuado para los no iniciados en la lógiga digital.

Tiene información muy útil para comprender todos los apartados desarrollados en el tema desde las puertas lógicas, pasando por la implementación de los circuitos lógicos, simplificación por Karnaugh y Quine-McCluskey, y los circuitos combinacionales integrados.

· ELECTRÓNICA DIGITAL.

L. Cuesta – A. Gil Padilla – F. Remiro.

McGraw-Hill. 1996

Libro de problemas con una introducción teórica del tema.

En este libro tiene un nivel mayor al anterior y con un elevado número de problemas resueltos y propuestos.

· FUNDAMENTOS DE SISTEMAS DIGITALES.

T. L. Floyd.

Prentice Hall.

El libro es interesante por las aplicaciones que tiene. Su contenido es secuencial y el nivel aumenta progresivamente, por ello se tiene que tener en cuenta los temas y las aplicaciones anteriores sino se tiene nivel para encontrar lo que se quiere.

ANEXO II.

DISEÑO DE CIRCUITOS DIGITALES.

El proceso de diseño de un circuito digital ha de seguir una serie de pasos para cumplir las condiciones de funcionamiento, estos son los siguientes:

1. Obtener la tabla de verdad que representa la función lógica a implementar a partir de las condiciones de funcionamiento del circuito.

2. Deducir la ecuación de la función que se realizará, partiendo de la tabla de verdad, en unas de sus formas canónicas (minterms o maxterms).

3. Simplificar la ecuación obtenida de la tabla de verdad, utilizando métodos de simplificación basados en las propiedades y teoremas del álgebra de Boole.

4. Implementar el circuito con puertas lógicas, buscando la obtención de alguno o varios de los siguientes objetivos:

– Implementar con el menor número de puertas posibles.

– Implementar con un solo tipo de puertas.

– Implementar con el menor número de circuitos integrados o chips.

– Implementar el circuito más económico.

A continuación se va a profundizar en cada uno de los pasos anteriores indicando los métodos más habituales.

1.- OBTENER LA TABLA DE VERDAD.

La tabla de verdad, que es la representación gráfica de todas las combinaciones posibles de las variables implicadas en el funcionamiento del circuito (variables de entrada) y el resultado ante dichas combinaciones, como consecuencia del funcionamiento del circuito (función lógica de salida).

Para obtener la tabla de verdad del circuito digital a diseñar se parte del planteamiento del problema, determinado las variables implicadas en el funcionamiento y el resultado a obtener por las condiciones que debe cumplir.

Ejemplo:

En un banco se desea que el mecanismo de apertura de la caja fuerte sólo se pueda abrir si se activa dos pulsadores situados en puntos distintos: uno en el interior de la caja, siendo accionado por un operario, y otro que debe ser pulsado por el director del banco desde su despacho.

Solución:

En el planteamiento del problema se deduce que dos pulsadores P1 y P2 activa el mecanismo (M) de la caja fuerte si los dos pulsadores están activados al mismo tiempo. Por tanto, la tabla de verdad es la siguiente:

P1 P2

M

0 0

0 1

1 0

1 1

0

0

0

1

2.- DEDUCIR LA ECUACIÓN.

A partir de la tabla de verdad que representa la respuesta binaria de una función lógica, existen dos métodos para obtener su ecuación en forma canónica. Estos métodos están expresados y resumidos en la siguiente tabla:

Tipos de ecuación

Métodos de obtención

Convenio a aplicar

Ecuación

Minterms

Obtener la suma de productos de variables

Cuyas combinaciones hacen 1 la función

0 variable negada

1 variable sin negar

Ecuación

Maxterms

Obtener el producto de las sumas de variables

Cuyas combinaciones hacen 0 la función

0 variable sin negar

1 variable negada

Siguiendo con el ejemplo anterior, partiendo de la tabla de verdad:

· Ecuación minterms:

clip_image002

· Ecuación maxterms:

clip_image004clip_image006

3.- SIMPLIFICAR LA ECUACIÓN.

Existen dos procedimientos básicos para simplificar las ecuaciones booleanas, que se obtiene de forma canónica de la tabla de verdad:

1. Método de simplificación algebraico: se realiza aplicando las leyes y teoremas del álgebra de Boole.

2. Métodos tabulares y gráficos: entre estos métodos en la práctica los más empleados son dos:

· Mapas de Karnaugh: se pueden utilizar para simplificar funciones de dos a seis variables, aunque habitualmente se emplea para funciones de dos a cinco variables. (es el método más apropiado)

· Tablas de Quine-McCluskey: se puede emplear en la simplificación de ecuaciones de cualquier número de variables, pero se suelen utilizar solamente a partir de cinco variables.

4.- IMPLEMENTAR EL CIRCUITO.

Una vez que se tenga la ecuación de la función lógica simplificada se implementa el circuito digital con puertas lógicas que cumple la ecuación de dicha función, teniendo en cuenta los objetivos anteriormente expuestos.

Para implementar una determinada función lógica se emplea combinaciones de puertas lógicas cuyo conjunto realice la operación deseada o se utiliza las equivalencias entre puertas para emplear un solo tipo.

2.4.1.- Operadores lógicos.

Los Operadores lógicos o puertas lógicas son pequeños circuitos digitales cuyo funcionamiento se adapta a las operaciones y postulados del álgebra de Boole.

Las puertas lógicas se identifican con un símbolo gráfico, realizan una función o ecuación lógica y cada una de ellas tienen una “tabla de verdad” donde se indica el estado de la función de salida dependiendo de los estados de las variables de entrada.

Puertas básicas.

Las puertas lógicas básicas son aquellas que realizan las operaciones del álgebra de Boole.

Puerta OR.

Puerta AND.

Puerta NOT.

Puertas especiales.

Las siguientes puertas lógicas derivan de las anteriores y tienen gran importancia en la fabricación de circuitos integrados.

Puerta NOR.

Puerta NAND.

Puerta OR-exclusivo.

Puerta NOR-exclusivo.

Las puertas NAND y NOR son también conocidas como puertas universales, porque cada una de ellas permite reproducir todas las operaciones del álgebra de Boole.

En los problemas prácticos de implementación de un circuito lógico se suele pedir que el circuito tenga un tipo de puerta lógica, ya sea NAND o NOR.

La comprobación de la universalidad de la puerta NAND con dos entradas:

· Si unimos las dos entradas en una sola , se obtiene la función NOT.

· La función AND se obtiene negando la salida de la propia puerta NAND .

· Para la implementación de la función NOR es necesario recurrir a la doble complementación y a las leyes de Morgan:

clip_image008

La universalidad de la puerta NOR se demuestra de la misma manera:

· Uniendo las dos entradas de la puerta NOR se obtiene la función NOT.

· La función OR se obtiene negando la salida de la propia puerta NOR.

· Para realizar la puerta AND es necesario recurrir a la doble complementación y a las leyes de Morgan.

clip_image010

En la siguiente tabla se implementa con puertas NAND y NOR las funciones del álgebra de Boole.

 
 clip_image012


ANEXO III.

MAPAS DE KARNAUGH.

Los mapas de Karnaugh están constituidos por una cuadrícula en forma de encasillado cuyo número de casillas depende del número de variables que tenga la función a simplificar, 2n siendo n el número de variables. Cada casilla representa las distintas combinaciones de las variables que puedan existir.

clip_image014
En la siguiente figura aparecen las distintas formas que adoptan los mapas de Karnaugh en función del número de variables.

1.- REPRESENTACIÓN DE ECUACIONES BOOLEANAS EN MAPAS DE KARNAUGH.

Cada una de las casillas que forman el mapa puede representar términos tanto minterms como maxterms. El convenio que se emplea es el mismo que en el apartado 2.2 para obtener la ecuación booleana de una tabla de verdad.

En la siguiente figura aparece, a modo de ejemplo, la equivalencia de cada una de las casillas de un mapa de cuatro variables expresadas en términos minterms y en términos maxterms.

clip_image016

Cuando se va a representar una ecuación en forma minterms, se pone 1 en la casilla correspondiente a cada término. Por el contrario, si se representa en forma maxterms, se pone un 0 en la casilla correspondiente a cada término.

El importante recordar que cuando se representa una función booleana, ésta tiene que estar en su forma canónica (minterms o maxterms) completa y, por tanto, todos los términos han de tener todas las variables que intervienen en la función booleana.


2.- SIMPLIFICACIÓN DE ECUACIONES EN MAPAS DE KARNAUGH.

El principio de simplificación de los mapas de Karnaugh se basa en una de las leyes del álgebra de Boole. Dicha ley y su ley dual es la siguiente:

· Para ecuaciones minterms

clip_image018

· Para ecuaciones maxterms

clip_image020

Se puede observar en cada una de las casillas del mapa de Karnaugh, que sus casillas adyacentes se caracterizan por diferenciarse en sólo una variable, que se encuentra negada en una de ellas y sin negar en la otra. Esta característica, que se cumple en todos los mapas, permite aplicar la ley anterior, consiguiendo así simplificar la ecuación lógica, eliminando la variable que cambia.

Generalizando el proceso de simplificación, tanto para las funciones minterms como para las funciones maxterms, en los mapas de Karnaugh se pueden simplificar entre sí los siguientes grupos de casillas:

· Grupos de 2, 4, 8, 16, 32 o 64 casillas contiguas o adyacentes según los ejes coordenados, pero nunca según los ejes diagonales.

· Los grupos de casillas de los bordes del mapa opuestas entre sí.

· El grupo de casillas constituido por las cuatro esquinas del mapa.

En un mapa de Karnaugh se procurará conseguir grupos del máximo número de casillas, en consecuencia la simplificación es máxima y correcta, pero respetando las normas anteriores. También, si es posible, agrupar todos los términos representados, no existiendo ningún problema en que un término pertenezca a más de un agrupamiento.

2.1.- Mapa de Karnaugh con minterms

Los pasos para simplificar una función lógica en forma canónica minterms por el método de mapas de Karnaugh son los siguientes:

1. Escribir a partir de la tabla de verdad la expresión booleana minterms.

Sea la siguiente tabla de verdad de una función booleana:

Entradas

Salida

a b

F

0 0

0 1

1 0

1 1

0

1

1

1

La expresión booleana minterms es:

clip_image022

2.

 
 clip_image024

Escribir un 1 en el mapa para cada combinación de variables que haga que la función booleana tenga como resultado 1.

3.

 
 clip_image026

Marcar por medio de círculos las casillas adyacentes formando grupos de dos, cuatro u ocho 1 en el mapa. (Los grupos pueden solaparse).

4. Eliminar la variable (o variables) que aparecen en una agrupación junto con su complemento, y mantener la variable (o variables) restante.

· Del agrupamiento horizontal se elimina la a.

· Del agrupamiento vertical se elimina la b.

5. Por cada agrupamiento se obtendrá una variable (o varias variables) para formar la expresión minterms simplificada.

clip_image028

Otro ejemplo con 4 variables.

A partir de la tabla de verdad obtener la expresión booleana minterms simplificada.

2) Expresión de minterms no simplificada.

clip_image030

clip_image032

clip_image034

3) Gráfica y agrupación de 1 en el mapa.

clip_image036

5) Expresión booleana simplificada:

clip_image038

1) Tabla de verdad

Entradas

Salida

a b c d

F

0 0 0 0

0 0 0 1

0 0 1 0

0 0 1 1

0 1 0 0

0 1 0 1

0 1 1 0

0 1 1 1

1 0 0 0

1 0 0 1

1 0 1 0

1 0 1 1

1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1

0

1

0

1

0

1

1

1

0

1

0

1

0

1

0

1


2.2.- Mapa de Karnaugh con maxterms

Los pasos para simplificar una función lógica en forma canónica maxterms por el método de mapas de Karnaugh son los siguientes:

1. Escribir a partir de la tabla de verdad la expresión booleana maxterms.

Sea la siguiente tabla de verdad de una función booleana:

Entradas

Salida

a b c

F

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

0

1

1

1

0

1

0

1

La expresión booleana maxterms es:

clip_image040

2.

 
 clip_image042

Escribir un 0 en el mapa para cada combinación de variables que haga que la función booleana tenga como resultado 0.

3. Marcar por medio de círculos las casillas adyacentes formando grupos de dos, cuatro u ocho 0 en el mapa. (Los grupos pueden solaparse).

 
 clip_image044

4. Eliminar la variable (o variables) que aparecen en una agrupación junto con su complemento, y mantener la variable (o variables) restante.

· Del agrupamiento cerrado se elimina la b.

· Del agrupamiento abierto por los extremos se elimina la a.

5. Por cada agrupamiento se obtendrá una variable (o varias variables) para formar la expresión minterms simplificada.

clip_image046

IMPORTANTE:

La expresión booleana simplificada resultante de utilizar los mapas de Karnaugh para las formas minterms y maxterms son diferentes, pero el resultado de la función es la misma. Ambas técnicas deben intentarse en una tabla de verdad para encontrar el circuito más simplificado.

3.- TÉRMINOS INDIFERENTES EN UNA FUNCIÓN BOOLEANA

En los circuitos digitales, que su funcionamiento corresponde a una función booleana, cada una de las variables se corresponde con las entradas del circuito, siendo la salida el resultado de la propia función.

Sucede a veces en los circuitos digitales que ciertas combinaciones de sus variables de entrada no pueden producirse nunca, por cualquier causa. A estas combinaciones de entrada que, apareciendo en la tabla de verdad de funcionamiento del circuito digital, no produce en la salida ni 0 ni 1 se denominan combinaciones indiferentes, y se representan en las tablas de verdad por x.

A su vez, estas combinaciones indiferentes dan lugar a términos indiferentes, que pueden ser representados en los mapas de Karnaugh y se los puede considerar bien como 0 o como 1 según convenga para las simplificaciones y sin que ello conlleve alteraciones en la respuesta de la función; es decir, del circuito digital.

Ejemplo.

El código BCD representa los números decimales de 0 a 9, necesitando para su representación 4 variables binarias (bits), de las 16 combinaciones posibles. Por tanto, existen 6 combinaciones no válidas: 101, 1011, 1100, 1110 y 1111. Dado que estos estados no permitidos no ocurren nunca en una aplicación que emplee el código BCD, pueden considerarse como términos indiferentes con respecto a su efecto en la salida. Esto significa que a estos términos se les puede asignar tanto un 1 como un 0 en la salida.

a) Sin términios indiferentes

clip_image048

clip_image050

b) Con términos indiferentes.

clip_image052

clip_image054

Como aplicación la ecuación simplificada de la siguiente tabla de verdad que describe una función lógica que tiene sólo salida igual a 1 cuando el código BCD de 7, 8 ó 9 se introduce a la entrada.

Tabla de verdad

Entradas

Salida

a b c d

F

0 0 0 0

0 0 0 1

0 0 1 0

0 0 1 1

0 1 0 0

0 1 0 1

0 1 1 0

0 1 1 1

1 0 0 0

1 0 0 1

1 0 1 0

1 0 1 1

1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1

0

0

0

0

0

0

0

1

1

1

x

x

x

x

x

x