Está en la página 1de 67

Diseño de Lógica

Combinacional
SISTEMAS DIGITALES I
Circuito Lógico Combinacional
Un circuito lógico cuya salida solo depende del valor de sus entradas es
llamado un circuito combinacional
Su operación es totalmente descrita por la tabla de verdad, que lista
todas las combinaciones posibles de las entradas y el respectivo valor de
salida

X
Y F
Z
Algoritmos de Funciones Lógicas Combinacionales
oRealizar un circuito lógico que determine cuando los cuatro variables de
entradas tengan un numero par de ‘1’s.
oRealizar un circuito lógico decodificador de BCD a Gray.
oRealizar un circuito lógico decodificador de BCD a 7-Segmentos.
oDiseñar un circuito combinacional cuyas salidas dependen de una entrada
de control “X” de la siguiente manera:
o Si “X = 0”, el circuito se comporta como un sumador completo de 2 números binarios
de 1 bit cada uno
o Si “X = 1”, el circuito se comporta como un restador completo de 2 números binarios
de 1 bit cada uno
Ejemplo de Implementación (1)
oRealizar un circuito lógico decodificador de BCD a 7-Segmentos.
Display 7-Segmentos
COMPUERTAS LÓGICAS

Son circuitos que generan voltajes de salida en función de la combinación de


entrada correspondientes a las Funciones Lógicas.

Trabajan con dos estados lógicos (0, 1), los cuales pueden asignarse de
acuerdo con la lógica positiva, o a la lógica negativa.

 Positiva  Negativa
FUNCIONES LÓGICAS BÁSICAS
COMPUERTAS EN LA TECNOLOGÍA TTL

AND 74LS08
OR 74LS32
NOT 74LS04
NAND 74LS00
NOR 74LS02
XOR 74LS86
XNOR ---------
ÁLGEBRA DE BOOLE

Desarrollada inicialmente para representar las formas de razonamiento lógico.


Variable booleana: sólo puede tomar dos valores (V/F, 0 o 1)
Operaciones booleanas:
◦ Negación: complemento
◦ Suma booleana: 0 + 0 = 0
0+1=1
1+0=1
1+1=1

◦ Producto booleano: 0·0=0


0·1=0
1·0=0
1·1=1
Función booleana: variables booleanas operadas entre sí mediante operaciones
booleanas.
TABLAS DE VERDAD

Muestran el resultado de una operación lógica para cada una de las


combinaciones de entradas posibles.

Complemento Suma Producto

A A A B A+B A B A•B
0 0 0 0 0 0
0 1 0 1 1 0 1 0
1 0 1 0
1 1

1 0
TEOREMAS DEL ÁLGEBRA DE BOOLE

Teorema 1: Ley interna


El resultado de aplicar cualquiera de las tres operaciones del
álgebra de Boole a variables booleanas es otra nueva variable
booleana y el resultado es único.
Teorema 2: Ley de idempotencia
A+A=A
A•A=A
Teorema 3: Ley de involución

AA
Teorema 4: Ley conmutativa
Respecto de la suma: A+B=B+A
Respecto del producto: A•B= B•A
TEOREMAS DEL ÁLGEBRA DE BOOLE

Teorema 5: Ley asociativa


Respecto de la suma: A+(B+C)=(A+B)+C=A+B+C
Respecto del producto: A•(B•C)=(A•B)•C=A•B•C
Teorema 6: Ley distributiva
Respecto de la suma: A+B•C= (A+B)•(A+C)
Respecto del producto: A•(B+C)=A•B+A•C
Teorema 7: Ley de absorción
A+A•B=A
A•(A+B)=A
TEOREMAS DEL ÁLGEBRA DE BOOLE

 
 

www.utel.edu.mx
FUNCIONES LÓGICAS ELEMENTALES

Puertas lógicas: definen funciones booleanas básicas


A
A Función NOT (COMPLEMENTO, NO)

A A+B
B Función OR (SUMA, O)

A A·B
Función AND (PRODUCTO, Y)
B

El número de variables de entrada no está limitado a dos:

