M1 IntroSitemaDigital
M1 IntroSitemaDigital
M1 IntroSitemaDigital
Diseño Lógico
Prof. Dr. Martín Vázquez
Un poco de historia…
La historia de la computación está fuertemente relacionada
con la necesidad de la humanidad de contar o calcular
Pascalina (1642)
Blaise Pascal
Máquina Analítica de Babbage (1842)
Sciense Museum Londres
Un poco de historia…
Dispositivos electrónicos (basados en conmutadores)
ENIAC (1946)
J. Mauchly y J. Eckert
Un poco de historia…
Dispositivos electrónicos (basados en conmutadores)
EDVAC (Electronic Discrete Variable Automatic Computer)
Incorpora la Arquitectura de Von Neumann con programa almacenado
20000 operaciones por segundo vs. 333 de ENIAC
Tecnología 10 nm2
Válvulas de Vacío
Con cientos de millones de
Sup. aprox. 3 cm2
transistores (actualidad)
(1904)
Un poco de historia…
Dispositivos electrónicos (basados en conmutadores)
Se maneja eléctricamente
Válvula de vacío
(funciona como diodo)
Relés
electromagnéticos
Transistor
Aplicación del algebra de Boole
Xab
a b
Aplicación del algebra de
Boole
X
X Y
=
Conmutatividad:
x+y = y+x x∙y = y∙x
Asociatividad:
x+(y+z) = (x+y)+z x∙(y∙z) = (x∙y)∙z
Distributividad:
x+(y∙z) = (x+y)∙(x+z) x∙(y+z) = (x∙y)+(x∙z)
Elemento Neutro:
x+0 = x x∙1 = x
Complementario:
x+x´ = 1 x∙x´ = 0
Algebra de Boole
Teoremas
Idempotencia:
x+x = x x∙x= x
Absorción:
x+1 = 1 x∙0 = 0
De Morgan:
(x+y)´ = x´∙y´ (x∙y)´ = x´+y´
Complementario:
1´ = 0 0´ = 1
Involución:
(x´)´ = x
Algebra de Boole
Diseño de Sistemas Digitales
Otras funciones
Negación de la disyunción (NOR), negación de la conjunción
(NAND), disyunción exclusiva (XOR),
Algebra de Boole
Diseño de Sistemas Digitales
x o
La compuerta NOT
0 1
1 0
La compuerta AND
x y o
0 0 0
0 1 0
1 0 0
1 1 1
Algebra de Boole
Diseño de Sistemas Digitales
x y o
La compuerta OR
0 0 0
0 1 1
1 0 1
1 1 1
La compuerta XOR x y o
0 0 0
0 1 1
1 0 1
1 1 0
Algebra de Boole
Diseño de Sistemas Digitales
La compuerta NAND x y o
0 0 1
0 1 1
1 0 1
1 1 0
La compuerta NOR x y o
0 0 1
0 1 0
1 0 0
1 1 0
Algebra de Boole
Funciones lógicas – Tablas de Verdad
o
Algebra de Boole
Funciones lógicas – Tablas de Verdad
maxterm
Algebra de Boole
Funciones lógicas – Tablas de Verdad
maxterm
x y z o
0 0 0 1
0 0 1 0
0 1 0 0
o = (x+y+z´)∙(x+y´+z)∙(x´+y+z)∙(x´+y´+z´) 0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0
Componentes Lógicos
Multiplexor
s
x s=0
x 0
o o=
y 1
y s=1
MUX2_1
Componentes Lógicos
Multiplexor
s
x s=0
x 0
o o=
y 1
y s=1
MUX2_1
o = x∙s´ + y∙s
Componentes Lógicos
Multiplexor
s s
x 0 x
o
y 1 o
y
MUX2_1
o = x∙s´ + y∙s
Componentes Lógicos
Demultiplexor
x s=0
s
o1 =
0 o1
0 s=1
x
1 o2
DMUX2_1 x s=1
o2 =
0 s=0
Componentes Lógicos
Demultiplexor
x s=0
s
o1 =
0 o1
0 s=1
x
1 o2
DMUX2_1 x s=1
o2 =
0 s=0
o1 = x∙s´
o2 = x∙s
Componentes Lógicos
Demultiplexor
s
x
0 o1 o1
s
x
1 o2
o2
DMUX2_1
o1 = x∙s´
o2 = x∙s
Componentes Lógicos
Multiplexor
s0 s1
s 2
x1 0 x1
x2 1
o
x3 2 x2
x4 3 o
MUX4_1 x3
x4
Componentes Lógicos
Multiplexor
s 2
s0 s1
x1 0
x2 1
0
o
1
x3 0
x4 1
Implementar:
s 3
s0 s1 s2
x1 0
x2 1
0
1
x3 0
TMUX8_1 = 3*TMUX2_1 = 3*(TAND+TOR)
x4 1
0
o CMUX8_1 = 7*CMUX2_1 = 7*COR + 14*CAND
1
x5 0
x6 1
0
1
x7 0
x8 1
x 0 x1
8 0 o1
8
o y1
y 8
1 1
MUX2_8
x7
0 o7
y7
1
Componentes Lógicos
Multiplexor
Implementación de un multiplexor de 2 entradas de 8 bits, utilizando
MUX2_1 y x s o
8 8 8
x0
0 o0
y0
s 1
x 0 x1
8 0 o1
8
o y1
y 8
1 1
MUX2_8
Implementar:
x2 8
1
0
1
x3 8
0
x4 8
1
0
8 o
1
x5 8
0
x6 8
1
0
1
x7 8
0
x8 8
1
Determinar:
s 2
s0 s1
s o1
2 x
0 o1
1 o2 o2
x
2 o3
3 o4 o3
DMUX4_1
o4
Componentes Lógicos
Multiplexor
Implementar:
x2..0 o7..0
000 00000001
001 00000010
010 00000100
x 3 8
o
011 00001000
100 00010000
101 00100000
DECODE3
110 01000000
111 10000000
Componentes Lógicos
Decodificador
x0x1x2
o0
o1
o2
x 3 8
o o3
o4
DECODE3 o5
o6
o7
Componentes Lógicos
Decodificador
x 2
0 o0
1 o1
x 2 4
o 1
2 o2
3 o3
DECODE2
DECODE2