Está en la página 1de 53

PRINCIPIOS DE DISEÑO DE

LÓGICA COMBINACIONAL

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

Sistemas Digitales 2
ÁLGEBRA DE BOOLE
El álgebra de Boole difiere de manera importante del
álgebra ordinaria en que las constantes y variables
Booleanas 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
NOT.

Sistemas Digitales 3
Formas equivalentes de nombrar los niveles
lógicos
VERDADERO FALSO

ON OFF

CONECTADO DESCONECTADO

ENCENDIDO APAGADO

+ 5V 0V (GND)

H L

1 0

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

Sistemas Digitales 5
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 6
Operación NOT
Se aplica solo a una entrada, cuyo resultado es: F = A’

Sistemas Digitales 7
Cualquier circuito lógico, sin importar que tan complejo
sea, puede describirse completamente mediante las
operaciones definidas anteriormente, que son los
elementos básicos de los sistemas digitales.
Por ejemplo realizar: f = AC + BC + ABC

Sistemas Digitales 8
Sistemas Digitales 9
Universalidad de puertas NAND

Sistemas Digitales 10
Universalidad de puertas NOR

Sistemas Digitales 11
Comparación de puertas con su costo

Sistemas Digitales 12
Lógica positiva y lógica negativa
En la mayoría de libros y manuales se refieren a las
puertas lógicas en términos de funcionalidad de la
“lógica positiva”.

Lógica positiva
Nivel de tensión alto (H) = Activo o “1”
Nivel de tensión bajo (L) = Inactivo o “0”
Lógica negativa
Nivel de tensión alto (H) = Inactivo o “0”
Nivel de tensión bajo (L) = Activo o “1”

Sistemas Digitales 13
A continuación se muestra las puertas estándar y sus
equivalentes en lógica negativa.

Sistemas Digitales 14
COMPUERTAS ADICIONALES IMPORTANTES
1. NAND

2. NOR

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

4. X-NOR (NOR Exclusiva)

Sistemas Digitales 16
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 sistema algebraico que ahora se conoce como algebra
booleana. En 1938 Claude E. Shannon introdujo el
álgebra booleana de dos valores denominada álgebra de
interruptores.

Sistemas Digitales 17
Para la definición formal del álgebra booleana, se
emplean los postulados formulados por E. V. Huntington
en 1904.
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 18
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
complemento de a) tal que:
a+ā=1; a. ā=0
6. Existen cuando menos dos elementos a,b є B /a ≠ b.

Sistemas Digitales 19
PRINCIPIO DE DUALIDAD
Los postulados de Huntington se listaron en pares. Una
parte 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 elementos del conjunto B son los mismos: 0 y 1. El
principio de dualidad tiene muchas aplicaciones si se
desea el dual de una expresión algebraica, simplemente se
intercambia los operadores OR y AND y se reemplaza los
1 por 0 y los 0 por 1.

Sistemas Digitales 20
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 21
Sistemas Digitales 22
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 23
Esta expresión indica que una función es igual a la suma
de todos los productos canónicos afectados de un
coeficiente igual al valor que toma la función al sustituir
cada variable por 1 ó 0.
De igual forma se deduce que la expresión en forma de
producto de suma es:

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

Sistemas Digitales 24
FUNCIONES LOGICAS, BOOLEANAS O DE
CONMUTACIÓN

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


uno de los cuales representa el elemento 0 ó 1 de un
álgebra 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 conjunto de valores asignado a a1,a2,...,an . Como
hay n variables y cada variable tiene dos posibles valores,
hay 2n maneras de asignar estos valores a las n variables.
Además existen dos valores posibles para la función
f(a1,a2,...,an).
2n
Por lo tanto, hay 2 diferentes funciones Booleanas o de
conmutación de n variables.

Sistemas Digitales 25
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
f1= A f3 = 1

Deduciremos ahora las 16 funciones de dos variables A y


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

fi(A,B)= i3 AB + i2 AB + i1 AB + i0 AB

Sistemas Digitales 26
Las 16 funciones resultantes son:

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

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

f2(A,B)= AB f10(A,B)= AB + AB = B

f3(A,B)= AB + AB = A f11(A,B)= AB + AB + AB = A + B

f4(A,B)= AB f12(A,B)= AB + AB = A

f5(A,B)= AB + AB = B f13(A,B)= AB + AB + AB = A + B

f6(A,B)= AB + AB f14(A,B)= AB + AB + AB = A + B

f7(A,B)= AB + AB + AB = A + B f15(A,B)= AB + AB + AB + AB = 1

Sistemas Digitales 27
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 28
FORMAS CANÓNICAS O ESTÁNDAR DE LAS
FUNCIONES BOOLEANAS

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


Para una función de n variables, si un término producto
contiene 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 representa como una suma sólo de
mintérminos, decimos que la 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 29
Cada bit representa una de las variables del mintérmino
como 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 30
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
un maxtermino. Si representamos una función como
producto de términos suma, cada uno de los cuales es un
maxtermino, decimos que la función tiene la forma
canónica de productos de sumas (POS).

Por ejemplo:

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

