Tema 62A – Puertas lógicas. Técnicas de diseño y simplificación de funciones lógicas

Tema 62A – Puertas lógicas. Técnicas de diseño y simplificación de funciones lógicas

1.- PUERTAS LÓGICAS.

Los operadores o puertas lógicas son circuitos electrónicos digitales integrados 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.

1.1.- Puertas básicas.

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

Puerta OR.

La puerta OR corresponde a la función booleana de suma lógica. El estado de salida será la suma de los estados de las entradas, es decir, la salida será “1” cuando alguna de las entradas sea “1”.

Su símbolo característico y su tabla de verdad es:

clip_image002a

B

F = a + b

0

0

1

1

0

1

0

1

0

1

1

1

Puerta AND.

La puerta AND corresponde a la función booleana de multiplicación lógica. El estado de salida será el resultado de multiplicar los estados de las entradas.

clip_image004 Su símbolo característico y su tabla de verdad es:

a

b

F = a · b

0

0

1

1

0

1

0

1

0

0

0

1

Puerta NOT.

La puerta NOT corresponde a la función booleana de la negación lógica. Son puertas de una sola entrada y la salida corresponde a la negación del estado de la entrada.

Su símbolo característico y su tabla de verdad es:

clip_image006a

clip_image008

0

1

1

0

1.2.- Puertas especiales.

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

Puerta NOR.

Su expresión analítica es: clip_image010. El estado de la salida será el resultado de realizar la suma de las entradas y después negarlas.

Su símbolo característico y su tabla de verdad es:

clip_image013a

b

clip_image010[1]

0

0

1

1

0

1

0

1

1

0

0

0

Puerta NAND.

Su expresión analítica es: clip_image016. El valor de la salida vendrá dado por el resultado de realizar el producto de las entradas y después negarlo.

Su símbolo característico y su tabla de verdad es:

clip_image019

a

b

clip_image016[1]

0

0

1

1

0

1

0

1

1

1

1

0

Puerta OR-exclusivo.

Su expresión analítica es: clip_image021. El resultado de la salida será “1” cuando el número de entradas de nivel “1” sea impar.

Su símbolo característico y su tabla de verdad es:

clip_image024

a

b

clip_image025

0

0

1

1

0

1

0

1

0

1

1

0

Puerta NOR-exclusivo.

Su expresión analítica es: clip_image027. El valor de la salida será el resultado de realizar la función OR-exclusivo en las entradas y después negarla.

Su símbolo característico y su tabla de verdad es:

clip_image030

a

b

clip_image031

0

0

1

1

0

1

0

1

1

0

0

1

2.- TÉCNICAS DE DISEÑO DE FUNCIONES LÓGICAS.

Los sistemas digitales han de poder efectuar automáticamente procesos lógicos bien definidos, el diseño y descripción de los sistemas lógicos se lleva a cabo empleando el álgebra de Boole.

2.1.- Algebra de Boole.

El álgebra de Boole, basándose en la teoría de conjuntos, se aplica a sistemas matemáticos en los que solo existen dos elementos posibles: el “0” y el “1”.

En el álgebra de Boole sólo existe tres operaciones: suma, multiplicación y complementación o negación lógica. Cumpliendo las siguientes propiedades y teoremas:

1. Conmutativa.

a + b = b +a

a · b = b · a

2. Asociativa.

(a +b) + c = a + (b + c)

(a · b) · c = a · (b · c)

3. Distributiva.

a · (b + c) = a · b + a · c

a + (b · c) = (a + b) · (a + c)

4. Elemento unitario o de identidad.

a + 0 = a

a · 1 = a

5. Elemento complementario o negado.

clip_image033

clip_image035

6. Teorema de idempotencia.

a + a = a

a · a = a

7.Teorema de variable doblemente negada.

clip_image037

También existen una serie de leyes y teoremas de gran utilidad para el diseño y descripción de funciones lógicas. Estas leyes y teoremas son demostrables por el método de inducción completa, que consiste en comprobar que la relación entre los elementos que la ley o el teorema define se cumple en todos los casos posibles, utilizando para ello las tablas de verdad.

El álgebra de Boole cumple el principio de dualidad con respecto a las operaciones (+) y (·) y con los elementos de identidad “0” y “1”. El principio de dualidad consiste en que dada una expresión lógica, se define su dual como aquella obtenida al cambiar los ceros por unos y los unos por ceros, las operaciones (+) por (·) y (·) por (+).

