Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diseño de Logica Combinacional - Romero
Diseño de Logica Combinacional - Romero
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.
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
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)
Sistemas Digitales 16
5. BUFFER
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
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:
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)
Generalizando:
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:
Sistemas Digitales 24
FUNCIONES LOGICAS, BOOLEANAS O DE
CONMUTACIÓN
Sistemas Digitales 25
Si n=0 las dos funciones de cero variables son:
f0=0, f1=1
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
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:
Sistemas Digitales 31
Cada bit representa una de las variables del
maxtermino como sigue:
Variable no complementada: 0
Variable complementada: 1
A+B+C 000 M0
A + B + C’ 001 M1
A’ + B + C 100 M4
A’ + B + C’ 101 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:
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)
Sistemas Digitales 46
Método de Quine: Se basa en la propiedad: ab + ab’ = a.
Método de Quine McCluskey: Se procede según:
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