Sistemas Digitales 31
Cada bit representa una de las variables del
maxtermino 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 32
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
completa. Es decir, una función puede contener ciertos
minterminos y omitir otros, y que los minterminos
restantes sean opcionales.
En este caso, se pueden incluir los minterminos
opcionales en el diseño lógico si estos ayudan a
simplificar el circuito lógico, o bien omitirlos. Un
mintermino opcional es un mintermino prescindible, y
estos indican como di en vez de mi , y los maxterminos
como Di en vez de Mi . Por ejemplo:
f ( A, B, C ) =  m(0,3,7) + d ( 4,5)
f ( A, B, C ) =  M (1,2,6).D ( 4,5)
Sistemas Digitales 33
SIMPLIFICACIÓN DE FUNCIONES LÓGICAS O DE
CONMUTACIÓN
El objetivo de la simplificación es minimizar el costo de
realización de una función mediante elementos de
circuitos 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
las restricciones de los elementos de circuito por
utilizar.
1. Método algebraico
Mediante la aplicación de diversos postulados y
teoremas del Algebra de Boole se simplifican las
funciones de conmutación. Recomendable si la función
tiene pocas variables .

Sistemas Digitales 34
2. Método gráfico o de mapas de KARNAUGH (mapas-K)
Es una extensión de los conceptos de tablas de verdad,
diagramas 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 35
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 36
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ónica, pues cada mintérmino o maxtérmino de
la forma canónica corresponde a una celda sobre el mapa
K, donde cada 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
dos cuadrados adyacentes lógicamente; cada cuadrado
sobre un mapa de tres variables tiene tres cuadrados
adyacentes, etc. En general, cada cuadrado en un mapa K
de n variables tiene n cuadrados adyacentes lógicamente,
de modo que cada par de cuadrados adyacentes difiere
precisamente en una variable.
Sistemas Digitales 37
1. Se agrupa cuadrados en un numero que sea una
potencia de dos; es decir, 1, 2, 4, 8, etc. Al agrupar dos
cuadrados se elimina una variable, al agrupar 4
cuadrados se elimina dos variables, etc.
2. Se debe agrupar tantos cuadrados como sea posible,
cuanto mayor sea el grupo; habrá un número menor de
literales en el término producto resultante.
3. Se debe formar el menor número posible de grupos
que cubran todos los cuadrados de la función, y se puede
utilizar cada mintermino cuantas veces sea necesario.
Terminología
a) Implicante: es un término producto (es decir, un
producto de una o más literales) que puede servir para
cubrir mintérminos de la función.
Sistemas Digitales 38
b) Implicante primo: En el mapa K, un implicante primo
equivale a un conjunto de cuadrados que no es
subconjunto de algún conjunto con un número mayor de
cuadrados. Los implicantes primos representan los
máximos agrupamientos de mintérminos deducibles para
la función.
c) Implicante primo esencial: Es un implicante primo que
cubre 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
al menos un implicante primo.

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

El tiempo de respuesta de la mayoría de dispositivos


lógicos es muy pequeño, sin embargo, el tiempo de
respuesta no puede ser exactamente el mismo para dos
dispositivos, aun siendo del mismo tipo. Estas
diferencias relativas en el tiempo de respuesta pueden
provocar eventos no deseables en una red de
conmutación, y estos eventos no deseables son los
riesgos.

Sistemas Digitales 40
Sistemas Digitales 41
Sistemas Digitales 42
Sistemas Digitales 43
Sistemas Digitales 44
Riesgo estático 1: Cuando la salida debe conservar el
valor lógico 1 pero cambia temporalmente a 0 lógico,
obteniéndose un pulso transitorio o fall, se presentan en
circuitos AND-OR.
Riesgo estático 0: Contemplados en la definición de
riesgos, y se presentan en circuitos OR-AND.
También se puede presentar un segundo tipo de riesgo,
conocido 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
cambia más de una vez antes de estabilizarse en su
nuevo estado. Se puede demostrar que los riesgos
dinámicos son el resultado de riesgos estáticos
existentes en el circuito. En consecuencia, las redes
libres de riesgos estáticos también están libres de
riesgos dinámicos.

Sistemas Digitales 45
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
determinar una función mínima, que depende menos de la
habilidad del diseñador para reconocer patrones, que el
método 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


ordenada sobre los mintérminos de la función, para
determinar todas las combinaciones de mintérminos
adyacentes lógicamente.

Sistemas Digitales 46
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 47
3. Comparar cada término de un grupo con otro de un
grupo mayor, de modo que la diferencia del minterm del
grupo mayor menos el minterm del grupo menor sea una
potencia de 2.
4. Se anota en la tabla de diferencias, los números
combinados, seguidos por su diferencia entre paréntesis,
dicho número indica la posición del guion en la
representación anterior, y así sucesivamente.

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

Sistemas Digitales 48
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 49
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 50
Circuitos AND-OR-INVERSOR (AOI)
Un circuito AOI está formado por un conjunto de
puertas AND, cuyas salidas se alimentan a una compuerta
NOR, y por tanto puede servir para realizar con facilidad
los circuitos 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 51
Funciones de salida múltiple: La mayoría de los circuitos
combinacionales requieren mas de una salida, y siempre
se puede manejar un circuito con n salidas como n
problemas de diseño de una sola salida, solo que al
hacerlo así, se pueden perder oportunidades de
optimizarlo. Por tanto, compartir un termino producto,
reduce el tamaño y costo del circuito.
Diseño de circuitos lógicos asistidos por computadora
El ciclo de diseño para un circuito lógico digital abarca
varios pasos entre el concepto y la implantación física,
incluida la síntesis de diseño, la simulación, la realización
y la prueba que se ilustra a continuación:

Sistemas Digitales 52
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 53

También podría gustarte