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

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

INDICE.

0.- INTRODUCCIÓN.

1.- PUERTAS LÓGICAS.

1.1.- Puertas básicas.

Puerta OR.

Puerta AND.

Puerta NOT.

1.2.- Puertas especiales.

Puerta NOR.

Puerta NAND.

Puerta OR-exclusivo.

Puerta NOR-exclusivo.

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

2.1.- Algebra de Boole.

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

– Expresión algebraica.

– Tabla de verdad.

– Formas canónicas.

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

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

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

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

3.2.1.- Mapas de Karnaugh.

3.2.2.- Tablas de Quine-McCluskey.

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

4.- CIRCUITOS COMBINACIONALES INTEGRADOS.

4.1.- Decodificadores.

4.2.- Codificadores.

4.3.- Multiplexores.

4.4.- Demultiplexores

4.5.- Convertidores de código

4.6.- Comparadores.

4.7.- Sumadores.

0.- INTRODUCCIÓN.

El diseño de circuitos digitales se realiza a partir de unas condiciones de funcionamiento, con las que se elabora la tabla de verdad, se simplifica la función y se construye con puertas lógicas. Estos circuitos reciben el nombre de combinacionales.

El circuito combinacional se define como el sistema lógico cuyas salidas depende en todo momento de los valores binarios que adopten las variables de entrada. En definitiva, son funciones lógicas, que se pueden representar en una tabla de verdad, simplificar mediante la lógica booleana, o por métodos como el de Karnaugh e implementar con puertas lógicas.

Sin embargo, existe otro tipo de circuitos, llamados secuenciales, que no responde al esquema anterior.

El circuito secuencial es aquél cuya salida, en cualquier momento, depende no sólo de la entrada al circuito en ese instante determinado, sino también de la evolución que haya experimentado anteriormente; es decir, memoriza de la secuencia de entradas a que estuvo sometido para tomar decisiones posteriormente.

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 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_image026

0

0

1

1

0

1

0

1

0

1

1

0

Puerta NOR-exclusivo.

Su expresión analítica es: clip_image028. 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_image031

a

b

clip_image033

0

0

1

1

0

1

0

1

1

0

0

1

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.


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_image035

clip_image037

6. Teorema de idempotencia.

a + a = a

a · a = a

7.Teorema de variable doblemente negada.

clip_image039

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

clip_image041

a · (a + b) = a

(1)

Teorema de Morgan

clip_image043

clip_image045

(2)

Leyes de transposición

clip_image047

clip_image049

clip_image051

clip_image053

(3)

(4)

Otras leyes

clip_image055

clip_image057

clip_image059

clip_image061clip_image063

clip_image065

clip_image067

clip_image069

clip_image071

clip_image073

clip_image075

clip_image077

(5)

(6)

(7)

(8)

(9)

(10)

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 la tabla de verdad, que es la representación gráfica de todos los casos que pueden darse entre las variables de entrada y de sus respectivos resultados.

Para comprender mejor lo anterior la demostración de la ley de absorción, que su expresión algebraica es la siguiente:

a + a · b = a

Su demostración se encuentra en la siguiente Tabla de verdad:

a b

a + a · b

a

0 0

0 1

1 0

1 1

0 + 0 · 0 = 0

0 + 0 · 1 = 0

1 + 1 · 0 = 1

1 +1 · 1 = 1

0

0

1

1

Esta tabla de verdad tiene en la columna de la izquierda las variables de entrada y en las columnas siguientes los resultados de aplicar la ley de absorción.

Existen infinidad de teoremas en el álgebra de Boole que pueden ser demostrados por este método.

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.

Ejemplo:

clip_image079

– Tabla de verdad.

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

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) o primera forma canónica.

· Suma de productos de términos forma minterms (minitérminos) o segunda forma canónica.

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_image081

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_image083

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. Se simboliza con un círculo tanto en la entrada como en la salida.

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.

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.

 
 clip_image085

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

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 se agrupan 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_image087

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.

