Issuu on Google+


Celestino Benítez Vázquez http://www.issuu.com/microprocesadores http://micros.myblog.es/

© Copyright


LOGICA DIGITAL 3 Simplificaci贸n de funciones l贸gicas Circuitos combinacionales


SIMPLIFICACION DE FUNCIONES LOGICAS. Como sabemos, una función booleana puede tener diversas representaciones matemáticas que proporcionan el mismo resultado final. Es por tanto conveniente estudiar las posibles simplificaciones a introducir en la mencionada función, que nos proporcionen el sistema más sencillo y económico de entre los posibles. Toda función booleana puede ser construida directamente mediante su formulación algebraica como una combinación de las diferentes variables que intervienen, relacionadas por las tres operaciones lógicas elementales estudiadas. Además también tenemos la posibilidad de construir una función lógica apoyándonos en la tabla de la verdad, en la que figurarán todas las combinaciones lógicas posibles de las variables de entrada y el valor lógico correspondiente de la salida a cada una de ellas. Podemos por tanto asegurar que: a. Una función puede tener varias formulaciones matemáticas que proporcionan el mismo resultado. b. La tabla de la verdad de una función es única. c. Se debe intentar la formulación algebraica más sencilla. Las dos formas básicas de representación de funciones se denominan canónicas y están compuestas basándose en sumas de productos o bien a partir de productos de sumas. Son funciones canónicas: F1= AB+ AB + AB F2= (A+B) (A+B) Podemos enunciar un teorema fundamental en el álgebra de Boole para el trabajo de minimización de funciones: "Toda función puede transformarse en una forma canónica y esta transformación es única". Si deseamos emplear la primer forma (suma de productos) podremos hacer: f(A,B,C,...) = (A B C...)f(1,1,1,...) +... + (A B C...)f(0,0,0,...) O sea, obtendremos una expresión en la que aparecerán todos los productos posibles de A, B, C, ... en su forma natural o complementada, acompañados por un coeficiente igual al valor obtenido al sustituir , en la función original, las variables por 1 ó 0, según que en el producto aparezcan en su forma natural o complementada, respectivamente. Esta expresión es siempre una forma canónica. Del mismo modo si deseamos emplear la segunda forma (producto de sumas) haremos: f(A,B,C,...) = ( A+B+C+...+f(0,0,0,...) )...(A + B + C + ... +f(1,1,1,...) )


Si n es el número de variables de una función, existen 2n términos canónicos posibles y el número de funciones canónicas es de 22n. Normalmente se representan por mi los productos canónicos, siendo "i" el valor decimal de la combinación binaria que se obtiene al sustituir por 1 las variables en su forma natural y por 0 las variables negadas. Por ejemplo: ABCD

será

m15

ABCD

será

m10

De forma similar se representan por Mi las sumas canónicas obteniéndose i del mismo modo. Es importante ahora recordar la construcción de la tabla de la verdad de una función. En la parte izquierda se colocan todos los productos canónicos (combinaciones binarias) posibles, tanto con sus valores naturales como complementarios. En la parte derecha de la tabla aparecen los coeficientes f(i), o sea, el valor de la función al sustituir las variables por 1 o por 0 según proceda. Pues bien, la función en su primera forma canónica, será la suma de todos los productos canónicos cuyos coeficientes f(i) sean 1. Del mismo modo, la segunda forma canónica de la función puede obtenerse de la tabla de la verdad buscando las combinaciones para las que se tiene f(i) igual a 0.


Y escribiendo el término en el que las variables figuran en su forma directa si en la tabla hay un 0 y en su forma inversa si hay un 1. Realicemos un estudio de los mi y los Mi en un caso práctico, por ejemplo para la función: f(A,B,C) = ABC+ ABC + ABC + ABC En primer lugar construimos su tabla de la verdad, colocando en la parte izquierda todas las combinaciones canónicas posibles (2n) y a la derecha colocaremos un 1 lógico en las combinaciones mostradas en la función dada. El resto de huecos se rellenan con 0.

m0 m1 m2 m3 m4 m5 m6 m7

A B C

f

0 0 0 0 1 1 1 1

0 0 0 1 0 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

M7 M6 M5 M4 M3 M2 M1 M0


En la parte izquierda (exterior a la tabla) hemos situado los distintos términos mi que como sabemos solo aparecerán en la función los que tengan por coeficiente 1. En la parte derecha (exterior a la tabla) se han colocado los términos Mi y como sabemos solo aparecerán en la función los que tengan de coeficiente 0 y además complementadas sus variables. Por tanto se puede obtener la segunda forma canónica también de la tabla, siendo en este caso: f(A,B,C)=M3 M5 M6 M7 = (A+B+C) (A+ B+C) (A+ B+ C) (A+B+C) Sin embargo, sabemos que cuando se obtiene una función canónica a partir de la tabla de la verdad, debemos proceder a una simplificación, para obtener una función equivalente más sencilla, que nos resulte más económica y más fácilmente realizable en la práctica. Esto se consigue empleando las propiedades algebraicas (teoremas) descritas anteriormente. Sin embargo no es un procedimiento sistemático y depende mucho de la intuición de quien realiza la simplificación. Para llevar a cabo este proceso se emplea el método gráfico de Karnaugh, entre otros. (No es recomendable emplear este método para más de seis variables). Construimos la tabla colocando como entradas verticales las combinaciones de la mitad de las variables (o mitad mas una) de la función, de forma que de una columna a la contigua solo cambie de valor una variable. Como entradas horizontales se colocan las combinaciones del resto de las variables de forma que entre dos filas contiguas solo cambie el valor de una variable. A continuación se muestran las tablas de Karnaugh para funciones de dos, tres, y cuatro variables: B

