tema 3: representación y minimización de funciones …emp.usb.ve/mrivas/tema_4b.pdf · estructura...

45
Estructura de computadores Tema 3: Representación y minimización de funciones lógicas 1 Tema 3: Representación y minimización de funciones lógicas 3.1. Teoremas y postulados del álgebra de Boole Definiciones El álgebra de Boole se utiliza para la resolución de problemas de tipo lógico-resolutivo, desarrollado en 1947 por George Boole. Actualmente es muy utilizada en electrónica digital (en computadoras), y sobre todo en síntesis de circuitos digitales. El álgebra de Boole son las matemáticas de los sistemas digitales. Variable lógica: Sea el conjunto B = { 0, 1 }. Con este conjunto podemos codificar la información en un computador. Decimos que una variable x es lógica si su dominio es el conjunto B, es decir, si x solo puede tomar los valores 0 y 1. Complemento: El complemento de una variable es su inverso, y se indica con una barra encima, ó con un apóstrofe. Lo más utilizado siempre es la barra, pero en estos apuntes utilizamos un apóstrofe por comodidad en la escritura. Por ejemplo, el complemento de A es A'. Si A = 0, entonces A' = 1 Si A = 1, entonces A' = 0

Upload: truongthuy

Post on 27-Sep-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

1

Tema 3: Representación y minimización de funciones lógicas

3.1. Teoremas y postulados del álgebra de Boole

Definiciones

El álgebra de Boole se utiliza para la resolución de problemas de tipológico-resolutivo, desarrollado en 1947 por George Boole.

Actualmente es muy utilizada en electrónica digital (en computadoras), ysobre todo en síntesis de circuitos digitales.

El álgebra de Boole son las matemáticas de los sistemas digitales.

Variable lógica:

Sea el conjunto B = { 0, 1 }. Con este conjunto podemos codificar lainformación en un computador.

Decimos que una variable x es lógica si su dominio es el conjunto B, esdecir, si x solo puede tomar los valores 0 y 1.

Complemento:

El complemento de una variable es su inverso, y se indica con una barraencima, ó con un apóstrofe.

Lo más utilizado siempre es la barra, pero en estos apuntes utilizamosun apóstrofe por comodidad en la escritura.

Por ejemplo, el complemento de A es A'.Si A = 0, entonces A' = 1Si A = 1, entonces A' = 0

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

2

Postulados del algebra de Boole

Un conjunto B = { 0, 1 }, dotado de dos operaciones denotadas por + y ·,es un álgebra de Boole si y sólo si se verifican los siguientes postulados oleyes. En todos los casos consideramos ∀ a,b,c ∈ B.

1. Las operaciones + y · son conmutativas:a + b = b + a (conmutativa de la suma)a · b = b · a (conmutativa del producto)

2. Las operaciones + y · son asociativas:a + (b + c) = (a + b) + c (asociativa de la suma)a · (b · c) = (a · b) · c (asociativa del producto)

3. Cada operación es distributiva respecto a la otra:+ respecto ·: a + (b · c) = (a + b) · (a + c)· respecto +: a · (b + c) = (a · b) + (a · c) ∀ a,b,c ∈ B

Un álgebra de Boole es simétrica con respecto a las operaciones + y ·, y alos elementos identidad 0 y 1. Tal característica es el principio de dualidad,es decir, si tenemos un teorema, podemos obtener otro dual, cambiando lasoperaciones.

Reglas

Un álgebra de Boole B tiene las siguientes propiedades o reglas:

1. Identidad (+): a + 0 = a ∀ a ∈ B2. Elementos dominantes (+): a + 1 = 1 ∀ a ∈ B3. Elementos dominantes (·): a · 0 = 0 ∀ a ∈ B4. Identidad (·): a · 1 = a ∀ a ∈ B5. Idempotencia (+): a + a = a6. Complemento (+): a + a' = 17. Idempotencia (·): a · a = a8. Complemento (·): a · a' = 09. Involutiva: a'' = a

10. Ley de absorción (dual): a + (a · b) = a y a · (a+b) = a11. Ley del consenso (dual): a + (a' · b) = a + b y a · (a’+b) = a · b

Las 2 últimas reglas se pueden obtener a partir de las leyes y de las otrasreglas más sencillas.

a' = Complementario de a

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

3

3.2. Teoremas de De Morgan

De Morgan propuso dos teoremas que constituyen una parte muyimportante del álgebra de Boole.

Teoremas de De Morgan:

1. El complemento de una suma de variables es igual al producto de loscomplementos de las variables:

(a + b)' = a' · b' ∀ a,b ∈ B

2. El complemento de un producto de variables es igual a la suma de loscomplementos de las variables:

(a · b)' = a' + b' ∀ a,b ∈ B

Estos teoremas son válidos para cualquier número de variables.

Ejemplos:

• a · b · c = a' + b' + c'

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

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

• ((a + b + c) · d) ' = (a + b + c)' + d' = (a + b + c)' + d' = (a' · b' · c') + d'