Entre las principales leyes y teoremas booleanas cabe destacar:

Forma básica

Forma dual

Ley de absorción

a + a · b = a

a · (a + b) = a

Teorema de Morgan

clip_image039

clip_image041

Otras leyes

clip_image043

clip_image045

clip_image047

clip_image049

2.2.- Representación de funciones lógicas.

Una función lógica se puede representan de diferentes formas, éstas son las siguientes:

– Expresión algebraica.

La representación algebraica es una de las formas de representación de las funciones lógicas, está constituida por las variables que la forman y la relación entre ellas.

clip_image051

– Tabla de verdad.

La representación de la función lógica por su tabla de verdad que nos da todos los valores posibles de la salida para cualquiera de los posibles valores de las variables de la forman.

a

b

C

F

0

0

0

0

1

1

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

1

0

1

1

1

1

0

0

– Formas canónicas.

La representación de la función lógica en forma canónica es cuando se expresa la función con todas sus variables y puede ser:

· Producto de sumas de términos forma maxterms (maxitérminos).

· Suma de productos de términos forma minterms (minitérminos).

La expresión de la función lógica anterior, que se ha utilizado para realizar la tabla de verdad, es una expresión ya simplificada. Si no se dispone de ella se puede obtener la función lógica del análisis de la tabla de verdad y se obtiene una forma canónica de la siguiente manera:

a) Forma canónica maxterms.

De la tabla de verdad se extrae los valores de las variables para los que la función adquiere valor cero, de cada uno de ellos obtendremos un maxterms compuesto de todas las variables sumadas entre sí y que se presentarán complementadas si su valor es uno y sin complementar si su valor es cero, y se multiplican todos los términos de la función con valor cero.

clip_image053

b) Forma canónica minterms.

De la tabla de verdad se extrae los valores de las variables para los que la función adquiere el valor uno, de cada uno de ellos obtenemos un minterms compuesto de todas las variables multiplicadas entre sí y que se presentarán complementadas si su valor es cero y sin complementar si su valor es uno, y se suman todos los términos de la función con valor uno.

clip_image055

2.3.- Implementación de funciones lógicas.

La implementación de una función lógica consiste en realizar el interconexionado con las puertas lógicas básicas para formar el circuito digital que cumpla la ecuación de dicha función, en cualquiera de sus formas de representación. En la práctica para un menor coste económico, mayor eficacia y menos posibilidades de error se implementa la expresión más simplificada, que necesitará menos puertas lógicas y menos interconexiones.

En las implementación de una función lógica por medio de circuitos digitales, las variables suelen ser tensiones. Los valores 0 y 1 se asignan de acuerdo con un criterio preestablecido según nos interese en cada caso.

Los criterios más usados son los siguientes:

– Lógica positiva: el “1” lógico corresponde a las tensiones más positivas y el “0” a las menos positivas.

– Lógica negativa: el “1” lógico corresponde a tensiones negativas y el “0” lógico a las menos negativas.

También en la práctica se tiende a homogeneizar los circuitos digitales en un tipo de puertas que suelen ser: puertas NAND o puertas NOR.

3.- TÉCNICAS DE SIMPLIFICACIÓN DE FUNCIONES LÓGICAS.

La minimización de funciones lógicas permite un menos coste y mayor fiabilidad en la construcción del circuito digital. A veces la expresión más reducida no es apropiada por el tipo de componentes empleado pero es mucho más fácil el trabajo si se desarrolla a partir de la expresión más sencilla. Existen varios métodos de simplificación.

3.1.- Simplificación por el método algebraico.

Este método consiste en la aplicación de las leyes y teoremas del álgebra de Boole para reducir la función lo máximo posible. Sus resultados son muy variables.

Para que la solución por este método sea lo más práctico posible se parte de la forma canónica de la función, ya sea en minterms o en maxterms.

3.2.- Métodos tabulares de simplificación.

Estos métodos utiliza para simplificar las funciones lógicas tablas para agrupar los términos de la función y poder aplicar la propiedad del álgebra de Boole que permite reducir una o más variables.

clip_image045[1]

3.2.1.- Mapas de Karnaugh.

Este método de simplificación de funciones lógicas se puede utilizar para funciones de dos a seis variables, siendo su uso práctico para funciones de dos a cinco variables.

