You are on page 1of 14

Estructura y Tecnologa de Computadores I Funciones lgicas

-1-

FUNCIONES LGICAS
- Lgica Rama de la ciencia que se encarga de la representacin del conocimiento. Utiliza formalismos matemticos de representacin y clculo. - lgebra de Boole Diseada como formalismo matemtico sencillo de representacin del conocimiento y realizacin de clculos. Tiene aplicacin directa en el clculo proposicional (lgica clsica). ELEMENTOS DEL LGEBRA DE BOOLE V 1 : lgica bivaluada (binaria) Valores: F 0 1 Constantes (elementos de valor fijo): 0

Variables: Elementos cuyo valor puede cambiar. Se designan por letras.

OPERACIONES EN EL LGEBRA DE BOOLE - Son reglas de combinacin de elementos que permiten hacer clculos. - Se representan mediante operadores. - Operaciones bsicas: Adicin o unin: A+B Producto o interseccin: AB Complementacin o inversin: A, A EXPRESIONES - Combinacin de constantes, variables y operadores: A B + C 1 + A ( + 1) B FUNCIONES - Son expresiones con variables: f(A,B,C,...): f A , = A B + A B ( B) - La evaluacin de una funcin booleana da como resultado una variable booleana (su valor ser diferente dependiendo de los valores de las variables que la componen). - Tablas de verdad: se usan para representar los valores adoptados por las funciones de acuerdo con los valores de las variables. - Las funciones lgicas se corresponden con circuitos lgicos.

Estructura y Tecnologa de Computadores I Funciones lgicas

-2-

OPERACIONES BSICAS EN LGEBRA DE BOOLE Adicin, unin o funcin O (OR): f(A,B) = A+B Producto, interseccin o funcin Y (AND): f(A,B) = AB Complementacin, negacin o funcin NO (NOT): f(A) = A = A A 0 0 1 1 - Otras operaciones: ( B) Funcin ON (NOR): f A , = A + B = A B Funcin YN (NAND): f A , = A B = A + B ( B) Funcin O exclusiva (XOR): f A , = A B = A B + A B ( B) Funcin equivalencia (XNOR): f A , = A B = A B = A B + A B ( B) TEOREMAS EN LGEBRA DE BOOLE - Teorema de dualidad: a cada ley lgica le corresponde una dual construida intercambiando + con y 1 con 0. A+A = 1 AA = 0 0+A=A 1A=A 1+A=1 0A=0 A+A=A AA=A A+B = B+A AB = BA A+(B+C) = (A+B)+C = A+B+C A(BC) = (AB)C = ABC A+BC = (A+B) (A+C) A(B+C) = AB + AC A+AB = A A(A+B) = A (A+B) = AB (AB) = A+B (A) = A identidad elemento neutro idempotencia conmutativa asociativa distributiva absorcin De Morgan involucin B A+B 0 0 1 1 0 1 1 1 AB 0 0 0 1

A A 0 1 1 0

