Professional Documents
Culture Documents
Sistemas Compressed
Sistemas Compressed
Sistemas Digitales
Introducción y Metodología
Niveles de abstracción:
Físico (mas bajo)
Elementos discretos (R,L,C,TR)
Compuertas lógicas
Bloques lógicos funcionales
Sistemas digitales
Ejemplo de un Sistema Digital (abstracción alta):
Sistemas Digitales
Circuitos electrónicos que utilizan representaciones
discretas de la información
Discreto en el magnitud (valor) y en el tiempo
Magnitud
Tiempo
Representación Binaria
Representación básica para la
forma más simple de la
información (un bit):
43
Verdadero o Falso
Si - No
Abierto - Cerrado
i.e. un dígito binario (base 2), o
un bit: 0 ó 1 En 1890 Herman Hollerith trabajando para la Oficina
del Censo de EE.UU. desarrolló un dispositivo que
podría leer automáticamente la información que se
había perforado en una tarjeta.
lamp_enabled
lamp_lit
Dark = 1
sensor
and or 2
6 X Y
2
Y 6
not xor Todas las funciones lógicas se pueden construir usando las
tres compuertas básicas: and/or/not.
Esto se denomina un conjunto “funcionalmente completo”
in0
Out
in1
s Select
(in 2)
mux
(multiplexer)
Circuitos Combinacionales
Circuitos cuyos valores de salida dependen
exclusivamente de los valores presentes de sus
entradas. i.e. no hay memoria.
>30°C
vat 0 >25°C
>30°C
+V
vat 1 >25°C select vat 1
select vat 0
low level
above_30_0
>30°C temp_bad_0
or_0a
inv_0 or_0b
above_25_0
>25°C
wake_up_0
below_25_0
low_level_0
low level select_mux
0 buzzer
1
buzzer
above_30_1
>30°C temp_bad_1
or_1a
inv_1 or_1b wake_up_1 +V
above_25_1
>25°C
select_vat_1
below_25_1
low_level_1
low level
Circuitos Secuenciales
“Circuitos cuyos valores de salida
dependen de los valores de las
entradas actuales (presentes) y de las
anteriores.
Incluye alguna forma de almacenamiento de valores (memoria)
D Q
clk
Disipación de Energía
Corriente a través de resistencias => calor
Debe ser disipada, o el circuito se quema!
Mas velocidad de reloj -> mas switching -> mas calor (mayor
tasa de fallos, menor vida útil)
Resumen
Sistemas Digitales utilizan una
representación discreta de la información
Procesan esta información mediante el uso de compuertas
lógicas y memoria
Hay circuitos Combinacionales y Secuenciales (síncronos y
asíncronos), todos basados en compuertas lógicas.
Para simplificar el diseño se ‘abstraen’ las compuertas y
bloques funcionales, sin olvidar las restricciones
(supuestos) de la abstracción.
Restricciones del mundo real incluyen: retardo
(capacitancía), consumo de potencia, disipación de calor,
etc..
EL-4002 Sistemas Digitales
Al finalizar este curso Ud debiera:
Lograr comprensión continua desde los menores
niveles de abstracción hasta el diseño de
sistemas digitales complejos
Lógica
Transistores Compuertas combinacional Microprocesador
Lógicas y secuencial
EL-3102
Sistemas Digitales
Representación de la Información
y aritmética booleana
Representación de la Información
Voltaje alto-bajo en las compuertas se interpreta como 1-0
un arreglo de 1-0s puede representar:
Un número (sistema numérico de base 2)
Una caracter -letra o símbolo- (American Standard
Code for Information Interchange, ASCII)
La intensidad de luz en cada pixel de una imagen de
escala de grises (greyscale)
A r A r
i=n-1 j=-1
(Número)r = i
i
j
j
i=0 j=-m
(Parte Entera) + (Parte Fraccionaria)
Octal 8 0,1,2,3,4,5,6,7
Decimal 10 0,1,2,3,4,5,6,7,8,9
Hexadecimal 16 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
Las seis letras en hexadecimal representan los valores 10, 11, 12,
13, 14 y 15 (dados en decimal), i.e. FF = 1510*161 + 1510*160 = 255
X 0 0 1 1
-Y -0 -1 -0 -1
BS 00 11 01 00
Préstamo en (Z) de 1: Z -1 -1 -1 -1
X 0 0 1 1
-Y -0 -1 -0 -1
BS 11 10 00 11
EL-4002 Sistemas Digitales
Tabla de verdad de un restador Binario de un Bit
X Y Z X Y B S
(-) (-)
0 0 0 0 0
Restador 0 0 1 1 1
B de 1 bit Z
(sub) 0 1 0 0 1
0 1 1 0 0
1 0 0 1 1
S
1 0 1 1 0
1 1 0 0 0
1 1 1 1 1
Multiplicación Binaria
La tabla de multiplicación binaria es simple:
00=0 | 10=0 | 01=0 | 11=1
Extendiendo la multiplicación a múltiple dígitos:
Multiplicando x multiplicador
1011x101 1011x111
Productos parciales: 1011 1011
0000 - 1011 -
+ 1011 - - +1011- -
Producto: 110111 1001101
Dividendo Divisor
11011001:1011=10011
1011
217:11=19 0010100
-11 1011
107 10011
-99 1011
8 1000
Resto
CPU vs GPU
Intel x87 Arquitecture
FADD
Op FABS FMUL FDIV FSQRT FCOS FTAN
FSUB
Latency
3 6 8 30-40 30-40 180-280 240-300
(clk ticks)
http://www.intel.com/content/dam/doc/manual/64-ia-32-architectures-optimization-manual.pdf
FSIN
Op FADD FMUL FDIV FSQRT FTAN
FCOS
Latency 24 26 52 28 48 98
Credits: Architecture and micro-architecture of GPUs Sylvain Collange Arénaire, LIP, ENS de Lyon
“Overflow”
El resultado necesita mas de 4 bits!
1
Sumar los siguientes
1001
números binarios de
+ 0101
4 bits
1110
111
1011 0
+ 0110
10001
El “Overflow” es una causa bastante común de los fallos de software. Es un error difícil
de descubrir y diagnosticar porque puede manifestarse solamente en caso de grandes
conjuntos de datos de entrada, que son menos susceptibles de ser utilizados en las
pruebas de validación.
Un Overflow no controlado en el software de la dirección del motor fue la causa
principal del accidente del vuelo inaugural del cohete Ariane 5 (ESA). El software había
sido considerado libre de errores, ya que se había utilizado en muchos vuelos anteriores,
pero en cohetes más pequeños que generan aceleraciones menores. (Wikipedia)
Problema
i0
Binary Two's
Números Complemento de Dos complement
Decimal
0111 7
MSB tiene peso -2N-1 0110 6
0101 5
A a n1 2 a 2
n2
n1 0100 4
i
i 0011 3
i0 0010 2
0001 1
Número de 4 bits más positivo: 0111 0000 0
Número de 4 bits más negativo: 1000 1111 −1
1110 −2
El bit más significativo sigue
1101 −3
indicando el signo (1 = negativo, 0 = 1100 −4
positivo) 1011 −5
Rango número complemento de dos 1010 −6
de N-bits: [-(2N-1), 2N-1-1] 1001 −7
1000 −8
EL-4002 Sistemas Digitales
Números Complemento de Dos
No tiene los problemas como los números en
Signo y Magnitud:
La suma funciona en todos los casos
Hay una única representación para el 0
Representación mas eficiente
Método:
Invertir los bits, y
Sumar 1
Ejemplos: Cambiar el signo de:
10 0111
1101 = -3 0111 = +7
+ 1010 = -6 + 0111 = +7
10111 = +7 01110 = -2
underflow overflow
EL-4002 Sistemas Digitales
Complemento de dos: Extensión a más bits
Sin Signo 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111 Complemento de Dos
0000
1111 1110 1101 1100 1011 1010 1001 0001 0010 0011 0100 0101 0110 0111 Signo y Magnitud
1000
The true significand (mantissa) includes 23 fraction bits to the right of the binary point and an implicit
leading bit (to the left of the binary point) with value 1 unless the exponent (e) is zero. Thus only 23
fraction bits of the significand appear in the memory format but the total precision is 24 bits.
Range: from -2*2^128 to +2*2^128, i.e from -3.4.*10^38 to + 3.4.*10^38
Cultura general….
Cubo 3D 2D
Teseracto
4D
3D
Teseracto
Sistemas Digitales
( Wikipedia )
Operaciones Lógicas
Ejemplos de Notación
Ejemplos:
Y = A · B, se lee como: “Y es igual a A y B”
z = x + y, se lee como: “z es igual a x ó y”
X = Ā, se lee como: “X es igual a no A”
La declaración:
1 + 1 = 2 (se lee “uno más uno es igual a dos”) no
es lo mismo que:
1 + 1 = 1 (se lee “1 ó 1 es igual a 1”)
D
La luz se enciende (L = 1) para
_ _
L(A, B, C, D) = A·((B·C) + D) = A·B·C + A·D
y se apaga para (L = 0) en caso contrario
Conmutatividad
(T6) a+b=b+a (T6’) a • b = b • a
Asociatividad
(T7) (a + b) + c = a + (b + c) (T7’) (a • b) • c = a • (b • c)
Distributividad
(T8) a • (b + c) = a • b + a • c (T8’) a + (b • c) = (a + b) • (a + c)
Absorción
(T9) a + (a • b) = a (T9’) a • (a + b) = a
Combinación
(T10) a • b + a • b’ = a (T10’) (a + b) • (a + b’) = a
Álgebra de Boole: Teoremas de dos o mas variables
Consensus
(T11) (a • b) + (a’ • c) + (b • c) = (a • b) + (a’ • c)
(T11’) (a + b) • (a’ + c) • (b + c) = (a + b) • (a’ + c)
Impotencia generalizada
(T12) (a + a + a + … + a) = a
(T12’) (a • a • a • … • a ) = a
DeMorgan
(T13) (a1 • a2 • a3 • … • an)’ = (a1’ + a2’ + a3’ + … + an’)
(T13’) (a1 + a2 + a3 + … + an)’ = (a1’ • a2’ • a3’ • … • an’)
A + A·B
=A·1+A·B X = X · 1 (Identidad)
= A · ( 1 + B) X · Y + X · Z = X ·(Y + Z) (Distributividad)
=A·1 1 + X = 1 (Elemento Nulo)
=A X · 1 = X (Identidad)
F = (x + y + z)(x + y + z)
EL-4002 Sistemas Digitales
Precedencia de los Operadores Booleanos
Minitérminos
Los Minitérminos son la operación AND entre
cada variable de una función, ya sea en su
forma normal o complementada (negada)
Hay 2n minitérminos para n variables
F(X1 … Xn) = mi
i|Fi=1
F(X1 … Xn) = Mi
i|Fi=0
Veamos un ejemplo
Tabla de verdad
Índice X Y Z F (X,Y,Z)
0 0 0 0 1
1 0 0 1 0
2 0 1 0 0
3 0 1 1 1
4 1 0 0 1
5 1 0 1 0
6 1 1 0 1
7 1 1 1 1
Tabla de verdad M1 M2 M5
Indice X Y Z F (X,Y,Z) (x+y+z’) (x+y’+z) (x’+y+z’) F(X,Y,Z)
0 0 0 0 1 1 1 1 1
1 0 0 1 0 0 1 1 0
2 0 1 0 0 1 0 1 0
3 0 1 1 1 1 1 1 1
4 1 0 0 1 1 1 1 1
5 1 0 1 0 1 1 0 0
6 1 1 0 1 1 1 1 1
7 1 1 1 1 1 1 1 1
Como se implementa?
F(X1 … Xn) = (x+y+z’) • (x+y’+z) • (x’+y+z’)
x
y
z
x
y
z
x
y
z
Será óptimo??...
Observaciones a las SdP y PdS
Los ejemplos previos muestran que:
Las Formas Canónicas (Suma de Minitérminos,
Producto de Maxitérminos) (SdP, PdS) difieren en
complejidad
El Álgebra de Boole puede ser utilizada para
manipular las expresiones para obtener expresiones
más simples
Preguntas pendientes:
¿Cómo se puede obtener la expresión “más simple”?
¿Hay solamente un circuito de mínimo costo?
Para responder esta pregunta se debe definir
costo.
Problema 2:
Un contenedor posee un sensor de 8 niveles (3bits) que mide el nivel
de un líquido. Diseñe un circuito que genere una alarma si el nivel esta
en alguno de los dos valores mas bajos (niveles 0,1); o en alguno de
los dos mas altos (6,7).
EL-3102
Sistemas Digitales
Circuitos Combinacionales
Un circuito combinacional en general tiene:
Un conjunto de m entradas Booleanas,
Un conjunto de n salidas Booleanas, y
n funciones de “switching”, cada una mapeando las 2m
combinaciones de entrada a una salida tal que la salida depende
solamente de los valores de la entrada
Costo de Literales
Criterio de Costos
Ejemplo 1: GN = G + 2 = 9
L=5
F=A+BC+BC
G=L+2= 7
B
C
A F
Publications
1. The Map Method for Synthesis of Combinational Logic Circuits, Trans. AIEE. pt I, 72(9):593-599,
November 1953
2. Issues in Computer Communications, IEEE Trans. Comm., pp. 495–498, 1972
3. A New Class of Algorithms for Multipoint Network Optimization, IEEE Trans. Comm., May 1976,
pp. 505–505
4. Generalized quicksearch for expert systems, in Proc. Artificial Intelligence for Applications, pp.
30–34. 1992
5. Symbolic Sets and the Real Line, online at symbolicsets.com, 2015
1 1 0
2 3
F(x,y) = x y + x y
propiedad x + x = 1 1 1 1
F(x,y) = x y + x y 2 3
= x (y + y)
=x
Ejemplo: G(x,y) = x + y y 0 1
x
Para G(x,y), dos pares de 0 1
0
celdas adyacentes contienen
1’s que se pueden combinar 1 1 1
utilizando el Teorema de
Minimización:
G(x,y) = x y + x y + x y
= xy + xy + xy + xy
= x(y + y) + y(x + x)
=x+y
Ejemplo: G(x,y) = x + y y 0 1
x
Para G(x,y), dos pares de 1 0
0
celdas adyacentes contienen
1’s que se pueden combinar 1 1 1
utilizando el Teorema de
Minimización:
G(x,y) = x y + x y + x y
= xy + xy + xy + xy
= x(y + y) + y(x + x)
=x+y
yz
F(x, y, z) 00 01 11 10
x
m0 m1 m3 m2
0
m4 m5 m7 m6
1
Ejemplos de Funciones
Por convención, se representan los minitérminos de F
por un "1" en el mapa y se dejan los minitérminos F
en blanco yz
00 01 11 10
x
Ejemplo: 1 1 0
F(x, y,z) m(2,3,4,5) 1
1
1
F(x, y,z) = x y z + x y z + x y z + x y z
F(x, y,z) = x y + x y
1 1 1 1
4 5 7 6
G(x, y,z) = x y z + x y z + x y z + x y z
G(x, y,z) = y z + x y + x y z
G(x, y,z) = y z + x y + x z Métrica de Hamming !
Combinación de Celdas
Al combinar celdas, se reduce el número de
literales en un término producto, reduciendo el
costo de literales, por lo tanto reduciendo los otros
dos criterios de costo
En Mapas de Karnaugh de 3 variables:
Una celda representa un minitérmino con tres
variables (literales)
Dos celdas adyacentes representa un término
producto con dos variables
Cuatro celdas “adyacentes” representa un término
producto con una variable
Ocho términos “adyacentes” es la función (sin
variables) = 1.
EL-4002 Sistemas Digitales 18
Ejemplo: Combinación de Celdas
yz
Ejemplo: x
00 01 11 10
0
1 1
F m(2,3,6,7) 1 1 1
1 1 1 1
4 5 7 6
4 5 7 6
01
F(w, x, y, z)
12 13 15 14
11
8 9 11 10
10
10 1
8 9 11 10
01 1
4
1
5
1
7
1
6
wx
11 1 1
12 13 15 14 xz
10 1 1
8 9 11 10
xz
Qué implicantes escojo?
EL-4002 Sistemas Digitales 30
Un mapa de Karnaugh de 4 variables puede ser
entendido como un toro al disponer las celdas en
3 dimensiones usando la métrica de Hamming
Logical Implication
yz 00 01 11 10
p q p→q x
1 1 1 0 1 1 1
1
0 3 2
1 0 0
1 1 1 1
0 1 1 4 5 7 6
0 0 1
00 1
0 1 3 2
01 1 1 1
4 5 7 6
11 1 1 1
12 13 15 14
10 1
8 9 11 10
00 1
0 1 3 2
01 1 1 1
4 5 7 6
11 1 1 1
12 13 15 14
10 1
8 9 11 10
00 1
yx 0 1 3 2
xz
01 1 1 1
4 5 7 6
11 1 1 1
12 13 15 14
10 1
8 9 11 10
yz
10 1 1 1 1 10 1 1 1 1
xz
wz
EL-4002 Sistemas Digitales 33
Cubren Si
todos los Fin
1’s?
No
Varias soluciones
Escojo implicantes
Fin
primos de menor costo
32
Ejemplo de Regla de Selección
Simplificar F(A, B, C, D) dado el Mapa K
Seleccionados Esenciales
CD 00 01 11 10
AB
00 1 1 1 1
01 1 1 1 1 1 1 1 1
11 1 1
10 1 1 1 1
F(w,x,y,z) = 𝑚(0,2,4,5,6,7,8,10,13,15)
yz
wx 00 01 11 10
wz
00 1 1
0 1 3 2
01 1
4
1
5
1
7
1
6
wx
11 1 1
12 13 15 14 xz
10 1 1
8 9 11 10
xz
F(w,x,y,z)=xz + xz +wx 30
Términos "No Importa" (“Don't Cares”) en Mapas de
Karnaugh
A veces una tabla de verdad o un mapa contiene entradas para
las cuales se sabe que:
La combinación de entrada para el minitérmino nunca va a ocurrir, o
El valor de salida para el minitérmino no se utiliza
En esos casos, el valor de salida no necesita ser definida
Por lo tanto, el valor de salida se define como “no importa”
(“don't care”)
Al colocar “don't cares” ( se ingresa “Φ” o “x”) en la tabla de
verdad o en el mapa.
yz 00 01 11 10
Utilizo el valor de verdad de Φ x
que mas me convenga : 0 x 1 1 x
0 1 3 2
1 1 x
4 5 7 6
x
>30°C
y
<25°C Alarma
Nivel z
bajo yz 00 01 11 10
x
0 1 1
1 1
0 3 2
Función alarma
x y z F 1 1 1 x x
4 5 7 6
0 0 0 0
0 0 1 1 F=x+y+z
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 x
1 1 1 x
Funciones de múltiples salidas
Entradas Salidas
XY XY XY
X Y Z S0 S1 S2 00 01 11 10 00 01 11 10
00 01 11 10
Z Z Z
0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0
0 1 0 0 1 0
S0 K-map S1 K-map S2 K-map
1 1 1 1
1 0 0 0 0 0
1 0 0 0
S0 = Y Z + X Y
1 1 0 0 0 0 S1 = Z X + X Y + Y Z
1 1 1 1 S2 = Y Z + Z X
X XYYZ Z X XYYZ Z
X S0 X S0
Y Y
S1 S1
Z Z
S2 S2
01 01
11 11
10 10
CD CD
AB AB
Continuemos optimizando…
G = 2 + 4 + 6 + 4 + 0= 16
G = 2 + 4 + 7 + 6 + 0= 19
Optimización
Mapas de K, Algebra
booleana
Implementación
Construir diagrama circuital con las compuertas disponibles
en la tecnología a implementar
Verificación
Simulaciones o tablas de verdad
Fin
xy 00 01 11 10
z
0 1 1
F(x,y,z)=xz +yz 1 1 1
xy 00 01 11 10
z
0 1 1
F(x,y,z)=xz +yz + xy
1 1 1
wx wx
yz yz
wx wx
yz yz
Peligros de sincronización (Timing hazards)
Ejemplo de 4 variables
wx wx
yz yz
wx wx
yz yz
Sistemas Digitales
Circuitos Secuenciales
Parte 1: Elementos de Memoria, Latch,
Flip-flop y Registros
Entradas Salidas
Estado Estado
Síncronos Actual Siguiente
Asíncronos
Comportamiento definido por el conocimiento de las entradas y
estado en cualquier instante de tiempo y del orden del cambio de
las entradas a todo tiempo posterior
Si el reloj se considerara como otra entrada, todos los circuitos
serían asíncronos!
Sin embargo, la abstracción síncrona (tiempo discreto) hace
manejable (analizable) diseños complejos.
almacenado en Y
B In1
un Mux
S
B S Y Comentarios
Tiempo 1 0 0 Y=0
1 1 1 Y = B cuando S = 1
1 0 1 Ahora Y “recuerda” B = 1
para S = 0
0 0 1 No hay cambios en Y cuando
B cambia
0 1 0 Y = B cuando S = 1 ¿ Donde queda
0 0 0 Y “recuerda” B = 0 para S = almacenado el valor
0
1 0 0 No hay cambios en Y cuando el sistema esta
cuando B cambia “recordando”?
“Cross-Coupling” R (reset)
Q
de dos compuertas
NOR se obtiene un
“Latch” S-R: S (set) Q
Tiempo R S Q Q Comentario
0 0 ? ? Estado desconocido
0 1 1 0 “Set” Q a 1
0 0 1 0 Ahora Q “recuerda” 1
1 0 0 1 “Reset” Q a 0
0 0 0 1 Ahora Q “recuerda” 0
1 1 0 0 Ambos se van a 0 (prohibido)
0 0 ? ? Inestable!
S = 0, R = 0 es R S Q Q Comentario
Tiempo
prohibido como 1 1 ? ? Estado desconocido
patrón de 1 0 1 0 “Set” Q a 1
1 1 1 0 Ahora Q “recuerda” 1
entrada 0 1 0 1 “Reset” Q a 0
1 1 0 1 Ahora Q “recuerda” 0
0 0 1 1 Ambos se van a 1 (prohibido)
1 1 ? ? Inestable!
EL-4002 Sistemas Digitales
Agregando dos S
Q
compuertas NAND al
Latch S - R básico, C
se obtiene el Latch
Q
S – R con Reloj: R
Tiene un comportamiento de
Tiempo
secuencia en el tiempo similar al R S Q Q Comentario
Latch S-R básico, excepto que 1 1 ? ? Estado desconocido
las entradas S-R son solamente 1 0 1 0 “Set” Q a 1
observadas cuando la línea C es 1 1 1 0 Ahora Q “recuerda” 1
“high” 0 1 0 1 “Reset” Q a 0
C significa “control” o “reloj 1 1 0 1 Ahora Q “recuerda” 0
(Clock)”. 0 0 1 1 Ambos se van a 1
1 1 ? ? Inestable!
EL-4002 Sistemas Digitales
“Latch” S–R (Set-Reset) con Reloj
El Latch S-R con Reloj puede ser descrito por una
tabla de estado ‘actual’ y ‘siguiente':
Q(t) S R Q(t+1) Comentario
S
Q 0 0 0 0 No hay cambios
0 0 1 0 Clear Q
C
0 1 0 1 Set Q
Q 0 1 1 ??? Indeterminado
R
1 0 0 1 No hay cambios
1 0 1 0 Clear Q
La tabla describe qué 1 1 0 1 Set Q
sucede cuando el reloj se 1 1 1 ??? Indeterminado
hace 1 en función de:
Hay dos configuraciones
entradas actuales (S,R), y
en la que no hay
estado actual Q(t).
cambios, Es decir es
EL-4002 Sistemas Digitales
“Biestable”
Latch D (Data)
Agregando un decoder, se S
obtiene el Latch D D
Ya no hay estados Q
indeterminados !
Q
R
Q D Q(t+1) Comentario
El símbolo gráfico
0 0 0 No hay cambios
para el Latch D es:
0 1 1 Set Q
1 0 0 Clear Q D Q
1 1 1 No hay cambios
C Q
Latch Resumen
Contenido:
S
D
Q
El Problema de C
Tiempo del Latch Q
R
Reloj
Y
Mientras C = 1, el valor de Y sigue cambiando!
Los cambios están basados en el retardo presente en el
loop a través de la conexión de realimentación de Y a Y
Este comportamiento es inaceptable
Comportamiento deseado de la logica sincrona: 'Y'
cambia sólo una vez por pulso de reloj
EL-4002 Sistemas Digitales
romper el camino
Reloj C Q
"combinacional” de D a Y
Flip-Flop D Edge-Triggered
Master Slave
0>1>0 0>1>0 S 0
El Flip-Flop D “edge-triggered” es D D Q Q Q
similar al flip-flop Master Slave, pero C
se reemplaza el primer Latch S-R por 1
C C Q R Q
Q
un latch D
Flip-Flop J-K
Latches
R Q R Q C Q C Q
S Q S Q
Flip-Flops SR “Master-Slave” C C
R Q R Q
“Triggered” SR “Triggered” SR
Edge-Triggered indicator
D Q D Q J Q
C
C Q C Q K Q
Aplicaciones
USB/USB2.0
Half duplex
USB3.0
Full Duplex
Linear-Feedback Shift Register (LFSR)
Generación de números pseudo-aleatorios
Pasa por todos los estados menos el “0,0,0,0” de forma pseudo-aleatoria
Periodo 2n-1
Para un registro suficientemente grande de bits es casi imposible distinguir de
números realmente aleatorios.
Aplicaciones: Spread Spectrum radio (CDMA), Generadores de ruido blanco,
Criptografía, Simulaciones de Monte Carlo
EL-3102
Sistemas Digitales
Tubos de vacío
CMOS: Complementary metal–oxide–semiconductor es la
tecnología mas usada para construir compuertas.
RL
CL
Ri
Vss
Carga
Compuertas Lógicas CMOS
NOT NAND
TTL puede ser un poco mas rápida que CMOS (menos capacitancia de
compuerta), pero son mas grandes (Chip-area), consumen mas potencia,
mayor resistencia interna, menos estabilidad térmica.
Esto hace CMOS sea la elección mayoritaria para la lógica moderna.
Compuertas Ideales v/s Reales
Supuestos detrás de la abstracción digital
circuitos ideales, sólo dos estados (voltajes),
transiciones instantáneas (sin retardos):
simplifica enormemente el diseño funcional
Consideraciones prácticas:
Niveles Lógicos y ruido (Noise margin)
Niveles lógicos con márgenes de ruido
# de transistores se
duplica cada dos años
El futuro?
• Spintronic (https://en.wikipedia.org/wiki/Spin_transistor)
• Optical computing (https://en.wikipedia.org/wiki/Optical_transistor)
• Quantum computing (https://en.wikipedia.org/wiki/Quantum_computing)
Construcción de circuitos integrados
(Fotolitografía)
Detalle de PCB
de 4 capas
Solución al enrutamiento y ‘pin-count’:
Comunicación serial entre chips
SPI (Serial Peripherla interface) I2C (Inter Integrated Circuit)
• Principalmente para pocos esclavos • Necesita sólo dos conexiones (pistas)
o comunicaciones punto a punto • Arquitectura Master-Salve (bus)
• Necesita 4 pistas • Hasta 5 Mbps (normalmente 100 kbps)
• Velocidad de hasta 100Mbps • Half duplex
• Full duplex
Lógica
Transistores Compuertas combinacional Microprocesador
Lógicas y secuencial