Está en la página 1de 47

PRINCIPIOS DE DISEÑO DE

LÓGICA COMBINACIONAL

Sistemas Digitales 1
CIRCUITOS COMBINACIONALES
Es aquel cuyas salidas sólo dependen de los estados de s
us entradas actuales.

Sistemas Digitales 2
ÁLGEBRA DE BOOLE
El álgebra de Boole difiere de manera importante del álg
ebra ordinaria en que las constantes y variables Boolean
as sólo pueden tomar dos valores posibles 0 ó 1.

En el álgebra Booleana sólo existen tres operaciones bá


sicas:

• Adición Lógica, llamada también operación OR.


• Multiplicación Lógica, llamada también operación AND.
• Complemento o inversión lógica, llamada operación NO
T.

Sistemas Digitales 3
Operación OR
Si A, B representan variables lógicas independientes, y
se combinan con la operación OR, el resultado F se expr
esa por F= A+B

Sistemas Digitales 4
Operación AND

Si dos variables A, B se combinan con la operación AND,


el resultado se expresa por F= A.B

Sistemas Digitales 5
Operación NOT
Se aplica solo a una entrada, cuyo resultado es: F = A’

Sistemas Digitales 6
Cualquier circuito lógico, sin importar que tan complejo
sea, puede describirse completamente mediante las ope
raciones definidas anteriormente, que son los elemento
s básicos de los sistemas digitales.
Por ejemplo realizar: f
AC
B
CA
BC

Sistemas Digitales 7
Sistemas Digitales 8
COMPUERTAS ADICIONALES IMPORTANTES
1. NAND

2. NOR

Sistemas Digitales 9
3. X-OR (OR Exclusiva)

4. X-NOR (NOR Exclusiva)

Sistemas Digitales 10
5. BUFFER

DEFINICIÓN AXIOMÁTICA DEL ÁLGEBRA BOOLEANA


En 1854 George Boole introdujo un tratamiento sistemá
tico de la lógica y desarrolló para este propósito un sist
ema algebraico que ahora se conoce como algebra boolea
na. En 1938 Claude E. Shannon introdujo el álgebra bool
eana de dos valores denominada álgebra de interruptore
s.

Sistemas Digitales 11
Para la definición formal del álgebra booleana, se emplea
n los postulados formulados por E. V. Huntington en 190
4.
POSTULADOS DE HUNTINGTON

1. Conjunto cerrado respecto a + y .


2. Elemento neutro respecto a + y .
a+0 = 0+a = a; a.1 = 1.a = a
3. Conmutativo respecto a + y .
a+b = b+a; a.b = b.a

Sistemas Digitales 12
4. Distributivo de . sobre + y + sobre .
a(b+c) = a.b+a.c; a+b.c = (a+b)(a+c)
5. Para cada elemento a є B, Ǝ!ā є B (denominado complem
ento de a) tal que:
a+ā=1; a. ā=0
6. Existen cuando menos dos elementos a,b є B /a ≠ b.

Sistemas Digitales 13
PRINCIPIO DE DUALIDAD
Los postulados de Huntington se listaron en pares. Una pa
rte puede obtenerse de la otra si los operadores binarios
y los elementos identidad se intercambian. En un álgebra
Booleana de dos valores, los elementos identidad y los ele
mentos del conjunto B son los mismos: 0 y 1. El principio d
e dualidad tiene muchas aplicaciones si se desea el dual d
e una expresión algebraica, simplemente se intercambia lo
s operadores OR y AND y se reemplaza los 1 por 0 y los 0
por 1.

Sistemas Digitales 14
TEOREMAS BÁSICOS De unión e intersección
De unicidad a+0=a
a.1=a
a+1 = 1
a.0 = 0 De conmutación
Del complemento a+b=b+a
a.b=b.a
a+ ā = 1
a.ā =0 De asociación
De doble negación a+(b+c)=(a+b)+c
a(bc)=(ab)c
(a’)’=a (involución)
De distribución
De absorción
a+bc=(a+b)(a+c)
a+ab=a a(b+c)=ab+ac
a(a+b)=a
Teorema de D´Morgan
De idempotencia ab  a.b
a+a=a
a.a=a a.b  ab
Sistemas Digitales 15
Teorema de expansión o de Shannon
Sea una función Booleana f(a1,a2,a3,...,ak,...an-1,an), luego:

f(a1,a2,a3,...,ak,...an-1,an) = a1f(1,a2,a3,...ak,...,an) + ā1f(0,a2,a3,...ak,...an)

donde:
f(1,a2,a3,...ak,...,an ) = a2f(1,1,a3,...ak,...an ) + ā2f(1,0,a3,… an)
f(0,a2,a3,...,an) = a2f(0,1,a3,...,an) + ā2f(0,0,a3,… an)

f(a1,a2,a3,…an) = a1a2f(1,1,a3…,an )+ a1 ā2f(1,0,a3…,an) + ā1a2 f(0,1,a3…


,an) + ā1 ā2f(0,0,a3…,an)

Generalizando:

f(a1,a2,a3,…an)=a1a2a3…anf(1,1,1,…,1) +…+ ā1ā2ā3…ānf (0,0,0,…,0)

Sistemas Digitales 16
Esta expresión indica que una función es igual a la suma d
e todos los productos canónicos afectados de un coeficie
nte igual al valor que toma la función al sustituir cada var
iable por 1 ó 0.
De igual forma se deduce que la expresión en forma de p
roducto de suma es:

f(a1,a2,a3,…,an) = (a1+a2+a3+…+ f(0,0,…,0))…( ā1+ā2+…+ f(1,1,…,1))

Sistemas Digitales 17
FUNCIONES LOGICAS, BOOLEANAS O DE CONMUT
ACIÓN

Sean a1,a2,a3,...,an, ..., an símbolos llamados variables, cada


uno de los cuales representa el elemento 0 ó 1 de un álgeb
ra de Boole, y sea f(a1,a2,...,an) una función de Booleana de
a1,a2,...,an. la función f toma el valor 0 ó 1 según el conjunt
o de valores asignado a a1,a2,...,an . Como hay n variables y
cada variable tiene dos posibles valores, hay 2n maneras d
e asignar estos valores a las n variables. Además existen
dos valores posibles para la función f(a1,a2,...,an).
Por lo tanto, hay 2 n diferentes funciones Booleanas o de
2
conmutación de n variables.

Sistemas Digitales 18
Si n=0 las dos funciones de cero variables son:
f0=0, f1=1

Si n=1, las cuatro funciones de la variable A son:


f0 =0 f2 = A
f 1= A f3 = 1

Deduciremos ahora las 16 funciones de dos variables A y


B. Definamos fi(A,B) como sigue:

fi(A,B)= i
AB
3 
i
A
2B
i
A
1B
i
A
0B

Sistemas Digitales 19
Las 16 funciones resultantes son:

f0(A,B)=0 f8(A,B)=AB

f1(A,B)= AB f9(A,B)= AB
A
B

f2(A,B)= AB 
f10(A,B)= AB
AB
B

f11(A,B)= AB
f3(A,B)= A
B
AB
A A
BA
BA
B

f4(A,B)= AB 
f12(A,B)= AB
AB
A

f5(A,B)= A
B
AB
B f13(A,B)= AB

A
B
A
B
A
B

f6(A,B)= A
BA
B f14(A,B)= AB

A
B
A
B
A
B

f15(A,B)= AB
f7(A,B)= A

B
A
B
A
B
A
B
A
BA
BA
B1