A

0

1

0

0

2

1

1

3

AB C

00

01

11

10

0

0

2

6

4

1

1

3

7

5

AB CD

00

01

11

10

00

0

4

12

8

01

1

5

13

9

11

3

7

15

11

10

2

6

14

10


En el interior de las tablas se ha colocado la situación de los términos mi o Mi en función de la combinación correspondiente de las variables (valor decimal equivalente). Para representar una función en esta tabla se parte de su forma canónica, escribiendo un 1 en las cuadrículas correspondientes a los términos que están presentes. El resto queda en blanco. (También se puede hacer directamente desde la tabla de la verdad). Por ejemplo, dada la función: f(A,B,C,D) = m3+m4+m5+m6+m10+m15 su representación según la primera forma canónica en la tabla de Karnaugh será: AB C D

00

01

00

1

01

1

11 10

1

11

10

1 1

1

Una vez visto el modo de colocar los términos canónicos en la tabla de Karnaugh, estudiaremos el modo de minimizar la función. En general, para eliminar n variables es preciso asociar 2n cuadros (por tanto tendremos que formar asociaciones de 2, 4, 8, ... cuadros) procurando que cada asociación realizada contenga el mayor número de cuadros posibles y además que su número total sea mínimo. Un mismo término puede pertenecer a varias asociaciones. Hay que seleccionar un conjunto de asociaciones que engloben todos los 1 de la tabla. La suma de las expresiones algebraicas correspondientes a dichas asociaciones es la nueva función simplificada. Puede suceder que existan varias posibilidades de asociaciones equivalentes, en tal caso nos sirve cualquiera de ellas. Dada una asociación, el término canónico equivalente se encuentra anotando todas las variables, en su forma natural o complementada, que no cambien de valor en todos los cuadros de la asociación elegida; las que cambian de valor desaparecen. Si queda algún 1 aislado, para ese término no habrá asociación y su representación será el término canónico completo. Veamos un ejemplo: Minimizar la función que viene representada según la siguiente tabla de la verdad.


A B C D

f

0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 1

0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Basándonos en la tabla de la verdad obtenemos la siguiente función: f = m4+m5+m7+m13+m14+m15 Llevando ahora estos términos sobre la tabla de Karnaugh se tiene:

AB CD 00

00

01

11

1

01

1

1

11

1

1

10

10

1

Tenemos ahora que formar asociaciones de unos adyacentes (de 2, 4, 8, ... cuadros) de forma que agrupemos el mayor número de unos en cada asociación. Según esta tabla podemos formar las tres agrupaciones siguientes:


AB CD

00

00

01

11

AB CD

10

1

00

01

11

1

00

01

1

1

01

1

1

11

1

1

11

1

1

1

10

10

AB CD 00

00

01

11

1

10

1

01

1

1

11

1

1

10

10

1

(Las agrupaciones pueden realizarse en una única tabla, aquí se ha hecho en tres para mayor claridad). En función de la primer agrupación tendremos el término: BD Según la segunda asociación tendremos el término: ABC En función de la asociación tercera tendremos el término: ABC Por tanto la función completa minimizada será: f = BD + A B C + ABC


REPRESENTACION GRAFICA DE FUNCIONES. Nos queda ahora realizar la representación gráfica de la función booleana minimizada, mediante las puertas lógicas básicas estudiadas. La realización práctica de una función mediante los operadores elementales no es única y la obtención de un circuito económico depende en ocasiones de la experiencia del diseñador. Intentaremos dar unas reglas sencillas a partir de las cuales podamos iniciar el proceso de diseño: 1. En primer lugar observaremos el número de variables naturales y complementadas, de esta forma sabremos el número de inversores que necesitamos para obtener las variables elementales negadas. 2. Se observarán los productos canónicos existentes que serán realizados mediante puertas NAND o puertas AND, según se necesite o no inversión. 3. Se observarán las sumas canónicas existentes que serán realizadas mediante puertas NOR u OR, según se necesite o no inversión. 4. El circuito se analizará o se construirá desde el final hacia el principio, situando a la salida de cada puerta la señal obtenida y en cada una de sus entradas la señal que se necesita. Veamos un ejemplo para concretar un poco más estas ideas. Representar mediante puertas lógicas la función booleana:

f = A ( B+ CD )