Una función lógica incompleta es aquella que ante las posibles combinaciones binarias de las variables de entrada del circuito digital ciertos valores no pueden producirse nunca debido a que otros circuitos anteriores impide su llegada a circuito que se diseña.

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.

4.- CIRCUITOS COMBINACIONALES INTEGRADOS.

Cuando en los diseños de circuitos digitales lógicos las funciones a implementar tienen un número elevado de puertas lógicas, o son muy utilizadas, los fabricantes desarrollan circuitos integrados que en una sola pastilla realizan ese tipo de funciones. Estos circuitos combinacionales integrados 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 combinacionales integrados más característicos son:

4.1.- Decodificadores.

Un decodificador es un circuito integrado combinacional que presenta n entradas y 2n salidas. Su funcionamiento consiste en que está activa una línea de las salidas correspondiente al código binario de las posibles combinaciones binarias de las entradas .

Los decodificadores y demás circuito combinacionales pueden ser de funcionamiento a nivel activo:

· Alto: una línea se encuentra activa cuando está a “1”.

· Bajo: una línea se encuentra activa cuando está a “0”.

Esto corresponde al funcionamiento del circuito combinacional en lógica positiva o negativa, que anteriormente se indico en el apartado de implementación de funciones lógicas.

4.2.- Codificadores.

Un codificador es un circuito integrado combinacional que presenta 2n líneas de entrada y n líneas de salidas, de modo que activando una de las entradas a la salida obtenemos el código binario (o su complementaria) de la entrada activada en ese momento.

4.3.- Multiplexores.

Un multiplexor es circuito combinacional que presenta 2n líneas de entradas de información, n líneas de entradas de selección y una línea de salida. Este circuito conecta su salida con una de las entradas que corresponderá al valor del código binario de las entradas de selección.

El circuito multiplexor actúa como un conmutador que conecta a voluntad cualquiera de los 2n canales de entrada sobre un único canal de salida.

4.4.- Demultiplexores

El funcionamiento del circuito demultiplexor es inverso al del multiplexor, es decir, posee una entrada, 2n salidas y n entradas de selección.

Los multiplexadores en combinación con los demultiplexadores son muy útiles para transmitir información. El método consiste en hacer aparecer, mediante multiplexador, la información presente en una de las entradas sobre la salida, seleccionada mediante un código adecuado según las líneas de control.

4.5.- Convertidores de código

Los convertidores de código permiten el paso de un código presente en las señales de entrada a otro distinto en las señales de salida.

Los convertidores de código se emplea en el funcionamiento de los sistemas digitales, debido a la existencia de diversos tipos de códigos binarios cuya aplicación depende de la necesidad del sistema, ya sea para pasar de una etapa a otra o su representación visual.

Un ejemplo es el conversor BCD-7 segmentos, que es capaz de pasar un número BCD al código de 7 segmentos que se utiliza para mostrar los números decimales en un display.

4.6.- Comparadores.

Estos circuitos combinacionales poseen dos grupos de bits (combinación binaria de dos número (A,B)) como entradas y tres líneas de salida, cada una de ellas se activará para indicar si la dos entradas son iguales (A = B), si A < B o si A > B.

4.7.- Sumadores.

Son circuitos combinacionales que realizan las sumas binarias de dos grupos de bits. Para ello, resulta necesario disponer de una unidad sumadora elemental.

La unidad básica sumadora para dos bits debe ser capaz de sumar ambos dígitos más el acarreo correspondiente de la etapa sumadora anterior, para obtener de este modo en la salida el dígito de suma y el acarreo para la siguiente etapa.

A partir de esta unidad básica se puede formar un sumador para cualquier número de bits.

Ejemplo: Un sumador para dos números de cuatro dígitos.

Este sumador está compuesto por cuatro unidades básicas sumadoras, cada una de las cuales toma el acarreo resultante de la etapa anterior y, además de la salida, da como resultado el acarreo para la etapa siguiente.