www.utel.edu.mx
FUNCIONES LÓGICAS ELEMENTALES

Función NOR A B S Función NAND A B S


(no O) 0 0 1 (no Y) 0 0 1
0 1 0 0 1 1
1 0 0 1 0 1
1 1 0 1 1 0

Función XOR (O exclusiva) Función XNOR (equivalencia)


A B S A B S
0 0 0 0 0 1
0 1 1 0 1 0
1 0 1 1 0 0
1 1 0 1 1 1

www.utel.edu.mx
FUNCIONES LÓGICAS: COMPUERTAS NAND

A B S
0 0 1
0 1 1
Complemento
1 0 1
1 1 0

Suma A  B  (A  B)  (A  B)

Producto A  B  (A  B)

www.utel.edu.mx
FUNCIONES LÓGICAS COMPUERTAS NOR

A B S
0 0 1
0 1 0
Complemento
1 0 0
1 1 0

Suma A  B  (A  B)

Producto A  B  (A  B)  (A  B)

www.utel.edu.mx
Tabla de Verdad Para el Segmento a

Fa = A’B’C’D’ + A’B’CD’ + A’B’CD + A’BC’D + A’BCD’ + A’BCD + AB’C’D’ + AB’C’D


Implementación de la Función Lógica
Fa
Fa = A’B’C’D’ + A’B’CD’ + A’B’CD + A’BC’D + A’BCD’ + A’BCD + AB’C’D’ + AB’C’D
Implementación de la Función Lógica
Fa
Fa = A’B’C’D’ + A’B’CD’ + A’B’CD + A’BC’D + A’BCD’ + A’BCD + AB’C’D’ + AB’C’D
Realizar la implementación de la función lógica Fa, utilizando
compuertas and de 4 entradas y compuertas or de 4 entradas
A A’ B B’ C C’ D D’
Implementación de la Función Lógica
Fa
Fa = A’B’C’D’ + A’B’CD’ + A’B’CD + A’BC’D + A’BCD’ + A’BCD + AB’C’D’ + AB’C’D

Realizar la implementación de la función lógica Fa, utilizando


compuertas and de 2 entradas, y compuertas or de dos entradas
Tabla de Verdad Para el Segmento a

Fa’ = A’B’C’D + A’BC’D’


Minimización de Lógica
Combinacional
Implementar el circuito directamente de la tabla de verdad tiene varias
desventajas:
• Es antieconómico, por la cantidad de compuertas lógicas necesarias
• Es propenso a errores, por la cantidad de ‘cableado’ necesario

Minimización consiste en reducir la cantidad y el tamaño de las compuertas


lógicas necesarias para implementar el circuito combinacional
ANALISIS SINTAXIS

dado un circuito encontrar la función encontrar el circuito suponiendo que se


lógica que cumple a su salida parte de una especificación

1. Tabular la especificación (hacer tabla de verdad)


2. Mapearla (hacer el mapa de Veitch-Karnaugh)
3. Simplificarla (hacer la expresión más simple)
4. Implementarla (colocar las compuertas para realizar esa función)
Mapas de Karnaugh
Un mapa de Karnaugh es una representación gráfica de la tabla de verdad
de una función lógica

Un mapa de Karnaugh para una función lógica de n entradas es un arreglo


de 2n celdas, una para cada combinación posible de las entradas (minterm)

X Y

YX YX m0 m2
YX YX m1 m3
Mapa de Veitch-Karnaugh: Construcción con 2 variables

B A Z

0 0 0 Mapa K
A 0 1
B
0 1 1 0 0 1

1 1 0
1 0 1

1 1 0
Mapa de Veitch-Karnaugh: Construcción con 3 variables

C B A Z
0 0 0 1

0 0 1 1
Mapa K
0 1 0 0
BA 00 01 11 10
0 1 1 0
C
0 1 1 0 0
1 0 0 1
1 1 1 0 1
1 0 1 1

1 1 0 0

1 1 1 1
Mapa K
BA 00 01 11 10
C
0 1 1 0 0

1 1 1 0 1

Z=B’+BA’C = LOGICA 1