Sistemas Digitales 20
Símbolo
Función Nombre Comentario
operador
f0 0000 f 0 nulo Cte. Binaria 0
f1 0001 f  AB A B nor No-Or
f2 0010 f  AB B/A inhibición B pero no A
f3 0011 f A A complemento No A
f4 0100 f  AB B inhibición A pero no B
f5 0101 f B A/B complemento No B
f6 0110 f  AB  AB A B or-exclusiva A o B pero no ambos
f7 0111 f  A B A B NAND No AND
f8 1000 f  AB A.B AND AyB
f9 1001 f  AB  AB A B nor exclusiva A=B
f10 1010 f B transferencia B
f11 1011 f  A B A B implicación Si A entonces B
f12 1100 f A transferencia A
f13 1101 f  A B A B implicación Si B entonces A
f14 1110 f  A B A B or-exclusiva AoB
f15 1111 f 1 identidad Cte. Binaria 1
Sistemas Digitales 21
FORMAS CANÓNICAS O ESTÁNDAR DE LAS FUNCIO
NES BOOLEANAS

1. SUMA CANÓNICA DE PRODUCTOS (mintérminos)


Para una función de n variables, si un término producto c
ontiene cada una de las n variables exactamente una vez,
ya sea en forma complementada o no complementada, el t
érmino producto es un mintérmino. Si una función se repr
esenta como una suma sólo de mintérminos, decimos que l
a función tiene la forma de suma canónica de productos (
SOP).

Por ejemplo: f(A, B, C) = A’BC’ + ABC’ + A’BC + ABC

Sistemas Digitales 22
Cada bit representa una de las variables del mintérmino c
omo sigue:
Variable no complementada = 1
Variable complementada = 0
Minterm Código del Minterm Numero del Minterm

A’BC’ 010 m2
ABC’ 110 m6
A’BC 011 m3
ABC 111 m7

Luego: f(A, B, C) = m2 + m3 + m6 + m7

o f(A, B, C) = ∑m(2, 3, 6, 7)

Sistemas Digitales 23
2. PRODUCTO CANÓNICO DE SUMAS (maxterminos)
Si un término suma de una función de n variables contiene
cada una de las n variables exactamente una vez en forma
complementada o no complementada, el término suma es u
n maxtermino. Si representamos una función como produc
to de términos suma, cada uno de los cuales es un maxter
mino, decimos que la función tiene la forma canónica de pr
oductos de sumas (POS).

Por ejemplo:

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

Sistemas Digitales 24
Cada bit representa una de las variables del maxtermin
o como sigue:
Variable no complementada: 0
Variable complementada: 1

Maxterm Código del Maxterm Numero del Maxterm

A+B+C 000 M0
A + B + C’ 001 M1
A’ + B + C 100 M4
A’ + B + C’ 101 M5

Luego: f(A, B, C) = M0.M1.M4.M5

o f(A, B, C) = πM(0, 1, 4, 5)

Sistemas Digitales 25
Funciones con especificación incompleta
En el diseño de circuitos digitales con frecuencia ocurre
que la función lógica no tiene una especificación complet
a. Es decir, una función puede contener ciertos mintermi
nos y omitir otros, y que los minterminos restantes sean
opcionales.
En este caso, se pueden incluir los minterminos opcionale
s en el diseño lógico si estos ayudan a simplificar el circu
ito lógico, o bien omitirlos. Un mintermino opcional es un
mintermino prescindible, y estos indican como di en vez d
e mi , y los maxterminos como Di en vez de Mi . Por ejemp
lo:
f
(A,
B ,
C 
) 
m(
0,
3,
7)d
(4,
5)
f
(A,
B ,
C 
) 
M(
1,
2,6).
D(
4,5
)
Sistemas Digitales 26
SIMPLIFICACIÓN DE FUNCIONES LÓGICAS O DE C
ONMUTACIÓN
El objetivo de la simplificación es minimizar el costo de r
ealización de una función mediante elementos de circuito
s físicos, donde el costo depende de la naturaleza de los
elementos de circuito por utilizar.
En todos los casos, hay que lograr un diseño ajustado a l
as restricciones de los elementos de circuito por utiliza
r.
1. Método algebraico
Mediante la aplicación de diversos postulados y teorema
s del Algebra de Boole se simplifican las funciones de co
nmutación. Recomendable si la función tiene pocas varia
bles .