1. Como podemos observar se trata de una función de cuatro variables booleanas y en ella aparecen tres de ellas negadas. Necesitaremos tres inversores. 2. Analizando los productos vemos que necesitaremos dos puertas AND de dos entradas. 3. Si analizamos las sumas, vemos que se necesitará una única puerta OR. Procederemos ahora a su representación gráfica. La salida final del circuito será una puerta lógica AND que nos proporcione la función "f" y que en sus entradas tenga las señales A

y

(B + CD )

A f B +CD


Debemos ahora obtener las señales necesarias para cada una de las entradas. La primera de ellas vemos que es la variable A invertida, luego será suficiente con un inversor. Para la otra entrada necesitaremos una puerta OR que nos realice la suma precisa, por lo que tendremos los siguientes elementos:

A

B

A

B+CD CD

No nos queda ya más que preparar las entradas de esta puerta OR. La primera de ellas se conseguirá colocando un inversor en la variable B. La segunda se conseguirá mediante una puerta AND de dos entradas, del modo siguiente: C B

B

CD

D

Para finalizar se obtiene la inversa de D mediante una complementación con el circuito: D

D

Ahora tendremos que conectar entre sí las distintas puertas para obtener el circuito completo que nos proporciona la función pedida:

A

A f

B

B +CD

B C

C

D

D

CD

Sin embargo es frecuente que cuando se trata de materializar una función lógica ya minimizada, en un circuito físico que la pueda realizar, se nos pida que lo


realicemos con puertas NAND o bien con puertas NOR, pues son las funciones lógicas más usuales implementadas en circuitos integrados. Para esto, debemos tener en cuenta que es muy fácil realizar un inversor con cualquiera de estas dos puertas, sin más que conectar la señal que deseamos complementar a todas las entradas de la puerta NAND (o de la puerta NOR). Podemos verlo a continuación. A

A

A

A

Por otra parte sabemos que la función NAND es: f=A+ B Por lo que se intentará representar la función lógica obtenida como una suma de términos introduciendo cada uno de ellos en una entrada de la puerta NAND en su forma complementada. Si no es posible, se aplicarán dos inversiones seguidas a la función para obtener la suma. (Cada término de la suma invertido se introduce en las entradas de la puerta NAND).


En general podemos decir que el procedimiento consiste en ir materializando (con sus circuitos respectivos) las funciones elementales desde el final hacia el principio. Si deseamos emplear puertas NOR, el procedimiento será similar. Sabemos que la función NOR es: f=A *B Por lo tanto, tendremos que buscar productos de términos. Cada término del producto invertido se introduce en una entrada de la puerta NOR y procediendo de esta forma sistemática se obtendrá el esquema final de puertas. Veamos a continuación algunos ejemplos: Ejemplo 1. Dada una función definida por su tabla de la verdad (proporcionada a continuación), minimizar dicha función y diseñar el circuito electrónico resultante.

A B C

f

0 0 0 0 1 1 1 1

1 1 0 1 0 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

Según la tabla de la verdad proporcionada obtenemos como función, empleando la primera forma canónica (suma de productos): f = m0 + m1 + m3 + m5 + m6 + m7 Empleando la tabla de Karnaugh para minimizar esta función se obtendrá: AB C

00

0

1

1

1

01

11

10

1 1

1

1

Asociando ahora los términos según el mayor número posible de unos:


AB C

00

0

1

1

1

01

11

10

1 1

1

1

AB C

00

0

1

1

1

01

11

10

1 1

1

1

(Realizamos las asociaciones en dos tablas para mayor claridad). Obtenemos la función minimizada siguiente: f=C+A B+AB (Vemos como desaparecen en cada asociación las variables que cambian de valor al pasar de un 1 a otro 1 del grupo asociado, permaneciendo las variables que no ven alterado su valor). Si deseamos ahora realizar el circuito electrónico, empleando únicamente puertas NAND, procederemos del modo siguiente comenzando por el final y siguiendo hasta el principio:

C f

AB AB

En el siguiente paso la complementación de C se obtiene directamente con una NAND como inversora, la inversión de AB se obtiene también de una NAND y la tercera señal es la salida de una NAND cuyas entradas son la variables A y B negadas. Por tanto tendremos el siguiente circuito: C f B A A B


Finalmente para obtener las señales A y B invertidas emplearemos dos puertas NAND más, con lo que obtendremos el circuito definitivo siguiente:

C f B A

Ejemplo 2. Dada la siguiente función: f = m1 + m3 + m4 + m6 + m9 + m11 + m12 + m14 Obtener la expresión minimizada y su circuito electrónico mediante puertas NAND. En primer lugar simplificaremos la función mediante el procedimiento de Karnaugh. En este caso nos proporcionan hasta el elemento m14 por lo que supondremos se trata de un sistema con cuatro variables de entrada A, B, C y D. La tabla será la siguiente:

AB C D

00 00

01

11

1

1

10

01

1

1

11

1

1

10

1

1


Asociamos ahora los 1 en grupos lo mayores posibles de la siguiente forma:

AB CD

00 00

01

11

1

1

10

01

1

1

