Toni Rama
DIGITALES
Curso 2010-11
INDICE
• Introducción a la electrónica digital.
• Sistema de numeración binario.
• Algebra de Boole.
• Métodos de simplificación: Mapas de Karnaugh.
• Puertas lógicas.
3 • En la mayoría de problemas o aplicaciones se tiene que resolver un
problema binario “todo” o “nada”.
DEJAR ENTRAR?
APAGAR/ENCENDER
4
1.- INTRODUCCIÓN
• Problemas más complejos se pueden acotar en varios problemas simples de dos posibles soluciones (número limitado).
Seleccionado el producto 17. Dar producto?
Dinero entregado mayor o menor que precio? Mayor: Motor ON.
Detectado peso en bandeja de entrega? Detectado: Diferencia de dinero – precio es 0? NO: (15). Diferencia mayor que 20? NO. Menor
que 10? NO. Entrega 10 cts.
5 • Por tanto necesitaremos trabajar con señales que tengan dos estados
“todo o nada”, “1 o 0”señales binarias o digitales.
• Circuitos que trabajan con señales digitales, se les denomina también circuitos lógicos.
“1”
“0”
“1”
• A partir de varias señales binariasen paralelo se pueden crear más posibilidades o estados de las posibles variables binarias.
• Necesidad de definir unas nuevas herramientas matemáticas para trabajar con estas señales binarias: sistema de numeración binarioi el algebra de Boole.
2.- SISTEMAS DE NUMERACIÓN BINARIO
• Un sistema de numeración es parte de un lenguaje matemático que utiliza un conjunto de símbolos y reglas matemáticas para representar datos numéricos o cifras.
• Sistema numérico conocido: sistema decimal o de base 10.
10 CIFRAS (0 – 9)
CUALQUIER NÚMERO SE DESCOMPONE EN POTENCIAS DE 10
05
,
0
2
,
0
5
20
400
25
,
425
=
+
+
+
+
2 1
0 1
2
10
5
10
2
10
5
10
2
10
4
25
,
7 • Sistema binario o de base 2.
2 CIFRAS (0 – 1)
CUALQUIER NÚMERO SE DESCOMPONE EN POTENCIAS DE 2
) 10 0
1 2
3 )
2
1
2
0
2
0
2
1
2
8
1
9
1001
=
⋅
+
⋅
+
⋅
+
⋅
=
+
=
• Conversión binaria a decimal: multiplicar por potencias de 2.
10001
17
→
• Conversión decimal a binaria: dividir por 2 sucesivamente.
8
2.- SISTEMAS DE NUMERACIÓN BINARIO
Decimal Binario
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
10 1 0 1 0
11 1 0 1 1
12 1 1 0 0
13 1 1 0 1
14 1 1 1 0
9 • Otro sistemas útiles son el sistema hexadecimal y el código BCD (cifras
grandes). Decimal Binario Hexadecimal
0 0 0 0 0 0
1 0 0 0 1 1
2 0 0 1 0 2
3 0 0 1 1 3
4 0 1 0 0 4
5 0 1 0 1 5
6 0 1 1 0 6
7 0 1 1 1 7
8 1 0 0 0 8
9 1 0 0 1 9
10 1 0 1 0 A
11 1 0 1 1 B
12 1 1 0 0 C
13 1 1 0 1 D
14 1 1 1 0 E
15 1 1 1 1 F
2.- SISTEMAS DE NUMERACIÓN BINARIO
• CODIGO BDC (Binary Coded Decimal)
4
6
1
0100 0110
0001
11 • Algebra del Boole = Lenguaje binario matemático.
F = ā
Inversión
a ⋅a = a ⋅ā= a ⋅0 =
a ⋅1 = 0 ⋅0 = 0
0 ⋅1 = 0 1 ⋅1 = 1 F = a ⋅b
Producto/ Intersección
a + a = a + ā= a + 0 =
a + 1 = 0 + 0 = 0
0 + 1 = 1 1 + 1 = 1 F = a + b
Suma/Unión
Postulados básicos Representación
1
0
=
1
=
0
a
=
12
3.- ALGEBRA DE BOOLE
• Algebra del Boole = Lenguaje binario matemático.
F = ā
Inversión
a ⋅a = a a ⋅ā= 0 a ⋅0 = 0
a ⋅1 = a 0 ⋅0 = 0
0 ⋅1 = 0 1 ⋅1 = 1 F = a ⋅b
Producto/ Intersección
a + a = a a + ā= 1
a + 0 = a a + 1 = 1 0 + 0 = 0
0 + 1 = 1 1 + 1 = 1 F = a + b
Suma/Unión
Postulados básicos Representación
1
13 • Propiedades básicas del algebra de Boole
Teorema de Morgan
a(a+b) = a a+a b = a
Absorción
a ⋅1 = a a + 0 = a
Elemento neutro
Forma dual Forma básica
Leyes
a⋅(b+c) =a⋅b+a⋅c
a+(bc)=(a+b)(a+c)
Distributiva
a⋅(b⋅c)=(a⋅b)⋅c=a⋅b⋅c a+(b+c)=(a+b)+c=a+b+c
Asociativa
a⋅b = b⋅a a + b = b + a
Conmutativa
Tabla 7.4 página 203
3.- ALGEBRA DE BOOLE
• Representación de problemas lógicos: 1. Función lógica.
2. Tabla de la verdad.
15 • Funciones lógicas.
ab
c
ab
F
=
+
Función lógica
Variables binarias
(0,1)
¿Se puede simplificar aplicando postulados?
ab
c
ab
F
=
(
+
1
)
=
16
3.- ALGEBRA DE BOOLE
• Simplifica mediante los postulados (5 MICROPUNTOS):
c
ab
c
b
a
c
ab
abc
F
=
+
+
+
c
b
a
c
ab
d
c
b
a
d
c
ab
abc
17 • Tabla de la verdad: manera gráfica de representar la función
ab
c
ab
F
=
+
Función lógicaVariables binarias
F
c
b
a
3.- ALGEBRA DE BOOLE
• Tabla de la verdad: manera gráfica de representar la función
ab
c
ab
F
=
+
Función lógica19 • A partir de la Tabla de la verdad, ¿cómo se obtiene la función?
??
)
,
,
(
a
b
c
f
F
=
1
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
F
c
b
a
Función lógica1. Forma canónica de minterms. 2. Forma canónica de maxterms. 3. Forma simplificada.
20
3.- ALGEBRA DE BOOLE
• Forma canónica de minterms:suma de productos.
c
b
a
c
b
a
F
=
⋅
⋅
+
⋅
⋅
1
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
F
c
b
a
1. Seleccionar todas las entradas de la tabla que valgan 1.2. Por cada entrada de 1 crear un producto. Las variables que valgan 0 se negarán.
21 • Forma canónica de maxterms:producto de sumas.
)
(
)
(
)
(
...
)...
(
)
(
)
(
c
b
a
c
b
a
c
b
a
c
b
a
c
b
a
c
b
a
F
+
+
⋅
+
+
⋅
+
+
⋅
+
+
⋅
+
+
⋅
+
+
=
1
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
F
c
b
a
1. Seleccionar todas las entradas de la tabla que valgan 0.2. Por cada entrada de 0 crear una suma. Las variables que valgan 1 se negarán.
∏
3(
0
,
1
,
2
,
3
,
4
,
5
)
Nº variables binarias3.- ALGEBRA DE BOOLE
• Forma canónica de minterms:suma de productos.
c
b
a
c
b
a
F
=
⋅
⋅
+
⋅
⋅
1
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
F
c
b
a
)
(
)
(
)
(
...
)...
(
)
(
)
(
c
b
a
c
b
a
c
b
a
c
b
a
c
b
a
c
b
a
F
+
+
⋅
+
+
⋅
+
+
⋅
+
+
⋅
+
+
⋅
+
+
=
ab
F
=
¿Cómo podemos conseguir la función simplificada?
23 • Mapas de Karnaugh (hasta 5 variables binarias como máximo).
1. Mapa dependerá del número de variables.
2. Rellenar el mapa de Karnaugh con los 1 de la tabla de la verdad.
3. Agrupar combinaciones de 1 en múltiplos de 2 y siempre la mayor posible.
24
3.- ALGEBRA DE BOOLE
• Mapas de Karnaugh (hasta 5 variables binarias como máximo).
3. Agrupar combinaciones de 1 en múltiplos de 2 y siempre la mayor posible.
4. Para cada agrupación, miramos los valores de las variables binarias de entrada (para cada agrupación tendremos un producto).
1. Si el valor no cambia durante toda la agrupación, esta formará parte de la expresión simplificada (negada si vale 0).
2. Si el valor cambia durante la agrupación, esa variable no formará parte de la expresión, ya que la salida NO depende del valor de esa variable.
25 • Mapas de Karnaugh (hasta 5 variables binarias como máximo).
c
b
F
=
+
4.- IMPLEMENTACIÓN DE FUNCIONES
• PUERTAS LÓGICAS: Puerta lógica inversora (NOT)
A S
0 1
27 • Las puertas lógicas son los circuitos electrónicos, capaces de operar
según las operaciones y funciones algebraicas definidas por el Algebra de Boole.
c
a
ad
abc
F
=
+
+
Tabla 7.6 página 209
• Se trata de conmutadorescontrolados por las variables binarias de entrada.
28
4.- IMPLEMENTACIÓN DE FUNCIONES
• PUERTAS LÓGICAS: Puerta lógica OR
A B S
0 0 0
0 1 1
1 0 1
29
• PUERTAS LÓGICAS: Puerta lógica N-OR (OR con la salida negada)
A B S
0 0 1
0 1 0
1 0 0
1 1 0
30
4.- IMPLEMENTACIÓN DE FUNCIONES
• PUERTAS LÓGICAS: Puerta lógica AND
A B S
0 0 0
0 1 0
1 0 0
31
• PUERTAS LÓGICAS: Puerta lógica NAND (AND con la salida negada).
A B S
0 0 1
0 1 1
1 0 1
1 1 0
32
5.- CIRCUITOS COMBINACIONALES
• Los circuitos combinacionales son aquellos que la(s) salida(s) sólo dependen del valor de las variables de entrada en ese momento.
SISTEMA COMBINACIONAL n
Entradas
m
Salidas
Se puede expresar como una tabla de la verdad
33 • Los circuitos combinacionales son aquellos que la(s) salida(s) sólo
dependen del valor de las variables de entrada en ese momento.
SISTEMA COMBINACIONAL n
Entradas
m
Salidas
ANÁLISIS: Dado un sistema se trata de analizar su comportamiento
SÍNTESIS: Dadas unas funcionalidades se trata de obtener el sistema.
5.- CIRCUITOS COMBINACIONALES
1.- ENUNCIAR CONDICIONES DE FUNCIONAMIENTO
• SÍNTESIS o DISEÑO: Dadas unas funcionalidades se trata de obtener el sistema.
2.- REALIZAR LA TABLA DE LA VERDAD
3.- OBTENER LA EXPRESIÓN ALGEBRAICA Y SIMPLIFICARLA (MÉTODO DE KARNAUGH).
35
• SISTEMAS COMBINACIONALES:
1. CODIFICADOR. 2. DECODIFICADOR.
3. MULTIPLEXOR-DEMULTIPLEXOR. 4. COMPARADOR.
DISEÑO DE LOS BLOQUES COMBINACIONALES
36
5.1- CODIFICADOR
• Se trata de un circuito combinacional que indica que entrada está activa. Es decir, cada entrada tiene asignado un número decimal (combinación de salida) o lo que es lo mismo codifica de decimal a binario.
C
O
D
IF
IC
AD
O
R
2
nEntradas
n
37
• Ejemplo: Codificador de decimal a binario de 2 bits.
C
O
D
IF
IC
AD
O
R
2
bi
ts
4
Entradas
2
Salidas
5.1- CODIFICADOR
• Ejemplo: Codificador de decimal a binario de 2 bits.
C
O
D
IF
IC
AD
O
R
2
bi
ts
E0
E1
E2
E3
S0
39
• Ejemplo: Codificador de decimal a binario de 2 bits.
C
O
D
IF
IC
AD
O
R
2
bi
ts
E0 E1
E2
E3
S0
S1
‘1’ ‘0’
‘0’ ‘0’
‘0’
‘0’
40
5.1- CODIFICADOR
• Ejemplo: Codificador de decimal a binario de 2 bits.
C
O
D
IF
IC
AD
O
R
2
bi
ts
E0
E1
E2 E3
S0
S1 ‘1’
‘0’ ‘0’
‘0’ ‘1’
41
• Ejemplo: Codificador de 2 bits. E03 E02 E01 E00 S1 S0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
42
5.1- CODIFICADOR
• Ejemplo: Codificador de 2 bits. E03 E02 E01 E00 S?1 S?0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
PROBLEMA 1:
NINGUNA LINEA ACTIVA
SOLUCIÓN 1:
43
• Ejemplo: Codificador de 2 bits. E03 E02 E01 E00 S01 S00 NL1
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 0
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 0
PROBLEMA 1:
NINGUNA LINEA ACTIVA
SOLUCIÓN 1:
SEÑAL DE SALIDA NL (NINGUNA LINEA).
44
5.1- CODIFICADOR
• Ejemplo: Codificador de 2 bits. E03 E02 E01 E00 SX1 SX0
0 0 0 1 0 0
0 0 1 0 0 1
0 0 1 1 ? ?
0 1 0 0 1 0
0 1 0 1 ? ?
0 1 1 0 ? ?
0 1 1 1 ? ?
1 0 0 0 1 1
1 0 0 1 ? ?
1 0 1 0 ? ?
1 0 1 1 ? ?
1 1 0 0 ? ?
1 1 0 1 ? ?
1 1 1 0 ? ?
1 1 1 1 ? ?
PROBLEMA 2:
MÁS DE UNA LÍNEA ACTIVA.
SOLUCIÓN 2:
45
• Ejemplo: Codificador de 2 bits. E03 E02 E01 E00 SX1 SX0 NL1
0 0 0 1 0 0 0
0 0 1 0 0 1 0
0 0 1 1 0 1 0
0 1 0 0 1 0 0
0 1 0 1 1 0 0
0 1 1 0 1 0 0
0 1 1 1 1 0 0
1 0 0 0 1 1 0
1 0 0 1 1 1 0
1 0 1 0 1 1 0
1 0 1 1 1 1 0
1 1 0 0 1 1 0
1 1 0 1 1 1 0
1 1 1 0 1 1 0
1 1 1 1 1 1 0
CODIFICADOR CON PRIORIDAD LINEA ALTA
1 MAPA DE KARNAUGH POR SALIDA
46
5.1- CODIFICADOR
• Ejemplo: Codificador de 2 bits. E03 E02 E01 E00 SX0
0 0 0 1 0
0 0 1 0 1
0 0 1 1 1
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 0
1 0 0 0 1
1 0 0 1 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
E3E2
E1E0
00
01
11
01
00
01
11
47
• Ejemplo: Codificador de 2 bits. E03 E02 E01 E00 SX0
0 0 0 1 0
0 0 1 0 1
0 0 1 1 1
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 0
1 0 0 0 1
1 0 0 1 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
E3E2
E1E0
00
01
11
10
00
X
0
1
1
01
0
0
1
1
11
1
0
1
1
10
1
0
1
1
48
5.1- CODIFICADOR
• Ejemplo: Codificador de 2 bits.
E3E2
E1E0
00
01
11
10
00
X
0
1
1
01
0
0
1
1
11
1
0
1
1
10
1
0
1
1
E
3E
1Ē
2S
0=
E
1Ē
49
• Ejemplo: Codificador de 2 bits. E03 E02 E01 E00 SX1
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 1
0 1 0 1 1
0 1 1 0 1
0 1 1 1 1
1 0 0 0 1
1 0 0 1 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
E3E2
E1E0
00
01
11
01
00
X
1
1
1
01
0
1
1
1
11
0
1
1
1
10
0
1
1
1
5.1- CODIFICADOR
• Ejemplo: Codificador de 2 bits.
E3E2
E1E0
00
01
11
01
00
X
1
1
1
01
0
1
1
1
11
0
1
1
1
10
0
1
1
1
E
3E
251
• Se trata de un circuito combinacional que activa la línea de salida indicada a la entrada. Es decir, cada combinación de entrada activa una salida. o lo que es lo mismo codifica de binario a otro código (decimal).
D
EC
O
D
IF
IC
AD
O
R
2
nEntradas
n
Salidas
52
5.2- DECODIFICADOR
• Ejemplo: Decodificador 2 entradas.
D
EC
O
D
IF
IC
AD
O
R
2
en
tr
ad
as
2
Entradas
4
53
• Ejemplo: Decodificador 2 entradas.
D
EC
O
D
IF
IC
AD
O
R
2
en
tr
ad
as
E0
E1
S0
S1
S2
S3
5.2- DECODIFICADOR
• Ejemplo: Decodificador 2 entradas.
D
EC
O
D
IF
IC
AD
O
R
2
en
tr
ad
as
E0
E1
S0
S1
S2
S3
55
• Ejemplo: Decodificador 2 entradas.
D
EC
O
D
IF
IC
AD
O
R
2
en
tr
ad
as
E0
E1
S0
S1
S2
S3 ‘1’
‘1’
56
5.2- DECODIFICADOR
Ejemplo: Decodificador 2 entradas.
E1 E0 S3 S2 S1 S0
0 0 0 0 0 1
0 1 0 0 1 0
1 0 0 1 0 0
1 1 1 0 0 0
S
0=
Ē
1Ē
0S
1=
Ē
1E
oS
2= E
1Ē
057
• Se trata de un circuito combinacional que dirige una de las entradas (Ei) a
la salida (S) mediante las variables de selección o control (A).
M
U
LT
IPL
E
X
O
R
2nEntradas
m E0
m E1
m
1 2n
E
−. . .
S m
1
An-1
1
A1
1
A0
nEntradas de Selección
5.3- MULTIPLEXOR
• Ejemplo: Multiplexor de 1 bit de 4 entradas.
M
U
LT
IPL
E
X
O
R
1 E0
1 E1
S 1
1
A1
1
A0
1 E2
1 E3
59
• Ejemplo: Multiplexor de 1 bit de 4 entradas.
M U LT IPL E X O R 1 E0 1 E1 S 1 1 A1 1 A0 1 E2 1 E3 0 1 3 0 1 2 0 1 1 0 1
0
A
A
E
A
A
E
A
A
E
A
A
E
S
=
⋅
+
⋅
+
⋅
+
⋅
60
5.4- DEMULTIPLEXOR
• Se trata de un circuito combinacional que dirige la entrada (E) a una de las salidas (Si) mediante las variables de selección o control (A).
D E M U LT IPL E X O R
2nSalidas
m S0
m S1
m
S
2n−1. . . E m 1 An-1 1 A1 1 A0
61
• Demultiplexor de 1 bit de 4 salidas.
D E M U LT IPL E X O R
1 S0
1 S1
E 1
1
A1
1
A0
1 S2
1 S3
‘1’ ‘0’
5.4- DEMULTIPLEXOR
• Demultiplexor de 1 bit de 4 salidas.
D E M U LT IPL E X O R
1 S0
1 S1
E 1
1
A1
1
A0
1 S2
1 S3
63
• Premisa: Aparte de las puertas lógicas OR, AND y NOT, existe una cuarta puerta lógica que es muy utilizada: la X-OR (Or eXclusiva).
A B S
0 0 0
0 1 1
1 0 1
1 1 0
64
5.5- COMPARADOR
• El comparador binario es un circuito combinacional que compara la entrada A de m-bits con la entrada B de n-bits. Puede tener hasta tres salidas (>, = ó <) que se activarán si la condición A ? B es cierta.
C
O
M
PAR
AD
O
R
m A
m
B 1 S=
>
< =
S>
1
S<
65
• El comparador binario es un circuito combinacional que compara la entrada A de m-bits con la entrada B de n-bits. Puede tener hasta tres salidas (>, = ó <) que se activarán si la condición A ? B es cierta.
C
O
M
PAR
AD
O
R
1
S=
1 >
< =
S>
1
S<
1 A0
A1
Am-1
1
1
B0
B1
Bm-1
1
1
mentradas (bits)
mentradas (bits)
IN A
IN B
Bits más significativos (MSB)
5.5- COMPARADOR
• El comparador binario es un circuito combinacional que compara la entrada A de m-bits con la entrada B de n-bits. Puede tener hasta tres salidas (>, = ó <) que se activarán si la condición A ? B es cierta.
67
• Se diseña un sistema combinacional básico. Si se quieren realizar bloques combinacionales más completos (más entradas, más salidas, más bits), se suelen CONCATENAR bloques mediante la señal de
ENABLE.
• La señal ENABLE (EN) se trata de una entrada que permite que el bloque funcional se active o se desactive (salidas en valor desactivado,
normalmente “0”).
DEC. 2 IN 2
Entradas
4
Salidas
EN