Z=BC’ + AB = LOGICA 0
Z=(BC’ + AB )’ = LOGICA 1
Mapa de Veitch-Karnaugh: Construcción con 4 variables

D C B A Z
0 0 0 0 1
0 0 0 1 1
0 0 1 0 0 Mapa K
0 0 1 1 1
BA 00 01 11 10
0 1 0 0 1 DC
0 1 0 1 1 00 1 1 1 0
0 1 1 0 0
0 1 1 1 0
01 1 1 0 0
1 0 0 0 0 11 0 0 0 1
1 0 0 1 1
1 0 1 0 1 10 0 1 1 1
1 0 1 1 1
1 1 0 0 0
1 1 0 1 0
1 1 1 0 1
1 1 1 1 0
1. Se lo utiliza para sintetizar funciones lógicas en forma gráfica y rápida.
2. Muy cómodo para sintetizar problemas de más de dos variables de entrada.
3. Permite sintetizar funciones sin aplicar las leyes del álgebra de Boole.
4. Agrupando los “1” obtenemos expresiones con la suma de productos; mientras
que si se agrupan los “0” se obtienen productos de la suma.
5. Para realizar el mapa K se utiliza el código Gray.
6. Se recorre de la siguiente manera:

BA BA
DC
00 01 11 10 DC 00 01 11 10
00 00 1
comienzo
2 4 3

01 01 5 6 8 7

11 11 13 14 16
final
15

10 10 9 10 12 11
A A
B
0 1 B 0 1

0 A A 0 B B

1 A A 1 B B
BA BA BA
00 01 11 10 00 01 11 10 00 01 11 10
C C C

0 B B 0 A A A 0 C

1 1 1 C
BA 00 01 11 10 BA 00 01 11 10
DC DC
00 A A 00
01 A 01 B B
10 11
11 10

BA 00 01 11 10 BA 00 01 11 10
DC DC
00 A 00 A
01 A 01
11 11 A
10 A 10
2 variables

BA0 1
¿Cómo podemos 0 1
agrupar dos unos? 1 1

Z=A’D’C’ + B’AD
Z=A’C’ + AC
3 variables 4 variables

BA BA
00 01 11 10 DC 00 01 11 10
C
00 1 1
0 1 1
01
1 1 1 11 1

10 1
2
v
a
¿Cómo podemos r BA0 1
agrupar cuatro unos? i
a 0 1 1
3 variables b
l 1 1 1
BA
00 01 11 10 e
C s
0 1 1
4 variables
1 1 1 BA BA
DC 00 01 11 10 DC 00 01 11 10
BA 00 00 1
00 01 11 10
C
01 1 1 01 1
0 1 1 1 1
11 1 1 11 1
1 10 10 1
BA BA
DC 00 01 11 10 DC 00 01 11 10
BA
00 01 11 10 00 00 1
C 1
0 1 1 01 1 1 01
11 1 1 11
1 1 1
10 10 1 1
3 variables

BA
¿Cómo podemos C
00 01 11 10
agrupar ocho unos? 0 1 1 1 1

1 1 1 1 1

Z=D 4 variables
BA BA
DC 00 01 11 10 DC 00 01 11 10
00 00
Z=A’
1 1
01 01 1 1
11 1 1 1 1 11 1 1 Z=BA’ +B’A’=A’(B+B’)=A’
10 1 1 1 1 10 1 1

Dado el mapa K de una determinada función los pasos a seguir son:


1. Enlazar la mayor cantidad de unos de la tabla con la menor cantidad posible de lazos.
2. Indicar en punteado los lazos que tienen todos sus unos compartidos con otros lazos, o sea los implicantes
primos no esenciales.
3. Probar que los implicantes primos cubren todos los “unos” del diagrama con la menor cantidad posible de
lazos
4. Realizar un diagrama para cada solución mínima .
5. Hallar las coordenadas de cada mintérmino y formar el producto correspondiente, desechando las variables
que no intervendrán en el mismo. Tener presente que en general un lazo de dos permitirá eliminar “n”
variables.
¿Cómo simplificar los mintérminos?
1º Se simplifican los mintérminos que son adyacentes y se toman o agrupan de 2, 4, 8,
16...2n . Dos mintérminos son adyacentes cuando difieren en una letra.La suma de dos
mintérminos adyacentes es igual al producto de las variables que tienen en común.
BA 00 01 11 10
DCBA DC
+ 00
DCBA 01 1

