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

INDICE

0. Introducción

1. Puertas lógicas

1.1. Puerta OR (o)

1.2. Puerta AND (y)

1.3. Puerta NOT (inversor)

1.4. Puerta NOR

1.5. Puerta NAND

1.6. Puerta OR-exclusivo (XOR)

1.7. Puerta NOR-exclusivo (XNOR)

2. Técnicas de diseño de funciones lógicas

2.1. Álgebra de Boole

2.1.1. Funciones lógicas

2.1.2. Teoremas Fundamentales

2.1.3. Representación en forma canónica

3. Técnicas de simplificación de funciones lógicas

3.1. Simplificación por el método algebraico

3.2. Método gráfico de Karnaugh

0. Introducción

Los circuitos utilizados en ordenadores o en sistemas de control industrial, no siempre se basan en sencillas situaciones de “todo” o “nada”, sino que están a menudo regidos por órdenes “lógicas”, por las que la situación “on”, por ejemplo, ocurrirá solamente cuando se cumplan unas condiciones determinadas. Si, además, existen canales múltiples el circuito final será tan complicado que su diseño no podrá realizarse con garantías de éxito por mera apreciación.

La solución a esta situación se obtiene por aplicación del Álgebra de Boole a los circuitos de conmutación.

1. Puertas lógicas

Se denominan puertas lógicas a los dispositivos electrónicos capaces de efectuar las funciones u operaciones lógicas.

Una tabla de verdad es la representación gráfica de todas las posibles combinaciones de las variables de entrada con el valor de la función a la salida


1.1. Puerta OR (o)

clip_image003

1.2. Puerta AND (y)

clip_image005

1.3. Puerta NOT (inversor)

clip_image007

1.4. Puerta NOR

clip_image009


1.5. Puerta NAND

clip_image011

1.6. Puerta OR-exclusivo (XOR)

clip_image013

1.7. Puerta NOR-exclusivo (XNOR)

clip_image015

2. Técnicas de diseño de funciones lógicas

2.1. Álgebra de Boole

Un conjunto B dotado con dos operaciones (+) y (·) es un álgebra de Boole si y solo si se verifican los postulados:

1. Las operaciones (+) y (·) son conmutativas:

a + b = b + a

a · b = b · a

2. Existen en B dos elementos distintos denominados unitarios o de “identidad” y representados por 0 y 1, de forma que:

a + 0 = a = 0 + a

a · 1 = a = 1 · a

3. Para cada elemento a perteneciente al conjunto B existe un elemento a en B, tal que se verifica:

a + clip_image017 = 1

a · clip_image017[1] = 0

4. Cada operación es distributiva respecto de la otra

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

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

De los postulados se deduce que las dos operaciones son asociativas.

2.1.1. Funciones lógicas

En la definición de un álgebra de Boole del punto anterior, la primera condición era la de definir dos operaciones básicas: (+) y (·). Dichas operaciones reciben los nombres de suma lógica y producto lógico, que también denominaremos Función OR (o) y función AND (y) respectivamente, y cuyas tablas de verdad también hemos visto en el punto anterior.

2.1.2. Teoremas Fundamentales

a + 0 = a a · 1 = a

a + 1 = 1 a · 0 = 0

a + clip_image017[2] = 1 a · a = 0

(clip_image020) = a a · clip_image017[3] = a

a) Teorema de absorción

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

b) Teorema de Morgan

clip_image022

clip_image024

2.1.3. Representación en forma canónica

Se demuestra que toda función lógica puede representarse de dos formas:

a) Como suma lógica de producto de las variables o PRIMERA FORMA CANÓNICA.

clip_image026

b) Como producto de sumas lógicas o SEGUNDA FORMA CANÓNICA.

clip_image028

A cada uno de los términos de la 1ª forma canónica se les denomina MINITÉRMINOS y a los de la 2ª, MAXITÉRMINOS. Una expresión o función lógica está expresada en forma canónica (1ª ó 2ª), si cada uno de sus términos incluye todas las variables (negadas o sin negar) de que consta la función.

Por último, enunciaremos que de toda función lógica en forma no canónica, siempre será posible obtener una expresión que lo sea, aplicando las leyes del álgebra de Boole.

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.

3.1. Simplificación por el método algebraico

clip_image030

La utilización de los teoremas y leyes 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. Método gráfico de Karnaugh

Con n variables es posible obtener 2n términos o combinaciones diferentes. Así, si se desea poder representar una función de 2 variables en un plano, será necesario prever 22 = 4 casillas. Si son 3 las variables, necesitaremos 23 = 8 casillas, etc.

clip_image032

En el ángulo superior izquierdo se han representado las variables y en los lados superior e izquierdo los valores de las variables.

De igual modo, si deseamos representar una función de 3 variables con las condiciones de adyacencia y todos los posibles términos, obtendremos el siguiente mapa.

Este método permite hasta 5 variables, ya que con más variables no es muy útil por la dificultad en observar adyacencias. Existen otros métodos para simplificar funciones de más de 5 variables.

Una vez conocido el fundamento del mapa de Karnaugh, vamos a ver la forma de operación sistemática del mismo.

El punto de partida será la existencia de una función que representará el funcionamiento de un circuito digital. Luego los pasos a seguir son los siguientes:

– Poner en forma canónica la función, caso de que no lo sea. Si la función viene definida por una tabla de verdad, no es necesaria su canonización.

– Representar sobre el mapa de Karnaugh la función. Se asigna un 1 a la casilla correspondiente a cada uno de los términos presentes en la función, y un 0 al resto (los ceros no se suelen representar sobre el mapa).

– Se forman agrupamientos de unos (términos que podrán simplificarse por su adyacencia) con el criterio siguiente:

1. Se toman todos los “unos” que no se pueden agrupar con ningún otro.

2. Se forman los grupos de dos “unos” que no pueden formar un grupo de cuatro.

3. Se forman los grupos de cuatro “unos” que no pueden formar un grupo de ocho.

4. Cuando se hayan cubierto todos los “unos” finaliza el proceso de grupos posible con el mayor número de casillas posible cada uno.

Los agrupamientos conseguidos y los “unos” aislados serán los términos que expresarán la función lógica en forma irreducible.