11

1

1 1

10

1

Podemos asociar, por ser contiguos, los 1 superiores con los inferiores y los de la izquierda con los de la derecha (simetría). De este modo se obtiene la siguiente función minimizada: f = BD + BD Como nos piden realizar esta función con puertas NAND, procederemos desde la función final hacia el principio, considerando en primer lugar la función f como la salida de una puerta NAND en cuyas entradas tenemos los dos sumandos negados: BD

f

BD Se procede a continuación del mismo modo con cada una de las entradas, hasta llegar al principio, es decir hasta obtener todas las señales necesarias con las variables implicadas, en este caso B y D, obteniendo el esquema siguiente:


D

B

f

METODO DE SIMPLIFICACION QUINE-McCLUSKEY. Este método se emplea cuando el número de variables de la ecuación booleana es elevado y por tanto resulta bastante complejo el empleo del método de Karnaugh. El proceso de simplificación se inicia representando la función booleana mediante una de sus dos formas canónicas (suma de productos o bien producto de sumas). Debemos recordar que cada término canónico incluye todas las variables de la función en su forma directa o complementada según el caso. Cada término se representaba por mi (producto) o por Mi (suma) teniendo asignado cada una de ellos una combinación binaria correspondiente al decimal "i". Según este valor binario, podremos hacer una clasificación de los términos canónicos agrupándolos en función de los 1 que contengan en dichos valores binarios. De este modo definiremos como de "grado k" aquellos términos canónicos cuya representación binaria contenga un número k de cifras 1. Deberemos a continuación confeccionar una lista de todos los términos canónicos de la función, ordenados según el grado k del grupo a que pertenecen y dentro de cada grupo, según el valor numérico del índice "i". Si observamos la tabla así confeccionada, veremos que los términos adyacentes algebraicamente están situados en grupos consecutivos y deberán tener iguales todas sus cifras binarias excepto una. Al asociarlos resultará otro término con las mismas cifras que no cambiaban mientras que la cifra que cambia desaparece. (además los términos adyacentes difieren en una potencia de dos). Por tanto después de haber confeccionado la primer lista de términos canónicos, se procederá a una asociación de términos adyacentes y se confeccionará otra tabla de bloques que llamaremos de "orden 1" de términos reducidos. El procedimiento de reducción debe llevarse a cabo de forma exhaustiva comenzando por el primer término de grado más bajo y se compara con los de grado inmediato superior que difieran de él en una potencia de dos. Los términos


reducidos se representan dejando las mismas variables que no cambian y sustituyendo por guiones las que cambian. Este proceso se repite hasta finalizar con todos los términos de la tabla. A continuación deben obtenerse, por el mismo procedimiento bloques de orden 2 (obtenidos al reducir bloques de orden 1), etc., hasta que lleguemos a un punto en el que no podamos continuar haciendo asociaciones. Podemos encontrarnos con que se produzcan algunas combinaciones de asociaciones que se repitan, en este caso se toma una de ellas y las otras se desprecian. Una vez que se han completado las reducciones, debemos seleccionar el número mínimo de bloques de orden lo más elevado posible, que abarquen a todos los términos canónicos de que consta la función. Por tanto dibujamos una tabla con tantas columnas como términos canónicos tiene la función dada. A la izquierda en la primera fila se escribe el bloque de orden más elevado que hayamos obtenido y en la columna correspondiente a cada término se coloca una "X". Ahora se observan los términos canónicos que quedan sin cubrir (con una X) y se buscan otros bloques que abarquen esos términos, si no tenemos bloques de orden tan elevado como el primero, se recurre a bloques de orden inferior. Estos bloques se escriben en líneas sucesivas. Una vez que hayamos cubierto todos los términos detenemos el proceso. La representación simplificada de la función será la suma de los términos representados por esos bloques. Ejemplo. Sea la función definida por: f(A,B,C,D) = m4 + m5 + m7 + m8 + m9 + m10 + m11 + m12 + m13 + m14 + m15 Simplificar mediante Quine-McCluskey. Procederemos de forma metódica según los siguientes pasos: 1. Obtenemos la función bien como suma de productos o como producto de sumas. En este caso ya la tenemos como suma de productos f(A,B,C,D) = m4 + m5 + m7 + m8 + m9 + m10 + m11 + m12 + m13 + m14 + m15 2. Construimos la tabla con todos los términos canónicos según su grado: GRADO 1 GRADO 2

GRADO 3

GRADO 4

0100 1000 0101 1001 1010 1100 0111 1011 1101 1110 1111

m4 m8 m5 m9 m10 m12 m7 m11 m13 m14 m15


(Como regla para construir con rapidez la tabla vemos que pertenecen al GRADO 1 los términos que tienen un solo 1 en su combinación binaria, al GRADO 2 los que tienen dos cifras 1 en su combinación binaria, etc. Resulta cómodo construir la tabla de la verdad para visualizar esto). 3. Se procede ahora a la asociación de términos adyacentes construyendo la siguiente tabla:

GRADO 1

GRADO 2

GRADO 3