CBA(D+D)=CBA 11 1

=1
10 1 ABCD
De sumar 2 mintérminos queda CBA
2º Los mintérminos que no son adyacentes no se pueden simplificar (A, B, C, D)
3º Si tomo dos mintérminos se elimina una variable, si tomo cuatro se eliminan dos
variables
BA
C 00 01 11 10
ABC + ABC + ABC + ABC =
0 1 1

1 1 1 = (A+A)BC + BC(A+A) = B(C+C) = B


Una misma función puede tener dos o
más soluciones

BA BA
DC 00 01 11 10 DC 00 01 11 10

00 1 1 00 1 1

01 1 1 01 1 1

11 1 1 11 1 1

10 1 1 1 1 10 1 1 1 1
Lazos redundantes
Algunas veces aunque se tenga BA
en cuenta todos los lazos DC 00 01 11 10
mayores posibles, un 00 1 1
subconjunto de ellos puede
cubrir todos los “unos” de esa 01 1 1
función, en estos casos existe un 11 1 1
lazo redundante que viola el
principio de que los “unos” 10 1 1
queden enlazados con el menor
Z  C D  ABD  ABC  ABD  A BC
número de lazos posibles.

BA
DC 00 01 11 10
Esta suma de productos no es mínima,
dado que si bien se han tenido en cuenta 00 1 1
los mayores lazos posibles, en este caso 01 1 1
con un subconjunto. El lazo dibujado en
línea punteada que corresponde al 11 1 1
producto CD es redundante, pues agrega 1 1
10
un sumando innecesario
Z  ABD  ABC  ABD  A BC
Funciones Incompletamente Especificadas
Tabla de Verdad: Numero binario 4 bits
a Display 7 segmentos

W a
Decodificador b
X c
Contador BCD Binario-7 d
Reloj Y e
Segmentos f
Z g

x x x x x x x
x x x x x x x
x x x x x x x
x x x x x x x
x x x x x x x
x x x x x x x
Llenado y Lectura del Mapa de
Karnaugh
Llenar el mapa de Karnaugh para la función a y obtener la función
mínima correspondiente. Comparar el resultado con la función
previamente obtenida (sin los ‘X’)

x x x x x x x
x x x x x x x
x x x x x x x
x x x x x x x
x x x x x x x
x x x x x x x
a=
Llenado y Lectura del Mapa de
Karnaugh
Llenar el mapa de Karnaugh para la función c y obtener la
función mínima correspondiente. Comparar el resultado
con la función previamente obtenida (sin los ‘X’)

x x x x x x x
x x x x x x x
x x x x x x x
x x x x x x x
x x x x x x x
x x x x x x x
c=
Llenado y Lectura del Mapa de
Karnaugh
Ejemplo
Leer el siguiente mapa de Karnaugh y obtener la función mínima correspondiente

- 1 -
-
1 1
- 1 1

f=
Llenado y Lectura del Mapa de
Karnaugh
Ejemplo
Llenar el mapa de Karnaugh para la función F y obtener la función mínima
correspondiente: F = 1100 101X 1100 010X

f=
Suma de Productos a Forma NAND
Hasta este punto las funciones lógicas obtenidas van a ser implementadas
usando compuertas AND/OR/NOT
X Y Z
0
i ó n?
0 X
ntac
0 me
1 pl e
1 Y ai m X’YZ + XY’Z’
1 e st
0 1 de
taj a
0 n
0
Z
e sve
D
F = X’YZ + XY’Z’

Técnicamente este tipo de implementación se conoce como Suma de Productos (SOP, sum of products)
Suma de Productos a Forma NAND
La compuerta NAND como componente lógico universal

NAND como inversor

NAND como AND

NAND como OR

NAND como NOR


Suma de Productos a Forma NAND
X

