Académique Documents
Professionnel Documents
Culture Documents
ELECTRNICA DIGITAL
UNED
INDICE:
Unidad 1. lgebra de Boole y representacin de la informacin
Exigencias Computacionales del procesamiento digital de la informacin
Funciones lgicas bsicas ....... (1)
Operaciones lgicas bsicas ....... (4)
Leyes y reglas del lgebra de Boole ....... (5)
Mapas de Karnaugh ....... (9)
Lgica combinacional. ....... (9)
Unidad 2. Anlisis y sntesis de Sistemas Combinacionales
Lgica Combinacional (I): Funciones Aritmtico-Lgicas
Sumadores ....... (11)
Restadores ....... (14)
Comparadores ....... (15)
Unidad Aritmetico-Logica (ALU) ....... (17)
Decodificador ....... (18)
Codificadores ....... (20)
Lgica Combinacional (II): Ruta de Datos
Multiplexores ....... (20)
Demultiplexores ....... (22)
Comparador
A>B
A
A=B
B
A<B
Funciones aritmticas
Sumador
A
Cout
Funcin de codificacin
Un codificador convierte la informacin en algn tipo de cdigo, as un nivel alto en la
entrada 9 genera el cdigo binario correspondiente en una calculadora.
9
8
7
6
5
4
3
2
1
0
Codificador
Cdigo
binario
del 9
Funcin de decodificacin
Un decodificador convierte la informacin codificada, en otra informacin no
codificada
Decodificador
Entrada
binaria
Multiplexor
A
B
C
D
Dt2
Dt1
Dt1
Dt3
Dt2
Dt3
Dt1
Dt1
Dt2
Dt3
E
F
Entrada de control
de la secuencia
de comunicacin
Entrada de control
de la secuencia
de comunicacin
Un multiplexor es un circuito lgica que pasa los datos digitales procedentes de varias
lineas de entrada a un nica linea de salida segn una secuencia de tiempos especfica.
El demultiplexor es un circuito que pasa los datos digitales procedentes de na linea
de entrada a varias lineas de salida segn una determinada secuencia de tiempo, es un
multiplexor invertido
Funcin de almacenamiento
El almacenamiento es una funcin que conserva una serie de datos binarios durante
un periodo de tiempo. Los tipos ms comunes son:
Flip-flops: Es un circuito lgico biestable que solo puede almacenar un bit cada vez,
un 1 un 0. La salida de un flip-flops indica que bit est almacenado.
Registro: se forma a partir de varios fip-flops de manera que puedan almacenar
grupos de bits, por ejemplo un registro de 8 bits est formado por ocho flip-flops.
Adems de almacenar bits, los registros se pueden emplear para desplazarlos de una
posicin a otra dentro del registro o fuera del mismo a otro circuito. Estos dispositivos
de conocen como registros de desplazamiento.
0101
010
01
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0 1 0 1
0 0 0 0
0 1 0 1
Funcin de recuento
Los contadores digitales cuentan sucesos representados por cambios de nivel o por
impulsos.
Contador
Lineas de
salida en
paralelo
Cdigo
binario
para el 1
Cdigo
binario
para el 2
Cdigo
binario
para el 3
Cdigo
binario
para el 4
Cdigo
binario
para el 5
A
B
F
AND
A
B
OR
NOT
A
B
A
B
A
B
A
B
F = AB
A
0
0
1
1
B
0
1
0
1
F
0
0
0
1
F=A+B
A
0
0
1
1
B
0
1
0
1
F
0
1
1
1
F = AB = A + B
A
0
0
1
1
B
0
1
0
1
F
1
1
1
0
F=A+B=AB
A
0
0
1
1
B
0
1
0
1
F
1
0
0
0
F=A+B=AB+AB
A
0
0
1
1
B
0
1
0
1
F
0
1
1
0
F=A+B=AB+AB
A
0
0
1
1
B
0
1
0
1
F
1
0
0
1
F
NAND
F
NOR
XOR
F
XNOR
F
1
0
A
0
1
F=A
A
B
A+B
B
A
B+A
B
A
BA
A
B
AB
A + (B + C)
B
C
B+C
A
B
A
B
A+B
(A + B) + C
A(BC)
B
C
BC
AB
(AB)C
Ley distributiva
A(B + C) = AB + AC
B
C
B+C
X
X = A(B + C)
A
B
AB
X
A
C
AC
X = AB + AC
A=1
0
A=0
0
Regla 2. A + 1= 1
A=1
1
A=0
1
A=0
0
A=1
1
A=1
A=1
A=1
A=0
A=1
A=1
A=0
A=1
Regla 3. A0= 0
A=1
0
Regla 4. A1= A
A=0
1
Regla 5. A + A= A
A=0
A=0
Regla 6. A + A = 1
A=0
A=1
Regla 7. A A = A
A=0
A=0
Regla 8. A A = 0
A=1
A=0
Regla 9. A A = 0
A=0
A=1
A=0
A=1
Regla 10. A + AB = A
A
0
B
0
AB
0
A + AB
0
conexin directa
igual
Regla 11. A + AB = A + B
A
A
B
B
B
0
AB
0
1
1
A + AB
0
1
A+B
0
1
1
igual
BC
0
A + BC
0
1
1
1
1
1
0
A
0
B
0
C
0
A+B
0
A+C
0
(A + B)(A + C)
0
1
1
0
0
0
1
1
0
1
1
1
1
igual
A
B
A
B
C
C
Teoremas de DeMorgan
AB = A + B
A+B=AB
A
B
AB
A
B
A+B
A
B
A+B
A
B
AB
miniterm
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0000
0001
0010
0011
ABCD 0100
ABCD 0101
ABCD 0110
ABCD 0111
ABCD 1000
ABCD 1001
ABCD 1010
ABCD 1011
ABCD 1100
ABCD 1101
ABCD 1110
ABCD 1111
ABCD
ABCD
ABCD
ABCD
MAPAS DE KARNAUGH
B
0
m0
AB
00
01
11
m0
AB
AB
BC
m1
m4
AB
ABC
10
m3
m1
ABC
ABC
0
m3
m2
ABC
m5
ABC
m6
ABC
m2
ABC
m7
ABC
CD
00
AB
01
m0
00
ABCD
ABCD
ABCD
11
ABCD
ABCD
10
ABCD
ABCD
m6
ABCD
ABCD
m15
m14
ABCD
m9
m8
ABCD
m7
m13
m12
m2
ABCD
m5
ABCD
10
m3
m1
m4
01
11
ABCD
m10
m11
ABCD
ABCD
LGICA COMBINACIONAL
Circuitos lgicos combinacionales bsicos
A
B
C
D
AB
AB + CD
Lgica AND-OR
Suma de productos
CD
Lgica AND-OR-inversor
A
B
C
D
AB
AB + CD
AB + CD =
= (A + B)(C + D)
Productos de sumas
CD
A
B
A
B
A
B
AB = AB
A
B
AB
AB = A + B
A
B
A+B
AB
B
A
A+B
A+B
A+B
A
A
B
A
B
A
B
A
A+B
A+B
A
B
A+B
A + B = AB
A
B
AB
B
A
AB
AB
B
10
A
B
AB
A
B
S=A+B=AB+AB
Cout = AB
HA
B
A
0
0
1
1
Cout
Cout
B
0
1
0
1
S
0
1
1
0
Cout
0
0
0
1
A+B
FA
HA1
Cout
HA2
B
Cin
S = (A + B) + Cin
(A + B)Cin
AB
Cout = AB + (A + B)Cin
A
0
B
0
Cin
Cout
0
1
1
0
1
0
0
1
1
0
Cout
A2 B2
A1
B1
0
A
Cin
FA
Cout
(MSB) S3
Cin
A2 B 2
+ A1 B1
S3 S2 S1
FA
Cout
S2
S1
11
(LSB)
Cuatro bits
A4 B4
A
A3 B3
A
Cin
C4
Cin
Cout
S4
Cout
S3
C3
A4
C2
A3
C1
A2
C0
A1
B4
B3
B2
B1
(LSB)
S = C4S4S3S2S1
Cn-1
An
Bn
Sn
Cn
0
1
1
0
0
0
1
1
0
12
C1
S2
C4 S4 C3 S3 C2 S2 C1 S1
(MSB)
B1
Cout
C2
A1
C0
Cin
FA
FA
S
C3
Cin
FA
FA
Cout
A2 B2
S1
Sumadores serie
A5 A4 A3 A2 A1
0 1 0 1 1
S5 S4 S3 S2 S1
S
FA
B
B5 B4 B3 B2 B1
Cin
0 1 1 0 1
Reloj
1 1 0 0 0
Cout
Retardo
GAA
Ci+1 = Gi + Pi Ci
C4
B3
A3
P3
G3
B2
A2
B1
A1
P2
P3
G2
C3
S3
P2
P1
S2
G1
C2
B0
A0
P1
P0
S1
G0
C1
P0
C0
13
S0
Restadores
Semirestadores (HS)
A
B
D=A+B=AB+AB
Cout = AB
HS
B
A
0
0
1
1
Cout
Cout
B
0
1
0
1
D
0
1
1
0
Cout
0
1
0
0
A
B
Cin
A+B
FS
HS1
Cout
HS2
B
Cin
S = (A + B) + Cin
AB
Cout = AB + (A + B)Cin
A
0
B
0
Cin
Cout
0
1
1
0
0
0
1
1
0
14
(A + B)Cin
Cout
Comparadores
Un comparador de palabras de n bits es un circuito que determina cual de estas
palabras es mayor, cul es menor y cuando son iguales. Tiene que producir tres salidas:
A>B
A=B
A<B
E = AB + AB
B
0
1
0
1
E
1
0
0
1
C = AB
B
0
1
0
1
C
0
0
1
0
D = AB
B
0
1
0
1
D
0
1
0
0
A
B
E = AB + AB
C = AB
15
A > B Recorremos todos los bits de A y B desde el mas significativo hasta que A sea 1 y
B sea 0.
Es decir:
A3 > B3 A3B3
A3 = B3 y A2 > B2 E3A2B2
A3 = B3 y A2 = B2 y A1 > B1 E3E2A1B1
A3 = B3 y A2 = B2 y A1 = B1 y A0 > B0 E3E2E1A0B0
C = A3B3 + E3A2B2 + E3E2A1B1 + E3E2E1A0B0
A < B Recorremos todos los bits de A y B desde el mas significativo hasta que A sea 0
y B sea 1. En este caso si E = 1 y C = 0 entonces D = 1
A3
B3
D3
E3
C3
A2
B2
D2
E2
C2
A<B
A1
B1
D1
E1
C1
A0
B0
A>B
D0
E0
C0
A=B
16
B0
24
Vcc
A0
S3
2
3
23
A1
B1
S0
6
7
Cn
M
F0
8
9
21
20
19
18
17
F1
F2
10
11
16
15
14
GND
12
13
A0
F0
23
A1
F1
21
19
A2
B2
A3
B3
G
Cn+4
Palabra B
4
5
SN74181
S2
S1
22
Palabra A
S0 S1 S2 S3
P
A=B
22
20
18
F3
Entrada
de acarreo
Selector
de modo
A2
F2
A3
F3
A=B
B0
B1
Cn+4
B2
Cn
S3 S2
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
S1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
S0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
11
Salidas
de funcin
13
14
Salidas de
comparacin
16
Salidas
de acarreo
17
15
Salidas
de acarreo
anticipado
GND
24
M=1
Funciones
lgicas
10
B3
Vcc
Cdigos
de seleccin
12
M=0
Funciones aritmticas
Cn = 1
sin acarreo
Cn =0
con acarreo
F=A
F=A
F=A+1
F=A+B
F=A+B
F = (A + B) + 1
F=AB
F=A+B
F = (A + B) + 1
F=0
F = -1 (comp. a 2)
F=0
F=AB
F = A + AB
F = A + AB + 1
F=B
F = (A + B) + AB
F = (A + B) + AB + 1
F=A+B
F=A-B-1
F=A-B
F=AB
F = AB - 1
F = AB
F=A+B
F = A + AB
F = A + AB + 1
F=A+B
F=A+B
F=A+B+1
F=B
F = (A + B) + AB
F = (A + B) + AB + 1
F=AB
F = AB - 1
F = AB
F=1
F=A+A
F = A + A +1
F=A+B
F = (A + B) + A
F = (A + B) + A + 1
F=A+B
F = (A + B) + A
F = (A + B) + A + 1
F=A
F=A-1
F=A
Decodificadores
Un decodificador es un circuito que convierte un cdigo de entrada binario de N bits
N
en M lneas de salida (N puede ser cualquier entero y M es un entero menor o igual a 2 ),
tales que cada lnea de salida ser activada para una sola de las combinaciones posibles
de entrada.
Decorificador
N
salidas
M
salidas
Entradas
1
2
4
8
Pesos
Entrada binaria
BIN/DEC
Salidas
0 0 0 0 A3A2A1A0
01 1 1 1 1 1 1 1 1 1 1 1 1 1 1
A3A2A1A0
101 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 1
0 0 1
0 A3A2A1A0
1 101 1 1 1 1 1 1 1 1 1 1 1 1
0 0 1
A3A2A1A0
1 1 1 01 1 1 1 1 1 1 1 1 1 1 1
0 1
0 0 A3A2A1A0
1 1 1 101 1 1 1 1 1 1 1 1 1 1
0 1
0 1
A3A2A1A0
1 1 1 1 1 01 1 1 1 1 1 1 1 1 1
0 1
0 A3A2A1A0
1 1 1 1 1 1 01 1 1 1 1 1 1 1 1
0 1
A3A2A1A0
1 1 1 1 1 1 101 1 1 1 1 1 1 1
0 0 0 A3A2A1A0
1 1 1 1 1 1 1 101 1 1 1 1 1 1
0 0 1
A3A2A1A0
1 1 1 1 1 1 1 1 1 01 1 1 1 1 1
10
0 1
0 A3A2A1A0
1 1 1 1 1 1 1 1 1 101 1 1 1 1
11
0 1
A3A2A1A0
1 1 1 1 1 1 1 1 1 1 1 01 1 1 1
12
0 0 A3A2A1A0
1 1 1 1 1 1 1 1 1 1 1 101 1 1
13
0 1
A3A2A1A0
1 1 1 1 1 1 1 1 1 1 1 1 1 01 1
14
0 A3A2A1A0
1 1 1 1 1 1 1 1 1 1 1 1 1 101
15
A3A2A1A0
1111111111111110
18
BCD/DEC
1
2
A0
A1
A2
A3
0
0
0
0
0
0
0
0
1
1
0
1
2
3
4
5
6
7
8
9
7
8
9
Funcin de
Cdigo BCD descodificacin
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
A3A2A1A0
A3A2A1A0
A3A2A1A0
A3A2A1A0
A3A2A1A0
A3A2A1A0
A3A2A1A0
A3A2A1A0
A3A2A1A0
A3A2A1A0
0
1
0
1
0
1
0
1
0
1
74HC42
Entrada BCD
BCD/7-seg
A0
A1
A2
A3
b
c
e
f
g
0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A3
A2
A1
A0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
19
10
14
12
13
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
11
15
Codificadores
Codificador decimal BCD
Dgito
decimal
DEC/BCD
0
1
2
3
4
5
6
7
8
9
0
1
2
3
A0
A1
A2
A3
7
8
9
Cdigo BCD
A3
0
0
0
0
0
0
0
0
1
1
A2
0
0
0
0
1
1
1
1
0
0
A1
0
0
1
1
0
0
1
1
0
0
A0
0
1
0
1
0
1
0
1
0
1
D0
D1
D2
D3
MUX
Salida
Y
0
D0
Y
D1
1
2
3
D2
D3
Control Salida Y
D0
D1
D2
D3
20
MUX As151
Control
A
B
C
D0
Datos de entrada
D1
D2
D3
Y
W
D4
D5
D6
D7
Control
Strobe
Salidas
D0
D0
D1
D1
D2
D2
D3
D3
D4
D4
D5
D5
D6
D6
D7
D7
21
Demultiplexores
Lineas de
seleccin
D3
Los demultiplexores se pueden utilizar como decodificadores, solo hay que emplear las
lineas de seleccin representan nmeros binarios puros o en BCD, activando en cada
instante una linea de salida.
22
a2
a1
a0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
x1 x0
x1 x0
x1
x1 x0
x0
x1 + x0
x1 + x0
x0 x1
x1 + x0
x0
x0 + x1
x1
x1 + x2
x1 + x2
1
x0
x1x0
x1x0
x1x0
x1x0
x1 x1
x0 x0
a0 a1 a2 a3
Para obtener una funcin universal de dos variables, primero se obtienen las inversas y
despus se construyen los cuatro trminos producto. Sola hay que controlar el paso de
cada uno de los trminos mnimos por medios de los trminos de control (a0, a1, a2, a3)
23
x0
a0o
f0
a1o
a20
a30
x1 x1
x0 x0
a01
a11
f1
a21
a31
Arquitectura bsica
La generalizacin se consigue mediante dos matrices de conexiones programables. Una
n
matriz AND se encarga de generar los 2 trminos mnimos de n variables de entrada (x0
xn ) y otra matriz OR que se encarga de permitirnos agrupar de una forma cmoda el
2
n
conjunto de los 2 trminos mnimos para generar cualquiera de las 2 funciones lgicas
diferentes de estas n variables de entrada.
n
24
xn
...
x1
x0
...
Buffers e
inversores
Elementos
AND
Matriz de
Conexiones (Array)
OR
m0
m1
m2
...
m3
m2 -4
n
m2 -3
n
m2 -2
n
m2 -1
n
Elementos
OR
Matriz de
Conexiones (Array)
AND
f0
25
f1
f2
f3
Matriz
AND
Matriz
OR
PROM
Fija
Programable
PAL
Programable
Fija
PLA
Programable Programable
Notacin
Representacin del estado funcional de la conexin
Conexin permanente
Conexin programable
intacta
Conexin programable
fundida
A
A
B
B
f(A, B)
f(A, B)
Ejemplos:
A
f=0
B
f=0
f = AB
f =1
B
f = AABB = 0
B
f = AB
26
m0
m1
m2
m3
m1
m2
m3
Ejemplos:
m0
m0
m1
m1
m2
m2
m3
m3
f=1
m0
m1
m2
m3
m0
f=1
m1
m2
m3
f =m0 + m2
m0
m2
m3
f =m0+m1+m2+m3 = 1
m0
f =0
m1
m1
m2
m3
f =m0 + m2
27
xn
x1
x0
Matriz OR
Programable
Elementos
AND
m0
m1
m2
m3
m4
m5
m6
m7
Matriz AND
Fijo
Elementos
OR
f0
f1
f2
f3
28
PALs y PLAs
El diseo de la arquitectura
PROM tiene algunos
problemas ya que la parte AND
genera todos los trminos
mnimos de n variables (2n) y
para aadir una nueva variable
hay que duplicar el tamao de
la matriz. Adems, en un
nmero importante de
situaciones de diseo muchos
de esos trminos mnimos no
se usan. Por ejemplo, en
aquellas situaciones en las que
se quiere usar el mismo circuito
programable para sintetizar
funciones diferentes que
necesitan una combinacin no
preestablecida de variables de
entrada y variables de salida, o
cuando se desea disear a la vez
funciones combinacionales y
secuenciales. En estas
circunstancias es mejor
disponer de un circuito que
deje fija la parte OR y permita
la programacin de la parte
AND. As aparecieron los PAL
(Programable Arrays Logic)
como un dispositivo universal
de diseo lgico.
La figura muestra esta
arquitectura para el caso
sencillo de cuatro variables de
entrada (xo, x1, x2, x3)y cuatro
funciones de salida (f0, f1, f2, f3).
Obsrvese que cada puerta OR
slo puede sumar un cierto
nmero de trminos mnimos
(4 en el caso de la figura) l0 que
limita el repertorio de
funciones posibles. Sin
embargo, tiene la gran ventaja
de no tener que duplicar el
tamao de la matriz cada vez
que se necesite una nueva
variable de entrada.
x2
x1
x0
Matriz OR
Fija
Matriz AND
Programable
29
f0
f1
f2
f3
...
x1
x0
...
Buffers e
inversores
Elementos
AND
Matriz de
Conexiones (Array)
OR
m0
m1
m2
...
m3
m2 -4
n
m2 -3
n
m2 -2
n
m2 -1
n
Elementos
OR
Matriz de
Conexiones (Array)
AND
f0
30
f1
f2
f3
Tipos de Salidas
Configuraciones de salida
Salida a travs de XOR invers. programable
Combinacionales
Secuenciales
De la
matriz de
puerta
AND
Salida
De la
matriz de
puerta
AND
Entrada/Salida
E/S
C
0
0
1
1
Control
Triestado
De la
matriz de
puerta
AND
X
0
1
0
1
Salida
0
1
1
0
X
C
Fusible Programeble
31
Entrada/Salida
E/S
Biestables de salida
OE
Control
(facilitacin)
De la
matriz de
puerta
AND
D
Ck
(reloj)
Salida
Macrocelda
(reset sncrono)
.
.
.
D
Ck
(reloj)
11
00
01
MUX
10
RA
PS
MUX
(Preset sncrono)
0
1
S0 S1
S0
S1
Configuracin de salida
32
E/S
CIRCUITOS BIESTABLES
Autmatas finitos: Concepto de estado
Consideremos un sistema formado por un bolgrafo tipo pulsador, cuya punta puede
estar dentro o puede estar fuera. Si pulsamos y la punta esta fuera, esta entra, y si
pulsamos y la punta esta dentro esta sale.
Luego el sistema bolgrafo necesita un Espacio de Entrada con una variable x que toma
dos valores:
x = x1 = 1 = pulsar
x = x2 = 0 = no pulsar
S = S1 = punta dentro
S = S2 =punta fuera
y= y2 = entra la punta
y= y3 = no se mueve
Diagrama de transicin
x1 / y1
x2 / y3
S1
S2
Punta
dentro
Punta
fuera
no pulsar/ no se mueve
x2 / y3
no pulsar/ no se mueve
x1 / y2
pulsar/entra punta
33
S1
S2
x1
S2
S1
x2
S1
S2
S1
S2
x1
y1
y2
x2
y3
y3
Produccin del
nuevo Estado
f
Retardo
Dt
(Memoria local)
Mundo externo
34
Produccin
de Salidas
g
Un circuito secuencial es aquel en que las salidas dependen del estado de las entradas
en el instante t y del estado de las salidas en el instante t-1.
Arquitectura general de un autmata finito en el que las variables son pulsos o niveles,
las funciones son lgica combinacional y el estado se almacena en N biestables. El
resultado se muestra en la figura siguiente. Tenemos un circuito secuencial de M
variables de entrada, (xo, x1, ... ,xM), N variables de salida (yo, y1, ... ,yN) y Q estados
(siendo Q 2N), se puede sintetizar de forma modular de acuerdo con el esquema de la
figura:
x0 x1 ... xM-1
PLD - 1
Funcin f
D0
Reloj
Dt
D1
...
...
Dt
Q0
Q1
...
DN-1
Dt
QN-1(t) = DN(t-Dt)
PLD - 2
Funcin g
y0
y1
...
yN-1
Comportamiento sncrono
En electrnica combinacional no exista el tiempo, la computacin era "instantnea".
En cambio, en electrnica secuencial el tiempo es esencial. La posicin relativa en la
que ocurren los sucesos define la computacin. Hay dos tipos de circuitos digitales,
sncronos y asncronos.
Aunque todos los circuitos a ver en este cursos son de tipo sncrono
35
Son circuitos sncronos aquellos que estn gobernados por un reloj central de forma
que todos los sucesos de inters computacional ocurren en los entornos de los pulsos de
reloj. El intervalo entre dos pulsos sucesivos se usa para estabilizar los niveles de
tensin, pero los cambios de estado no se producen hasta que no llega el nuevo pulso.
Ms especficamente, la conmutacin se produce en los flancos del pulso de reloj,
cuando este pasa de baja a alta (flanco positivo) o viceversa (flanco negativo).
RELOJ
(Astable)
1
Ck
0
T = 1/f
Todos los circuitos secuenciales sncronos poseen junto a las entradas necesarias para
realizar su funcin, una entrada adicional (Ck - clock) para la seal de reloj que es la que
controla los instantes en que se hacen efectivos los cambios que definen la funcin. La
frecuencia del reloj define la mxima velocidad de operacin permitida en un sistema
digital. Cualquier funcin necesita,al menos, un periodo (dos pulsos sucesivos) para
ejecutarse.
RELOJ
Ck
x
Ck
CIRCUITO
DIGITAL
z = f(x,y;Ck)
Antes de cada subida del pulso de reloj, las seales x e y deben tener valores estables.
Hay un intervalo de seguridad llamado tiempo de asentamiento (setup time, tsu) que
garantiza que las seales de entrada ya han alcanzado su estado estacionario un tiempo
tsu antes de la subida del pulso. De forma complementaria, se define el tiempo de
retencin (hold time, th) como el intervalo de tiempo durante el cual las entradas
todava tienen que permanecer estables despus de haberse producido la subida de baja
a alta del pulso de reloj. Si no se cumplen las restricciones de estos tiempos, (tsu y th),
puede producirse un comportamiento inesperado.
tsu
th
36
Biestables
Los circuitos biestables son circuitos binarios (con dos estados) en los que ambos
estados son estables de forma que hace falta una seal externa de excitacin para
hacerlos cambiar de estado. Esta funcin de excitacin define el tipo de biestable (D, T,
R-S J-K).
Clasificacin
Reloj
Constitucin
RS ( Set Reset)
JK
D (Delay)
T (Toggle)
R-S (Reset-Set)
R-S bsico
R
Q
R
Hay que hallar la expresin lgica que nos relacione el valor de la salida del biestable en
un cierto intervalo de tiempo (Q(t+Dt)) que por simplificacin en la escritura
llamaremos Qn+l en funcin de los valores de las entradas de control (Rn y Sn) y del estado
(salida en el instante actual, o sea, Qn).
Qn+l =f(Rn, Sn; Qn)
Adems, vamos a obtener esta funcin construyendo la tabla de verdad. Es decir,
viendo cul es el valor estable cuando establecemos como condiciones iniciales los ocho
valores posibles de Rn, Sn y Qn (000, 001, ..., 111).
37
R=0
R=0
Q=0
Q=1
Q=1
Q=0
Estado estable
Q=0
Estado estable
Q=1
Q=1
Q=0
S=0
S=0
R
Qn
Qn+1
Qn
Qn+1
R=0
R=0
Q=001
Q=100
Estado
inestable
Estado
estable
Q=001
Q=1
Q=0
Estado estable
Q=1
Q=100
S=1
Q=0
S=1
Qn
Qn+1
Qn
Qn+1
R=1
R=1
Q=0
Q=1
Q=100
Q=001
Estado
inestable
Estado estable
Q=0
Q=100
Q=1
S=0
Q=001
S=0
R
Qn
Qn+1
Qn
Qn+1
R=1
R=1
Q=000
Q=100
Configuracin
no permitida
Q=Q
Q=100
Q=100
S=1
Q=100
Q=000
Configuracin
no permitida
Q=Q
Q=000
Q=000
S=1
R
Qn
Qn+1
Qn
Qn+1
Qn
Qn+1
Estado
estable
R
0
S
0
Qn+1
Qn
Qn+l = RS + RQn
38
Autmata biestable
01/1
Q=0
00, 10/0
Q=1
00, 01/1
10/0
R
Q
Ck
Ck
R
Q
S
S
Ck
R
S
Q
Qn+1
Ck
Qn
Qn
No
permitido
39
R
Q
Ck
Ck
S
Pequeo retardo
S
Ck
Ck
Ck
R
S
Q
40
Ck
S
Cl
As, independientemente del valor de las entradas R y S y del reloj y, actuando de forma
prioritaria, siempre que preset pase a alta (Pr = 1), la salida del biestable pasar
tambin a alta (Q = 1). Inversamente, si clear pasa a alta (Cl = 1), la salida pasar a baja
(Q =0), independientemente tambin del valor de las otras seales y con prioridad.
R
x
S
x
Qn+1
Ck
x
1
0
No permitido
x
0
Qn
Qn
No permitido
Pr
0
Cl
Biestables J-K
Un problema importante de los biestables R-S es su ambigedad ante la configuracin
R=S =1, que haca que la salida Q fuera igual a la Q. Este problema lo resuelve la
configuracin J-K haciendo que en este caso (R=S=1) el biestable cambie de estado (Qn+1
= Qn). As queda perfectamente definido el comportamiento para las cuatro
configuraciones posibles en las seales de control. La entrada J hace la funcin de la S
("Set", puesta a 1) y la K la de la R ("Reset", puesta a O), de forma que ahora, cuando no
hay pulso de reloj no hay cambios, pero cuando al pulso de reloj est en alta actan las
entradas J y K. As:
41
Si
J=K=0
No cambia de estado
Qn+1 = Qn
Si
J=1y K=0
Pasa a 1
Qn+1 = 1
Si
J=0y K=1
Pasa a 0
Qn+1 = 0
Si
J=K=1
Cambia de estado
Qn+1 = Qn
J
Ck
Ck
Ck
Qn
Qn+1
Qn
Ck
Qn+1
Qn
Qn
Qn
10, 01/1
KQn
00
01
11
10
J
00, 01/0
Q=0
Q=1
00, 10/1
Qn+l =( JS + KQn) Ck
01, 11/0
Autmata
42
El problema fundamental del biestable J-K es que cuando J=K=1 y el pulso de reloj est
en alta se produce una situacin inestable, con la salida oscilando entre "0" y "1" como
consecuencia de los retardos de propagacin de las seales a travs de los dos lazos de
realimentacin que se cierran sobre las puertas NOR (como en el R-S) y sobre las
puertas AND de entrada.
Configuracin Master-Slave
Para evitar estos problemas de los biestables J-K disparados a nivel, se usa una
configuracin con dos biestables conectados en serie y con relojes complementarios
que interrumpen la conexin lgica entre la salida y la entrada. Es decir, entre la
generacin de la orden de disparo (funcin de las seales de control J, K y Ck) y su
ejecucin (funcin de la salida del primer biestable), que opera en la fase
complementaria del reloj. As, se rompe la parte interna del lazo de realimentacin.
Master
R2
Q1
Slave
Q
Ck1
Q1
S2
Ck2
43
Ck
Ck
Qn
Qn+1
Qn
Ck
Qn+1
Qn
Qn
Qn
Autmata
T=1
T=0
Q=0
Q=1
T=0
T=1
Biestables D
D Sncrona por nivel
El biestable D (Delay) representa el retardo. Su salida en cada intervalo coincide con la
entrada en el intervalo anterior. Al igual que en el T, se puede obtener a partir de un R-S
un J-K uniendo la entrada D directamente a S J y usando un inversor para activar la
R la K. La lnea D es la lnea de entrada de datos al biestable.
Cuando D=1, S = 1 y R=0 y el biestable pasa a alta. Inversamente, cuando D=0, S=0 y
R=1 y el biestable pasa a baja. Al estar unidas R y S a travs de un inversor, la
configuracin R=S=1, no puede darse nunca. Al estar sincronizado a niveles, el dato
(D=0, D=1) slo se puede transmitir a la salida durante el pulso de reloj, Ck.
44
R
Q
Ck
C
Q
S
S
Ck
Qn+1
Qn
D=1
D=0
Q=0
D=1
Q=1
D=0
Autmata
Qn+l = Ck D
D Master-Slave
D
Ck
Master
Q1
R2
Slave
Q
Ck
Ck
S
S
S2
D por flancos
Celda de set
A
Celda de salida
S
Q
Ck
Q
R
B
Celda de reset
45
S0
0/0
S1
1/0
0/0
Tabla de verdad
Variable
entrada
Estado
inicial
Estado
final
Variable
salida
Entada
biestable
Qn
Qn+1
0
1
1
0
0
1
0
1
0
1
D=x
Ck
46
y = xQ
Salida
La salida no cambia
La salida bascula
Ejemplo:
0/1
S0
1/0
S1
1/0
0/0
Tabla de verdad
Variable
entrada
Estado
inicial
Estado
final
Variable
salida
Entada
biestable
Qn
Qn+1
0
1
1
0
0
0
0
0
1
0
T=x
y = xQ = xQ = x + Q
T
Ck
47
No cambiar
o
poner a 0
Cambiar
o
poner a 1
Cambiar
o
poner a 0
No cambiar
o
poner a 1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
*
*
*
*
1
0
Ejemplo:
0/1
S0
1/0
S1
1/0
0/0
Tabla de verdad
Variable
entrada
Estado
inicial
Estado
final
Variable
salida
Entada
biestable
Entada
biestable
Qn
Qn+1
0
1
1
0
0
0
0
0
*
*
y=xQ
J=x
Ck
Q
48
0
1
K=x
*
*
49
x0 x1 ... xM-1
PLD - 1
Funcin f
D0
Reloj
Dt
Q0
D1
...
...
Dt
Q1
...
DN-1
Dt
QN-1(t) = DN(t-Dt)
PLD - 2
Funcin g
y0
y1
...
yN-1
50
(a)
x0 ... xM-1
Q0 ...
QN-1
a2M+N-1
a2M+1
a2M
...
...
a0
a1
a2M-1
...
D0
DN-1
D
...
Q
N macroceldas
Q
QN-1
Q0
...
(b) macroceldas
.
.
.
D
Ck
(reloj)
11
00
01
MUX
10
RA
(reset sncrono)
PS
MUX
(Preset sncrono)
0
1
S0 S1
51
E/S
Cada biestable D (cada macrocelda) representa una variable de estado, de forma que la
N
PAL es de hecho un procesador paralelo en el que la sntesis de un autmata de 2
estados se realiza yuxtaponiendo N autmatas de dos estados, uno por cada bit de la
palabra que representa el estado. La programacin del autmata se realiza cargando en
el PLD la configuracin de coeficientes {ai} correspondientes a los trminos mnimos
que participan (para un autmata concreto) en las funciones de excitacin, Dk(tn), de los
biestables D de sus N macroceldas de salida. La reprogramacin del autmata (su
reconfiguracin) puede realizarse cuantas veces sea necesario cargando los nuevos
valores de los coeficientes {ai}.
Representacin
Dado un problema, se obtiene la descripcin del circuito que necesitaramos en
M-1
trminos del nmero de configuraciones de entrada necesarias, {Xm }, (m = 0, 1, ..., 2 ),
del nmero de estados necesarios, {Si}, (i = 0, 1, ..., 2N-1), y de las transiciones entre estos
estados para cada uno de los valores mutuamente exclusivos de las configuraciones de
entrada Xm . Es decir, buscamos reglas de la forma: (Si, pasa a Sj bajo Xm):
Xm
Si Sj
Una vez elegidos los biestables D, la asignacin de estados es automtica a travs de la
codificacin en binario del subndice, slo nos falta obtener las matrices de transicin
m
de estados, {Tij }, que es la representacin formal del problema. Como para A estados
N
N
N
necesitamos N biestables (2 A), las matrices de transicin sern de dimensin 2 2 .
M-1
Como hemos necesitado {Xm} configuraciones de entrada (m = 0, 1, ..., 2 ),
necesitaremos para su sntesis M variables lgicas (xo,x1, ..., xM-1) y por consiguiente
M
tendremos, en general, 2 matrices de transicin distintas, una para cada configuracin
de entrada.
Los elementos de estas matrices booleanas, {Tijm}, son ti = 1 si bajo Xm el autmata pasa
de Si a Sj y tij = 0 si no se produce esa transicin. Como bajo cualquier entrada Xm, el
autmata tiene que realizar alguna transicin, estas matrices slo tienen un uno por
fila. Adems como las configuraciones de entrada son distintas y mutuamente
exclusivas, podemos usar una representacin ms compacta mediante una matriz
paramtrica, llamada matriz funcional, M(Xm), resultado de multiplicar cada matriz
m
de transicin, {Tij },por la configuracin de entrada que la produce, (Xm), y sumar estos
productos. As, la matriz funcional ser:
2M - 1
M(Xm) = Tij Xm
m
m=0
Obsrvese que esta matriz es una matriz de representacin. Es decir, es una forma
compacta de representar el conjunto de expresiones lgicas que controlan todas y cada
una de las transiciones de estado para todas y cada una de las posibles configuraciones
de entrada.
52
Cada configuracin de valores en las variables de entrada, Xm, selecciona una matriz de
m
transicin, {Tij },que describe los cambios de estado que se producen cuando dejamos
esa configuracin de entrada constante. La figura resume el proceso de representacin.
Xm
Tijm
Xm
Sj
Selecciona
el plano
Si
Plano de
trabajo
bajo Xm
Estados finales
Estados
iniciales
S3
S2
S1
S0
S0
1
0
S1
0
0
S2
S3
Sj
0
0
Transicin S0 S2
Si
Sntesis
Si hemos hallado la representacin de un autmata de 2N estados y 2M configuraciones
de entrada, {Xm}, el siguiente paso es la obtencin de las funciones de excitacin,
{Dk(t)}, de los N biestables D que sintetizan al autmata. El algoritmo de sntesis y
anlisis de autmatas modulares se debe a R. Moreno Daz y es el siguiente:
2N-1
Dk(t) =
i=0
{ M (X
j
ij
2N-1
)Sj} =
i=0
M (X
ij
53
El estado inicial, Si =Q0aQ1b ... QN-1f, recorre todos los valores posibles de i, desde cero
N
hasta 2 -1 puesto que en principio desde cualquier estado inicial se puede llegar a un
estado final, Sj Los exponentes de las variables de estado (a, b, ... , f) son las
codificaciones en binario del estado Si. Conviene recordar que hemos usado la notacin
de Gilstrap en la que:
a
Qi = Qi si a =1 y Qi = Qi si a =0
Ejemplo
Supongamos que queremos sintetizar un autmata de dos estados (Qo = 0, Qo = 1) y una
entrada (xo), cuya matriz funcional es:
Qo = 0 Qo = 1
Qo = 0
Qo = 1
xo
xo
M(xo) =
x0
D0
Q0
Ck
Q0
Anlisis
El anlisis consiste en obtener la matriz funcional y/o el diagrama de etapas a partir de
un circuito determinado.
Para estudiar el procedimiento vamos a partir del ejemplo:
Analizar el circuito secuencial de la figura, presentando el resultado del anlisis
mediante las expresiones lgicas correspondientes, la matriz funcional y el diagrama
de transicin de estados.
54
x0
x1
QB
DB
QA
QB
DA
QA
y = (QA + QB)x2 + x1
Matriz funcional
Estado inicial
Estado final
QBQA
00
01
10
11
00
m00
m01
m02
m03
01
m10
m11
m12
m13
10
m20
m21
m22
m23
11
m30
m31
m32
m33
55
QBQA = 00
Estados iniciales
DA = x1 + QA= x1 + 0 = x1
DB = x1x2QB + (x1 + x2)QB = x1x20 + (x1 + x2)1 = (x1 + x2)
Estados finales
m00 = DBDA = (x1 + x2)x1 = x1 x1 x2= x1 x2
m01 = DBDA = (x1 + x2)x1 = x1 x1 x2= 0
m02 = DBDA = (x1 + x2)x1 = x1 x1 + x1 x2 = x1 x2
m03 = DBDA = (x1 + x2)x1 = x1 x1 + x1 x2 = x1
QBQA = 01
Estados iniciales
DA = x1 + QA= x1 + 1 = 1
DB = x1x2QB + (x1 + x2)QB = x1x20 + (x1 + x2)1 = (x1 + x2)
Estados finales
m10 = DBDA = (x1 + x2)1= 0
m11 = DBDA = (x1 + x2)1= (x1 + x2)= x1 x2
m12 = DBDA = (x1 + x2)1= 0
m13 = DBDA = (x1 + x2)1 = x1 + x2
QBQA = 10
Estados iniciales
DA = x1 + QA= x1 + 0 = x1
DB = x1x2QB + (x1 + x2)QB = x1x21 + (x1 + x2)0 = x1x2
Estados finales
m10 = DBDA = x1x2x1= (x1+x2)x1= x1x2
m11 = DBDA = x1x2x1= (x1+x2)x1= x1
m12 = DBDA = x1x2x1= x1x2
m13 = DBDA = x1x2x1= 0
56
QBQA = 11
Estados iniciales
DA = x1 + QA= x1 + 1 = 1
DB = x1x2QB + (x1 + x2)QB = x1x21 + (x1 + x2)0 = x1x2
Estados finales
m10 = DBDA = x1x20= 0
m11 = DBDA = x1x21= x1+x2
m12 = DBDA = x1x20= 0
m13 = DBDA = x1x21= x1x2
Matriz funcional
Estado inicial
Estado final
QBQA
00
01
10
11
00
x1x2
x1x2
x1
01
x1x2
x1 + x2
10
x1x2
x1
x1x2
11
x1 + x2
x1x2
Se puede comprobar que la matriz es correcta ya que la suma de cada lnea da como
resultado el nivel 1
Contadores
Los contadores son circuitos secuenciales capaces de recorrer una secuencia
previamente especificada de estados. Reciben un tren de impulsos y responden con una
sucesin de estados correspondientes a la representacin en binario del nmero de
impulsos recibidos desde que se inici el ciclo.
Tipos de contadores
Asncronos: Los biestables que componen el contador no cambian de estado
exactamente al mismo tiempo, dado que no comparten el mismo impulso de reloj.
Sncronos: Hay una relacin temporal fija entre s. Todas los biestables que
componen el contador reciben en el mismo instante la seal de reloj y por lo tanto
cambian (si han de cambiar) en el mismo instante.
57
CONTADORES
Sncronos
Asncronos
No Reversible
Reversible
(arastre paralelo)
Reversible
Arrastre Serie
Divisores
(Por Q 2N)
Binario
N
(divisores por 2 )
No Reversible
Arrastre Paralelo
El carcter reversible o no reversible tiene que ver con la posibilidad de recorrer el ciclo
de contar "hacia arriba" o "hacia abajo", dependiendo del valor de una variable de
control. Es decir, de pasar de S1=001 a S2= 010 al revs.
Decimos que un contador asncrono es binario cuando le dejamos terminar su ciclo
N
mximo (2 para N bits). En cambio, decimos que es un divisor por Q (menor y distinto
N
de 2 ) cuando se corta el ciclo de incrementar el contenido del contador en ese valor Q
(5, 7, 12, etc.), devolviendo desde aqu al contador a su estado inicial (00 ... 0).
Finalmente, dentro de los sncronos, el arrastre puede ser serie o paralelo, dependiendo
de la lgica combinacional complementaria. Lgicamente, los de arrastre paralelo son
ms rpidos.
Contadores asncronos
La forma ms sencilla de disear un contador asncrono binario de tres bits, por
ejemplo, es usar tres biestables J-K con J=K=1 (es decir, actuando como T y con T=1) y
usar la entrada de reloj como entrada general al contador, es decir como variable lgica
cuyo nmero de impulsos se desea contar.
Despus, la salida Q del primer biestable (Qo) se conecta a la entrada de reloj del
segundo y as sucesivamente. Si suponemos que los biestables J-K usados son de los
que se disparan con la bajada del pulso de reloj (transicin de alta a baja), el circuito del
contador y el cronograma correspondiente son los que se muestran en la figura.
Q0
J
Ck
Pr
Q1
Ck
K
Pr
+
-
58
Pr
Ck
Ck
Cl
Q2
Cl
Cl
Ck
Q0
Q1
Q2
0
Contadores descendentes:
Para configurar contadores con sentido descendente hay dos posibilidades:
1. Tomar un contador ascendente y tomar las salidas de la Q.
2. Tomar la entrada de reloj de cada biestable de la salida Q del biestable anterior
Contadores reversible
x
Pr
Ck
Ck
Pr
Ck
Ck
Cl
Pr
Cl
Cl
Q0
Q2
Q1
Pulsos
Q0
Q0
Q1
Q1
Q2
x
0
1
2
x = 0 cuenta hacia abajo
59
Pr
Q1
Ck
Ck
Pr
Q2
Ck
Q
Cl
Cl
0000
0001
0010
0011
0100
0101
0110
0111
1000
Pr
Ck
Pr
Q3
Ck
Cl
Cl
11
12
13
14
15
1001
0000
0001
0010
0011
0100
0101
0110
10
16
Pulsos
Q0
Q1
Q2
Q3
Clear= Q0 Q3
60
2. Poner a 1 todas los biestables del contador mediante el preset cuando se llega al
nmero de la base al que se quiere llegar menos 1 (base-1). Ello provoca que el contador
llega al mximo de su capacidad de cuenta y de esta manera con el siguiente impulso de
reloj se provoca su puesta a 0 y consiguiente inicio de ciclo de cuenta.
Dt
Pr
Ck
Ck
Pr
Ck
Q
Cl
Cl
Cl
0000
0001
0010
0011
0100
0101
0110
0111
1000
Cl
Q3
Q2
Ck
Q1
Pr
Ck
Q0
Pr
11
12
13
14
15
1111
0000
0001
0010
0011
0100
0101
0110
15
10
16
Pulsos
Q0
Q1
Q2
Q3
Preset
61
Contadores sincronos
Inconvenientes de los contadores asncronos
La frecuencia mxima de trabajo depende de la suma de los retardos que
introducen los biestables que lo componen.
Los estados estables no se alcanzan siempre al mismo tiempo
Estos inconvenientes se solucionan utilizando contadores sncronos, en los cuales el
reloj de entrada se conecta a la entrada de reloj de todas los biestables, de forma que la
transicin de ellas se produce en funcin de los valores que se introduzcan en sus
entradas de datos. De esta manera cuando el contador adquiere un estado (estable)
posiciona las entradas de los biestables antes de que se produzca la entrada del
siguiente ciclo de reloj. Cuando esta aparezca todas, los biestables comenzarn
simultneamente el proceso de cambio (si es que se ha de producir segn los valores de
sus entradas).
El proceso de diseo de los contadores sncronos no deja de ser un caso concreto del
diseo de circuitos secuenciales con biestables estudiado anteriormente. Ya que
partimos de un diagrama de estados en el que se representan los diferentes estados de
cuenta del contador y debemos de seguir los pasos de diseo analizados en los
apartados anteriores.
A pesar de lo indicado se puede configurar un contador binario natural sncrono de una
manera un tanto entandar. Se pueden implementar con biestables J-K con las dos
entradas unidas a 1 (biestable T) de forma que los relojes de todas los biestables estn
unidos entre s y a la seal del reloj de entrada.
En el caso de un contador ascendente: cada una de las entradas JK de cada
biestables a una puerta AND de todas las salidas Q de los biestables de pesos inferior.
En el caso de un contador descendente: cada una de las entradas JK de cada
biestables a una puerta AND de todas las salidas Q de los biestables de pesos inferior.
Contador sincrono con acarreo paralelo
Q0
Pr
Ck
Ck
K
1
Q1
Pr
62
Pr
Ck
Ck
Cl
Q2
Cl
Cl
Pr
Q1
Ck
Ck
Pr
Q2
Ck
Ck
Cl
Pr
Cl
Cl
x = 0 (cuenta atrs)
x = 1 (cuenta adelante)
Registros de desplazamiento
Un registro de desplazamiento de N bits es un circuito secuencial consta de
biestables D conectados en cascada, un reloj y distintas facilidades de carga y descarga
en serie y en paralelo. En su esquema bsico, la informacin entra por el primer
biestable y es transferida a los siguientes ante sucesivos pulsos de reloj de forma que de
cada biestable D pasa al siguiente su contenido. Finalmente, el contenido del ltimo
biestable se pierde, o entra a realimentacin.
El contenido del primer biestable se obtiene en general mediante una funcin lgica de
la entrada externa, x, y del estado de todos los biestables (Qo, Q1, ..., QN-1), de forma que
DN-1(t) = QN-2(t - Dt)
DN-2(t) = QN-3(t - Dt)
D0(t) = f [x(t - Dt);Q0(t - Dt), Q1(t - Dt), ... ,QN-1(t - Dt)]
Como se observa en la figura:
Q0
Pr
Q1
Ck
Pr
Cl
QN-1
Ck
Cl
...
...
Cl
Q1
63
Ck
Ck
Q0
Pr
...
QN-1
Entrada
de datos
Ck
Ck
Ck
Ck
Ck
Q0
Q1
Q2
64
Q3
Entrada
de datos
Ck
Ck
Ck
Q3
Ck
Inicialmente el
registro esta a
0000 (Clear)
Ck
Primer bit de
datos = 0
Ck
Ck
Ck
Q3
Ck
Despus del
primer impulso
de reloj (Ck1)
Ck1
Segundo bit de
datos = 1
Ck
Ck
Ck
Q3
Ck
Despus del
segundo impulso
de reloj (Ck2)
Ck2
Tercer bit de
datos = 0
Ck
Ck
Ck
Q3
Ck
Despus del
tercer impulso
de reloj (Ck3)
Ck3
Cuarto bit de
datos = 1
D
Ck
Ck
D
Ck
Q3
Ck
cuarto impulso
de reloj (Ck4) el
nmero completo est
almacenado en el registro
Ck4
65
Entrada Paralelo
RB Cl QB
RC Cl QC
SH/LD
Ck
Clear
RA Cl QA
Ck
SA
Ck
QA
SB
QA
RD Cl QD
Ck
Ck
QB
SC
QB
QC
SD
QC
QD
QD QD
Salidas Paralelo
66
Entradas
Clear
SH/LD
Ck
Serie
Paralelo
QA
QB
QC
QD
QD
QA0
QB0 QC0
QD0
QD0
QA0
QA0 QBn
QC0
QC0
QAn QBn
QC0
QC0
QAn QBn
QC0
QC0
QAn
QAn QBn
QC0
QC0
67
TEMPORIZADORES Y RELOJES
Circuitos de tiempo
Temporizador elemental (Monoestable): Posee un estado estable (el de baja) y
otro inestable en alta, que es la que define la duracin del pulso que posee una duracin
predeterminada. Se usa como temporizador.
v(t)
Duracin controlable
t
1
T
1
t1
t2
Formas de onda compuestas: Es difcil que una aplicacin exija slo un tren de
impulsos (astable) o un pulso de duracin controlada (monoestable). Lo habitual es
que sean necesarias formas de onda ms complejas. En general, para la sntesis de estas
seales compuestas se usan composiciones de monoestables y astables obtenidas a
partir de temporizadores programables.
Astable
Monostable 1
Monostable 2
Monostable 1
vo(t)
Monostable 2
Astable
Salida vo(t)
68
Vcc
Monostables
vi
C
A
4
3
v0
vi
1
t
t
t
V
= 1 - e RC
V = VCC 1 - e RC
VCC
V
t
V
RC
e
= 1= ln 1
VCC
RC
VCC
2
t
3
V
t = - RC ln 1
VCC
t
v0
4
t
69
Amplificador operacional
Funcionamiento: Siempre que la tensin en la entrada + sea superior a la de la
entrada -, en la salida aparecer una tensin positiva. Al revs, cuando la tensin en la
entrada + sea inferior a la de la entrada -, en la salida aparecer una tensin negativa
o cero voltios, segn la alimentacin del comparador.
Astables
El principio de diseo se basa de nuevo en el proceso de carga y descarga de un
condensador externo, C, a travs de una resistencia, R, hacia los valores extremos de la
tensin de alimentacin. La figura muestra el circuito y las formas de onda
correspondientes al diseo de un astable usando un amplificador operacional
v0 (t)
+Vcc
R
t
C
+Vcc
v1
-Vcc
v2 (t)
v0 (t)
v2
+
-Vcc
R2
R1
v2 (t)
Al igual que en los otros circuitos binarios,
siempre podemos usar inversores
integrados encualquier tecnologa para
realizar circuitos astables aadindole la
red R-C externa. El principio de
funcionamiento de estos astables es la
deteccin del potencial umbral de las
puertas en los procesos de carga de un
condensador que experimenta as un
cambio brusco en el potencial de sus
extremos. La figura muestra una
configuracin posible.
1
B
+Vcc
t
-Vcc
1
t
2
t
v0
70
Cuando la seal de salida del inversor B est en alta, su entrada est en baja y el
condensador C est cargado positivamente y la entrada al inversor A es alta. Por
consiguiente su salida es baja, de forma que el condensador posee una va de descarga
hacia tierra a travs de R. La descarga de C (forma de onda 2 de la figura) contina hasta
que la tensin en la entrada de la puerta A pasa por su valor umbral, pasando la salida de
A a alta y la de la puerta B a baja. Se inicia as el proceso inverso de carga de C hasta el
siguiente paso por la tensin umbral de la puerta A.
Descarga
7
Reset
4
R
Umbral 6
5
2/3 Vcc
3
SALIDA
R
1/3 Vcc
Disparo 2
555
1 Tierra
Funcin
Terminal
Tierra o masa
Salida
Disparo: Sensible a VCC/3 de forma que si V < VCC/3 el punto S ser un 1 y la salida tambin.
Esto producir siempre que la seal R sea 0, ya que predomina el reset sobre el set.
Umral: Sensible a 2VCC/3 de forma que si V < 2VCC/3 el punto Rnser un 0 y por lo tanto el
biestable RS estar a 0 independiente del valor de S ya que predomina el reset sobre el set
71
Monostable
RA
+Vcc
555
v0
2
C
C*
1
72
+Vcc
4
RA
RL
7
RB
555
v0
D
6
RL
Relojes
Convertidor
Sinusoidal a
Digital
Generador de
Fases
(contador)
Oscilador
Fase F1
Fase Fn
73
Oscilador
Fase F1
...
Oscilador
+
Amplificador
...
Cristal
Los relojes son circuitos de tiempo con una mayor precisin y estabilidad en la
frecuencia de oscilacin. La clave de su diseo est en usar un cristal de cuarzo para
definir la frecuencia de oscilacin, en sustitucin de la red R-C pasiva. El resto del reloj
incluye amplificadores, circuitos conformadores de onda, contadores para dividir la
frecuencia y un conjunto de seales de control adicionales para facilitar o inhibir,
sincronizar o establecer condiciones iniciales (reset). Cuando el reloj genera ms de
una salida se llama polifsico y la forma de onda en cada una de las fases mantiene una
relacin precisa con las otras fases.
Fase Fn
L0
ws
r0
w
wp
Cl
C0
capacitiva
Los osciladores a cristal son osciladores sintonizados en los que el circuito resonante
(R, L, C) se sustituye por un cristal. Cuando a un cristal de cuarzo piezoelctrico se la
aplica un potencial elctrico externo sufre deformaciones que dependen de forma
estricta de su estructura y se comporta como un circuito resonante de acuerdo con el
esquema equivalente de la figura anterior con dos posibilidades de resonancia: serie
(frecuencia ws) en la que la impedancia es cero y paralelo (frecuencia wp) en la que la
impedancia es infinito. Ambas frecuencias (ws y wp) estn muy prximas y la pendiente
de la curva de impedancia es muy alta, de forma que si introducimos al cristal en un
circuito que le compense de las prdidas, este oscilar con una frecuencia fija
extremadamente precisa y estable.
La siguiente figura muestra un ejemplo de posible configuracin en la que el cristal se
incluye en el lazo de realimentacin positiva de un amplificador operacional.
R3
R2
v0 (t)
+
R1
74
R4
Voltiles
No voltiles
Pierden la informacin
al desconectar la fuente
Usa circuitos activos
biestables
Retiene la informacin
indefinidamente
(pasiva)
Acceso aleatorio
RAM
SRAM
DRAM
Menor densidad
Ms rpidas
Mayor densidad
Menos rpidas
Asincronas
I/O
juntas
I/O
separadas
Sincronas
Rfagas
Sincronas
Asincronas
Pginas
EDO
Orientada a
aplicaciones
EDO
Acceso secuencial
Rfagas
Otras
Rfagas
+
EDO
75
palabra
0
palabra
1
A0
A1
...
...
Decodificador
k K
...
palabra 0
...
palabra 1
...
Ak-1
palabra
k
K-1 = 2 - 1
Estructura matricial
n-1
...
palabra 2k -1
Matriz de
k-l
l
2 filas x 2 columnas x n bits
linea de bit
0
2k-l-1
...
...
Decodificador
de Columnas
A0
...
A1
76
Al-1
2 -1
..
Ak-1
linea de palabra
...
...
Al+1
de Filas
Al
Decodificador
celda
seleccionada
I/O0
I/O1
I/On-1
I/O0
Buffers
de Entrada
I/O1
I/O3
Amplificadores
sensores
A0
A1
A2
A3
A4
A5
A6
A7
A8
Decodificador
de filas
I/O2
Matriz de
512 x 256 x 8
I/O4
I/O5
I/O6
CE1
CE2
WE
I/O7
Decodificador
de columnas
OE
A9 A10 A11 A12 A13 A14 A15 A16
77
Circuito de
Bajo Consumo
Como la matriz tiene 512 filas necesitamos 9 bits para direccionarlas (A0, A1, A2, A3, A4,
A5, A6, A7, A8) Anlogamente, para direccionar las 256 columnas necesitamos los otros 8
bits (A9, A10, A11, A12, A13, A14, A15, A16). Como las palabras son de 8 bits necesitamos 8 lneas
de entrada/salida (I/O0, I/O1, I/O2, I/O3, I/O4, I/O5, I/O6, I/O7 ). La gestin de la funcin
concreta que realizan estas lneas en los distintos modos de funcionamiento se controla
a travs de buffers de tres estados, de forma que cuando se facilita la salida de datos
(OE) los buffers de salida estn activos y los de entrada estn desconectados del bus, en
estado de alta impedancia. Inversamente, en operaciones de escritura los datos entran
por las mismas lneas fsicas pero ahora los buffers de salida estn inhibidos (alta
impedancia) y los de entrada estn facilitados.
La memoria posee un circuito de control con cuatro seales (CE1, CE2, WE y OE) que le
permiten operar en cuatro modos: lectura, escritura, bajo consumo cuando no est
seleccionada y seleccionada con las salidas inhibidas.
Escritura
Para escribir una palabra en la memoria seleccionamos la configuracin:
CE1 =L, CE2 =H, OE =x y WE =L
Es decir, ponemos en baja la seal de seleccin del circuito en el que vamos a escribir
(CE1 =0 y CE2 =1) y activamos la orden de escritura (WE = 0). Entonces los datos que
estn en las 8 lneas bidireccionales de entrada/salida (I/Oo, ..., I/O7) se escriben en los
8 biestables que estn en la direccin especificada por (A0, ... , A16)
Lectura
Para leer seleccionamos la configuracin:
CE1 =L, CE2 =H, OE = L y WE =H
Es decir, activamos las lineas de seleccin del circuito en el que vamos a leer (CE1 =0 y
CE2 =1), facilitamos la salida de datos (OE = 0) y activamos la orden de lectura (WE =
1).
Bajo consumo
Si seleccionamos la configuracin:
CE1 =H, CE2 =x, OE = x y WE =x
78
BL
RC
RC
linea de
escritura
de un 1
BL
linea de
escritura
de un 0
3V
WL
0,3 V
Amplificador diferencial
decodificador
de direcciones
R3(1)
R3(0)
1,5 V
BL
BL
79
En caso de que WL=0 V, los dos emisores Ei estarn a 0 V, provocando ello que el
biestable permanezca en el estado anterior. Esto es, si anteriormente Q1 conduca, su
VCE = 0 V por lo que la tensin en B2 era 0 V y por lo tanto Q2 estaba cortado. En estas
circunstancias no importa lo que metamos en BL y BL porque nunca conseguiremos
hacer cortarse al transistor que estaba conduciendo, ni conducir al que estaba cortado,
permaneciendo la celda en su estado anterior.
Lectura:
Tras seleccionar la celda con WL, solo el emisor del transistor que conduce (Q1 por
ejemplo) proporciona corriente a una de las lneas de datos produciendo un impulso de
salida del amplificador de lectura.
Escritura:
Se empieza seleccionando la celda mediante WL e introduciendo el dato que queremos
meter (nivel lgico 0) por BL (1) o por BL (0). Por ejemplo supongamos que se quiere
introducir un 1, para ello activaremos WL (3V) e introduciremos un 1 (3V) por BL y
un 0 por BL. Un 0 en BL provoca que Q1 conduzca, su VCE=0 V y por lo tanto la VEB2=0
V, lo cual provoca que Q2 se corte y su VCE=3 V (1). De esta manera la VEB1=3 V y
provocar que Q1 conduzca y por lo tanto su VCE=0 V, manteniendo con ello el nivel
introducido al principio y provocando su almacenamiento.
80
VDD
BL
BL
Q5
Q3
Q4
Q1
Q2
Q6
VDD
WL
VDD
BL
RL
Q3
RL
Q4
Q1
Q2
VDD
WL
BL
81
VDD
BL
BL
RL
Q3
RL
Q4
Q1
Q2
VDD
0
WL
Seleccin
de bit
VDD
Q5
Q6
Q7
Q8
Q9
SE
82
Refresco
VDD
Q11
Q12
D'
D
Q5
Q6
Q1
Linea
de bit
Q2
C1
C2
R
Q8
Q7
Q9
Linea
de bit
Celda de memoria
Entrada
de datos
Q10
Salida
de datos
83
Precarga (F1)
VDD
Q1
Q2
Celda de memoria
D'
RS(F2)
Q4
Q3
Q5
C2
Din
Dout
WS(F2)
BL
Linea de
palabra
WL
WL
Q1
Q1
Linea
de bit
C1
(Almacena)
(a)
CB
(Direcciona)
(b)
Celda DRAM con un solo transistor
(a) Solucin mnima que provoca lectura destructiva
(b) Alternativa vlida
84
Celda 1
Contenido
0 1 1 ...
0
COMPARADOR
bit a bit
Mscara
Patrn
...
1 1 0 ...
C1/C1
Patrn
0 1 x ...
Celda n
Contenido
COMPARADOR
bit a bit
Cn/Cn
Patrn
85
REGISTRO de COINCIDENCIAS
y
CODIFICADOR de PRIORIDAD
Comparando
{ Ci }
Hay un ncleo central de almacenamiento compuesto por celdas SRAM como las que
hemos visto previamente en las que a cada celda se le han aadido un cierto nmero de
transistores para llevar a cabo la comparacin entre su contenido y el del bit
correspondiente de un registro adicional que contiene el patrn de comparacin. Este
patrn se obtiene a su vez de filtrar la palabra externa que queremos saber dnde est
almacenada, llamada comparando, con una mscara que selecciona cul es el
subcampo de esa palabra (clave de bsqueda) en el que estamos realmente interesados,
por ejemplo, para extraer como informacin el resto de los subcampos.
As pues, en el proceso de comparacin intervienen los contenidos de tres registros:
comparando, mscara y patrn o clave de bsqueda. Esta palabra patrn o clave de
bsqueda se distribuye para ser comparada en paralelo con cada una de las n palabras
de la CAM. Para realizar esta comparacin cada celda de la CAM posee un registro con el
dato propio, otro para recibir el bit correspondiente del patrn y un circuito
combinacional que detecta la coincidencia o no coincidencia entre ambos bits. Es decir,
un circuito NOR exclusivo cuya salida slo estar en alta cuando ambas entradas
coinciden (AB + AB).
Cuando se han realizado todas las comparaciones el resultado se lleva a un registro que
indica las comparaciones que han sido vlidas (registro indicador o de marca) y existen
tres posibilidades: que no hayamos encontrado ninguna coincidencia, que hayamos
encontrado slo una o que existan varias. Si no existe ninguna, no hay direcciones
vlidas para ese patrn. Si hay slo una, se activa su bit correspondiente y si hay varias
se usa un codificador con prioridad, ofrecindose por ejemplo la direccin cuyo decimal
equivalente sea el menor. Como este registro indicador de direcciones vlidas debe de
contener el resultado de las comparaciones de la palabra patrn con todas las de la
CAM, necesita n bits, tantos como direcciones. Hay finalmente un registro de salidas
que saca las palabras seleccionadas.
Celda CAM bsica en CMOS
Su constitucin bsica consiste en utilizar una celda SRAM de 6 transistores y 4
transistores ms para realizar las funciones de comparacin del estado de alta o bajadle
bit almacenado en los otros seis con el bit correspondiente al registro patrn
BL
BL
VDD
Q5
Q3
Q4
P
Q6
Q1
Q2
WL
86
MATCH
Q10
Q9
N
N
Q7
BL
N
Q8
BL
VDD
Q5
Q3
Q4
P
Q6
Q1
Q2
WL
87
CONTROL R/W
Entrada
de Datos
D0
D1
RD0
Dn-1
...
RDn-1
RD1
0
...
2
...
...
k-1
...
k-1
Q0
k-1
Q1 ...
Qn-1
Salida
de
Datos
88
Sentido
de Desplazamiento
Reloj
RD0
... RDn-1
RD1
2
...
...
k-1
D0
...
k-1
Q0 D1
k-1
Qn-1
Q1 ... Dn-1
Entrada
de Datos
Salida
de
Datos
CONTROL R/W
89
R
R
R
R
R
R
Regeneradores
de Seal
Organizacin por lazos mltiples con direccionamiento directo para cada lazo
Mejora el tiempo de acceso al coste de aumentar la electrnica de direccionamiento. Lo
que se ha hecho es segmentar en tramos y direccionar cada uno de estos tramos de
forma directa, como hacamos en las memorias RAM.
Direccin
A 1 - An
D
E
C
O
D
I
F
I
C
A
D
O
R
...
Entrada/Salida
de Datos
...
90
Salida
de Datos
S1
vi
F1
Q2 N
P1
vi
Q5
N
Q1
VDD
Q3
P2
F2
VDD
Q8 N
P3
P4
N
N
F1
Q4
Q6
Q7
C2
Primera Etapa
N
N
Q9
N
Q10
Q12
C3
Segunda Etapa
Conducen Q2,Q3,Q8,Q9
VDD
0
VDD
F2
Q11
N
C1
VDD
Conducen Q5,Q6,Q11,Q12
0
Registro de desplazamiento usando reloj bifsico
91
v0
P
N
vi
P
N
I1
G1
I2
G2
G3
vo
92
Tipos de FIFO
I. FIFO tipo registro de desplazamiento, que ya hemos visto en el apartado
anterior. En estas el nmero de palabras almacenadas es fijo (coincide con la longitud
del registro) y hay un sincronismo implcito y necesario entre las operaciones de lectura
y escritura. A medida que van entrando nuevas palabras dato en los registros FIFO,
otras van saliendo por el otro extremo.
II. FIFO de lectura/escritura mutuamente exclusivas en las que, en cada
momento, slo se puede leer o escribir, pero no ambas cosas. El nmero de palabras
almacenadas es variable y deben satisfacerse ciertas condiciones en el cronograma
entre las seales procedentes del "sistema que escribe" y las procedentes del "sistema
que lee". Es necesario un cierto nivel de sincronismo entre estos dos sistemas.
III. FIFO de lectura/escritura concurrente, con un nmero variable de palabras
almacenadas y posibilidad de lectura y escritura asncrona, pudiendo coexistir ambos
procesos. Es decir, no hay restricciones en el cronograma de los ciclos de lectura y
escritura. Son independientes y no necesitan ningn sincronismo entre ellos. Esto
significa que cuando dos sistemas de distinta frecuencia se conectan a la FIFO, no
necesitamos preocupamos de la sincronizacin, porque la realiza internamente el
circuito.
A su vez las FIFO concurrentes pueden ser asncronas o sncronas, dependiendo del
tipo de seales de control usadas en los procesos de lectura y escritura.
Terminales de una FIFO asncrona.
Reloj de
Escritura
Reloj de
Lectura
FIFO
Asncrona
FULL
EMPTY
Dato de
Salida
Dato de
Entrada
CLEAR
llena
Reloj de
Escritura
Dato de
Escritura
EMPTY
D1
D2 D3
D4
D5
vaca
Reloj de
Lectura
Dato de
Salida
D2
D1
Reset
Escribe
D1 - D3
Lee
D1
93
Escribe
D4 - D5
D3
Lee
D2 - D5
D4 D5
Reloj de
Escritura
Reloj de
Lectura
Facilitacin
Escritura
Facilitacin de
Lectura
FIFO
Sncrona
FULL
EMPTY
Dato de
Salida
Dato de
Entrada
CLEAR
llena
Reloj de
Escritura
Facilitacin
Escritura (WE)
Dato de
Escritura
EMPTY
D1
D2 D3
D4
D5
vaca
Reloj de
Lectura
Facilitacin
Lectura (RE)
Dato de
Salida
D2
D1
Reset
Lee
D1
Escribe
D1 - D3
Escribe
D4 - D5
D3
D4 D5
Lee
D2 - D5
94
Llena
Puntero
de escritura
Puntero
de lectura
Vacia
Salida de
Datos
Control de
Escritura
Puntero de
Escritura
FULL
Half FULL
Lgica de
Flag
EMPTY
CLEAR
Reloj de
Lectura
SRAM
Lgica de
Borrado
Control de
Lectura
Puntero de
Lectura
Salida
de datos
95
Cmara
Reloj
Digitalizador
(conversor A/D)
Compresin
FIFO
Generador de
Ciclo
Procesador de
seales
Salida
Canal
Memoria
Descompresin/Visualizacin
96