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

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

1. – INTRODUCCIÓN

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

2.1.- ALGEBRA DE BOOLE

2.2.- FUNCIONES LÓGICAS

2.3.- OPERACIONES O FUNCIONES LÓGICAS BÁSICAS Y SUS PUERTAS LÓGICAS

2.3.1.- SUMA LÓGICA o FUNCIÓN OR

2.3.2.- PRODUCTO LÓGICO o FUNCIÓN AND

2.3.3.– FUNCIÓN NOT o COMPLEMENTACIÓN

2.3.4.– FUNCIÓN NOR

2.3.5.– FUNCIÓN NAND

2.3.6.- FUNCIÓN OR-EXCLUSIVA

2.3.7.-FUNCIÓN NOR-EXCLUSIVA

2.5.- DISEÑO O IMPLEMENTACIÓN DE FUNCIONES LÓGICAS MEDIANTE PUERTAS NAND Y NOR

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

3.1. – SIMPLIFICACIÓN POR EL MÉTODO ALGEBRAICO

3.2. – SIMPLIFICACIÓN POR EL MÉTODO GRÁFICO DE KARNAUGH

3.3. – SIMPLIFICACIÓN POR LAS TABLAS DE QUINE-MCCLUSKEY

4. – DISEÑO DE CIRCUITOS COMBINACIONALES INTEGRADOS

4.1. CODIFICADOR

4.2. DECODIFICADOR

4.3. MULTIPLEXOR

4.4. DEMULTIPLEXOR

4.5. COMPARADOR

4.6. SUMADOR

5. – DISEÑO CIRCUITOS SECUENCIALES

6. – CONCLUSION

7.- Bibliografía

Electrónica digital y moderna. Ed. Paraninfo

Electrónica digital y microprogramable. Ed McGraw-Hill.

Tecnología industrial 2. Donostiarra.

1. – INTRODUCCIÓN

Dentro del área de la electrónica, la lógica es relativamente moderna, los conceptos de la lógica digital no se desarrollan como independientes hasta finales de los años 40. Los avances de la electrónica digital fueron muy lentos, hasta que en 1960 dio el mayor impulso con el descubrimiento del “circuito integrado”.

La electrónica digital está fundamentada en la base matemática formada por el álgebra de Boole, considerando que todos los elementos poseen únicamente dos estados o valores. A lo largo del tema trataremos que son las puertas lógicas, para que sirven, que son las funciones lógicas, como se simplifican, etc.

Debemos mencionar que una variable binaria es cualquier cosa que puede tomar dos estados, uno o cero. A partir de estos dígitos se forma el sistema binario que usa el 0 o el 1, es decir nivel bajo con tensiones de 0 a 0.8 voltios o nivel alto tensiones de 2 a 5 voltios.

Este tema es el eje de toda la electrónica digital y su importancia en el currículo es tal que se ve en 4 de la

ESO y con profundidad en Bachillerato.

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

Los sistemas digitales de tratamiento de datos han de poder efectuar automáticamente procesos lógicos estrictamente definidos. Con el fin de poder llevar a cabo el diseño de tales sistemas lógicos, es esencial una notación matemática especialmente adaptada a las necesidades de esos circuitos como es el álgebra de Boole.

2.1.- ALGEBRA DE BOOLE

Las operaciones básicas del álgebra de Boole son la suma, producto y complementación. Las propiedades del álgebra de Boole son:

La conmutativa de la suma donde A + B = B+A La conmutativa del producto donde A·B=B·A

La asociativa de la suma donde A+B+C=A+(B+C)=(A+B)+C La asociativa del producto: A·B·C=A·(B·C)=(A·B)·C

La distributiva de la suma respecto del producto A· (B+C)=A·B+A·C

La distributiva del producto respecto de la suma A+ (B·C)=(A+B) ·(A+C) De estas propiedades se deducen los siguientes postulados:

A+1=1, A+0=A, A·1=A, A+A=A, A·A=A, A mas a negada es uno → A + A = 1 y A por a negada es cero →A A = 0 . A dos veces negada es A, el cero negado es uno y uno negado es cero

Las Leyes de Morgan establecen que A mas B mas C todo negado es igual a A negado por B negado por C

negado es decir→ a + b + c = a b c