Sistemas Digitales 27
2. Método gráfico o de mapas de KARNAUGH (mapas-K)
Es una extensión de los conceptos de tablas de verdad, d
iagramas de Venn y Mintérminos.
A B AB m0

AB AB AB m3
m2 m1

A B A B

A A A 0 1
B
m0 m2 0 2 0 0 2

B m1 m3 B 1 3 1 1 3

A 0 1 A B F(A,B)
B
0 0
0 0 2
0 1
1 0
1 1 3
1 1

Sistemas Digitales 28
0 1 A 0 1 AB AB
C 00 01 11 10 CD 00 01 11 10
B
A 0 1 0 0 2 0
00

1 1 3 1
01

11

10

Sistemas Digitales 29
Mapas de Veitch:
A A A A

B C

B C

B B B

A A

B
D

C C C

Sistemas Digitales 30
Trazo de funciones en forma canónica sobre el mapa K
Se puede graficar fácilmente las funciones de conmutaci
ón sobre un mapa K si estas se expresan en forma canóni
ca, pues cada mintérmino o maxtérmino de la forma canó
nica corresponde a una celda sobre el mapa K, donde cad
a mintérmino se representa con 1 y cada maxtérmino por
0.
Simplificación de Funciones mediante Mapas K
Cada cuadrado sobre un mapa K de dos variables tiene do
s cuadrados adyacentes lógicamente; cada cuadrado sobr
e un mapa de tres variables tiene tres cuadrados adyacen
tes, etc. En general, cada cuadrado en un mapa K de n vari
ables tiene n cuadrados adyacentes lógicamente, de modo
que cada par de cuadrados adyacentes difiere precisamen
te en una variable.
Sistemas Digitales 31
1. Se agrupa cuadrados en un numero que sea una potenc
ia de dos; es decir, 1, 2, 4, 8, etc. Al agrupar dos cuadra
dos se elimina una variable, al agrupar 4 cuadrados se eli
mina dos variables, etc.
2. Se debe agrupar tantos cuadrados como sea posible, c
uanto mayor sea el grupo; habrá un número menor de lite
rales en el término producto resultante.
3. Se debe formar el menor número posible de grupos qu
e cubran todos los cuadrados de la función, y se puede u
tilizar cada mintermino cuantas veces sea necesario.
Terminología
a) Implicante: es un término producto (es decir, un produ
cto de una o más literales) que puede servir para cubrir
mintérminos de la función.
Sistemas Digitales 32
b) Implicante primo: En el mapa K, un implicante primo e
quivale a un conjunto de cuadrados que no es subconjunt
o de algún conjunto con un número mayor de cuadrados.
Los implicantes primos representan los máximos agrupam
ientos de mintérminos deducibles para la función.

c) Implicante primo esencial: Es un implicante primo que c


ubre al menos un mintérmino que no está cubierto por alg
ún otro implicante primo.
d) Cubierta: Es un conjunto de implicantes primos tal que
todos los mintérminos de la función están contenidos en a
l menos un implicante primo.

Sistemas Digitales 33
Uso de mapas-K para eliminar riesgos de tiempo:

El tiempo de respuesta de la mayoría de dispositivos lógi


cos es muy pequeño, sin embargo, el tiempo de respuest
a no puede ser exactamente el mismo para dos dispositi
vos, aun siendo del mismo tipo. Estas diferencias relativ
as en el tiempo de respuesta pueden provocar eventos n
o deseables en una red de conmutación, y estos eventos
no deseables son los riesgos.

Sistemas Digitales 34
Sistemas Digitales 35
Sistemas Digitales 36
Sistemas Digitales 37
Sistemas Digitales 38
Riesgo estático 1: Cuando la salida debe conservar el valo
r lógico 1 pero cambia temporalmente a 0 lógico, obtenié
ndose un pulso transitorio o fall, se presentan en circuit
os AND-OR.
Riesgo estático 0: Contemplados en la definición de riesg
os, y se presentan en circuitos OR-AND.
También se puede presentar un segundo tipo de riesgo, c
onocido como riesgo dinámico, el cual es una condición en
la que una salida debe cambiar de 01 o de 10, pero ca
mbia más de una vez antes de estabilizarse en su nuevo e
stado. Se puede demostrar que los riesgos dinámicos son
el resultado de riesgos estáticos existentes en el circuit
o. En consecuencia, las redes libres de riesgos estáticos
también están libres de riesgos dinámicos.