ORDEN 1 010- m4-m5 -100 m4-m12 100- m8-m9 10-0 m8-m10 1-00 m8-m12 01-1 m5-m7 -101 m5-m13 10-1 m9-m11 1-01 m9-m13 101- m10-m11 1-10 m10-m14 110- m12-m13 11-0 m12-m14 -111 m7-m15 1-11 m11-m15 11-1 m13-m15 111- m14-m15

Continuando con el mismo proceso se obtiene la tabla de ORDEN 2 que quedará como sigue:

GRADO 1

GRADO 2

ORDEN 2 -10- (m4-m5)-(m12-m13) -10- (m4-m12)-(m5-m13) (m810-- m9)-(m10-m11) (m81-0- m9)-(m12-m13) (m810-- m10)-(m9-m11) 1--0 (m8-m10)-(m12-m14) 1-0- (m8-m12)-(m9-m13) 1--0 (m8-m12)-(m10-m14) -1-1 (m5-m7)-(m13-m15) -1-1 (m5-m13)-(m7-m15) 1--1 (m9-m11)-(m13-m15) 1--1 (m9-m13)-(m11-m15) 1-1- (m10-m11)-(m14-m15) 1-1- (m10-m14)-(m11-m15) 11-- (m12-m13)-(m14-m15) 11-- (m12-m14)-(m13-m15)


Observando esta tabla de ORDEN 2, vemos que hay términos que se repiten en ella, por lo que podemos eliminar dichas repeticiones, quedándonos la tabla como sigue:

GRADO 1

GRADO 2

ORDEN 2 -10- (m4-m5)-(m12-m13) 10-- (m8-m9)-(m10-m11) 1-0- (m8-m9)-(m12-m13) 1--0 (m8-m10)-(m12-m14) -1-1 (m5-m7)-(m13-m15) (m91--1 m11)-(m13-m15) (m101-1- m11)-(m14-m15) (m1211-- m13)-(m14-m15)

Aún podemos realizar otra asociación que quedará como sigue:

GRADO 1

ORDEN 3 1--- m8-m9-m10-m11-m12-m13-m14-m15

4. Ahora seleccionamos el menor número posible de bloques, de mayor orden, que abarquen todos los términos canónicos de la función. Esto se realiza de la siguiente forma: En el bloque de mayor orden obtenido (ORDEN 3) se selecciona la asociación que abarque mayor número de términos, en este caso solo hay una (1 - - -) y


construimos la siguiente tabla colocando una X en los términos que estén presentes, dejando libres los términos restantes. ABCD m4-m5-m7-m8-m9-m10-m11-m12-m13-m14-m15 1--X X X X X X X X Como aún nos faltan por cubrir tres términos, buscamos asociaciones dentro de la tabla de orden inferior (en este caso ORDEN 2) que incluyan estos elementos y con ellas ampliamos la tabla anterior, quedando como sigue:

ABCD m4-m5-m7-m8-m9-m10-m11-m12-m13-m14-m15 1--X X X X X X X X -10- X X X X -1-1 X X X X 5. Una vez cubiertos todos los términos de la función canónica, obtendremos la función simplificada sin más que sumar todos los términos representados por esos bloques. En este ejemplo será: f(A,B,C,D) = A + BC + BD (Se obtiene sumando los términos canónicos de la parte izquierda de la tabla, representando las variables existentes en su forma natural o complementada).


ANALISIS DE LOS CIRCUITOS COMBINACIONALES. Sin duda, el primer paso para obtener un circuito o sistema de control, consiste en analizar y formular correctamente el problema, para a continuación, establecer la tabla de la verdad y obtener por alguno de los procedimientos conocidos, la función canónica minimizada que será implementada mediante las correspondientes puertas lógicas. En ocasiones nos encontramos con el hecho de que existen una o más combinaciones de las señales de entrada, que no se pueden presentar nunca (debido por ejemplo, a la realización física del sistema). Para estos casos, no tendríamos en consideración la respuesta que el circuito pudiera dar a dichas combinaciones y podríamos aprovechar esta circunstancia, asignando a esas salidas valores 0 ó 1 según nos interese, al objeto de favorecer la minimización. El procedimiento a seguir en estos casos es el de asignar, en la tabla de la verdad, una X en las salidas correspondientes. Estos términos así señalados se denominan "indiferentes". Se colocan después en las tablas de Karnaugh (para ambas formas canónicas) y al realizar las asociaciones de términos, se consideran 1 ó 0 según convenga. La minimización según Quine-McCluskey se realiza suponiendo que existe un 1 en todas las combinaciones indiferentes. Al final, al buscar la combinación mínima de asociaciones que recubren los términos originales, habrá que recubrir únicamente los términos que figuraban con 1 en la tabla de la verdad, sin tomar en cuenta los términos indiferentes. Veamos un ejemplo: Diseñar un circuito que nos proporcione un 1 lógico en su salida, siempre que el número de unos, en las combinaciones BCD de sus cuatro entradas, sea impar. En primer lugar hacemos notar que las combinaciones BCD son del 0 al 9, por lo que el resto de combinaciones binarias serán términos indiferentes. Según esto construimos la siguiente tabla de la verdad: D 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