Y X’YZ + XY’Z’

F = X’YZ + XY’Z’ T4 (X’)’ = X F = XYZ + XYZ


F = XYZ + XYZ
X =X
De Morgan (X + Y) = X . Y

Diagrama Lógico ? F = XYZ . XYZ


Lectura de M. de K con Variable Introducida
Existen casos en los cuales dentro del mapa de Karnaugh hay variables
lógicas. Para leer este tipo especial de mapas, se sigue un cierto
procedimiento que se explicará a continuación.

Supongamos tener
el siguiente mapa - E -
La función resultante dependerá de 6
- Variables Lógicas: W X Y Z y E y F
-
1 1 E
1 E+F F EF
Lectura de M. de K con Variable Introducida
Procedimiento para la lectura:
1. Leer todos los ‘1’ del mapa, considerando todas las variables
iguales a ‘0’, y los valores no especificados, como no
- E - especificados
2. Considerer una variable igual a ‘1’, todas las demas variables
- igual a ‘0’. Los ‘1’ y los ‘-’ se consideran ambos como ‘-’
- El producto de dos variables se considera como una
1 1 E variable distinta (EF es otra variable)
1 E+F F EF 3. Se repite el paso anterior para todas las variables.
a) E’ = 1
b) F = 1
c) EF = 1
4. La función lógica resultante es la suma de los términos
productos de cada lectura obtenida para cada paso anterior.
Para las variables, se multiplica el termino o términos productos
por la variable.
F = 1. + 1. + E. + E. + F. + EF.
Lectura de M. de K con Variable Introducida
1. Leer todos los ‘1’ del mapa, considerando todas las variables iguales a ‘0’, y los valores no
especificados, como no especificados

- 0 -
-

1 1 0
1 0 0 0

F = 1.XYZ + 1.W’X’Z’
Lectura de M. de K. con Variable Introducida
2. Considerar una variable igual a ‘1’, todas las demas variables igual a ‘0’. Los ‘1’ y los ‘-’ se
consideran ambos como ‘-’. El producto de dos variables se considera como una variable
distinta (EF es otra variable)
Hagamos E = 1

- 1 -
-

- - 0
- 1 0 0

F = E.W’Z’
Lectura de M. de K con Variable Introducida
3. Considerar una variable igual a ‘1’, todas las demas variables igual a ‘0’. Los ‘1’ y los ‘-’ se
consideran ambos como ‘-’. El producto de dos variables se considera como una variable
distinta (EF es otra variable)
Hagamos E’ = 1

- 0 -
-

- - 1
- 0 0 0

F = E’.WX’Z
Lectura de M. de K con Variable Introducida
3. Considerar una variable igual a ‘1’, todas las demas variables igual a ‘0’. Los ‘1’ y los ‘-’ se
consideran ambos como ‘-’. El producto de dos variables se considera como una variable
distinta (EF es otra variable)
Hagamos F = 1

- 0 -
-

- - 0
- 1 1 0

F = F.XY
Lectura de M. de K con Variable Introducida
3. Considerar una variable igual a ‘1’, todas las demas variables igual a ‘0’. Los ‘1’ y los ‘-’ se
consideran ambos como ‘-’. El producto de dos variables se considera como una variable
distinta (EF es otra variable)
Hagamos EF = 1

- 0 -
-

- - 0
- 0 0 1

F = EF.X’YZ’
Lectura de M. de K. con Variable Introducida

F = XYZ + W’X’Z’ E.W’Z’ +E’.WX’Z +F.XY + EF.X’YZ’

Ejercicio: Dibujar el diagrama del circuito lógico


resultante
Los Mapas de Karnaugh son una herramienta muy utilizada
para la simplificación de circuitos lógicos. Cuando se tiene una
función lógica con su tabla de verdad y se desea implementar
esa función de la manera más económica posible se utiliza este
método.
Se tiene la siguiente tabla de verdad para tres variables.
Se desarrolla la función lógica basada en ella. (primera
forma canónica). Ver que en la fórmula se incluyen
solamente las variables (A, B, C) cuando F cuando es
igual a “1”. Si A en la tabla de verdad es “0” se pone A, si
B = “1” se pone B, Si C = “0” se pone C.
Z=B + A