Y otra expresión es que A por B por C todo negado es igual a la suma de los negados de cada uno es decir

a b c = a + b + c

2.2.- FUNCIONES LÓGICAS

Dentro del Álgebra de Boole de 2 elementos, una función lógica es una expresión de operaciones booleanas enlazando diversas variables que sólo pueden adquirir valores de 0 y 1. Tales funciones pueden expresarse de 2 maneras:

a) Por su fórmula booleana, como expresión de operaciones que ligan sus variables, o

b) Por su tabla de la verdad, expresión gráfica de todas las posibles combinaciones de las variables y el resultado de la función correspondiente.

Dada una función de “n” variables, existirá un total de 2n posibles combinaciones de las mismas. Cada una

de ellas constituye un vector de entrada, que corresponde con una fila de la tabla de la verdad. A cada vector de entrada se le hace corresponde un término mínimo o minterm, formado por el producto lógico de sus “n” variables, afirmadas si su valor es 1 o negadas si su valor es 0.

Dualmente, a cada vector de entrada se le hace corresponder con un término máximo o maxterm, formado por la suma lógica de sus “n” variables, afirmadas si su valor es 0 o negadas si su valor es 1.

Toda suma de productos lógicos o todo producto de sumas lógicas, donde aparecen todas sus variables, afirmadas o negadas, es lo que se define como forma canónica de una función booleana.

Se denomina 1ª forma canónica de una función lógica, a su expresión como suma de términos mínimos o suma de productos. Para construirla basta con realizar la suma lógica de aquellos términos mínimos de los vectores de entrada, donde la función lógica tiene el valor “1”.

Se denomina 2ª forma canónica de una función lógica a su expresión como producto de términos máximo o producto de sumas. Para construirla basta con realizar el producto lógico de aquellos términos máximos de los vectores de entrada donde la función lógica tiene valor “0”.

2.3.- OPERACIONES O FUNCIONES LÓGICAS BÁSICAS Y SUS PUERTAS LÓGICAS

En la definición del álgebra de Boole del punto anterior, la primera condición era de definir dos operaciones básicas, las sumas y productos. Dichas operaciones reciben el nombre de suma y producto lógico, que también denominaremos Función OR y Función AND respectivamente. Veamos la suma lógica, el producto y la función

complementación.

2.3.1.- SUMA LÓGICA o FUNCIÓN OR

La expresión analítica correspondiente a esta función es

F = A + B , siendo F la función, y A y B las

clip_image010variables lógicas. La tabla de la verdad correspondiente a la suma lógica y en la salida habrá un uno cuando en al menos en alguna entrada haya un uno.

2.3.2.- PRODUCTO LÓGICO o FUNCIÓN AND

Su representación algebraica es

clip_image012entradas sean uno.

F = A × B

. En la tabla de la verdad dará uno de salida, cuando las 2

2.3.3.- FUNCIÓN NOT o COMPLEMENTACIÓN

De los postulados que debe cumplir el álgebra de Boole, se deduce la existencia de una función NOT,

clip_image013también denominada inversor. Su característica es la de convertir el valor de una variable o función en su negado

o complementario. De acuerdo con esta definición su expresión analítica es F igual a A negado

clip_image015tabla de la verdad corresponde el cero da uno y el uno da cero. Su símbolo

F = A

y su

Además de las funciones lógicas básicas, vistas hasta ahora, existen funciones derivadas de las anteriores de gran importancia. Dichas funciones son operaciones NOR, NAND, OR-exclusivas y NOR-exclusivas.

2.3.4.- FUNCIÓN NOR

clip_image017Su expresión analítica es la siguiente, F igual a A+B todo negado→ (( F = A + B )). Como se deduce es la negada de la función OR. En la salida será 1, cuando en ambas entradas haya ceros.

clip_image019Su símbolo:

2.3.5.- FUNCIÓN NAND

clip_image020La expresión analítica correspondiente a esta función es, F igual a A por B todo negado → (( F = A × B )) y como se deduce es la negada de la función AND. En la salida habrá un uno, cuando al menos una de sus entradas sea cero, teniendo así en F, 1, 1, 1, 0.

clip_image022Su símbolo:

Los operadores NAND y NOR tiene la particularidad de que con cualquiera de ellos se puede realizar todo el

álgebra de Boole.