• ((a·b·c) + (d·e·f)) ' = (a·b·c)' · (d·e·f)' = (a'+b'+c') · (d'+e'+f')

• ((a+b)·c'·d' + e + f') ' = ((a+b)·c'·d')' · e' · f = ((a+b)'+c+d) · e' · f == ((a' · b') + c + d) · e' · f

Funciones lógicas

Función lógica:

Dadas n variables lógicas x1, x2, ... xn, decimos que F es una funciónlógica de las citadas variables si:

F(x1, x2, ... xn) ∈ B

es decir, si F sólo toma los valores 0 y 1. Al número de variables también se lellama dominio.

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

4

Una función lógica puede definirse de dos formas:

a) Mediante una expresión algebraica, en la que intervengan lasvariables x1, x2, ... xn (y sus complementarias: x1', x2', ... xn')relacionadas entre sí mediante las operaciones + y ·.

b) Mediante una tabla de verdad, que consiste en expresar en unatabla todas las posibles combinaciones de las variables de entradax1, x2, ... xn, asociando un valor a la salida. El número decombinaciones es 2n. Es posible tener más de una salida en lamisma tabla: multifunciones.

Ejemplos:

Sean x1 y x2 dos variables lógicas. Ejemplos de expresiones algebraicasy sus correspondientes tablas de verdad serían:

F1 = x1'

x1 F1

0 11 0

F2 = x1 + x2

x1 x2 F2

0 0 00 1 1

1 0 11 1 1

F3 = x1 · x2'

x1 x2' F3

0 1 00 0 0

1 1 1 1 0 0

Como podemos observar, para construir la tabla de verdad de unafunción lógica, escribimos en las columnas de la izquierda todas lascombinaciones posibles de las variables independientes, y en la columna de laderecha, los valores de la función correspondientes a cada combinación de lasvariables independientes.

Las tablas de verdad permiten una representación compacta, pudiendoademás definir dos o más funciones en una sola tabla, siempre y cuandodependan de las mismas variables independientes.

Una suma de productos es igual a 1 si y sólo si al menos uno de losproductos es igual a 1.

Un producto de sumas es igual a 0 solamente si al menos uno de lostérminos es igual a 0.

Por otro lado, dadas dos expresiones algebraicas F1 y F2 diferentes, susvalores en la tabla pueden coincidir. En ese caso diremos que ambasfunciones son equivalentes (F1 = F2).

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

5

Ejemplos:

• Suma de productos:

F1 = (a' · b' · c) + (a · b' · c' ) + (a · b · c) (3 variables)

Los valores binarios que hacen que los productos de la expresión sean 1son: 001 (a'·b'·c), 100 (a·b'·c'), 111 (a·b·c).

Para estas combinaciones, en la columna de salida de la tabla de verdadpondremos un 1; en el resto pondremos 0.

a b c F1

0 0 0 00 0 1 10 1 0 00 1 1 01 0 0 11 0 1 01 1 0 01 1 1 1

• Producto de sumas:

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

Los valores binarios que hacen que los términos suma sean 0 son: 000(a+b+c), 010 (a+b'+c), 011 (a+b'+c'), 010 (a'+b+c'), 110 (a'+b'+c).

Para estas combinaciones, en la columna de salida de la tabla de verdadpondremos un 0; en el resto pondremos 1.

a b c F2

0 0 0 00 0 1 10 1 0 00 1 1 01 0 0 11 0 1 01 1 0 01 1 1 1

Podemos comprobar que ambas funciones son equivalentes (F1=F2).

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

6

Ejemplo:

Sean las dos funciones lógicas siguientes, que dependen ambas de lasmismas variables lógicas: a, b y c.

F1 = (a + b + c) · (a + b + c') · (a' + b + c) · (a' + b + c')F2 = (a' · b · c') + (a' · b · c) + (a · b · c') + (a · b · c)

Podemos representarlas en una única tabla de verdad (multifunciones):

a b c F1 F2

0 0 0 0 00 0 1 0 00 1 0 1 10 1 1 1 1

1 0 0 0 01 0 1 0 01 1 0 1 11 1 1 1 1

Podemos comprobar que ambas funciones son equivalentes (F1 = F2).

Obtención de la expresión algebraica a partir de la tabla

Podemos obtener la expresión algebraica a partir de la tabla de verdad.

Dada una función lógica F, ésta solo puede tomar los valores 0 y 1.Podemos definir F indicando para qué combinaciones de las variablesindependientes, toma el valor 1 (implementación por "1"), o bien, para quécombinaciones toma el valor 0 (implementación por "0").

Implementación por "1":

Obtendremos una suma de productos. La función F será cierta paraalguna de las combinaciones (suma lógica) que sean ciertas (vale "1"). Cadacombinación será cierta cuando sean ciertas todas las variables que lacomponen (producto lógico). Si alguna de las variables en la combinaciónelegida es falsa (vale "0"), su negación será cierta (valdrá "1").

Implementación por "0":

Obtendremos un producto de sumas. La función F será cierta cuando nose da ninguna de las combinaciones para las cuales es falsa (producto lógico).Una de estas combinaciones no ocurre cuando es falsa (negación) alguna delas variables (suma lógica) que componen la combinación.

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

7

Ejemplo:

Sea la tabla de verdad del ejemplo anterior (F1 = F2 = F).

Recordamos que:ó (OR Lógica) = + (Suma lógica)y (AND Lógica) = · (Producto lógico)

Implementación por "1":

La función F es cierta (vale 1) para las siguientes combinaciones:

a b c F Condiciones para que F=1

0 1 0 1 a' y b y c' ⇒ a' · b · c'0 1 1 1 a' y b y c ⇒ a' · b · c1 1 0 1 a y b y c' ⇒ a · b · c'1 1 1 1 a y b y c ⇒ a · b · c

La función F será cierta cuando se cumpla la primera combinación, ó lasegunda, ó la tercera ó la cuarta, es decir, cuando se cumpla cualquiera deesas cuatro combinaciones. Una combinación es cierta si y solo si son ciertostodos los valores:

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

Podemos comprobar como hemos obtenido la misma función que lafunción F1 del ejemplo anterior (suma de productos).

Implementación por "0":

La función es cierta (vale 1) para las siguientes combinaciones:

a b c F Condiciones para que F=1

0 0 0 0 a ó b ó c ⇒ a + b + c0 0 1 0 a ó b ó c' ⇒ a + b + c'1 0 0 0 a' ó b ó c ⇒ a' + b + c1 0 1 0 a' ó b ó c' ⇒ a' + b + c'

La función F será cierta (vale 1) si y solo si no se cumple la primeracombinación, y no se cumple la segunda, y no se cumple la tercera y no secumple la cuarta, es decir, cuando no se cumpla ninguna de esas cuatrocombinaciones. Una combinación no es cierta si y solo si no es cierto el primervalor ó no es cierto el segundo ó no es cierto el tercero.

Un valor no es cierto si su complemento es cierto (vale "1").

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

8

Sustituyendo las "y" por productos lógicos, las "ó" por sumas lógicas eincluyendo las complementaciones, tenemos como expresión de la función:

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

Podemos comprobar como hemos obtenido la misma función que lafunción F2 del ejemplo anterior (producto de sumas).

Hemos comprobado así mismo, que las funciones F1 y F2 sonequivalentes, y que cualquier función puede expresarse mediante las variablesindependientes, relacionadas mediante las operaciones suma, producto ynegación.

Por tanto, tenemos dos formas de obtener la expresión algebraica deuna función a partir de la tabla de verdad.

Siguiendo el proceso inverso, ya hemos visto cómo fácilmente podemos, apartir de la expresión algebraica, obtener:

q las combinaciones de la tabla de verdad para las cuales la función vale 1desde una suma de productos

q las combinaciones de la tabla de verdad para las cuales la función vale 0desde un producto de sumas.

Forma canónica de una función lógica

Se llama término canónico de una función lógica a todo producto osuma en el cual aparecen todas las variables (o sus complementos) de esafunción. A los términos producto se les llama productos canónicos(mintermus) y a los términos suma, sumas canónicas (maxtermus).

Cuando una función se expresa como una suma de productos canónicos(mintermus) o como producto de sumas canónicas (maxtermus) se dice que seencuentra en su forma canónica o estándar.

• La implementación por "1" nos lleva a la forma canónica de suma deproductos.

• La implementación por "0" nos lleva a un producto de sumas.

Aplicando los teoremas de De Morgan, podemos convertir una funciónexpresada en sumas de productos (mintermus) a producto de sumas(maxtermus) y viceversa.

Aplicando las leyes distributivas, podemos convertir cualquier funciónque no esté en forma canónica a suma de productos o productos de sumas(forma canónica):

F = a·b + c·(d+e) = a·b + c·d + c·e

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

9

Ejemplo:

• Producto de sumas è Suma de productos (maxtermusèmintermus)

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

• Suma de productos è Producto de sumas (MintermusèMaxtermus)

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

Conversión de una suma de productos a su forma canónica

Utilizando lo siguiente podemos convertir un término producto que nocontenga todas las variables a otro que si las tenga:

• Regla 6 del álgebra de Boole: (a + a' = 1)• Propiedad distributiva: a·(b+c) = (a·b) + (a·c)

Tenemos que multiplicar cada término producto que no esté en formacanónica por un término formado por la suma de la variable que le falta y sucomplemento. Multiplicar por 1 no altera el valor de un término. El número deproductos se duplica por cada variable que falta.

Ejemplo:

Convertir la siguiente expresión booleana al formato suma de productoscanónicos:

F = (a·b'·c) + (a'·b') + (a·b·c'·d)

Tenemos 4 variables: a,b,c,d. Consideramos cada término por separado.

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

a'·b' = (a'·b') · (c+c') = (a'·b'·c) + (a'·b'·c') == [ (a'·b'·c) · (d+d') ] + [ (a'·b'·c') · (d+d') ] == [ (a'·b'·c·d) + (a'·b'·c·d') ] + [ (a'·b'·c'·d) + (a'·b'·c'·d') ]

a·b·c'·d => Ya lo tenemos en forma canónica

Sustituyendo cada término por su equivalente término canónico:

F = (a·b'·c·d) + (a·b'·c·d') + (a'·b'·c·d) + (a'·b'·c·d') ++ (a'·b'·c'·d) + (a'·b'·c'·d') + (a·b·c'·d)

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

10

Conversión de un producto de sumas a su forma canónica

Utilizando lo siguiente podemos convertir un término suma que nocontenga todas las variables a otro que si las tenga:

• Regla 8 del álgebra de Boole: (a · a' = 0)• Propiedad distributiva: a+(b·c) = (a+b) · (a+c)

Tenemos que sumar a cada término suma que no esté en formacanónica un término formado por el producto de la variable que le falta y sucomplemento. Sumar 0 no altera el valor de una suma. El número de sumas seduplica por cada variable que falta.

Ejemplo:

Convertir la siguiente expresión booleana al formato de producto desumas canónico.

F = (a+b'+c) · (b'+c+d') · (a+b'+c'+d)

Tenemos 4 variables: a,b,c,d. Consideramos cada término por separado.

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

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

(a+b'+c'+d) ⇒ Ya lo tenemos en forma canónica

Sustituyendo cada término por su equivalente término canónico:

F = (a+b'+c+d) · (a+b'+c+d') · (a+b'+c+d') · (a'+b'+c+d') · (a+b'+c'+d)

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

11

Forma compacta de una función en forma canónica

Una expresión en forma canónica puede expresarse de una formacompacta. La forma compacta de representar esta tabla o las expresioneslógicas sería indicando las combinaciones que hacen cierta (suma deproductos) o falsa (producto de sumas) la función F de la siguiente forma:

Forma de la expresión Forma compactasuma de productos F = Suma de mi = ∑ (Combinaciones ciertas)producto de sumas F = Producto de Mi = Π (Combinaciones falsas)

Sea la función F definida por la tabla de verdad siguiente:

a b c F Mintermus (m) Maxtermus (M) Valor0 0 0 0 M0 = a+b+c 0 = 0000 0 1 0 M1 = a+b+c' 1 = 0010 1 0 0 M2 = a+b'+c 2 = 0100 1 1 1 m3 = a'·b·c 3 = 0111 0 0 0 M4 = a'+b+c 4 = 1001 0 1 1 m5 = a·b'·c 5 = 1011 1 0 1 m6 = a·b·c' 6 = 1101 1 1 0 M7 = a'+b'+c' 7 = 111

Por tanto, las expresiones lógicas equivalentes "suma de productos" y"producto de sumas" son:

F = m3+m5+m6 = (a'·b·c) + (a·b'·c) + (a·b·c')F = M0·M1·M2·M4·M7 = (a+b+c) · (a+b+c') · (a+b'+c) · (a'+b+c) · (a'+b'+c')

Si expresamos en binario las combinaciones:Suma de productos (directo): 011+101+110Producto de sumas (complementados): 000·001·010·100·111

Las expresiones compactas son:Suma de productos: F = ∑ (3,5,6)Producto de sumas: F = Π (0,1,2,4,7)

Ambas expresiones compactas son equivalentes, como se demuestra aquí:

q Sabemos que: Mi = mi' (DeMorgan)q Tenemos que: F = ∑ (3,5,6) = m3 + m5 + m6q Obtenemos la función complementada F', que valdrá 1 para aquellas

combinaciones que F=0 (y no estará definida para las mismascombinaciones que F).

F' = ∑ (0,1,2,4,7) = m0+m1+m2+m4+m7q Complementamos en ambas partes de la igualdad:

F'' = F = (m0+m1+m2+m4+m7)' = m0'·m1'·m2'·m4'·m7' ⇒⇒ F = M0·M1·M2·M4·M7 =⇒ F = Π(M0,M1,M2,M4,M7) = Π(0,1,2,4,7)

F = ∑ (3,5,6) = Π (0,1,2,4,7)

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

12

3.3. Puertas lógicas

Introducción

Los computadores actuales utilizan como soporte tecnológico loscircuitos electrónicos, por lo que se consiguen grandes velocidades. Pero estoscircuitos electrónicos no pueden manejar directamente cifras ni caracteres. Lainformación se representa casi siempre mediante tensiones eléctricas.

Ahora bien, pueden utilizarse tensiones eléctricas de dos tipos:

• Señales analógicas: las tensiones toman cualquier valor dentro de unintervalo determinado. Permiten representar una magnitud y asignarle unvalor cualquiera.

• Señales discretas: las tensiones sólo toman unos valores concretos.Permiten representar un número limitado de valores diferentes. En el casode que el número de valores diferentes que pueda representar la tensiónsean solo dos, la señal se denomina lógica o digital.

En los computadores se utilizan señales lógicas para representar lainformación. A los dos valores que puede tomar dicha señal, se les asignahabitualmente como 0 y 1.

La razón de la utilización de este tipo de señales es, fundamentalmentetecnológica. Existe un tipo de circuitos electrónicos, denominados circuitosdigitales, que trabajan solo con dos niveles de tensión, y que pueden realizaruna transición de un nivel a otro.

Las ventajas que presentan estos circuitos respecto a los analógicosson:

• Gran simplicidad de diseño• Velocidad de trabajo más elevada• Consumo más reducido• Inmunidad al ruido muy elevada (margen de error)• Posibilidad de diseño descendente, al poder confeccionar cualquier

circuito, por complejo que sea, con unidades más simples diseñadaspreviamente.

• Posibilidad de aumentar hasta el nivel que se desee, la precisión enla representación de una información numérica.

• Menor coste de fabricación, para las mismas prestaciones, ya que alpoder construir cualquier circuito con unidades básicas, permitefabricar éstas en grandes cantidades.

El único inconveniente es una complejidad superior de los circuitos, queno es tal inconveniente, gracias a la posibilidad de diseño y análisisdescendente.

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

13

Las únidades básicas más simples que componen los circuitos digitalesse denominan puertas lógicas, y son circuitos que implementan las funcioneslógicas elementales. Son bloques de construcción básicos de funciones máscomplejas. Se representan por unos símbolos de acuerdo al estándard ANSI /IEEE 91-1984.

Los valores lógicos "0" y "1" se representan por niveles de tensióndiferentes en las líneas de entrada y salida de estos circuitos.

Realmente estos dos niveles de tensión son bastante diferentes entre si.Los circuitos digitales se diseñan de tal forma, que reconocen un valor lógico,aunque la tensión no tome exactamente el nivel definido, siempre y cuandoesté dentro de una franja alrededor de dicho nivel, permitiendo una ciertainmunidad ante variaciones en la señal de entrada (ruido).

Se dice que una lógica es positiva si la tensión correspondiente al "1"lógico es mayor que la tensión del "0" lógico. En caso contrario, se trata de unalógica negativa. La mayoría de las veces, el "0" lógico es la masa o tensión de0 voltios. Los niveles de tensión utilizados vienen determinados por latecnología empleada en la fabricación de circuitos.

Puertas básicas

De la definición de álgebra de Boole, las puertas básicas son:

Puerta AND

La salida es 1 si y sólo si todas y cada una de las variables de entradatoman el valor 1. La puerta AND realiza la función producto lógico de lasvariables de entrada:

y = x1 · x2 · ... · xn

Representación gráfica: Tabla de verdad:

a b AND

0 0 00 1 01 0 01 1 1

Ejemplo de aplicación:

Habilitar / impedir el paso de alguna señal. Si el cinturón de seguridad noestá abrochado, se activa una de las entradas, pero mientras el coche no estéen marcha no nos avisará. Al arrancar, activamos la otra entrada, y una alarmao mensaje nos advertirá de que debemos colocarnos el cinturón.

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

14

Puerta OR

La salida es 1 si y sólo si al menos una de las entradas toma el valor 1.La puerta OR realiza la función de suma lógica:

y = x1 + x2 + ... + xn

Representación gráfica: Tabla de verdad:

a b OR

0 0 00 1 11 0 11 1 1

Ejemplo de aplicación:

Un sistema de alarma, en el que tenemos varios sensores en puertas yventanas. En el momento en que cualquiera de los sensores detecte lapresencia de un intruso, el valor de la función OR será "1", y podría activar uncircuito de alarma (sirena, etc.).

Puerta NOT (inversor)

y = x'

Representación gráfica: Tabla de verdad:

a NOT

0 11 0

Ejemplo de aplicación:

Realizar el complemento a 1 de un número binario, con una serie deinversores en paralelo, tantos como bits utilizados en el número binario.

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

15

Puerta NAND

La salida es 0 si y sólo si todas y cada una de las entradas toman elvalor 1. En el resto de caos, la salida es 1. Equivale a una puerta AND seguidade una puerta NOT. Realiza la función:

y = (x1 · x2 · ... · xn)' = x1' + x2' + ... + xn'

Representación gráfica: Tabla de verdad:

a b NAND / Neg-Or

0 0 10 1 11 0 11 1 0

La puerta NAND (AND+NOT) es equivalente a la puerta llamadanegativa-OR (NOT+OR). El uso de una u otra puerta depende de si nosinteresa detectar todas las entradas a nivel alto (NAND) o alguna a nivel bajo(Negativa-OR). Recordar los teoremas de De Morgan.

Ejemplo de aplicación:

En un proceso de fabricación tenemos dos tanques A y B de líquido, consensores de nivel que se activan por nivel alto ("1"), es decir, cuando el nivel esigual o supera al del sensor. Tenemos dos posibilidades:

Queremos que se nos encienda un testigo de color verde (LEDconectado a +V) en un panel de control en el caso de que el nivel de los dostanques esté por encima de unos valores correctos: NAND.

Queremos que se nos encienda un testigo de color rojo (LED conectadoa GND) en un panel de control en el caso de que el nivel de cualquiera de ellosdescienda por debajo de un determinado nivel: Negativa-OR.

Es decir, cuando la salida de estas puertas es 1 (3 casos) se enciende elLED rojo, y cuando es 0, se enciende el LED verde.

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

16

Puerta NOR

La salida es 0 si y sólo si al menos una de las entradas toma el valor 1.Equivale a una puerta OR seguida de una puerta NOT. Realiza la función:

y = (x1 + x2 + ... + xn)' = x1' · x2' · ... · xn'

Representación gráfica: Tabla de verdad:

a b NOR / Neg-AND

0 0 10 1 01 0 01 1 0

La puerta NOR (OR+NOT) es equivalente a la puerta llamada negativa-AND (NOT+AND). El uso de una u otra puerta depende de si nos interesadetectar alguna de las entradas a nivel alto (NOR) o todas a nivel bajo(Negativa-AND). Recordar los teoremas de De Morgan.

Ejemplo de aplicación:

Monitorizar el tren de aterrizaje de un avión. Este dispone de tresmecanismos: rueda delantera y ruedas en las dos alas. Queremos que seencienda una luz verde si, tras pulsar el interruptor de "bajar el tren deaterrizaje", los tres mecanismos está correctamente extendidos, y una luz rojasi alguno de ellos ha fallado. Cuando uno de los mecanismos se extiende, elsensor genera una corriente a nivel bajo; cuando se retrae, genera unacorriente a nivel alto.

El circuito sólo se alimentará al pulsar el botón de "bajar el tren deaterrizaje". Las tres señales serán las entradas de dos puertas lógicas, unaNOR, que encenderá el LED Rojo, y una Negativa-AND que encenderá el LEDVerde

Realmente son dos puertas NOR, sólo que una de ellas funciona comouna puerta Negativa-AND, para detectar un nivel bajo de los sensores(extendidos).

Cuando los tres sensores están a nivel bajo (extendidos), la puertaNegativa-AND tiene como salida un nivel alto, que enciende el LED verde(conectado a GND).

Si alguno de los tres sensores está nivel alto (retraidos), la puerta NORtiene salida a nivel bajo, que enciende el LED rojo (conectado a +V).

Es decir, cuando la salida de estas puertas es 0 (3 casos) se enciende elLED rojo, y cuando es 1, se enciende el LED verde.

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

17

Puerta XOR (OR-Exclusiva)

Una puerta XOR de 2 variables de entrada es tal que la salida toma elvalor 1 cuando las dos entradas son diferentes, y toma el valor 0 cuando soniguales. Sólo tiene 2 entradas.

Se representa por el símbolo ⊕.

Representación gráfica: Tabla de verdad:

a b XOR

0 0 00 1 11 0 11 1 0

La función se expresa en forma canónica como:

y = (x1' · x2) + (x1 · x2') = (x1 + x2) · (x1' + x2')

La definición para más de 2 entradas es compleja, pero puede obtenersela expresión de la función en forma canónica fácilmente, sabiendo que lafunción OR-exclusiva tiene la propiedad asociativa:

y = x1 ⊕ x2 ⊕ ... ⊕ xn = (((x1 ⊕ x2) ⊕ x3) ⊕ ... ⊕ xn)

Esta puerta se utiliza bastante en muchos circuitos, como losgeneradores de paridad.

Ejemplo de aplicación: Suma de dos bits sin acarreo (semisuma).

Puerta XNOR (NOR-exclusiva)

Equivale a una puerta OR-exclusiva seguida de una puerta NOT, portanto, también tiene sólo 2 entradas.

Representación gráfica: Tabla de verdad:

a b XNOR

0 0 10 1 01 0 01 1 1

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

18

Implementación de funciones con puertas NAND o NOR

Hasta ahora hemos visto que cualquier función lógica podía definirseutilizando solamente las operaciones de complementación, suma y producto(puertas NOT, AND y OR).

Vamos a ver ahora que cualquier función lógica (sistema digital) puedeimplementarse solamente con puertas NAND, o bien con puertas NOR. Porello, a las puertas NAND y NOR se las conoce como puertas universales. Paraello, es suficiente obtener las puertas básicas, implementándolas con puertasNAND o NOR, es decir, debemos demostrar que es posible derivar las puertasNOT, AND y OR utilizando únicamente puertas NAND, y luego, puertas NOR.

Las puertas básicas (NOT, AND y OR) pueden obtenerse con puertasNAND de la siguiente forma:

Puertabásica Función Esquema

NOT f = x’ = (x · x) ' ó tambiénf = x’ = (x · 1) '

(el símbolo de una puerta NAND con una sola sola entrada no es válido)

AND f = x1 · x2 = (x1 · x2) ''(complementando dos veces)

OR f = x1 + x2 = (x1 + x2) '' = (x1' · x2') '(complementando dos veces y aplicando el teorema de De Morgan)

Este procedimiento nos lleva a un número excesivo de puertas,pudiéndose simplificar a continuación el circuito. De todas formas, si se quiereimplementar una función con puertas NAND o NOR, lo más inmediato esmodificar la expresión algebraica de la función mediante los teoremas de DeMorgan.

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

19

Ejemplo:

Como ejemplo, vamos a implementar con puertas NAND y NOR unafunción expresada en forma de suma de productos (F1) y otra expresada enforma de productos de sumas (F2):

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

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

Puertas NAND

(I) Sumas de productos

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

Lo que hemos hecho es complementar dos veces las función entera, conlo cual la función sigue siendo equivalente. A continuación, aplicamos elteorema de De Morgan, que convierte el complemento de una suma en elproducto de los complementos. Así obtenemos una expresión en la que sólotenemos productos seguidos de negaciones (NAND).

(II) Productos de sumas

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

En este caso simplemente hemos aplicado el teorema de De Morgan acada uno de los términos.

Puertas NOR

(I) Sumas de productos

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

Hemos complementado dos veces cada uno de los sumandos, y luegoaplicamos De Morgan para transformar los productos en suma de negaciones.

(II) Productos de sumas

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

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

20

3.4. Métodos de simplificación de funciones

Hemos visto como dos funciones con expresiones algebraicas diferenteseran equivalentes. Sin embargo, existen numerosas funciones con expresionesdiferentes equivalentes a dichas funciones. De entre ellas, habrá algunas queposeerán un número menor de productos y sumas. Debemos buscar la mássencilla, para simplificar procesos posteriores como el de diseñar un circuitológico para dicha función.

El proceso de simplificación de funciones lógicas consiste en pasar deuna expresión algebraica a otra equivalente con el menor número posible desumas y productos.

3.4.1 Simplificación mediante propiedades del álgebra deBoole.

Este método requiere un profundo conocimiento del álgebra booleana yuna considerable experiencia en su aplicación.

Las propiedades más utilizadas para la simplificación de funciones son:

• Distributiva:+ respecto ·: a + (b·c) = (a + b) · (a + c)· respecto +: a · (b+c) = (a · b) + (a · c) ∀ a,b,c ∈ B

• ∀ a ∈ B, ∃ ! a' ∈ B tal que:a + a’ = 1a · a’ = 0

• Ley de absorción:a + (a·b) = aa · (a+b) = a

• Teoremas de De Morgan

Ejemplos

1. F = (a·b'·c'·d) + (a·b'·c'·d')

Aplicamos la propiedad distributiva:

(a·b'·c'·d) + (a·b'·c'·d') = a·b'·c' · (d+d') = a ·b'·c' · 1 = a·b'·c'

De esta forma hemos reducido dos sumandos de 4 variables a uno solode tres variables.

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

21

2. F = (a+b'+c'+d) · (a+b'+c'+d')

Podemos aplicar las mismas propiedades que antes, en su versión dual.

(a+b'+c'+d) · (a+b'+c'+d') = (a+b'+c') + (d · d') == (a+b'+c') + 0 = (a+b'+c')

3. F = a·b + a·(b+c) + b·(b+c)

Comenzamos aplicando la propiedad distributiva.

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

Hemos terminado aplicando dos veces la propiedad 10.

4. Función F1 del ejemplo anterior

F1 = (a' · b · c') + (a' · b · c) + (a · b · c') + (a · b · c) == (a' · b) · (c' + c) + (a · b) · (c' + c) == (a' · b) · 1 + (a · b) · 1 = (a' · b) + (a · b) == (a' + a) · b = 1 · b = b

5. Función F2 del ejemplo anterior

F2 = (a + b + c) · (a + b + c') · (a' + b + c) · (a' + b + c') == (a + b + (c' · c)) · (a' + b + (c · c')) == (a + b + 0) · (a' + b + 0) = (a + b) · (a' + b) == (a · a') + b = 0 + b = b

Podemos comprobar que en los dos últimos ejemplos hemos llegado a lamisma expresión simplificada. Anteriormente habíamos visto que ambasexpresiones eran equivalentes. De este ejemplo no debe sacarse laconclusión de que una expresión en suma de productos y otra equivalentecomo producto de sumas, tras simplificar, conducen a la misma expresión.Esto, en general, no es cierto.

El método de simplificación algebraica se utiliza poco, pues tiene variosinconvenientes:

• No es sistemático (requiere ingenio y destreza).• En una expresión compleja, es difícil detectar todas las posibles

simplificaciones.• En la mayoría de los diseños, una función se define por su tabla de

verdad, debiendo obtener la expresión algebraica para podersimplificarla.

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

22

3.4.2 Mediante tablas de Karnaugh

Un mapa de Karnaugh es una forma de presentar la tabla de verdad detal manera que la disposición de las combinaciones de valores esparticularmente útil, de tal forma que la simplificación de una determinadaexpresión consiste en agrupar adecuadamente las celdas.

La forma de la tabla dependerá del número de variables independientescon las que estemos trabajando. Los mapas de de Karnaugh pueden utilizarsepara expresiones de hasta 5 variables. En el caso de tener más de 5 variables,tendríamos que recurrir a otro método que no vamos a ver, llamado método deQuine-McClusky.

El número de celdas de un mapa de Karnaugh es igual al número totalde posibles combinaciones de las variables de entrada, al igual que el númerode filas de una tabla de verdad: 2n.

Una sola variable (a):

Sólo habrá dos símbolos de entrada: 1 y 0. La tabla de Karnaugh tendrádos casillas, en donde el 0 indica el valor de 0 de entrada y el 1 indica el valor 1de entrada. Para el proceso de simplificación que veremos a continuación,conviene numerar las casillas según un criterio, aunque no es obligatorio. Paraello pondremos un índice en la esquina superior derecha, comenzando desdeel 0.

a

0

0

a'

1

1

a

Puesto que esta tabla contiene todos los posibles valores de entrada,cualquier función de una variable puede representarse en este diagrama,asignando a cada casilla el valor que toma la función para el valor de lavariable de entrada indicada.

Por ejemplo, si la función es F(a) = a' tendremos la tabla:

a

0 1

1 0

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

23

Dos variables (a,b):

Ahora la tabla de Karnaugh debe contemplar las cuatro posiblescombinaciones de las variables: (0,0), (0,1), (1,0), (1,1).

a \ b 0 1

0

0

a'·b'

1

a'·b

1

2

a·b'

3

a·b

El valor de una determinada celda es el valor binario de las dos variablesa y b, comenzando por la parte izquierda y luego la parte superior.

Sea la función F(a,b) = a + b. La representaremos del siguiente modo.

a \ b 0 1

0 0 1

1 1 1

Tres variables (a,b,c):

Se puede representar de forma horizontal o vertical. En este caso y enlos restantes (con más variables), la forma de numerar las casillas depende dela combinación que represente una determinada columna o fila, y para etiquetaruna determinada columna o fila hay que realizarlo de tal forma que el cambiode una combinación a la siguiente sólo varíe un bit.

a \ bc 00 01 11 10

00

a'·b'·c'

1

a'·b'·c

3

a'·b·c

2

a'·b·c'

14

a·b'·c'

5

a·b'·c

7

a·b·c

6

a·b·c'

El código cíclico empleado para las combinaciones de filas y columnases algo importante. Como resultado de este código, las casillas que tienen encomún un lado corresponden a combinaciones que difieren en el valor de una

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

24

variable y se dice que son adyacentes; las casillas que tocan diagonalmentealguna de sus esquinas no son adyacentes. Las casillas adyacentes sonclave en el proceso de simplificación.

La adyacencia se define por un cambio de una única variable. Lasceldas que difieren en una única variable son adyacentes. Las celdas cuyovalor difiere en más de una variable no son adyacentes.

En la determinación de casillas adyacentes es necesario, para el casode tres variables, considerar el diagrama de Karnaugh como una superficiecilíndrica en que los lados izquierdo y derecho están unidos. Siendo así, lacelda 0 es contigüa a 2, y la celda 4 es contigua a 6.

Cuatro variables (a,b,c,d):

La tabla será, de nuevo, cíclica, donde los lados izquierdo y derechoestán unidos, y de la misma forma, el superior e inferior.

Las variables a y b se encuentran en la parte izquierda, mientras que lasvariables c y d en la parte superior.

El valor de una determinada celda es el valor binario de a y b en la parteizquierda de la misma fila, combinado con los valores binarios de c y d en laparte superior de la misma columna.

ab \ cd 00 01 11 10

00

0

a'·b'·c'·d'

1 3

2

01

4 5 7

6

11

12 13 15

14

10

8 9 11 10

a·b'·c·d'

Dos celdas son adyacentes si sólo cambia un dígito, aunque no lo seanfísicamente. Son adyacentes de extremo a extremo. Por ejemplo, sonadyacentes los siguientes pares de celdas:

0-8, 0-2, 1-9, 3-11, 2-10, 12-14, 8-10, 4-6

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

25

Cinco variables (a,b,c,d,e):

Al igual que en el caso de 4 variables, se pueden solapar las parteslaterales. Aquí se pueden solapar las partes extremas: laterales izquierda yderecha, y superior e inferior.

Además, en este caso tenemos un eje central que actúa de espejo, detal forma que la celda 3 es adyacente con la celda 7. Para comprobarlo, se venlas combinaciones y se observa que sólo cambia un bit.

ab \ cde 000 001 011 010 110 111 101 10000 0 1 3 2 6 7 5 4

01 8 9 11 10 14 15 13 12

11 24 25 27 26 30 31 29 28

10 16 17 19 18 22 23 21 20

En definitiva, podemos sacar las siguientes conclusiones:

• Las tablas consideradas establecen una correspondencia biunívoca entrelos valores de las variables de la función y el conjunto de casillas deldiagrama de Karnaugh.

• Cada combinación de valores de las variables representa un términocanónico (producto o suma), es decir, existe también una correspondenciaentre el conjunto de los términos canónicos y el conjunto de las casillas dela tabla de Karnaugh. Por ejemplo, para cuatro variables, la combinación(0,0,0,0) representa:

Ø el producto canónico: a' · b' · c' · d' (de forma directa)Ø la suma canónica: a + b + c + d (de forma complementada)

• Las celdas que tienen un lado común son adyacentes, y corresponden atérminos canónicos que difieren en sólo el valor de una de las variables.

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

26

Construcción de una tabla de Karnaugh

Podemos construir una tabla de Karnaugh desde la expresión lógica(suma de productos o producto de sumas), o bien, desde una tabla de verdad.

Vamos a explicar todos estos casos basándonos en el siguiente ejemploque ya vimos anteriormente.

Sea la función F definida por la tabla de verdad siguiente:

a b c F Mintermus (m) Maxtermus (M) Valor0 0 0 0 M0 = a+b+c 0 = 0000 0 1 0 M1 = a+b+c' 1 = 0010 1 0 0 M2 = a+b'+c 2 = 0100 1 1 1 m3 = a'·b·c 3 = 0111 0 0 0 M4 = a'+b+c 4 = 1001 0 1 1 m5 = a·b'·c 5 = 1011 1 0 1 m6 = a·b·c' 6 = 1101 1 1 0 M7 = a'+b'+c' 7 = 111

Por tanto, las expresiones lógicas equivalentes "suma de productos" y"producto de sumas" y compactas serían:

F = ∑ (3,5,6) = (a'·b·c) + (a·b'·c) + (a·b·c')F = Π (0,1,2,4,7) = (a+b+c) · (a+b+c') · (a+b'+c) · (a'+b+c) · (a'+b'+c')

q Desde la expresión lógica

La forma de construcción de la tabla de Karnaugh depende de la formade la expresión que tengamos (suma de productos o producto de sumas).

En ambos casos, la expresión debe estar expresada en forma canónica,es decir, todos sus términos son canónicos (contienen todas las variables).Podemos ver también la forma compacta que representa cada caso, poniendoentre paréntesis los números de las combinaciones de que hacen cierta laexpresión lógica. Veremos algún ejemplo en el siguiente punto.

Dada una función con "n" variables, la construcción de la tabla deKarnaugh correspondiente se efectúa indicando mediante un "1" o un "0" lasceldas que corresponden a términos canónicos que forman parte de la función,y dejando en blanco las casillas correspondientes a los términos que no formanparte de la función.

Partiendo de la expresión en su forma canónica, procedemos comosigue.

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

27

q Desde la expresión "suma de productos":

Introduciremos un "1" en el mapa de Karnaugh por cada términoproducto (mintermus) de la expresión. Consideramos los valores binarios de lasvariables del término de forma directa (sin complementar).

En las casillas correspondientes a dichas combinaciones colocaremos1's, pues consideramos los casos en los que la función es cierta; y para queesto ocurra, por lo menos uno de los términos debe ser cierto (es una suma), ypara que un término (producto) sea cierto, todas sus variables deben serciertas.

Siguiendo con el ejemplo, la expresión "suma de productos" es:

F = ∑ (3,5,6) ó tambiénF = (a'·b·c) + (a·b'·c) + (a·b·c') ==> 011 + 101 + 110 (directos)

Vamos a construir la tabla de Karnaugh:

a \ b c 00 01 11 10

00 1 3

12

14 5

17 6

1

Podemos comprobar que hemos colocado un "1" en las casillascorrespondientes a las combinaciones indicadas por los términos canónicos dela función compacta. El resto de casillas podemos poner "0" ó dejarlas enblanco.

Otro ejemplo: F = a'·b'·c' + a'·b'·c + a ·b·c' + a ·b'·c' 000 001 110 100

a \ bc 00 01 11 10

0 1 1

1 1 1

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

28

q Desde la expresión "producto de sumas":

En este caso introduciremos un "0" en el mapa de Karnaugh por cadatérmino suma (maxtermus) de la expresión.

Aquí, los valores binarios de las variables de los términos vancomplementados, ya que estamos considerando los valores que hacen que lafunción sea falsa (0); y para que esto ocurra, basta con que uno de los términossea falso (es un producto), y para que un término (suma) sea falso, basta conque una de sus variables sea falsa. Consideramos los valores binarios quehacen falso cada término.

Siguiendo con el ejemplo, la expresión "producto de sumas" es:

F = Π (0,1,2,4,7) ó tambiénF = (a+b+c) · (a+b+c') · (a+b'+c) · (a'+b+c) · (a'+b'+c') ==>

==> 000 · 001 · 010 · 100 · 111 (complementados)

La tabla de Karnaugh del ejemplo ahora será:

a \ bc 00 01 11 100

00

10

3 20

14

05 7

06

Podemos comprobar que hemos colocado un "0" en las casillascorrespondientes a las combinaciones indicadas por los términos canónicos dela función compacta: F = Π (0,1,2,4,7). El resto de casillas podemos poner "1" ódejarlas en blanco.

Otro ejemplo: F = (a+b+c) · (a+b'+c) · (a'+b'+c) · (a'+b+c') 000 010 110 101

a \ bc 00 01 11 10

0 0 0

1 0 0

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

29

q Desde la tabla de verdad:

Recordemos que una tabla de verdad proporciona la salida de unaexpresión lógica para todas las posibles combinaciones de las variables deentrada. Lo único que tenemos que hacer es trasladar los "1" o los "0" de lacolumna de salida (F) de la tabla de verdad directamente al mapa de Karnaugh,a las celdas correspondientes a los valores asociados de las combinaciones devariables de entrada.

Es el caso más sencillo, pues trabajamos de forma directa. Podemosimplementar por "1" (considerando los 1's) o por "0" (considerando los 0's). Lomás rápido es considerar aquel que tenga menos ocurrencias, rellenar la tablade Karnaugh para dicho valor y finalmente rellenar el resto de casillas con elotro valor o dejarlas en blanco.

Para el ejemplo tenemos aquí los dos casos:

a \ b c 00 01 11 10 a \ b c 00 01 11 10

00 1 3

12

00

01

03 2

0

14 5

17 6

1 14

05 7

06

Implementando por “1”: considerando los valores que hacen que lafunción sea cierta (1). El resto de casillas podemos dejarlas en blanco o poner"0".

Implementando por “0”, considerando los valores que hacen que lafunción sea falsa (0). El resto de casillas podemos dejarlas en blanco o poner"1".

NOTA: Independientemente de como hayamos construido la tabla deKarnaugh (implementando por "1" o por "0"), después, para el proceso desimplificación, podremos obtener la función simplificada como suma deproductos (implementando por "1") o como producto de sumas(implementando por "0").

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

30

Mecanismo de simplificación

Si dos celdas adyacentes están marcadas con 1, tenemos dos términoscanónicos que difieren sólo en una variable, que además, dicha variableaparecerá como directa (valor 1) en un término canónico y comocomplementada (valor 0) en el otro término. Podemos agrupar las dos celdasadyacentes produciendo un único término canónico en que falta justo esavariable en que diferían. Vamos a ver el mecanismo de simplificación:

1. Construir la tabla de Karnaugh adecuada según el número de variables,indicando con un "1" y con "0" las celdas que correspondan.

2. Seleccionar la forma final que tendrá la función simplificada: suma deproductos (implementando por "1" ) o producto de sumas (implementandopor "0"). En los siguientes pasos suponemos que implementamos por "1".

3. Agrupar celdas adyacentes marcadas con "1". Primero, grupos de 2 unosque no pueden formar grupos de 4. Luego formar grupos de 4 unos que nopueden formar un grupo de 8, etc. Interesa buscar los grupos másnumerosos, para obtener el menor número de grupos posible. Cada celdade un grupo tiene que ser adyacente a una o más celdas del mismo grupo,pero no todas las celdas del grupo tienen que ser adyacentes entre si.Además un "1" puede estar en varios grupos a la vez.

4. Tomar todas las celdas con "1" que no se pueden agrupar con ningunaotra como grupos de un "1" (aislados).

5. Cuando se hayan considerado todos los "1" se ha finalizado el proceso. Losgrupos de "1" conseguidos y los "1" aislados son los términos queexpresarán la función lógica en una forma irreducible.

Este proceso de simplificación no es único, pudiéndose obtener portanto varias formas irreducibles de la misma función, dependiendo de lasdistintas agrupaciones que podemos realizar.

Una vez realizadas las agrupaciones, para obtener la expresión de lafunción lógica irreducible, realmente lo que haremos es utilizar de formasistemática las propiedades:

(a · b · c) + (a' · b · c) = (a + a') · b · c = 1 · b · c = b · c(a + b + c) · (a' + b + c) = (a · a') + b + c = 0 + b + c = b + c

Es decir, las variables que aparecen complementadas y sincomplementar dentro del mismo grupo se eliminan (variables contradictorias).

NOTA: Siempre que un mapa de Karnaugh sea un tablero de ajedrez enel que la casilla de la esquina inferior derecha sea un 0, la solución es la OR-Exclusiva (XOR) de las variables (F = a·b' + a'·b = a ⊕ b). Si dicha casilla es un1, la solución es la OR-Exclusiva negada (XNOR) de las variables (F = a·b +a'·b' = (a ⊕ b)'.

Estructura de computadores Tema 3: Representación y minimización de funciones lógicas

31

Ejemplo: Sea la función F vista anteriormente. Como es suma de productosimplementamos por “1” (de forma directa) para construir la tabla de Karnaugh:

F = a'·b'·c' + a'·b'·c + a ·b·c' + a ·b'·c' 000 001 110 100

Hacemos las agrupaciones, sobre su tabla de Karnaugh. Comoqueremos obtener una suma de productos, implementamos por “1”:

a \ bc 00 01 11 10

0 1 1

1 1 1

La expresión irreducible será:

F = (a’ · b') + (a · c')

Ejemplo: Sea la siguiente tabla de Karnaugh obtenida directamente desde latabla de verdad siguiente, implementando por “1” o por "0" (no importa):

a b c F

0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 0

F = Σ (3,5,6)

Su tabla de Karnaugh será:

a \ bc 00 01 11 10

00

01

03

12

0

14

05

17

06

1

• Implementando por "1" (suma de productos):

No podemos asociar ningún grupo de "1" que sea de 2, 4 u 8.Por tanto, la función simplificada será:

F = (a'·b·c) + (a·b'·c) + (a·b·c')Casilla 6Casilla 5Casilla 3

• Implementando por "0" (producto de sumas):

No tenemos grupos de 8 ni de 4 "0".Grupos de 2 "0": casillas 0-1, 0-4, 0-2"0" aislados: casilla 7

Estructura de computadores Tema 3

32

La función simplificada será:

F = (a+b) · (b+c) · (a+c) · (a'+b'+c')Casilla 7Grupo 0-2Grupo 0-4Grupo 0-1

Ejemplo: Sea la función F(a,b,c,d) = ∑ (0,4,5,7,8,9,13,15), construimos su tablade Karnaugh (implementando por “1”) y vamos a obtener la función simplificadaen forma de suma de productos (implementando por "1").

ab \ cd 00 01 11 1000

0

11 3 2

014

15

17

16

1112 13

115

114

108

19

111 10

Agrupando y simplificando según el mecanismo obtendríamos:

F = (b·d) + (a'·c'·d') + (a'·b'·c')Grupo 2: 8,9Grupo 2: 0,4Grupo 4: 5,7,13,15

Dependiendo de las agrupaciones que hagamos, podríamos haberobtenido otras formas irreducibles de la función, pero no todas serán la mínima.

Ejemplo: Sea la función F(a,b,c,d) = ∑ (5,6,9,10), construimos su tabla deKarnaugh (implementando por “1”) y vamos a obtener la función simplificadacomo producto de sumas (implementando por "0").

ab \ cd 00 01 11 1000

00

10

30

20

014

05

17

06

1

1112

013

015

014

0

108

09

111

010

1

Estructura de computadores Tema 3

33

Si implementásemos por "1" (suma de productos), vemos que nopodemos agrupar, pues no hay celdas con "1" adyacentes. Esto quiere decirque no se puede reducir, y su forma mínima como suma de productos es:

F = (a'·b·c'·d) + (a'·b·c·d') + (a·b'·c'·d) + (a·b'·c·d')

Agrupando por "0" y simplificando según el mecanismo obtendríamos lafunción como producto de sumas:

F = (c+d) · (c'+d') · (a'+b') · (a+b)Grupo 4: 0,1,3,2Grupo 4: 12,13,15,14Grupo 4: 3,7,15,11Grupo 4: 0,4,12,8

Esta expresión contiene sólo 8 letras, en lugar de las 16 de la formasuma de productos y es, por tanto, mínima.

Como conclusión, una función lógica o booleana puede representarse ysimplificarse, tanto en su expresión como suma de productos, como en la deproducto de sumas, mediante una tabla de Karnaugh.

Indiferencias en el mapa de Karnaugh

Algunas veces se producen situaciones en las que algunascombinaciones de las variables de entrada no están permitidas o no estándeterminadas para un problema concreto, ó bien, no nos importa la salida paradichas combinaciones. Estos casos los llamaremos indiferencias, ó términosindiferentes. Los representaremos por 'x'.

Esto significa que a estos términos les podemos asignar "1" ó "0".

Hemos visto que las funciones lógicas se pueden expresar de formacompacta como suma de productos canónicos o producto de sumascanónicas. En el primer caso considerábamos los casos en los que se cumplela función ("1"), y en el segundo, los casos en los que la función es falsa ("0").Ahora tenemos un tercer valor que nos puede aparecer en la función de salida.

Para representar una función en forma compacta que tiene indiferenciasen la salida hacemos lo siguiente:

Forma de la expresión Forma compactasuma de productos F = ∑ ( Combinaciones ciertas ) +

d ( Combinaciones indiferentes )producto de sumas F = Π ( Combinaciones falsas ) ·

d ( Combinaciones indiferentes )

donde "d(Combinaciones indiferentes)" representa una lista de lascombinaciones indiferentes de la función. En el caso de la "suma deproductos", las combinaciones van de forma directa. En el caso del "productode sumas", las combinaciones van complementadas, incluso las indiferentes.

Estructura de computadores Tema 3

34

Ejemplo

Como ejemplo vamos a analizar el código BCD.

Hay muchas formas de representar datos numéricos en forma binaria.Una puede ser escribir el número en base 2, que se denomina codificaciónbinaria directa. Otra forma es codificar los números decimales dígito por dígito.Esta codificación se denomina BCD (Binary-Coded-Decimal). Hay varios tiposde códigos BCD, pero en general, se trata simplemente de sustituir cada dígitodecimal (0-9) por su equivalente binario.

En BCD, al igual que en la codificación binaria directa, necesitamos 4bits. Por tanto, el número de combinaciones posibles es 24 = 16. Sin embargo,para el código BCD sólo utilizamos 10. Las 6 restantes combinaciones binariasno se pueden dar en esta codificación.

Por ejemplo, para codificar el número decimal 469 en BCD:4 6 9 10 = 0100 0110 1001 2-BCD

Vamos a diseñar un circuito que teniendo como código de entrada BCD,encienda un foco de luz cuando tengamos la combinación BCDcorrespondiente al 9 decimal.

Para ello, lo primero que hacemos es construir su tabla de verdad.

a b c d Fa

0 0 0 0 00 0 0 1 0 b0 0 1 0 0 F0 0 1 1 0 c

0 1 0 0 0 d0 1 0 1 00 1 1 0 00 1 1 1 0

F = Σ(9) + d(10,11,12,13,14,15)1 0 0 0 01 0 0 1 11 0 1 0 x1 0 1 1 x

Su salida nos es indiferente.1 1 0 0 x No se pueden dar en el1 1 0 1 x código BCD.1 1 1 0 x1 1 1 1 x

9

Estructura de computadores Tema 3

35

Implementando por “1”:

Haciendo uso de las indiferencias vamos a simplificar aun más lafunción. Para ello construimos la tabla de Karnaugh, implementando por “1” (eslo más rápido, pues sólo tenemos una combinación):

Sin utilizar términos indiferentes:

cdab 00 01 11 10

00 0 0 0 0

01 0 0 0 0

11 x x x x

10 0 1 x x

Sólo tenemos un "1" aislado (no podemos agrupar nada), por tanto, lafunción no se puede simplificar, es decir, obtendríamos que: F = a·b'·c'·d

Utilizando términos indiferentes:

Los términos indiferentes (x) pueden utilizarse para aprovechar mejor elmétodo del mapa de Karnaugh, por que les podemos dar el valor que nosinterese para formar los grupos tan grandes como sea posible, pues cuantomás grande sea el grupo, más simple será el término resultante. Utilizando lostérminos indiferentes como si fueran "1" obtenemos una función más sencilla.

cdab

00 01 11 10

00 0 0 0 0

01 0 0 0 0

11 x x x x

10 0 1 x x

NOTA: debemos agrupar todos los 1's o 0's, utilizando "x", pero todas lascasillas con "x" no tienen por qué incluirse en un grupo.

Podemos realizar un grupo de 4 "1", con lo cual: F = a · d

a · b' · c' · d

a · d

Estructura de computadores Tema 3

36

Implementando por “0”

Construimos la tabla de Karnaugh del mismo modo que antes, es decir,implementando por "1" ya que sólo tenemos una combinación, pero ahoraimplementaremos por "0" a la hora de la simplificación (agruparemos "0").Pondremos las condiciones indiferentes donde correspondan ("x"), y en el restode casillas pondremos "0".

Sin utilizar términos indiferentes:

cdab 00 01 11 10

00 0 0 0 0

01 0 0 0 0

11 x x x x

10 0 1 x x

La expresión irreducible que obtenemos es: F = a · (a'+b+c+d)

Utilizando términos indiferentes:

cdab 00 01 11 10

00 0 0 0 0

01 0 0 0 0

11 x x x x

10 0 1 x x

Tenemos dos grupos de 8.

Por tanto, la expresión irreducible es: F = a · d

Podemos observar que obtenemos la misma expresión irreducible, alimplementar por “1” y por “0” cuando tenemos en cuenta las indiferencias,aunque esto, en general, no es así.

Como vemos, las expresiones se simplifican mucho más, y, por tanto, laconstrucción del circuito. El inconveniente de estos circuitos es que si estosestados indiferentes apareciesen, la reacción del circuito sería imprevisible.

d

a

a' + b + c + d

a

Estructura de computadores Tema 3

37

3.5. Funciones incompletas

Funciones incompletas

Las funciones incompletas o incompletamente definidas son aquellasque no tienen su salida definida para alguna de las combinaciones de entrada.Suponemos que las salidas para dichas combinaciones de entradas es"indiferente". Como hemos visto, estas combinaciones se utilizan parasimplificar las funciones mediante mapas de Karnaugh.

Conjuntos completos

Un conjunto de funciones es completo en un álgebra de Boole si y sólo sicualquier función booleana puede implementarse con dichas funciones.

Ejemplos de conjuntos completos:• { AND, OR, NOT }• { OR, NOT } ≡ { NOR }• { AND, NOT } ≡ { NAND }

Ejemplos de conjuntos no completos:• { AND, OR }

Nivel de un circuito

Dado un circuito con una serie de puertas lógicas, puesto que por cadauna de estas puertas que la señal eléctrica atraviesa se produce un retraso(tiempo de propagación), es importante especificar el número de puertas queatraviesa la información de entrada hasta llegar a la salida.

Una puerta se considera de nivel i, donde i > 1, si y sólo si:

a) no recibe ninguna entrada de puertas de nivel j, con j > i.b) tiene al menos una entrada procedente de una puerta de nivel i-1.

Un circuito lógico es de nivel i, si al menos contiene una puerta de nivel i,y no contiene ninguna puerta de nivel j, siendo j > i.

Dicho de otro modo, el nivel de un circuito lógico será el nivel máximo delas puertas.

El coste económico de un circuito dependerá del número de puertas.La velocidad de un circuito dependerá del nivel de dicho circuito.

Hemos visto como podemos simplificar el diseño de un circuito,reduciendo el número de puertas y, por tanto su coste, pero en ocasiones, acosta de que el circuito tenga un nivel mayor, es decir, sea más lento.

Estructura de computadores Tema 3

38

Ejemplo

Sea la función F = (a' + b + c') · (b + d) · (c' + b · a)

Vamos a implementarla con puertas NAND y NOR. Posteriormente,vamos a simplificarla, volviendo a expresarla con puertas NAND y NOR. Conesto podremos averiguar el número de puertas y nivel de los circuitos obtenidosen cada caso.

Puertas NAND

F = (a' + b + c') · (b + d) · (c' + b · a) == (a' + b + c')' ' · (b + d)' ' · (c' + b · a)' ' == (a · b' · c)' · (b' · d')' · (c · (b · a)')'

Si dibujamos el circuito, obtendremos un circuito con 8 puertas yde nivel 4.

Puertas NOR

F = (a' + b + c') · (b + d) · (c' + b · a) == ( (a' + b + c') · (b + d) · (c' + b · a) ) ' ' == ((a' + b + c')' + (b + d)' + ( c' + (b · a)'' )' ) ' == ((a' + b + c')' + (b + d)' + ( c' + (b' + a')' )' ) '

Si dibujamos el circuito, obtendremos un circuito con 8 puertas yde nivel 4, igual que en el caso anterior (puertas NAND).

Simplificación

Para simplificar la función mediante tablas de Karnaugh debemosexpresar la función en forma canónica, esto es, todos sus términos deben sercanónicos:

F = (a' + b + c') · (b + d) · (c' + b · a) = x · y · z

x = (a' + b + c') + (d · d’) = (a’+b+c’+d) · (a’+b+c’+d’)

y = (b + d) + (a · a’) = [ (a+b+d) · (a’+b+d) ] + (c · c’) =(a+b+d+c) · (a+b+d+c’) · (a’+b+c+d) · (a’+b+c’+d)

z = (c' + (b · a)) + (d · d’) = (a · b + c’ + d) · (a · b + c’ + d’)

Como la función F es un producto de sumas, implementamos por “0”, esdecir, las combinaciones de cada uno de los términos que nos indican lascasillas en la tabla de Karnaugh van complementadas, es decir, consideramoslos casos en los que la función F es falsa, que lo será cuando lo sea cualquierade sus términos.

Estructura de computadores Tema 3

39

Los términos serán falsos para cualquiera de las combinacionessiguientes:

x = 1010, 1011

y = 0000, 0010, 1000, 1010

z = (a·b)10, (a·b)11 (Para que (a·b) sea 0 ==> a=0 ó b=0)

ab\cd 00 01 11 10 ab\cd 00 01 11 1000

0

01 3

02

0 000

01

13

02

001

4 5 7

06

0 014

15

17

06

011

12 13 15 14 1112

113

115

114

1

108

09 11

010

0 108

09

111

010

0

Implementando por “0”:

F = (b+d) · (a+c’) · (b+c’)

Si ahora transformamos la función irreducible obtenida parautilizar sólo puertas NAND y NOR y dibujamos el circuitoequivalente obtenemos:

NAND: circuito con 8 puertas y nivel 4NOR: circuito con 4 puertas y nivel 3

Implementando por “1”:

F = (b·c’) + (c’·d) + (a·b)

Del mismo modo, si ahora transformamos la función irreducibleobtenida para utilizar sólo puertas NAND y NOR y dibujamos elcircuito equivalente, en este caso obtenemos:

NAND: circuito con 5 puertas y nivel 3NOR: circuito con 8 puertas y nivel 4

Vemos que hemos obtenido varias expresiones irreducibles. De todasellas, sólo una será mínima. En este caso, se ha conseguido al implementarpor 0 y luego transformar la expresión para utilizar sólo puertas NOR.

b+d a+c' b+c' b · c' c' · d a · b

Estructura de computadores Tema 3

40

Apéndice A – Circuitos Integrados

Circuito Integrado

Los circuitos digitales se construyen con circuitos integrados (IC). UnIC es un pequeño cristal semiconductor de silicio, llamado informalmente chip ,que tiene los componentes electrónicos de las puertas digitales. Las puertas seinterconectan en el chip para formar el IC.

El chip se monta en un contenedor de cerámica o plástico y se sueldansus conexiones (entradas y salidas) a las patillas externas para formar el IC.

La cantidad de patillas puede variar, dependiendo del tamaño del IC,desde 14 hasta varios cientos. Cada IC tiene una etiqueta impresa en lasuperficie exterior que lo identifica mediante una designación numérica. Conesta referencia, podremos consultar sus características en los catálogos delfabricante.

Niveles de integración

A medida que avanza la tecnología de los IC, ha aumentadoconsiderablemente la cantidad de puertas que pueden colocarse en un únicochip de silicio. Dependiendo de la escala de integración de los IC tendremosmás o menos puertas.

SSI (Small-scale integrated): menos de 10 puertas.MSI (Medium-scale integrated): de 10 a 100 puertas.LSI (Large-scale integrated): de 100 a miles de puertas.VLSI (Very large-scale integrated): varios miles o millones de puertas.

Familias lógicas digitales

Los IC digitales se clasifican no sólo por su operación lógica, sinotambién por la tecnología de circuito a la que pertencen. La tecnología seconoce como familia lógica digital. Cada una de las familias tiene su propiocircuito electrónico básico (NAND, NOR, NOT), sobre el que se desarrollancircuitos digitales y funciones más complejos. Los componentes electrónicosutilizados en la construcción del circuito básico suelen dar su nombre a latecnología.

Estructura de computadores Tema 3

41

Las familias lógicas de circuitos integrados más importantes son:

• RTL (resistor-transistor logic)• DTL (diode-transistor logic)• TTL (transistor-transistor logic)• ECL (emitter-coupled logic)• MOS (metal-oxide semiconductor)• CMOS (complementary metal-oxide semiconductor)• BiCMOS (bipolar complementary metal-oxide semiconductor)

Parámetros de las familias lógicas

Para analizar las características de las distintas familias lógicas digitalesestudiamos unos parámetros de las puertas básicas de cada familia:

• Márgenes de tensión de entrada y salida: estos valores determinan elintervalo de cada uno de los niveles lógicos ("1"/H y "0"/L) de lafamilia.

• Márgenes de corriente de entrada y salida: los valores de tensiónanteriores están directamente relacionados con la corriente que entreo salga de las patillas.

• Convergencia de entrada (fan-in): número de entradas de una puerta.• Divergencia de salida (fan-out): nos indica el número de puertas

(cargas) que podemos conectar a la salida sin que afecte a su buenfuncionamiento. Nos indica el número de “cargas estándar” quesoporta la salida; una “carga estándar” es la cantidad mínima decorriente que necesita una entrada de otra puerta.

• Margen de ruido: es el voltaje externo de ruido máximo superpuestoa una entrada normal sin que afecte a la salida del circuito.

• Disipación de potencia: es la potencia consumida por una puerta,gran parte de la cual de disipa como calor.

• Retardo de propagación: es el tiempo necesario para que el cambiode valor de una entrada se propague a la salida. La velocidad deoperación está en relación inversa con los retardos de propagaciónmás grandes.

Márgenes de tensión de entrada y salida

• VIH = mínima tensión que se reconoce en una entrada como nivel alto(H) o "1" lógico. En el caso de un inversor es el valor mínimo de latensión de entrada que produce un "0" a la salida.

• VIL = máxima tensión que se reconoce en una entrada como nivelbajo (L) o "0" lógico. En el caso de un inversor es el valor máximo dela tensión de entrada que produce un "1" a la salida.

• VOH = mínima tensión de la salida de una puerta cuando el nivel esalto (para una corriente de salida especificada).

• VOL = máxima tensión de la salida de una puerta cuando el nivel esbajo (para una corriente de salida especificada).

Estructura de computadores Tema 3

42

Gráficamente:

La zona rayada representa la zona de incertidumbre entre los dosestados, es decir, aquellos valores que no se reconocen ni como "0" ni como"1".

Márgenes de corriente de entrada y salida

• IIH = corriente que fluye por una entrada cuando se aplica un voltajede nivel alto. Para Ve = VOH è obtenemos el mínimo valor.

• IIL = corriente que fluye por una entrada cuando se aplica un voltajede nivel bajo. Para Ve = VOL è obtenemos el mínimo valor.

• IOH = corriente que fluye por una salida para un voltaje de nivel altoen dicha salida. El valor máximo garantiza una VS>=VOH, con elmáximo número de cargas conectadas a la salida.

• IOL = corriente que fluye por una salida para un voltaje de nivel bajoen dicha salida. El valor máximo garantiza una VS<=VOL, con elmáximo número de cargas conectadas a la salida.

Divergencia de salida (Fan-out)

El fan-out lo podemos calcular a partir de los datos del fabricante comola razón entre la corriente máxima que proporciona la salida de una puerta(puerta excitadora) y la corriente que consumen las entradas conectadas a ella.

• Fan-outH =

Fan-out = min ( Fan-outH, Fan-outL )• Fan-outL =

NMH

NML

L

H

L

H

Entrada Salida

VOL

VIL

VIH

VOH

IH

OH

I

I

IL

OL

I

I

Estructura de computadores Tema 3

43

Márgenes de ruido (NM)

En el contexto de circuitos y sistemas digitales significa variacionestransitorias indeseadas de voltajes o corrientes en los nodos del circuito. Si lavariación adquiere una magnitud considerable más allá de unos límites(márgenes de ruido), entonces la señal digital queda distorsionada y el circuitopuede interpretar un "1" lógico donde debía interpretar un "0" lógico yviceversa, pudiendo incluso dejar la señal en la zona de incertidumbreprovocando un mal funcionamiento del sistema.

El ruido puede tener diversas causas:

1. Acoples capacitivos e inductivos entre líneas del mismo circuito.2. Picos de tensión y corriente generados por los circuitos de

alimentación.3. Factores externos: relés, interruptores, motores, señales de

radiofrecuencia, etc.

En general, los márgenes de ruido son distintos para los estados H y L,y se definen de la siguiente manera (siempre son positivos):

• Margen de ruido para el estado alto (NMH): es la máxima cantidad deruido que puede afectar a una señal en estado alto para que la señalse siga reconociendo como tal a la entrada de una puerta lógica.

NMH = | VOH - V IH |

• Margen de ruido para el estado bajo (NML): es la máxima cantidad deruido que puede afectar a una señal en estado bajo para que la señalse siga reconociendo como tal a la entrada de una puerta lógica.

NMH = | V IL - VOL |

• Margen de ruido (NM): si queremos evitar cualquier tipo de malfuncionamiento por ruido, tanto a nivel alto como a nivel bajo,debemos evitar señales de ruido mayores de lo que nos indique elmenor de los dos márgenes:

NM = min ( NMH, NML )

Disipación de potencia

Se refiere a la disipación de energía que se produce en una puerta queestá en estado L un 50% del tiempo y en estado H el otro 50%.

Una disipación alta implica, además de un consumo elevado de energía,un aumento de la temperatura de los circuitos. Por tanto, este parámetrodeberemos minimizarlo, ya que ello evitará costes adicionales en concepto derefrigeración del circuito.

Para estimar el consumo de energía, se calcula la corriente que entregala fuente de alimentación en los dos estados L y H (corriente media):

Pd = ICC · VCC = (ICCH + ICCL / 2) · VCC

Estructura de computadores Tema 3

44

Retardo de propagación

El retardo de propagación es el parámetro más importante desde elpunto de vista del diseño lógico, ya que en los sistemas digitales modernosresulta de particular interés conocer cual es la velocidad de respuesta de loscircuitos. Se definen tres parámetros de retardo de propagación:

• Tiempo de propagación “high-low” (tpHL): es el tiempo transcurridodesde que se produce el cambio en la entrada (IN), hasta que lasalida (OUT) cambia de nivel alto (“1”) a bajo (“0”), considerandosiempre el punto del 50% de las señales de voltaje.

• Tiempo de propagación “low-high” (tpLH): es el tiempo transcurridodesde que se produce el cambio en la entrada (IN), hasta que lasalida (OUT) cambia de nivel bajo (“0”) a alto (“1”), considerandosiempre el punto del 50% de las señales de voltaje.

• Retardo de propagación (tpd): es el valor máximo de estos dosretardos, ya que nos interesa conocer el retardo de propagación en elpeor caso: tpd = max ( tpHL, tpLH).

El motivo de que se produzcan estos retrasos está en que todocircuito real lleva asociadas unas capacidades parásitas que es necesariocargar o descargar en cada transición (capacitancia):

Las fuentes de estas capacidades son:1. los circuitos de entrada, incluyendo todos sus componentes:

(resistencias, diodos, transistores), cableado interno, etc.2. las pistas o cables que unen la salida de una puerta con la entrada

de otra puerta.3. los circuitos de salida, incluyendo transistores de salida, cableado

interno, etc.

Ejemplo – Retardo de propagación de un inversor

IN

50%

OUT50%

tpHL tpLH

Estructura de computadores Tema 3

45

Interconexión entre familias

Puede que nos interese en alguna ocasión realizar un circuito utilizandoIC de distintas familias. La conexión de puertas de distintas familias no esinmediata ya que, al trabajar cada una con distinta tecnología, lascaracterísticas eléctricas varían.

Dos familias se dice que son compatibles cuando es posible lainterconexión directa de circuitos de dichas familias. Si dos familias no soncompatibles, la interconexión no se podrá hacer de forma directa, sino que seránecesario colocar un circuito entre ambas (interfaz) que consiga adaptar losniveles eléctricos de tensiones e intensidades (corrientes): diodos, resistencias,adaptadores de nivel, etc.

A) Condición sobre las tensiones:

Las tensiones de salida de las puertas excitadoras deben estar en elrango de las tensiones de entrada de la puerta de carga.

VOHexc > VIHcargaVOLexc < VILcarga

B) Condición sobre las intensidades:

La corriente de salida en estado H de la puerta excitadora (IOHexc) debeser suficiente para activar a la carga (IIHcarga), mientras que la corriente máximaque admite la puerta excitadora en estado L a su salida (IOLexc) debe ser mayorque la corriente de entrada que le suministra la puerta de carga (IILcarga).

IOHexc > IIHcargaIOLexc < IILcarga

Salida Entrada

Puerta A(excitadora)

Puerta B(carga)

IOHexc IIHcarga

IILcargaIOLexc

Salida Entrada

Puerta A(excitadora)

Puerta B(carga)VOHexc

VOLexc

VIHcarga

VILcarga