Z=B’A’=0
Z=(B’A’)’=1

Una vez obtenida la función lógica, se implementa el mapa de Karnaugh. Este tiene
8 casillas que corresponden a 2n, donde n = 3 (número de variables (A, B, C)). Ver
el diagrama arriba a la derecha. La primera fila corresponde a A = 0 La segunda
fila corresponde a A = 1 La primera columna corresponde a BC = 00 (B=0 y C=0)
La segunda columna corresponde a BC = 01 (B=0 y C=1) La tercera columna
corresponde a BC = 11 (B=1 y C=1) La cuarta columna corresponde a BC = 10
(B=1 y C=0).
En el mapa de Karnaugh se han puesto “1” en las casillas que
corresponden a los valores de F = “1” en la tabla de verdad. Tomar
en cuenta la numeración de las filas de la tabla de verdad y la
numeración de las casillas en el mapa de Karnaugh.
Lógica Combinacional - Ejercicios
5. Diseñar un circuito combinacional que controle el llenado de un tanque
contenedor de un líquido que debe calentarse a una cierta temperatura.

Válvula de
entrada
Sensor de
flujo

Sflujo Ve
Nmax
Lógica de
Monitoreo y Cltr

Sensores Nmin Control


Vs
de Nivel STemp

Calentador Válvula de
Temperatura Salida Salida del
Líquido
Lógica Combinacional - Ejercicios
El tanque contiene un liquido para usar en la preparación de un medicamento. La temperatura del liquido es muy importante porque
la viscosidad del liquido deber ser la indicada por el farmacéutico a cargo. La lógica de control debe prender o apagar el calentador de
acuerdo a la temperatura que mide el sensor de temperatura (esta parte del controlador no se implementará todavía).
Los sensores de nivel de liquido producen un ‘1’ cuando el nivel esta por encima del nivel mínimo o cuando esta al nivel máximo. El
controlador a diseñar debe abrir la válvula de entrada SOLO cuando el nivel del liquido alcanza el nivel mínimo (para recomenzar la
tarea de calentamiento del liquido), y mantenerla abierta, es decir llenándose el tanque (sensor de flujo =‘1’), hasta que se alcance el
nivel máximo (Nmax=‘1’).
Nmax Nmin Sflujo Ve
Diagrama de Tiempo de Circuitos Combinacionales
Un diagrama de tiempo detalla gráficamente el comportamiento de las
señales de un circuito digital en función del tiempo

Diagramas de tiempo constituyen una importante parte de la documentación de


cualquier sistema digital

Son usados para:


• Detallar la relación temporal entra las señales de un sistema
• Para definir los requerimientos de las señales de entrada y de las señales de salida
del sistema a diseñar
Diagrama de Tiempo de Circuitos Combinacionales
Diagrama de Tiempo de Circuitos Combinacionales
Dado el siguiente circuito y los
valores de las entradas en el
tiempo de acuerdo al siguiente
diagrama, dibuje la forma de
onda resultante para X
Diagrama de Tiempo de Circuitos Combinacionales
Dado el siguiente circuito y los valores de las entradas en el tiempo de acuerdo al
siguiente diagrama, dibuje la forma de onda resultante para X
Diagrama de Tiempo de Circuitos Combinacionales

Ejercicio
Un pulso de 50us es aplicado a la entrada una OR-Exclusiva. Un segundo
pulso de 10us es aplicado a la otra entrada. Este pulso comienza 15us
después del comienzo del primer pulso. Dibujar el diagrama de tiempo de la
salida en relación a los cambios de las entradas.
Diagrama de Tiempo de Circuitos Combinacionales

Ejercicio:
Dibujar el diagrama de tiempo ‘real’ resultante dados los siguientes valores
en las entradas

Tpd AND = 5ns


Tpd NOT = 2ns
Tps OR = 5ns

Importante: en un circuito hay tantas retardos de propagación como caminos posibles de una señal

También podría gustarte