- Ley de De Morgan generalizada: la inversa de una funcin se obtiene complementando todas las variables que aparecen en ella e intercambiando los operadores de adicin y producto. - Teorema de la descomposicin de funciones: f A , C,. ) =A f 1, C,. )+ A f 0, C,. ) ( B, .. ( B, .. ( B, ..

f A , C,. ) =[A + f 0, C,. ) A + f 1, C,. ( B, .. ( B, .. ] ( B, . )

Estructura y Tecnologa de Computadores I Funciones lgicas

-3-

FUNCIONES Y PUERTAS LGICAS

NOT

OR

NOR

AND

NAND

XOR

XNOR

Ej: f A , C) =A B + C ( + B) ( B, A

A f B C

Estructura y Tecnologa de Computadores I Funciones lgicas

-4-

REPRESENTACIN DE FUNCIONES LGICAS Expresin algebraica (EA) Tabla de verdad (TV) Mapa de Karnaugh (MK) REPRESENTACIN DE FUNCIONES LGICAS EXPRESIONES ALGEBRAICAS - Combinacin de constantes, variables y operadores. Ej: f A , C) =A B C + A B + C ( + B) ( B, A - La expresin algebraica de una funcin lgica no es nica. PRIMERA FORMA CANNICA (1FC) Minterm (mi): Dada una funcin lgica f(X1,X2,...,Xn), un minterm es un trmino de la misma constituido por el producto de las n variables de la funcin. Cada variable aparece una y slo una vez, ya sea en su forma normal o complementada. Ej.: f(A,B,C) m 0 =A B C m 1 =A B C m 6 =A B C Clculo de i: se sustituye cada variable por 1 si est en su forma natural, y por 0 si est en su forma complementada.

- Primera forma cannica de una funcin: Expresin algebraica de la misma en forma de suma de minterms. Es nica para cada funcin. Ej: f A , C) = A B C + A B C + A B C = m 3 + m 4 + m 1 ( B, - Teorema de transformabilidad: toda funcin lgica puede transformarse en primera forma cannica, y dicha transformacin es nica. Algoritmo 1: OBTENCIN DE LA PRIMERA FORMA CANNICA DE UNA FUNCIN A PARTIR DE OTRA EXPRESIN ALGEBRAICA. 1. Reducir la expresin original a una suma de productos elementales. 2. Si en un trmino falta la variable Xi, introducir en l la suma Xi+Xi y aplicar la propiedad distributiva. 3. Repetir el paso anterior para todos los trminos y variables hasta que todos los trminos de la funcin sean minterms. 4. Aplicar la ley de idempotencia para eliminar minterms repetidos.

Estructura y Tecnologa de Computadores I Funciones lgicas

-5-

SEGUNDA FORMA CANNICA (2FC) Maxterm (Mi): Dada una funcin lgica f(X1,X2,...,Xn), un maxterm es un trmino de la misma constituido por la suma de las n variables de la funcin. Cada variable aparece una y slo una vez, ya sea en su forma normal o complementada. Ej.: f(A,B,C) M 0 =A + B + C M 2 =A + B + C M 5 =A + B + C Clculo de i: se sustituye cada variable por 1 si est en su forma natural, y por 0 si est en su forma complementada.

- Segunda forma cannica de una funcin: Expresin algebraica de la misma en forma de producto de maxterms. Es nica para cada funcin. Ej: f A , C) = ( + B + C) ( + B + C ) ( + B + C) = M ( B, A A A
3

- Teorema de transformabilidad: toda funcin lgica puede transformarse en segunda forma cannica, y dicha transformacin es nica. Algoritmo 2: OBTENCIN DE LA SEGUNDA FORMA CANNICA DE UNA FUNCIN A PARTIR DE OTRA EXPRESIN ALGEBRAICA. 1. Reducir la expresin original a un producto de sumas elementales. 2. Si en un trmino falta la variable Xi, introducir en l el producto XiXi y aplicar la propiedad distributiva. 3. Repetir el paso anterior para todos los trminos y variables hasta que todos los trminos de la funcin sean maxterms. 4. Aplicar la ley de idempotencia para eliminar maxterms repetidos. RELACIN ENTRE MINTERMS Y MAXTERMS - Ej: m 0 = A B C ; m 0 = A B C = A + B + C = M - La relacin existente entre minterms y maxterms es: mi= M M
i 2n 1 i 7

= m 2n 1 i

Estructura y Tecnologa de Computadores I Funciones lgicas

-6-

REPRESENTACIN DE FUNCIONES LGICAS - TABLAS DE VERDAD - Tabla de verdad: 1 columna por variable (n columnas). 1 fila por cada combinacin posible de variables (total: 2n filas). 1 columna adicional para registrar el valor de la funcin segn cada combinacin de variables. - Total: (n+1) columnas x 2n filas - La tabla de verdad de una funcin es nica. Ej: i A B C f(i) 0 0 0 0 0 1 0 0 1 0 2 0 1 0 1 3 0 1 1 1 4 1 0 0 1 5 1 0 1 0 6 1 1 0 1 7 1 1 1 1 OBTENCIN DE LA TABLA DE VERDAD DE UNA FUNCIN DESDE UNA EXPRESIN ALGEBRAICA - Clculo a partir de las tablas de verdad de las operaciones (funciones) elementales. - Se introducen columnas adicionales para clculos intermedios. - Ej: f A , C) =A B C + A B + C ( + B) ( B, A i A B C A B C A B A+B C ( + B) f(i) A 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 2 0 1 0 0 1 1 1 1 3 0 1 1 0 1 1 0 1 4 1 0 0 0 0 1 1 1 5 1 0 1 0 0 1 0 0 6 1 1 0 0 0 1 1 1 7 1 1 1 1 0 1 0 1 - Ej: f A , C) = B + A C ( B, i 0 1 2 3 4 5 6 7 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 A C 0 0 0 0 1 0 1 0 f(i) 0 0 1 1 1 0 1 1

Estructura y Tecnologa de Computadores I Funciones lgicas

-7-

OBTENCIN DE LA EXPRESIN ALGEBRAICA DE UNA FUNCIN A PARTIR DE SU TABLA DE VERDAD: PRIMERA FORMA CANNICA - La fila i est asociada al minterm i: f X 1 , 2 , ., n ) = ( X .. X Ej: i 0 1 2 3 4 5 6 7 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 f(i) 0 0 1 1 1 0 1 1 mi m0 m1 m2 m3 m4 m5 m6 m7
2n 1 i0 =

) f(i m

f A , C) = 0 m 0 + 0 m 1 + 1 m 2 + 1 m 3 + 1 m 4 + 0 m 5 + 1 m 6 + 1 m 7 = ( B, = m 2 +m 3 +m 4 +m 6 +m 7 = A BC + A BC + A B C + A BC + A BC Algoritmo 3: OBTENCIN DE LA PRIMERA FORMA CANNICA DE UNA FUNCIN A PARTIR DE LA TABLA DE VERDAD. La primera forma cannica se compone de la suma de los minterms asociados a las filas para las que la funcin vale 1. El recproco tambin se cumple. EA ( 1FC) TV m i 1FC f i 1 ()= m i 1FC f i 0 ()=

Estructura y Tecnologa de Computadores I Funciones lgicas

-8-

OBTENCIN DE LA EXPRESIN ALGEBRAICA DE UNA FUNCIN A PARTIR DE SU TABLA DE VERDAD: SEGUNDA FORMA CANNICA - La fila i est asociada al maxterm 2n-1-i: f X 1 , 2 , ., n ) = ( X .. X Ej: i 0 1 2 3 4 5 6 7 f A , C) = ( ( B, M ( M Comprobacin: f A , C) = m 0 + m 1 + m 5 ( B, f A , C) = m 0 + m 1 + m 5 = ( B, = m0 m1 m5 = = M
7 2 7

) (f(i + M
i0 =

2n 1

2n - i 1-

)
2n 1 i

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1
6

f(i) 0 0 1 1 1 0 1 1

fi () 1 1 0 0 0 1 0 0
5

mi=M M7 M6 M5 M4 M3 M2 M1 M0 + 1) ( M
7

+ 0) ( M

+ 0) ( M
0

+ 1) ( M
6

+ 1)

+ 0) ( 1 + 1) ( M M

+ 1) = M

( i aplcando D e M or gan)

= f A , C) ( B,

Algoritmo 4: OBTENCIN DE LA SEGUNDA FORMA CANNICA DE UNA FUNCIN A PARTIR DE LA TABLA DE VERDAD. La segunda forma cannica se compone del producto de los maxterms asociados a las filas para las que la funcin vale 0. El recproco tambin se cumple. EA ( 2FC) TV M i 2FC f 2n -1-i 0 ( )= M i 2FC f 2n -1-i 1 ( )=

Estructura y Tecnologa de Computadores I Funciones lgicas

-9-

Algoritmo 5: OBTENCIN DE LA SEGUNDA FORMA CANNICA DE UNA FUNCIN A PARTIR DE LA PRIMERA FORMA CANNICA. EA ( 1FC) EA ( 2FC) m i 1FC M 2n -1-i 2FC m i 1FC M
2n - i 1-

2FC

Algoritmo 6: OBTENCIN DE LA PRIMERA FORMA CANNICA DE UNA FUNCIN A PARTIR DE LA SEGUNDA FORMA CANNICA. EA ( 2FC) EA ( 1FC) M i 2FC m 2n -1-i 1FC M i 2FC m 2n -1-i 1FC

Estructura y Tecnologa de Computadores I Funciones lgicas

-10-

REPRESENTACIN DE FUNCIONES LGICAS - MAPAS DE KARNAUGH - Mapa de Karnaugh de una funcin de n variables: tabla de 2n casillas, cada una de ellas asociada a un minterm (o maxterm) de forma que al pasar de una casilla a otra adyacente horizontal o verticalmente slo cambia el estado de una variable. - Mapa de dos variables:
B m m

Cada casilla tiene 2 vecinos: m m 0 m 1 , 2 m m , 1 0 m 3 m m 2 m 0 , 3 m 3 m 1 , 2 m

AB m

AB m
3

AB

AB

- Mapa de tres variables:


B m m m m

Cada casilla tiene 3 vecinos: m m m 1 m 0 , 3 , 5 m m m 2 m 0 , 3 , 6 m m , , 2 m 7 m 4 6

ABC m
4

ABC m
5

ABC m
7

ABC m
6

ABC

ABC C

ABC

ABC

- Mapa de cuatro variables:

C m m m A m
0 4 12 8

m m m m

1 5 13 9

m m m m

3 7 15 11

m m m m

Cada casilla tiene 4 vecinos:


2 6 14 10

m m m m 5 m 1, 4 , 7 , 13 m m , , , 6 2 m 7 m 14 m 4 m m m m 1 m 0 , 3 , 5 , 9 m 10 m 11 , 14 , 2 , 8 m m m

D - Los mapas de Karnaugh obtenidos a partir de los minterms (1FC) son distintos de los obtenidos a partir de los maxterms (2FC).

Estructura y Tecnologa de Computadores I Funciones lgicas

-11-

Algoritmo 7: OBTENCIN DEL MAPA DE KARNAUGH (1FC) A PARTIR DE LA PRIMERA FORMA CANNICA. EA ( 1FC) M K ( 1FC) m i 1FC ci = 1 m i 1FC ci = 0 Algoritmo 8: OBTENCIN DEL MAPA DE KARNAUGH (2FC) A PARTIR DE LA SEGUNDA FORMA CANNICA. EA ( 2FC) M K ( 2FC) M i 2FC ci = 1 M i 2FC ci = 0 Algoritmo 9: OBTENCIN DEL MAPA DE KARNAUGH (1FC) A PARTIR DE LA TABLA DE VERDAD. TV M K ( 1FC) f i = ci () Algoritmo 10: OBTENCIN DEL MAPA DE KARNAUGH (2FC) A PARTIR DE LA TABLA DE VERDAD. TV M K ( 2FC) f i = c2n -1-i ()

SIMPLIFICACIN DE FUNCIONES LGICAS - Justificacin: Se puede construir circuitos lgicos que implementen funciones lgicas. Las expresiones algebraicas de las funciones lgicas no son nicas. Mientras ms sencilla sea la expresin algebraica de la funcin lgica, ms rpido y ms barato ser el circuito que la implementa. SIMPLIFICACIN DE FUNCIONES LGICAS A PARTIR DE EXPRESIONES ALGEBRAICAS - Se realiza aplicando los teoremas del lgebra de Boole. - Ej: f A , C) = A B C + A B + C ( + B) = ( B, A = A BC + A B + A C + BC = = B (A C + A + C)+ A C = = B (A + A ) ( + C)+ C + A C = A = B +A C

[ ] B [A + C + C ] + A C =

Estructura y Tecnologa de Computadores I Funciones lgicas

-12-

SIMPLIFICACIN DE FUNCIONES LGICAS A PARTIR DE MAPAS DE KARNAUGH - Asociaciones: Se efectan entre casillas adyacentes. Desaparecen las variables que cambian. - Dos elementos contiguos: desaparece una variable. Ej: MK 3 variables m 4 + m 6 = A B C + A B C = A C ( + B) = A C B - Cuatro elementos contiguos: desaparecen dos variables. Ej: MK 3 variables m3 + m2 + m7 + m6 = A B C + A B C + A B C + A B C = = B (A C + A C + A C + A C) = B - Ocho elementos contiguos: desaparecen tres variables. Ej: MK 4 variables m 12 + m 13 + m 15 + m 14 + m 8 + m 9 + m 11 + m 10 = = A BC D +A BC D +A BC D +A BC D + + A B C D +A B C D +A B C D +A B C D = = A ( C D +BC D +BC D +BC D + B + B C D + B C D + B C D + B C D) = A - Ej:
B

f A , C) = B + A C ( B,

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

B A
1 1 1 1

f A , C, ) = A + B D ( B, D

Estructura y Tecnologa de Computadores I Funciones lgicas

-13-

- Redundancias: Concepto ingenieril, no matemtico. Combinaciones imposibles de variables. Se pueden considerar como 0 1, segn convenga. Se representan con X en la tabla de verdad o el mapa de Karnaugh. - Recomendaciones Tomar el mnimo nmero de grupos (mnimo nmero de trminos). Tomar grupos lo ms grandes posible (menor nmero de variables). ORDEN DE UN CIRCUITO LGICO - Nmero mximo de puertas que una variable lgica debe atravesar a lo largo del circuito. SNTESIS DE CIRCUITOS 1. Simplificar la funcin por Karnaugh. 2. Elegir la funcin de menor orden. 3. Elegir el ciucuito con menor nmero de diodos y transistores.

Estructura y Tecnologa de Computadores I Funciones lgicas

-14-

RESUMEN

Circuito

SIMPLIFICACIN POR KARNAUGH (1 F.C.) Expresin algebraica ms simple Tabla de verdad TEOREMAS 9 Expresin algebraica 3 7 Mapa de Karnaugh (1 F.C.) 10

SIMPLIFICACIN POR KARNAUGH (2 F.C.) Mapa de Karnaugh (2 F.C.)

Primera forma cannica

5 6

Segunda forma cannica

EXPRESIONES ALGEBRAICAS

MAPAS DE KARNAUGH