C 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

A 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

f 0 1 1 0 1 0 0 1 1 X X X X X X X


A continuación realizamos la simplificación mediante Karnaugh, construyendo la tabla siguiente: AB CD

00

01

00

11

1

10 1

01

1

X

X

11

X

X

X

10

1

X

1

Como podemos apreciar, la simplificación sería imposible, si solo consideramos los unos. Sin embargo al tener en cuenta los términos indiferentes (X) podemos proceder a la minimización. Para ello asociamos términos del modo siguiente:

AB CD

00

01

11

1

00

10 1

01

1

X

X

11

X

X

X

10

1

X

1

Nos queda un 1 que no podemos asociar de ninguna forma. Teniendo en cuenta las cuatro asociaciones realizadas, obtenemos la siguiente función minimizada: f= A B C D + A B C + A B C + ABC + AD Esta función realizada con puertas NAND nos proporciona el siguiente circuito electrónico:


A

B f C

D

En ocasiones, un circuito combinacional dispone de varias salidas, y cada una responde a una funci贸n l贸gica distinta, dependientes todas de las mismas variables booleanas. En estos casos, se intenta encontrar t茅rminos comunes a


varias de ellas, al objeto de simplificar el circuito final. En este tipo de sistemas, debemos de: 1. Minimizar las expresiones individuales de cada función. 2. Agrupar al máximo el número de términos comunes a varias de ellas. 3. Para llevar a cabo los puntos anteriores, debemos encontrar por lo general, un compromiso entre ellos de modo que el circuito global resultante sea lo más sencillo posible. Normalmente, el límite máximo, para aplicar Karnaugh, es de tres funciones diferentes, ya que se tendrán que formar una tabla por cada función, tres tablas para productos de dos funciones y una tabla para las tres funciones, es decir, siete tablas de Karnaugh. El procedimiento general de simplificación puede ser el siguiente: 1. Encontrar los términos únicos para cada función y realizarlos en su tabla de Karnaugh correspondiente, de la forma más sencilla posible. Las expresiones obtenidas, deberán forzosamente, formar parte de las expresiones finales de las funciones. 2. Buscar los términos comunes a dos funciones, pero no a las tres. Realizarlos en las tablas de Karnaugh correspondientes al producto de las dos funciones, de la manera más sencilla posible. Si las expresiones obtenidas no han sido realizadas ya en el paso anterior, formarán parte de las expresiones finales de las funciones. 3. Buscar los términos comunes a las tres funciones y que no hayan sido realizados en apartados anteriores. Realizarlos de la forma más sencilla posible en la tabla de Karnaugh correspondiente a la tabla del producto de las tres funciones. La expresión obtenida pertenecerá a la expresión final de las tres funciones. Veamos a continuación un ejemplo: Dada la tabla de la verdad de un sistema combinacional, mostrada a continuación, encontrar las tres funciones simplificadas. D 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

C 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

A f1 f2 f3 0 0 1 0 1 0 1 0 0 0 1 0 1 1 1 0 0 0 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 1 0 0 1 0 1 1 1 1


DC BA

f1 00

01

11

10

00 01 11

1 1

1

10

1

f2

DC BA

00

01

11

00

1

1

01

1

1

11

1

1

1

10

1

1

1

1

10

En primer lugar se construyen las tablas de Karnaugh de las tres funciones f1, f2 y f3: DC 00

01f3 11

00

10

1

01

1

11

1

1

1 1

10

Para cada una de las funciones se buscan los elementos que pertenecen únicamente a esa función considerada y a ninguna de las otras dos, para a continuación, en su propia tabla, realizar el mayor agrupamiento posible y por tanto la mayor minimización. En este caso tendremos: Para f1: No tiene elementos únicos. Por tanto ahora no se realizarán simplificaciones. Para f2: Los elementos únicos son m0, m1, m2 y m14 Para f3: Los elementos únicos son m12 y m13. Marcamos estos elementos en sus respectivas tablas y efectuamos los agrupamientos obteniendo: DC BA

f2 00

01

11

10

DC BA

f3 00

01

11

10

00

1

00

01

1

01

1

1

1

11

1

1

1

11

1

1

1

10

1

1

1

10

f2 = C D + B C

1

f3 = B C D


Como podemos ver la función f2 ya está completa, por lo tanto no tendremos que volver a considerarla. Nos quedan únicamente las funciones f1 y f3, para las cuales tendremos que repetir el proceso nuevamente (sin considerar ahora f2). Los elementos únicos de estas tablas serán los marcados a continuación y se simplificarán con las agrupaciones mayores posibles: f1 DC BA

00

01

11

10

01

10

f3 00

01

00

00

11

DC BA

1 1

1 1

1

11

10

1

1

01

1

1

1

1

11

1

1

1

10