2.3.6.- FUNCIÓN OR-EXCLUSIVA

Su expresión analítica es, F igual a A sumando en círculo con B→

F = A B . Este tipo de operador sólo

tiene dos entradas, a diferencia de los anteriores que pueden tener más de dos. Y su salida dará un 1, cuando en las entradas tenga valores distintos.

clip_image024Su símbolo:

2.3.7.-FUNCIÓN NOR-EXCLUSIVAclip_image025La función que realiza este operador es la de comparación. Por lo que a menudo se le denomina puerta de comparación. Su expresión analítica es F igual a A sumando en círculo con B y todo negado, es decir F = A B . Su tabla de verdad da salidas 1, 0, 0, 1. Es decir habrá un uno, cuando sean iguales las entradas.

clip_image027

Su símbolo:

2.5.- DISEÑO O IMPLEMENTACIÓN DE FUNCIONES LÓGICAS MEDIANTE PUERTAS NAND Y NOR

Para la implementación mediante puertas NAND, se deberá aplicar a la expresión booleana una doble negación. Si la expresión sólo tiene productos lógicos, hemos terminado el proceso. Si no, aplicamos Morgan a las sumas. A continuación se vuelve aplicar la doble negación y Morgan a aquellas partes de la función que no sean productos hasta que la expresión esté formada por productos negados, es decir, puertas NAND.

Para implementar funciones mediante puertas NOR, se deberá aplicar a la expresión booleana una doble negación. Si la expresión sólo tiene sumas lógicas, hemos terminado el proceso, si no, aplicamos Morgan a los productos, se vuelve a aplicar la doble negación y Morgan a aquellas partes de la función que no sean sumas hasta que toda la expresión esté formada por sumas negadas, es decir, puertas NOR.

La implementación de una función lógica consiste en realizar el interconexionado con puertas lógicas para formar el circuito digital que cumpla la función y se buscará de la forma más simplificada que utilice menos puertas lógicas y menos interconexiones.

El proceso de diseño de un circuito digital sigue estos pasos: obtener la tabla de verdad, deducir la ecuación, simplificarla la ecuación de la tabla de verdad e implementar el circuito con puertas lógicas buscando el menor número de puertas, el mismo tipo de puertas, etc.

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

Las expresiones lógicas que describen el funcionamiento de sistemas digitales se traducen en la práctica en una serie de circuitos cuya complejidad estará directamente relacionada con la de la expresión correspondiente. Así, pues, al plantearse la realización física de una función el diseñador deberá conseguir que dicha función sea la mínima posible en orden a obtener, por tanto, una minimización en los costes. A continuación veremos los métodos empleados para la simplificación de funciones lógicas.

3.1. – SIMPLIFICACIÓN POR EL MÉTODO ALGEBRAICO

La utilización de los teoremas y postulados del álgebra de Boole permite la simplificación de funciones lógicas sencillas, no siendo un método sistemático ni útil para expresiones complejas.

No es posible con este método asegurar que el resultado obtenido sea una expresión irreducible, por tanto no conduce en muchos casos a la expresión mínima.

3.2. – SIMPLIFICACIÓN POR EL MÉTODO GRÁFICO DE KARNAUGH

Este método de simplificación de funciones lógicas se puede utilizar para funciones de dos a seis variables, siendo 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 de entrada que tenga la función a simplificar. Cada una de las casillas representa las distintas combinaciones adyacentes de las variables que puedan existir.

Dos casillas que tienen un lado común dentro de la tabla, sus términos canónicos son adyacentes. 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 Kanaugh todas las formas canónicas que se seleccionan para expresar la función en minterms o en maxterms. Así, por ejemplo, cuando la forma canónica es minterm, se sitúa en la tabla un 1 dentro de la casilla de aquellos términos que tengan como salida 1, dejando en blanco las casillas que tengan como salida 0. En el caso de que existan combinaciones con términos indefinidos X, estos términos se representarán siempre y se utilizarán cuando sea necesario.

Una vez situados los minterms o maxterms agrupamos los términos adyacentes siguiendo estas 3 reglas:

1. Hay que agrupar todos los términos, los que no sean indefinidos, procurando conseguir grupos del máximo número de casillas.

2. 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.

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

Una vez agrupados se aplica la siguiente ley del álgebra de Boole, A por B mas A por B negada es igual a A