Sistemas Digitales 39
3. Método de Quine-McCluskey (Q-M)

Tiene dos ventajas sobre el mapa-K:


1. Se trata de un método directo y sistemático para deter
minar una función mínima, que depende menos de la habili
dad del diseñador para reconocer patrones, que el métod
o K.
2. Es un esquema viable para el manejo de un gran número
de variables, contrario a lo que ocurre en un mapa K.

En general, el método Q-M realiza una búsqueda lineal or


denada sobre los mintérminos de la función, para determi
nar todas las combinaciones de mintérminos adyacentes ló
gicamente.

Sistemas Digitales 40
Método de Quine: Se basa en la propiedad: ab + ab’ = a.
Método de Quine McCluskey: Se procede según:

1. Se escribe la representación binaria de los productos


estándar de la función Booleana dada.
2. Se ordenan de acuerdo al número de 1’s.
3. Se combinan todos los términos posibles.

Método numérico o del tabulado: Se procede según:

1. Utiliza la notación decimal.


2. Se agrupan los mintérminos de acuerdo al número de 1’
s de su representación binaria equivalente.

Sistemas Digitales 41
3. Comparar cada término de un grupo con otro de un gru
po mayor, de modo que la diferencia del minterm del grup
o mayor menos el minterm del grupo menor sea una poten
cia de 2.
4. Se anota en la tabla de diferencias, los números combi
nados, seguidos por su diferencia entre paréntesis, dicho
número indica la posición del guion en la representación a
nterior, y así sucesivamente.

Ejemplo: f = ∑m(0,2,3,6,7,8,9,10,13)

Sistemas Digitales 42
Redes AND-OR y NAND
Las redes AND – OR deben expresarse en forma de SOP.
Ejemplo:

a a a
c c c

b f b f b f
c c c
d d d
a a a
d d d

Sistemas Digitales 43
Redes OR – AND y NOR
Las redes OR-AND deben expresarse en forma de POS.
Ejemplo:

a a a
b b b
c c c
b b b
c c c
d d d
a a a
d d d

Sistemas Digitales 44
Circuitos AND-OR-INVERSOR (AOI)
Un circuito AOI está formado por un conjunto de puerta
s AND, cuyas salidas se alimentan a una compuerta NOR,
y por tanto puede servir para realizar con facilidad los ci
rcuitos de S de P de dos niveles como un MUX, como se
muestra.
y1

y2
Y
Y y3

y4

Líneas de
Nivel 2 Nivel 1 activación

Sistemas Digitales 45
Funciones de salida múltiple: La mayoría de los circuitos
combinacionales requieren mas de una salida, y siempre s
e puede manejar un circuito con n salidas como n proble
mas de diseño de una sola salida, solo que al hacerlo así,
se pueden perder oportunidades de optimizarlo. Por tant
o, compartir un termino producto, reduce el tamaño y co
sto del circuito.
Diseño de circuitos lógicos asistidos por computadora
El ciclo de diseño para un circuito lógico digital abarca v
arios pasos entre el concepto y la implantación física, inc
luida la síntesis de diseño, la simulación, la realización y l
a prueba que se ilustra a continuación:

Sistemas Digitales 46
CONCEPTO

MODELADO Y
CAPTURA DEL
DISEÑO

SÍNTESIS
BASE DE
OPTIMIZACIÓN VECTORES
DAOS DEL
DEL DISEÑO DE PRUEBAS
DISEÑO

SIMULACIÓN
LÓGICA
ANÁLISIS

RESULTADOS
?

IMPLANTACIÓN
REALIZACIÓN

DISEÑO
FÍSICO

PRUEBA

PRUEBA

Sistemas Digitales 47

También podría gustarte