Vemos que esta última tabla (f3) ya ha sido realizada en el paso anterior, luego no sera tenida en cuenta. Por tanto f3 continúa igual. En lo que se refiere a f1, las simplificaciones de los términos únicos marcados nos darán:


AB+ BCD Términos que deberán ser añadidos a la expresión final de f1. Como aún no hemos completado ninguna de las dos funciones, nos falta por determinar los elementos comunes a f1 y f3 y efectuar las simplificaciones oportunas en dicha tabla. Este procedimiento será del modo siguiente:

DC B A

00

01f1f3 11

10

00 01

1

11

1

1 1

1

10

ACD+ ACD+ABD Términos comunes a f1 y f3. Las tres funciones quedarán finalmente como sigue:

f1 = A B + B C D + A C D + A C D + A B D f2 = C D + B C f3 = B C D + A C D + A C D + A B D Si observamos detenidamente, el término ABD obtenido en los elementos comunes, ya ha sido obtenido anteriormente para f1, por lo que no es necesario incluirlo. Dicho de otro modo, podemos simplificar f1 del modo siguiente: AB + ABD = AB(1+D) = AB Por lo que las tres funciones quedarán finalmente como sigue:

f1 = A B + B C D + A C D + A C D f2 = C D + B C f3 = B C D + A C D + A C D + A B D


El circuito electrónico que desarrolla las tres funciones anteriores será el que se presenta a continuación. En este caso se han empleado diferentes puertas lógicas, sin embargo, suele ser habitual emplear un solo tipo de puertas. Puede resultar un buen ejercicio, realizar un nuevo esquema para estas funciones empleando únicamente puertas NAND. Es interesante observar las puertas que realizan los elementos comunes para f1 y f3. En nuestro caso van encerradas en un rectángulo de líneas discontinuas al único objeto de resaltarlas. A

f2 B

C

f1 D

f3

Además de todo lo visto hasta ahora, debemos señalar que los circuitos integrados reales, que se encuentran en la práctica, no poseen una respuesta instantánea, cuando se le aplica una señal de entrada. Las puertas reales tardan un tiempo en responder a la entrada, por lo que se producen unos retrasos finitos en las variaciones de las señales, es decir en la transición o circulación de las señales desde el terminal de entrada hasta que se obtiene la respuesta a la salida. En ciertas ocasiones estos retrasos adquieren mucha importancia y es preciso tenerlos en cuenta ya que pueden producir funcionamientos incorrectos o no deseados.


CIRCUITOS COMBINACIONALES PRACTICOS. Se describirán seguidamente los circuitos combinacionales, que realizados con puertas lógicas, nos presentas las casas comerciales en forma de circuitos integrados. En la práctica sucede muy corrientemente, que para desarrollar determinados circuitos mediante puertas lógicas, es mas recomendable acudir al empleo de estos circuitos integrados, que ya vienen diseñados de fábrica, siendo más sencillo conocer la función que desarrollan, que diseñar un circuito que lo sustituya. Dentro de la gran variedad de componentes diseñados por la industria electrónica cabe destacar los siguientes: decodificadores, demultiplexadores, codificadores, multiplexadores, convertidores de código, etc. Los decodificadores. Son aquellos circuitos que, disponiendo de "n" entradas, presenta 2n salidas, correspondientes, cada una de ellas a un producto canónico de las variables de entrada. En la siguiente figura se presenta el esquema simbólico de un decodificador de 4 entradas y 16 salidas, así como su tabla de la verdad, en la que podemos ver cómo cada una de las salidas es activa para una combinación determinada de las señales de entrada.


D 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

A 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

2 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0

3 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0

4 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0

5 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0

6 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0

A B C D

7 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

8 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0

9 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0

10 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0

11 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

12 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0

13 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0

14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0

15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

En este caso, se han presentado salidas activas a nivel lógico alto (1 lógico), aunque en la práctica, por lo general, las salidas estarán activas cuando presenten un nivel lógico bajo (0 lógico). Esto es debido a que su misión fundamental es servir como dispositivos seleccionadores de chip, siendo la mayoría de los circuitos integrados disponibles en el mercado seleccionables con nivel lógico bajo.


Los demultiplexores. Un demultiplexor no deja de ser una aplicación de los decodificadores. En esencia se trata de un sistema que dispone de una entrada de datos (D), varias entradas de selección y "n" salidas. Al aplicar una combinación binaria en las entradas de selección, conseguimos que la información digital presente en la entrada de datos (D), pase a la salida correspondiente al código de selección.

Los codificadores. Realizan la función opuesta a los decodificadores. Por tanto, dispondrá de 2n líneas de entrada y "n" líneas de salida, en las que aparecerá el código binario correspondiente a la línea de entrada activada en cada instante. Se construyen codificadores prioritarios, que presentan en las salidas el código binario correspondiente a la entrada activa que tenga mayor valor decimal, en caso de que varias entradas estén activadas simultáneamente.