clip_image030es decir → A × B + A × B = A

3.3. – SIMPLIFICACIÓN POR LAS TABLAS DE QUINE-McCLUSKEY

Las tablas de Kanaugh se vuelven prácticamente irresolubles a partir de seis variables, utilizando entonces el método de simplificación automatizado de Quine-McCluskey. 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 minterm, 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 3 tablas: Tabla de agrupamientos base, Tabla de agrupamientos de orden y 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

4. – DISEÑO DE CIRCUITOS COMBINACIONALES INTEGRADOS

4.1. CODIFICADOR

Un codificador es un circuito combinacional con 2n entradas y n salidas cuya misión es presentar en la salida el código binario correspondiente a la entrada activada.

Existen 2 tipos fundamentales de codificadores. Codificadores sin prioridad y codificadores con prioridad. Los primeros sólo admiten una entrada activada, codificando en la salida el valor binario de la misma y cero cuando no existe ninguna activa. En los segundos puede haber más de una entrada activada, existiendo prioridad en aquella cuyo valor decimal es más alto

4.2. DECODIFICADOR

Son circuitos combinacionales de N entradas y un número de salidas menor o igual a 2N. Básicamente funciona de manera que al aparecer una combinación binaria en sus entradas, se activa una sola de sus salidas, aunque no siempre.

Los decodificadores realizan la función inversa a los codificadores. Un decodificador selecciona una de las salidas dependiendo de la combinación binaria presente a la entrada.

.3. MULTIPLEXOR

La función de multiplexar consiste en enviar por un solo canal de salida alguna de las informaciones presentes en  varias líneas de entrada. Los circuitos que realizan esta función se llaman Multiplexadores y están formados por N líneas de entrada de información, una salida y n entradas de control.

4.4. DEMULTIPLEXOR

Un demultiplexor es un circuito que pasa los datos procedentes de una línea de entrada a varias líneas de salida según una determinada secuencia de tiempo. Se trata de un dispositivo que toma datos de una línea y los distribuye a un determinado número de líneas de salida. Posee una entrada de información, “n” entradas de

selección de datos y 2n salidas de información. Por ejemplo se usa en las centralitas telefónicas.

4.5. COMPARADOR

Un comparador de n bits es un circuito combinacional que tiene por entradas dos números binarios A y B de n bits cada uno y tres salidas en las que se determina si uno de los números es mayor, igual o menor que otro. Compara las magnitudes de dos cantidades binarias para calcular su relación.

4.6. SUMADOR

Para sumar dos números de un bit cada uno se utiliza el circuito más sencillo que es el semisumador. Si se desea sumar números de más de un bit es necesario el sumador total.

5. – DISEÑO CIRCUITOS SECUENCIALES

A diferencia de los sistemas combinacionales, en los secuenciales, los valores de las salidas en un momento dado no dependen exclusivamente de los valores de las entradas en dicho momento sino también de los valores anteriores. El sistema secuencial más simple es el biestable.

La mayoría de los sistemas secuenciales están gobernados por señales de reloj. A éstos se los denomina “síncronos” o “sincrónicos”, a diferencia de los “asíncronos” o “asincrónicos” que son aquellos que no son controlados por señales de reloj.

Los circuitos secuenciales tienen capacidad para recordar o memorizar los valores de las variables de entrada. Esta operación es imprescindible en los sistemas automáticos construidos con circuitos digitales, sobre todo en los programables.

El almacenamiento o memorización de la información presente en la puerta del circuito se realiza gracias a la existencia de unas variables denominadas de estado interno, cuyo valor se verá afectado por los cambios producidos en la combinación binaria aplicada a la entrada.

Un ejemplo de estos circuitos son los biestables, contadores y registros de desplazamiento.

6. – CONCLUSION

Para terminar y a modo de conclusión, destaremos la importancia de este tema en general para la Tecnología y en particular para el campo de la electrónica.

A lo largo del mismo hemos desarrollado los aspectos básicos de la lógica digital, introduciéndonos en todos las funciones de la lógica, demostrando las utilidades de las mismas a través del álgebra de Boole y de las leyes fundamentales de Morgan. Hemos aprendido que se puede simplificar las funciones por varios métodos, siendo el más usado el de Karnaugh.