Este método está constituido 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. Cada una de las casillas representa la distintas combinaciones adyacentes de las variables que puedan existir.

En las tablas, dos casillas que tienen un lado común sus términos canónicos son adyacentes (cambian de estado una sola variable). También son adyacentes la última y primera fila y la última y primera columna.

Con la tabla de verdad de la función lógica se sitúan en el mapa de Karnaugh todas las formas canónicas que se seleccionan para expresar la función en minterms o en maxterms.

Una vez situados los minterms o maxterms agrupamos los términos adyacentes siguiendo las siguientes reglas:

– Hay que agrupar todos los términos procurando conseguir grupos del máximo número de casillas.

– Los agrupamientos serán de uno, dos, cuatro u ocho términos contiguos (siempre en potencias de dos) según los ejes coordenados, pero nunca según ejes diagonales.

– Un término canónico puede intervenir en distintos grupos.

Se aplica la siguiente la ley del álgebra de Boole:

clip_image058

Al aplicar esta ley en el mapa de Karnaugh en donde todas las casillas (términos canónicos) contiguas, según los ejes coordenados, se caracterizan por diferenciarse sólo una variable, que se encuentra negada en una de ellas y sin negar en la otra, permite simplificar de los términos canónicos sus variables comunes.

3.2.2.- Tablas de Quine-McCluskey.

Se emplea en la simplificación de funciones con cualquier número de variables, pero se suelen utilizar solamente a partir de cinco variables.

El método consiste en una serie de tablas que, utilizando la representación binaria equivalente de cada uno de los términos que componen la función a simplificar, expresada siempre bajo la forma minterms, tratan de encontrar las relaciones de similitud existentes entre dichos términos para, así, poderlos reducir aplicando la misma ley que en los mapas de Karnaugh.

El proceso de simplificación exige la obtención ordenada de las siguientes tablas.

· Tabla de agrupamientos base.

· Tabla de agrupamientos de orden: primero, segundo, tercero,…

· Tabla reductora final.

El resultado de la simplificación se obtiene de la tabla reductora final, formando términos equivalentes a las combinaciones binarias indicadas en la tabla y empleando para ello el convenio de las ecuaciones minterms.

3.3.- Simplificación de funciones lógicas incompletas.

Resulta frecuente en los circuitos digitales que ciertos valores de las variables de entrada no pueden producirse nunca debido a que otros circuitos anteriores impide su llegada a circuito que se diseña. En estos casos son combinaciones indiferentes de valores que nunca se darán y podremos darles el valor “0” ó “1” según nos interese; de esta forma la simplificación puede ser más eficaz. Se representa en la tabla de verdad con una X.

4.- CIRCUITOS COMBINACIONALES.

Cuando en los diseños de circuitos digitales lógicos las funciones a implementar son grandes, o son muy utilizadas, los fabricantes desarrollan circuitos integrados que en una sola pastilla realizan ese tipo de funciones. A estos circuitos integrados se les denomina circuitos combinacionales y están formados por puertas lógicas básicas, pero su complejidad y el número de puertas necesario para hacerlo hace que las dimensiones sean excesivas.

Los circuitos más utilizados son:

· Decodificadores: son circuitos que poseen n entradas y 2n salidas. Su funcionamiento consiste en que está activa una de las salidas y corresponde a una de las posibles combinaciones binarias de las entradas .

· Codificadores: son circuitos que poseen 2n entradas y n salidas, de modo que activando una de las entradas a la salida obtenemos el código binario de la entrada activada.

· Multiplexores: son circuitos que poseen 2n entradas de información, n entradas de selección y una salida. Este circuito es capaz de conectar su salida con una de las entradas que corresponderá al valor de la combinación binaria de las entradas de selección.

· Demultiplexores: su funcionamiento es inverso al del multiplexor, es decir, posee una entrada, 2n salidas y n entradas de selección.

· Convertidores de código: son circuitos que codifican la entrada a un código determinado. Un ejemplo es el conversor BCD-7 segmentos, que es capaz de pasar un número bcd al código que se utiliza para mostrar los números decimales en un display.

· Comparadores: estos circuitos poseen dos grupos de bits (combinación binaria de dos número (A,B)) como entradas y tres salidas, cada una de ellas se activará para indicar si la dos entradas son iguales (A = B), si A < B o si A > B.

· Sumadores : Son circuitos que realizan las sumas binarias de dos grupos de bits.