Los multiplexadores. Son circuitos combinacionales que presentan "2n" entradas de datos, "n" entradas de selección y una salida de información. Por cada valor binario presente en las entradas de selección, se conecta a la salida una de las 2n entradas de datos. Por tanto el multiplexador realiza la función de conmutador conectando a voluntad cualquiera de las entradas de datos sobre la única salida. En la siguiente figura podemos ver un diagrama simbólico de un multiplexador.

1 2 3 4 5 6 7 8

salida

A B C selección


Los convertidores de código. Son circuitos que disponen de n1 entradas y n2 salidas, siendo su función transformar el código presente en sus líneas de entrada, en otro código diferente en sus líneas de salida. Por ejemplo, se fabrican dispositivos que transforman un código BCD conectado en las entradas a un código apropiado para excitar dígitos de siete segmentos (leds).


microprocesadores

Atenci贸n: Atenci贸n: Pr贸ximamente, Pr贸ximamente, en esta revista mensual, mensual, iniciaremos un curso sobre el microprocesador 8085A de INTEL.


LA ILUMINACIÓN Y LOS RIESGOS LABORALES. La iluminación en el puesto de trabajo puede ser un elemento decisivo que contribuya a facilitar un puesto de trabajo con menos riesgos de accidentes y que nos ayude a realizar las tareas creando un ambiente visual apropiado. Para ello, debemos conocer, valorar y comparar las diferentes cualidades de las fuentes de luz (el flujo luminoso, la cantidad de luz, la luminancia, la iluminancia, la energía luminosa y el contraste) así como las leyes fundamentales que rigen la luminotecnia. Además deberemos conocer los tipos de fuentes luminosas más habituales en el ámbito laboral como son: las lámparas de incandescencia, lámparas fluorescentes, de vapor de mercurio, lámparas de luz mezcla, lámparas de vapor de sodio a alta y baja presión, lámparas de halogenuros metálicos, etc. Según las lámparas empleadas obtendremos una “temperatura de color” diferente, siendo esta característica, desde el punto de vista ergonómico, muy interesante al existir una relación directa entre dicha temperatura y el ambiente creado. Se dice que existen tres temperaturas de color: la de aspecto cálido, la de aspecto intermedio y la de aspecto frío. La norma UNE 72-502-84 nos define las siguientes clases de iluminación:  Iluminación natural  Iluminación natural controlada.  Iluminación mixta.  Alumbrado suplementario permanente.  Alumbrado general.  Alumbrado local.  Alumbrado localizado.  Alumbrado dirigido.  Alumbrado directo.  Alumbrado semidirecto.  Alumbrado directo-indirecto.  Alumbrado indirecto.  Alumbrado difuso.  Alumbrado concentrado.  Alumbrado limitado.  Alumbrado normal.  Alumbrado de emergencia de evacuación.


En cualquier caso, nuestro objetivo sería aplicar todos estos principios y elementos al estudio de la iluminación en el trabajo identificando los factores de riesgo que pueden originarse por la misma y extraer las conclusiones apropiadas para implementar las medidas preventivas convenientes. En primer lugar debemos conseguir que el sistema de iluminación no constituya un riesgo en sí mismo (no debe ser un riesgo de incendio, de explosión, de contactos eléctricos directos e indirectos,…), esto viene definido en el REBT y en segundo lugar la iluminación debe servir para hacer visibles otro tipo de riesgos como atropellos, caídas, etc. La Norma EN 60598 define las protecciones de los productos eléctricos según la expresión IP xyz, siendo: x = Primer dígito que señala la protección contra polvo y cuerpos sólidos. y = Segundo dígito que señala la protección contra la penetración de líquidos. z = Tercer dígito que marca la protección contra los choques. En cuanto a la exigencia visual en el puesto de trabajo, debemos señalar que depende fundamentalmente de el tamaño del elemento a visualizar, la distancia al mismo, el contraste, el tiempo, la difusión de la luz y el color. La norma UNE 72-112-85 clasifica las tareas atendiendo a la exigencia visual del modo siguiente:  Categoría A o muy simple (caminar por la calle, conducir,…)  Categoría B o simple ( manejo contenedores, circulación en vestíbulos,…)  Categoría C o muy fácil (almacenamiento, identificar personas,…)  Categoría D o fácil (manejo de herramientas, lavado coches,…)  Categoría E o normal (trabajos comerciales, reparación coches,…)  Categoría F o difícil (escritura, dibujo, ajuste mecánica, visualización pantallas,…)  Categoría G o muy difícil (costura confección, visualización pantallas gran resolución,…)  Categoría H o complicada (circuitos impresos, relojería, colores,…)  Categoría I o muy complicada (operaciones, tallado piezas preciosas,…) Es también muy importante tener en cuenta los niveles de iluminación en los lugares de trabajo que vienen definidos en el RD 486/97 y además la guía publicada por el INSHT (Instituto Nacional de Seguridad e Higiene en el Trabajo) nos señala: “Zona donde se ejecutan la tareas” es aquella en la que el trabajador tenga que realizar una función visual en el transcurso de su actividad. “Vía de circulación” es cualquier lugar de trabajo destinado a la circulación de personas o vehículos, ya sea en interiores o exteriores.



Lógica digital III