Fundamentos de Electrónica Digital
Fundamentos de Electrónica Digital
FUNDAMENTOS DE
sistemas digitales
ELECTRÓNICA DIGITAL
UNED
FUNCIONES LÓGICAS BÁSICAS
Función de comparación
Comparador
A>B
Esta función comprueba si dos cantidades
binarias A y B son iguales o no, y si son distintas A
cual de ellas es mayor.
A=B
B
A<B
Funciones aritméticas
Función de codificación
Un codificador convierte la información en algún tipo de código, así un nivel alto en la
entrada 9 genera el código binario correspondiente en una calculadora.
9 Codificador
8
7
6
5 Código
binario
4
del 9
3
2
1
0
1
Función de decodificación
Un decodificador convierte la información codificada, en otra información no
codificada
Decodificador
Entrada
binaria
Multiplexor Demultiplexor
A D
Datos de Datos de Datos de Datos de
Dt1 AaD BaE CaF AaD Dt1
B Dt2 Dt1 Dt2 Dt3 Dt1 Dt2 E
C Dt3 Dt3 F
Un multiplexor es un circuito lógica que pasa los datos digitales procedentes de varias
lineas de entrada a un única linea de salida según una secuencia de tiempos específica.
Función de almacenamiento
El almacenamiento es una función que conserva una serie de datos binarios durante
un periodo de tiempo. Los tipos más comunes son:
Flip-flops: Es un circuito lógico 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.
Además de almacenar bits, los registros se pueden emplear para desplazarlos de una
posición a otra dentro del registro o fuera del mismo a otro circuito. Estos dispositivos
de conocen como registros de desplazamiento.
2
Los dos tipos básicos de registros de desplazamiento son serie y paralelo.
0 0
El cuarto bit (0) entra en serie en el
Bits en paralelo
en las lineas de
entrada
0 1 0 1
0 0 0 0 Inicialmente el registro está vacío,
conteniendo solo ceros
3
Función de recuento
Los contadores digitales cuentan sucesos representados por cambios de nivel o por
impulsos.
Contador
Lineas de
salida en
paralelo Código Código Código Código Código
binario binario binario binario binario
para el 1 para el 2 para el 3 para el 4 para el 5
1 2 3 4 5
Secuencia de códigos binarios que representan
el número de impulsos de entrada contados
A B F
A F 0 0 0
AND F = A·B 0 1 0
B 1 0 0
1 1 1
A B F
A F 0 0 0
B
OR F=A+B 0 1 1
1 0 1
1 1 1
F A F
A NOT F=A 0 1
1 0
A B F
A F 0 0 1
NAND F = A·B = A + B 0 1 1
B 1 0 1
1 1 0
A B F
A F 0 0 1
NOR F=A+B=A·B 0 1 0
B 1 0 0
1 1 0
A B F
A F 0
0
0 0
1 1
B
XOR
F=A+B=A·B+A·B 1 0 1
1 1 0
A B F
A F 0 0 1
XNOR
F=A+B=A·B+A·B 0 1 0
B 1 0 0
1 1 1
4
LEYES Y REGLAS DEL ÁLGEBRA DE BOOLE
A
B
A+B º B
A
B+A
A
B
A·B º B
A
B·A
º
A A
A + (B + C) A+B
B
B
B+C (A + B) + C
C C
º
A A
A·(B·C) A·B
B
B
B·C (A·B)·C
C C
Ley distributiva
A·(B + C) = A·B + A·C
A
B A·B
º
B
B+C
C
X
X A
A
C A·C
Regla 1. A + o = A
A=1 A=0
1 0
0 0
5
Regla 2. A + 1= 1
A=1 A=0
1 1
1 1
Regla 3. A·0= 0
A=1 A=0
0 0
0 0
Regla 4. A·1= A
A=0 A=1
0 1
1 1
Regla 5. A + A= A
A=0 A=1
0 1
A=0 A=1
Regla 6. A + A = 1
A=0 A=1
1 1
A=1 A=0
Regla 7. A· A = A
A=0 A=1
0 1
A=0 A=1
Regla 8. A· A = 0
A=1 A=0
0 0
A=0 A=1
Regla 9. A· A = 0
A=1 A=0
A=0 0 A=1 0
6
Regla 10. A + A·B = A
A
A B A·B A + A·B
0 0 0 0
0 1 0 0 B
1 0 0 1
1 1 1 1
A conexión directa
igual
A
A
B
B
igual
igual
7
A
B A
B
C
C
Teoremas de DeMorgan
A·B = A + B
A+B=A·B
A
B A·B º A
B A+B
A
B A+B º A
B A·B
miniterm
0 A·B·C·D 0000
1 A·B·C·D 0001
2 A·B·C·D 0010
3 A·B·C·D 0011
4 A·B·C·D 0100
5 A·B·C·D 0101
6 A·B·C·D 0110
7 A·B·C·D 0111
8 A·B·C·D 1000
9 A·B·C·D 1001
10 A·B·C·D 1010
11 A·B·C·D 1011
12 A·B·C·D 1100
13 A·B·C·D 1101
14 A·B·C·D 1110
15 A·B·C·D 1111
8
MAPAS DE KARNAUGH
B BC
A 0 1 A 00 01 11 10
m0 m1 m0 m1 m3 m2
m2 m3 m4 m5 m6 m7
CD
AB 00 01 11 10
m0 m1 m3 m2
m4 m5 m7 m6
m8 m9 m11 m10
LÓGICA COMBINACIONAL
Circuitos lógicos combinacionales básicos
A·B
A
B
A·B + C·D Lógica AND-OR
C Suma de productos
D
C·D
Lógica AND-OR-inversor
A·B
A
B A·B + C·D
A·B + C·D =
= (A + B)·(C + D)
C
D Productos de sumas
C·D
9
La propiedad universal de las puertas NAND y NOR
Las puertas NAND como elemento lógico universal
A A º A A
A
B
A·B
A·B = A·B º A
B
A·B
A
A
A·B = A + B º A
B
A+B
B
B
A
A
A+B A+B º A
B
A+B
B
B
A A º A A
A
B
A+B
A+B º A
B
A+B
A
A
A + B = A·B º A
B
A·B
B
B
A
A
A·B
A·B º A
B
A·B
B
B
10
FUNCIONES DE LA LÓGICA COMBINACIONAL
Sumadores básicos
Semisumadores (HA)
A S=A+B=A·B+A·B
S
A S B Cout = A·B
HA
A B S Cout
B Cout
0 0 0 0
Cout 0 1 1 0
1 0 1 0
1 1 0 1
Sumador completo (FA)
A
S
A+B
B FA A S
Cout HA1 HA2
Cin (A + B)·Cin
B
S = (A + B) + Cin Cin
A·B Cout
Cout = A·B + (A + B)·Cin
A B Cin Cout S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
0
A B Cin A B Cin
A2 B 2
FA FA + A1 B1
S3 S2 S1
Cout S Cout S
(MSB) S3 S2 S1 (LSB)
11
Cuatro bits
A4 B4 A3 B3 A2 B2 A1 B1 C0
FA FA FA FA
C4 C3 C2 C1
S4 S3 S2 S1
C3 C2 C1 C0
A4 A3 A2 A1
B4 B3 B2 B1
(MSB) C4 S4 C3 S3 C2 S2 C1 S1 (LSB)
S = C4S4S3S2S1
Cn-1 An Bn Sn Cn
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
12
Sumadores serie
A5 A4 A3 A2 A1
0 1 0 1 1
S5 S4 S3 S2 S1
A
S 1 1 0 0 0
B FA
B5 B4 B3 B2 B1 Cout
Cin
Reloj 0 1 1 0 1
Retardo
C4
B3 P3
A3
G3
B2 P2 P3
A2 S3
G2 C3
B1 P2
A1 P1
G1 S2
C2
B0 P1
A0 P0
S1
G0 C1
P0
C0 S0
13
Restadores
Semirestadores (HS)
A D=A+B=A·B+A·B
D
A D B Cout = A·B
HS
A B D Cout
B Cout
0 0 0 0
Cout 0 1 1 1
1 0 1 0
1 1 0 0
Restador completo (FS)
A
S
A+B
B FS A D
Cout HS1 HS2
Cin (A + B)·Cin
B
S = (A + B) + Cin Cin
A·B Cout
Cout = A·B + (A + B)·Cin
A B Cin Cout D
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
14
Comparadores
Un comparador de palabras de n bits es un circuito que determina cual de estas
palabras es mayor, cuál es menor y cuando son iguales. Tiene que producir tres salidas:
A B C
0 0 0
C = AB 0 1 0
1 0 1
1 1 0
A B D
0 0 0
D = AB 0 1 1
1 0 0
1 1 0
Comparador de palabras de un bit
D = AB
A
B
E = AB + AB
C = AB
Comparador de palabras de cuatro bits
Si E = 1 Þ A = B
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 Þ A3·B3
ó
A3 = B3 y A2 > B2 Þ E3·A2·B2
ó
A3 = B3 y A2 = B2 y A1 > B1 Þ E3·E2·A1·B1
ó
A3 = B3 y A2 = B2 y A1 = B1 y A0 > B0 Þ E3·E2·E1·A0·B0
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 D3
B3
E3
C3
A2 D2
B2
E2
C2
A<B
A1 D1
B1
E1
C1
A>B
A0 D0
B0
E0
C0
A=B
16
Unidad Aritmético-Lógica (ALU) SN74181
Selectores
de función
6 5 4 3
S0 S1 S2 S3
2 9
A0 F0
10
Palabra A
1 24 23
B0 Vcc A1 F1 Salidas
A0 2 23 A1 21 11 de función
S3 3 22
A2 F2
B1
19 13
S2 4 21 A2 A3 F3
5
SN74181
S1 20 B2
S0 6 19 A3
1 14 Salidas de
Cn 7 18 B3 A=B
B0 comparación
M 8 17 G
Palabra B
22
F0 9 16 Cn+4 B1
16 Salidas
F1 10 15 P
20 Cn+4 de acarreo
B2
F2 11 14 A=B 18
GND 12 13 F3
B3
Entrada 7
de acarreo
Cn 17
Salidas
G
15 de acarreo
Selector 8
M anticipado
de modo P
Vcc GND
24 12
M=0
Códigos M=1
Funciones aritméticas
de selección Funciones
lógicas Cn =0 con acarreo
S3 S2 S1 S0 Cn = 1 sin acarreo
17
Decodificadores
Un decodificador es un circuito que convierte un código de entrada binario de N bits
N
en M líneas de salida (N puede ser cualquier entero y M es un entero menor o igual a 2 ),
tales que cada línea de salida será activada para una sola de las combinaciones posibles
de entrada.
Decorificador
N M
salidas salidas
Función de
Entradas descodificación Salidas
BIN/DEC
0 0 0 0 0 A3A2A1A0 01 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 0 0 0 1 A3A2A1A0 101 1 1 1 1 1 1 1 1 1 1 1 1 1
2 0 0 1 0 A3A2A1A0 1 101 1 1 1 1 1 1 1 1 1 1 1 1
3 0 0 1 1 A3A2A1A0 1 1 1 01 1 1 1 1 1 1 1 1 1 1 1
4 0 1 0 0 A3A2A1A0 1 1 1 101 1 1 1 1 1 1 1 1 1 1
5 0 1 0 1 A3A2A1A0 1 1 1 1 1 01 1 1 1 1 1 1 1 1 1
6 0 1 1 0 A3A2A1A0 1 1 1 1 1 1 01 1 1 1 1 1 1 1 1
Entrada binaria
1 7 0 1 1 1 A3A2A1A0 1 1 1 1 1 1 101 1 1 1 1 1 1 1
Pesos
2 8 1 0 0 0 A3A2A1A0 1 1 1 1 1 1 1 101 1 1 1 1 1 1
4 9 1 0 0 1 A3A2A1A0 1 1 1 1 1 1 1 1 1 01 1 1 1 1 1
8 10 1 0 1 0 A3A2A1A0 1 1 1 1 1 1 1 1 1 101 1 1 1 1
11 1 0 1 1 A3A2A1A0 1 1 1 1 1 1 1 1 1 1 1 01 1 1 1
12 1 1 0 0 A3A2A1A0 1 1 1 1 1 1 1 1 1 1 1 101 1 1
13 1 1 0 1 A3A2A1A0 1 1 1 1 1 1 1 1 1 1 1 1 1 01 1
14 1 1 1 0 A3A2A1A0 1 1 1 1 1 1 1 1 1 1 1 1 1 101
15 1 1 1 1 A3A2A1A0 1111111111111110
18
Decodificador BCD a decimal
Dígito Función de
decimal Código BCD descodificación
BCD/DEC
0 0 0 0 0 0 A3A2A1A0
1 1 0 0 0 1 A3A2A1A0
2 2 0 0 1 0 A3A2A1A0
A0 1 3 3 0 0 1 1 A3A2A1A0
A1 2 4 4 0 1 0 0 A3A2A1A0
A2 4 5 5 0 1 0 1 A3A2A1A0
A3 8 6 6 0 1 1 0 A3A2A1A0
7 7 0 1 1 1 A3A2A1A0
8 8 1 0 0 0 A3A2A1A0
9 9 1 0 0 1 A3A2A1A0
74HC42
Decodificador BCD 7 segmentos
BCD/7-seg a
a
b b
Entrada BCD
A0 1
c f
A1 2
d
A2 4 g
e c
A3 8
f e
g
d
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
A3 A2 A1 A0 a b c d e f g
0 0 0 0 0 1 1 1 1 1 1 0
1 0 0 0 1 0 1 1 0 0 0 0
2 0 0 1 0 1 1 0 1 1 0 1
3 0 0 1 1 1 1 1 1 0 0 1
4 0 1 0 0 0 1 1 0 0 1 1
5 0 1 0 1 1 0 1 1 0 1 1
6 0 1 1 0 0 0 1 1 1 1 1
7 0 1 1 1 1 1 1 0 0 0 0
8 1 0 0 0 1 1 1 1 1 1 1
9 1 0 0 1 1 1 1 0 0 1 1
10 1 0 1 0 0 0 0 1 1 0 1
11 1 0 1 1 0 0 1 1 0 0 1
12 1 1 0 0 0 1 1 0 0 1 1
13 1 1 0 1 1 0 0 1 0 1 1
14 1 1 1 0 0 0 0 1 1 1 1
15 1 1 1 1 0 0 0 0 0 0 0
19
Codificadores
Codificador decimal BCD
MUX
Datos de entrada Control
A 0
B 1
Salida D0
Y
D0
0
D1 D1 Y
1
D2
2
D3
3 D2
D3
Control Salida Y
0 0 D0
0 1 D1
1 0 D2
1 1 D3
20
Multiplexor de ocho entradas a una
G MUX As151
A
Control
D0
D1
Datos de entrada
D2
D3
Y
D4 W
D5
D6
D7
21
Demultiplexores
Un demultiplexor (DEMUX) básicamente realiza la función inversa a la del
multiplexor. Toma datos de una línea y los distribuye a un determinado número de
lineas de salida.
En la figura siguiente se puede ver un demultiplexor de una linea de entrada a cuatro de
salida:
Entrada
de datos D0
S1 S0 Salida
0 0 D0
D1
0 1 D1
S0
selección
Lineas de
1 0 D2
D2
1 1 D3
S1
D3
Los demultiplexores se pueden utilizar como decodificadores, solo hay que emplear las
lineas de selección representan números binarios puros o en BCD, activando en cada
instante una linea de salida.
22
LÓGICA COMBINACIONAL PROGRAMABLE (PDL)
x1 x0
x1·x0
x1·x0
f
x1·x0
x1·x0
x1 x1 x0 x0
a0 a1 a2 a3
Para obtener una función universal de dos variables, primero se obtienen las inversas y
después se construyen los cuatro términos producto. Sola hay que controlar el paso de
cada uno de los términos mínimos por medios de los términos de control (a0, a1, a2, a3)
23
Para duplicar el numero de funciones que componen el mismo número de términos
mínimos se duplican los vectores de control (a0, a1, a2, a3)
x1 x0
a0o
a1o f0
a20
a30
x1 x1 x0 x0
a01
a11 f1
a21
a31
Arquitectura básica
··· xn ) y otra matriz OR que se encarga de permitirnos agrupar de una forma cómoda el
n
n 2
conjunto de los 2 términos mínimos para generar cualquiera de las 2 funciones lógicas
diferentes de estas n variables de entrada.
24
xn ... x1 x0 Buffers e
inversores
Matriz de
... Conexiones (Array)
Elementos
OR
AND
m0
m1
m2
m3
...
m2 -4 n
m2 -3 n
m2 -2 n
m2 -1 n
Matriz de Elementos
Conexiones (Array) OR
AND
f0 f1 f2 f3
25
En función de donde esté situada la matriz programable se clasifican en:
Notación
Representación del estado funcional de la conexión
º º
A A B B
A
A f(A, B) f(A, B)
B
B
Se especifica el estado funcional de la conexión
Ejemplos:
A A B B A A B B
f=0 f = A·B
A A B B A A B B
f=0
º f = A·A·B·B = 0
A A B B A A B B
f =1 f = A·B
26
Puerta OR con entrada múltiple
Términos mínimos m0, m1, m2, m3
m0 m1 m2 m3
m0
f(m0, m1, m2, m3) f(m0, m1, m2, m3)
m1
m2
m3
Se especifica el estado funcional de la conexión
Ejemplos:
m0 m1 m2 m3 m0 m1 m2 m3
f=1 f =m0 + m2
m0 m1 m2 m3 m0 m1 m2 m3
f=1
º f =m0+m1+m2+m3 = 1
m0 m1 m2 m3 m0 m1 m2 m3
f =0 f =m0 + m2
Las PROM son PLDs en los que la parte AND es fija y completa, estando así accesibles
todos los términos mínimos de las n variables de entrada, y la parte OR es programable.
Dependiendo del mecanismo usado para borrar tenemos dos nuevos tipos de memorias
no volátiles: EPROM y EEPROM (ó E2PROM).
27
xn x1 x0
Elementos Matriz OR
AND Programable
m0
m1
m2
m3
m4
m5
m6
m7
Matriz AND
Fijo Elementos
OR
f0 f1 f2 f3
28
PALs y PLAs
El diseño de la arquitectura Arquitectura de los circuitos PAL
PROM tiene algunos
problemas ya que la parte AND x3 x2 x1 x0
genera todos los términos Matriz OR
mínimos de n variables (2n) y Fija
para añadir una nueva variable
hay que duplicar el tamaño de
la matriz. Además, en un
número importante de
situaciones de diseño muchos
de esos términos mínimos 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 combinación no
preestablecida de variables de
entrada y variables de salida, o
cuando se desea diseñar 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 programación de la parte
AND. Así aparecieron los PAL
(Programable Arrays Logic)
como un dispositivo universal
de diseño lógico.
29
Si l0 que buscamos en el diseño combinacional es un modelo universal versátil, la
arquitectura más plástica es la PLA (Programable Logic Array) en la que tanto la matriz
de puertas AND como la de puertas OR son programables, tal como se muestra en la
figura . Evidentemente, la contrapartida de la versatilidad es la complejidad y el coste
del circuito resultante. Por consiguiente, las PLAs son recomendables en aquellas
situaciones de diseño en las que sean justificables las facilidades de programación que
ofrecen.
xn ... x1 x0 Buffers e
inversores
Matriz de
... Conexiones (Array)
Elementos
OR
AND
m0
m1
m2
m3
...
m2 -4n
m2 -3n
m2 -2n
m2 -1n
Matriz de Elementos
Conexiones (Array) OR
AND
f0 f1 f2 f3
30
Configuraciones de salida
Control
Triestado
De la
matriz de
Salida
puerta
AND
Control
Triestado
De la
matriz de
puerta
AND Entrada/Salida
E/S
Control C X Salida
Triestado 0 0 0
0 1 1
1 0 1
1 1 0
De la
matriz de X
puerta
AND C Entrada/Salida
E/S
Fusible Programeble
31
Biestables de salida
Control OE
(facilitación)
De la
matriz de
D Q Salida
puerta
AND
Ck Q
(reloj)
Macrocelda
10
RA
(reset síncrono)
11
MUX
.
. D Q 00 E/S
. Q 01
Ck
(reloj)
PS
(Preset síncrono)
0
MUX
S0 S1
S0 S1 Configuración de salida
0 0 A través del biestable D y activa en baja
32
CIRCUITOS BIESTABLES
Luego el sistema bolígrafo necesita un Espacio de Entrada con una variable x que toma
dos valores:
x = x1 = 1 = pulsar x = x2 = 0 = no pulsar
Diagrama de transición
x1 / y1
S1 S2
x2 / y3 x2 / y3
x1 / y2
pulsar/entra punta
33
Tablas de producción de salidas y nuevos estados
S S1 S2 S S1 S2
x x
x1 S2 S1 x1 y1 y2
x2 S1 S2 x2 y3 y3
Es decir, el nuevo estado, S(t+Dt), es una función, f(x,S), del estado actual, S(t), y de la
entrada, x(t). Ante una misma entrada, pueden producirse distintas transiciones de
estado. A su vez, las mismas entradas x(t) y el mismo estado S(t) participan a través de
otra función, g(x,S), en la producción de las salidas. Estas variables de salida son las
respuestas del autómata a un medio externo que 10 ha activado a través de las entradas,
x(t). Es decir, un autómata finito siempre se interpreta en su relación con un medio
externo de forma que las salidas del autómata son las entradas del medio y viceversa.
Mundo externo
34
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 autómata finito en el que las variables son pulsos o niveles,
las funciones son lógica 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
Función f
D0 D1 ... DN-1
Reloj Dt Dt ... Dt
PLD - 2
Función g
y0 y1 ... yN-1
Comportamiento síncrono
En electrónica combinacional no existía el tiempo, la computación era "instantánea".
En cambio, en electrónica secuencial el tiempo es esencial. La posición relativa en la
que ocurren los sucesos define la computación. Hay dos tipos de circuitos digitales,
síncronos y asíncronos.
Aunque todos los circuitos a ver en este cursos son de tipo síncrono
35
Son circuitos síncronos aquellos que están gobernados por un reloj central de forma
que todos los sucesos de interés computacional ocurren en los entornos de los pulsos de
reloj. El intervalo entre dos pulsos sucesivos se usa para estabilizar los niveles de
tensión, pero los cambios de estado no se producen hasta que no llega el nuevo pulso.
Más específicamente, la conmutación se produce en los flancos del pulso de reloj,
cuando este pasa de baja a alta (flanco positivo) o viceversa (flanco negativo).
1
RELOJ
(Astable) Ck
0
T = 1/f
Todos los circuitos secuenciales síncronos poseen junto a las entradas necesarias para
realizar su función, una entrada adicional (Ck - clock) para la señal de reloj que es la que
controla los instantes en que se hacen efectivos los cambios que definen la función. La
frecuencia del reloj define la máxima velocidad de operación permitida en un sistema
digital. Cualquier función necesita,al menos, un periodo (dos pulsos sucesivos) para
ejecutarse.
RELOJ Ck
Ck
x CIRCUITO
DIGITAL
z = f(x,y;Ck)
y
Antes de cada subida del pulso de reloj, las señales x e y deben tener valores estables.
Hay un intervalo de seguridad llamado tiempo de asentamiento (setup time, tsu) que
garantiza que las señales 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
retención (hold time, th) como el intervalo de tiempo durante el cual las entradas
todavía tienen que permanecer estables después 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 señal externa de excitación para
hacerlos cambiar de estado. Esta función de excitación define el tipo de biestable (D, T,
R-S ó J-K).
Clasificación
Asíncronos ⇒ No tienen reloj
Latches ⇒ Activos por nivel
Reloj Þ
Flancos ⇒ Activos por flancos
Master-Slave ⇒ Pulsos
RS ( Set Reset)
Constitución Þ JK
D (Delay)
T (Toggle)
R-S (Reset-Set)
R-S básico
R S
Q Q
Q Q
S R
S Q
R Q
Hay que hallar la expresión lógica que nos relacione el valor de la salida del biestable en
un cierto intervalo de tiempo (Q(t+Dt)) que por simplificación en la escritura
llamaremos Qn+l en función de los valores de las entradas de control (Rn y Sn) y del estado
(salida en el instante actual, o sea, Qn).
37
R=0 R=0
Q=0 Q=1
Q=1 Q=0
Estado estable Estado estable
Q=0 Q=1
Q=1 Q=0
S=0 S=0
R S Qn Qn+1 R S Qn Qn+1
0 0 0 0 0 0 1 1
R=0 R=0
Q=0®0®1
Q=1
Q=1®0®0 Q=0
Estado
inestable
® estable
Estado
Estado estable
Q=0®0®1 Q=1
Q=1®0®0 Q=0
S=1 S=1
R S Qn Qn+1 R S Qn Qn+1
0 1 0 1 0 1 1 1
R=1 R=1
Q=0 Q=1®0®0
Q=1 Q=0®0®1
Estado estable Estado
inestable
® estable
Estado
Q=0 Q=1®0®0
Q=1 Q=0®0®1
S=0 S=0
R S Qn Qn+1 R S Qn Qn+1
1 0 0 0 1 0 1 0
R=1 R=1
Q=0®0®0 Q=1®0®0
Q=1®0®0 Q=0®0®0
Configuración Configuración
no permitida no permitida
Q=0®0®0 Q=Q
Q=1®0®0 Q=Q
Q=1®0®0 Q=0®0®0
S=1 S=1
R S Qn Qn+1 R S Qn Qn+1
1 1 0 0 1 1 1 0
R S Qn Qn+1
R S Qn+1
0 0 0 0
0 0 Qn
0 0 1 1
0 1 0 1
0 1 1
0 1 1 1 1 0 0
1 0 0 0 1 1 ?
1 0 1 0
1 1 0 ?
Qn+l = R·S + R·Qn
1 1 1 ?
38
Autómata biestable
01/1
10/0
Ck R Q
S’ Q
S
Ck
Ck R S Qn+1
0 x x Qn
1 0 0 Qn
1 0 1 1
1 1 0 0
No
1 1 1 permitido
39
R-S sincronizada por flanco
Si el pulso de reloj es muy ancho es posible que se cometan errores debidos a cambios en
el valor de R ó S durante el intervalo de tiempo en el cual el pulso de reloj está en alta.
Para resolver este problema se procura que el pulso de reloj sea muy estrecho y,
además, se usan sólo sus transiciones de baja a alta (o de alta a baja) para definir el
instante en el que se deja actuar a las variables R y S. Decimos entonces que el biestable
R-S está disparado por flancos (positivos, "subidas" o negativos, "bajadas"). Así, como
R y S son asíncronas, lo usual es que los correspondientes niveles de tensión estén
"esperando" a que el pulso de reloj realice una transición para ser operativas,
disminuyendo así la probabilidad de que justo en esa transición se produzca de forma
no deseada otra transición en R ó S.
R R’
Q
Ck’
Ck
S’ Q
Pequeño retardo
S
S Q
Ck
R Q
Ck
Ck’
40
R-S sincronizada por Preset y Clear
En la anterior configuración del R-S los cambios de estado no podían producirse más
que a través de las entradas R y S y de forma síncrona, coincidiendo con el estado de alta
de los pulsos del reloj. Sin embargo, para conseguir una mayor flexibilidad en el diseño
de otros circuitos tales como contadores o registros de desplazamiento, para establecer
condiciones iniciales y para provocar cambios forzados de forma asíncrona, sin
necesidad de coincidencia con los pulsos de reloj, se incluyen dos nuevas entradas
asíncronas adicionales llamadas de preset (puesta a uno) y clear (puesta a cero). Esto se
puede conseguir añadiendo dos puertas OR detrás de las NOR y cerrando ahora los
lazos de realimentación desde estas puertas OR adicionales, tal como se muestra en el
circuito de la figura:
Pr
R R’ Q
Ck
S’ Q
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á
también a alta (Q = 1). Inversamente, si clear pasa a alta (Cl = 1), la salida pasará a baja
(Q =0), independientemente también del valor de las otras señales y con prioridad.
Pr Cl Ck R S Qn+1
0 1 x x x 0
1 0 x x x 1
1 1 x x x No permitido
0 0 0 x x Qn
0 0 1 0 0 Qn
0 0 1 0 1 1
0 0 1 1 0 0
0 0 1 1 1 No permitido
Biestables J-K
41
Si J=K=0 ® No cambia de estado ® Qn+1 = Qn
R’
K
Q J Q
Ck
Ck
K Q
S’ Q
J
Ck J K Qn Qn+1
0 x x x Qn
1 0 0 0 0 Ck J K Qn+1
1 0 0 1 1 0 x x Qn
1 0 1 0 0 1 0 0 Qn
1 0 1 1 0 1 0 1 0
1 1 0 0 1 1 1 0 1
1 1 0 1 1 1 1 1 Qn
1 1 1 0 1
KQn
1 1 1 1 0 J 00 01 11 10
10, 01/1 0 0 1 0 0
J
K
01, 11/0
Qn+l =( J·S + K·Qn)· Ck
Autómata
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 situación inestable, con la salida oscilando entre "0" y "1" como
consecuencia de los retardos de propagación de las señales a través de los dos lazos de
realimentación que se cierran sobre las puertas NOR (como en el R-S) y sobre las
puertas AND de entrada.
Configuración “Master-Slave”
Para evitar estos problemas de los biestables J-K disparados a nivel, se usa una
configuración con dos biestables conectados en serie y con relojes complementarios
que interrumpen la conexión lógica entre la salida y la entrada. Es decir, entre la
generación de la orden de disparo (función de las señales de control J, K y Ck) y su
ejecución (función de la salida del primer biestable), que opera en la fase
complementaria del reloj. Así, se rompe la parte interna del lazo de realimentación.
Master R2 Slave
R’ R’’
K Q1
Q
Ck1
Q1
S’ S’’ Q
J
S2
Ck2
La ecuación lógica de este biestable se puede escribir por simple inspección de los dos
términos mínimos que posee Qn+1 en función de T y Qn. La ecuación lógica de este
biestable se puede escribir por simple inspección de los dos términos mínimos que
posee Qn+1 en función de T y Qn.
43
K R’
T
Q
T Q
Ck C
Q
S’ Q
J
Ck T Qn Qn+1
0 x x Qn Ck T Qn+1
1 0 0 0 0 x Qn
1 0 1 1 1 0 Qn
1 1 0 1 1 1 Qn
1 1 1 0
Qn+l =(T·Qn + T·Qn)· Ck
Autómata
T=1
T=1
Biestables D
D Síncrona 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 línea D es la línea 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 través de un inversor, la
configuración R=S=1, no puede darse nunca. Al estar sincronizado a niveles, el dato
(D=0, D=1) sólo se puede transmitir a la salida durante el pulso de reloj, Ck.
44
D R
R’
Q D Q
Ck
C
Q
S’ Q
Ck T Qn+1 D=1
0 x Qn
D=0 Q=0 Q=1 D=1
1 0 0
1 1 1 D=0
Autómata
Qn+l = Ck · D
D Master-Slave
D R Master Slave
R’ R2 R’’
Q1 Q
Ck Ck Ck
S’’ Q
S’
S S2
D por flancos
Celda de set
Celda de salida
S
Q
Ck
Q
R
D B
Celda de reset
45
DISEÑO SECUENCIAL. CONTADORES Y REGISTROS
Tabla de verdad
x Qn Qn+1 y D
0 0 0 0 0
0 1 0 0 0
1 0 1 1 1
1 1 1 0 1
x
D Q
D=x y = x·Q
Ck
Q y
46
Diseño con biestables T
Hay que tener en cuenta que la respuesta de un biestable T es:
0/1
1/0 S0 S1 1/0
0/0
Tabla de verdad
x Qn Qn+1 y T
0 0 1 1 1
0 1 0 0 1
1 0 0 0 0
1 1 1 0 0
x y
Q
T
Ck
Q
47
Diseño con biestables J-K
La respuesta de un biestable J-K es:
Respuesta
Estado inicial Estado final del J K
biestable
No cambiar 0 0
0 0 o
poner a 0 0
0
1
*
Cambiar 1 1
0 1 o
poner a 1 1
1
0 *
Cambiar 1 1
1 0 o
* 1
poner a 0 0 1
No cambiar 0 0
1 1 o
* 0
poner a 1
1 0
Ejemplo:
0/1
1/0 S0 S1 1/0
0/0
Tabla de verdad
x y
J Q
Ck
K Q
48
Procedimiento general de sintesis
P.3. Minimización (en su caso) del número de estados. En un sistema secuencial hay
tantos estados distintos como historias de estímulos distinguibles. Y no hacen falta más
para duplicar la función. Si existen estados redundantes, conviene eliminarlos para
conseguir una síntesis mínima sobre clases de equivalencia de estados.
P.5.2. Entonces, ordenamos de forma arbitraria esos estados desde So=0 hasta
N
SA-1=2 -1 y rescribimos en binario el subíndice que identifica al estado:
P.5.3. Finalmente elegimos un biestable, (Qo, Q1, ..., QN-1), para cada bit del
estado.
P.5.4. Aplicamos los algoritmos de síntesis para obtener las funciones yk(t) =
Dk(t) de excitación de los N biestables D, a partir de las matrices de transición del
autómata.
49
Representación, síntesis y análisis
En la figura, ya vista en el tema anterior, vimos la arquitectura general de un circuito
secuencial basada en el uso de dos PLDs, uno para la producción de los nuevos estados a
partir de las entradas y el estado actual (PLD-l) y otro para producir las salidas a partir
de las entradas y el estado (PLD-2). Este segundo circuito es de naturaleza
combinacional y no usa los biestables D de sus macroceldas de salida, por lo que no
vamos a detenemos ahora en su diseño.
x0 x1 ... xM-1
PLD - 1
Función f
D0 D1 ... DN-1
Reloj Dt Dt ... Dt
PLD - 2
Función g
y0 y1 ... yN-1
50
(a) x0 ... xM-1
Q0 ... QN-1
... ...
DN-1 D0
D D N macroceldas
...
Q Q
QN-1 ... Q0
(b) macroceldas
10
RA
(reset síncrono)
11
MUX
.
. D Q 00 E/S
. Q 01
Ck
(reloj)
PS
(Preset síncrono)
0
MUX
S0 S1
51
Como tenemos M variables externas y, en general también tenemos la realimentación
de las N macroceldas, las funciones de excitación de los N biestables D son funciones
universales de (N+M) variables lógicas:
Dk(tn) = fk [xo(tn-1), ... ,xM-1(tn-1); Qo(tn-1), ... ,QN-1(tn-1)] k =0,1, ... , N-1
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 síntesis de un autómata de 2
estados se realiza yuxtaponiendo N autómatas de dos estados, uno por cada bit de la
palabra que representa el estado. La programación del autómata se realiza cargando en
el PLD la configuración de coeficientes {ai} correspondientes a los términos mínimos
que participan (para un autómata concreto) en las funciones de excitación, Dk(tn), de los
biestables D de sus N macroceldas de salida. La reprogramación del autómata (su
reconfiguración) puede realizarse cuantas veces sea necesario cargando los nuevos
valores de los coeficientes {ai}.
Representación
M-1
Como hemos necesitado {Xm} configuraciones de entrada (m = 0, 1, ..., 2 ),
necesitaremos para su síntesis M variables lógicas (xo,x1, ..., xM-1) y por consiguiente
M
tendremos, en general, 2 matrices de transición distintas, una para cada configuración
de entrada.
Los elementos de estas matrices booleanas, {Tijm}, son ti = 1 si bajo Xm el autómata pasa
de Si a Sj y tij = 0 si no se produce esa transición. Como bajo cualquier entrada Xm, el
autómata tiene que realizar alguna transición, estas matrices sólo tienen un uno por
fila. Además como las configuraciones de entrada son distintas y mutuamente
exclusivas, podemos usar una representación más compacta mediante una matriz
paramétrica, llamada matriz funcional, M(Xm), resultado de multiplicar cada matriz
m
de transición, {Tij },por la configuración de entrada que la produce, (Xm), y sumar estos
productos. Así, la matriz funcional será:
2M - 1
M(Xm) = å Tij ·Xm
m
m=0
Obsérvese que esta matriz es una matriz de representación. Es decir, es una forma
compacta de representar el conjunto de expresiones lógicas que controlan todas y cada
una de las transiciones de estado para todas y cada una de las posibles configuraciones
de entrada.
52
Cada configuración de valores en las variables de entrada, Xm, selecciona una matriz de
m
transición, {Tij },que describe los cambios de estado que se producen cuando dejamos
esa configuración de entrada constante. La figura resume el proceso de representación.
Xm
Tijm
Xm
Selecciona Sj
el plano
Estados finales
Si
Estados S0 S1 S2 S3
iniciales S0 0 0 1 0 Sj
S1 0 1 0 0
Plano de S2 1 0 0 0
trabajo S3 0 0 0 1 Transición S0 ® S2
bajo Xm
Si
Síntesis
Si hemos hallado la representación de un autómata de 2N estados y 2M configuraciones
de entrada, {Xm}, el siguiente paso es la obtención de las funciones de excitación,
{Dk(t)}, de los N biestables D que sintetizan al autómata. El algoritmo de síntesis y
análisis de autómatas modulares se debe a R. Moreno Díaz y es el siguiente:
2N-1 2N-1
Dk(t) = å { åM (Xij m )·Sj} = å åM (X ij m )·Q0a·Q1b· ... QN-1f
i=0 j i=0 j
53
El estado inicial, Si =Q0a·Q1b· ... 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 notación
de Gilstrap en la que:
a a
Qi = Qi si a =1 y Qi = Qi si a =0
Ejemplo
Supongamos que queremos sintetizar un autómata de dos estados (Qo = 0, Qo = 1) y una
entrada (xo), cuya matriz funcional es:
Qo = 0 Qo = 1
Qo = 0 0 1
M(xo) =
Qo = 1 xo xo
Los caminos para llegar a Qo = 1 son los de la segunda columna, es decir cuando el
estado anterior era Qo = o para cualquier valor de la entrada y cuando el estado anterior
es Qo = 1, para xo= 0 (xo). La función de excitación será:
x0 D0 Q0
Ck
Q0
Análisis
El análisis consiste en obtener la matriz funcional y/o el diagrama de etapas a partir de
un circuito determinado.
54
x0
x1
QB
DB
QA
QB
DA
QA
En primer lugar obtendremos las funciones correspondientes a cada variable (Di e “y”)
a partir del esquema suministrado:
Matriz funcional
Estado inicial Estado final
QBQA 00 01 10 11
55
QBQA = 00
Estados iniciales
DA = x1 + QA= x1 + 0 = x1
DB = x1·x2·QB + (x1 + x2)·QB = x1·x2·0 + (x1 + x2)·1 = (x1 + x2)
Estados finales
QBQA = 01
Estados iniciales
DA = x1 + QA= x1 + 1 = 1
QBQA = 10
Estados iniciales
DA = x1 + QA= x1 + 0 = x1
DB = x1·x2·QB + (x1 + x2)·QB = x1·x2·1 + (x1 + x2)·0 = x1·x2
Estados finales
56
QBQA = 11
Estados iniciales
DA = x1 + QA= x1 + 1 = 1
Matriz funcional
Estado inicial Estado final
QBQA 00 01 10 11
00 x1·x2 0 x1·x2 x1
01 0 x1·x2 0 x1 + x2
10 x1·x2 x1 x1·x2 0
11 0 x1 + x2 0 x1·x2
Se puede comprobar que la matriz es correcta ya que la suma de cada línea 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
sucesión de estados correspondientes a la representación en binario del número de
impulsos recibidos desde que se inició el ciclo.
Tipos de contadores
Asíncronos: Los biestables que componen el contador no cambian de estado
exactamente al mismo tiempo, dado que no comparten el mismo impulso de reloj.
Síncronos: Hay una relación temporal fija entre sí. Todas los biestables que
componen el contador reciben en el mismo instante la señal de reloj y por lo tanto
cambian (si han de cambiar) en el mismo instante.
57
CONTADORES
Asíncronos Síncronos
El carácter 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 revés.
Finalmente, dentro de los síncronos, el arrastre puede ser serie o paralelo, dependiendo
de la lógica combinacional complementaria. Lógicamente, los de arrastre paralelo son
más rápidos.
Contadores asíncronos
La forma más sencilla de diseñar un contador asíncrono 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 lógica
cuyo número de impulsos se desea contar.
Después, 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 (transición de alta a baja), el circuito del
contador y el cronograma correspondiente son los que se muestran en la figura.
Q0 Q1 Q2
Pr Q Pr Q Pr Q
J J J
Ck Ck Ck Ck
K Q K Q K Q
Cl Cl Cl
+
-
58
Ck
Q0
Q1
Q2
0 1 2 3 4 5 6 7 0
Contadores descendentes:
Para configurar contadores con sentido descendente hay dos posibilidades:
Pr Q Pr Q Pr Q
J J J
Ck Ck Ck Ck
K Q K Q K Q
Cl Cl Cl
1 1 1
Q0 Q1 Q2
Pulsos
Q0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
Q0
Q1 0 o 1 1 0 0 1 1 0 0 1 1 0 1 1 0 0
Q1
Q2 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 0
0 1 2 3 4 5 6 7 0 1 2 3 4 3 2 1 0
x = 1 Þ cuenta hacia arriba x = 0 Þ cuenta hacia abajo
59
Para x=1 seleccionamos la entrada de reloj de cada biestable de la salida Q de la báscula
anterior, por lo tanto se comporta como un contador ascendente.
1. Resetear todo el contador, mediante el “clear”, cuando el número binario al que llega
contando es el de la base que se quiere conseguir. Ello provoca la puesta a cero del
contador y el inicio de un nuevo ciclo.
Q0 Q1 Q2 Q3
Pr Q Pr Q Pr Q Pr Q
J J J J
Ck Ck Ck Ck Ck
K Q K Q K Q K Q
Cl Cl Cl Cl
1 1 1 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Pulsos
Q0
Q1
Q2
Q3
Clear= Q0· Q3
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 0000 0001 0010 0011 0100 0101 0110
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
60
2. Poner a “1” todas los biestables del contador mediante el “preset” cuando se llega al
número de la base al que se quiere llegar menos 1 (base-1). Ello provoca que el contador
llega al máximo 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 Q Pr Q Pr Q Pr Q
J J J J
Ck Ck Ck Ck Ck
K Q K Q K Q K Q
Cl Cl Cl Cl
1 1 1 1
Q0 Q1 Q2 Q3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Pulsos
Q0
Q1
Q2
Q3
Preset
0000 0001 0010 0011 0100 0101 0110 0111 1000 1111 0000 0001 0010 0011 0100 0101 0110
0 1 2 3 4 5 6 7 8 15 0 1 2 3 4 5 6
61
Contadores sincronos
Inconvenientes de los contadores asíncronos
El proceso de diseño de los contadores síncronos no deja de ser un caso concreto del
diseño 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 diseño analizados en los
apartados anteriores.
Q0 Q1 Q2
Pr Q Pr Q J Pr Q
J J
Ck Ck Ck Ck
K Q K Q K Q
Cl Cl Cl
1
62
Este contador se puede transformar en reversible usando un multiplexor 2 a 1 y ambas
salidas Q y Q.
Q0 Q1 Q2
Pr Q Pr Q Pr Q
J J J
Ck Ck Ck Ck
K Q K Q K Q
Cl Cl Cl
1
x x = 0 (cuenta atrás)
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 básico, la información 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 realimentación.
El contenido del primer biestable se obtiene en general mediante una función lógica de
la entrada externa, x, y del estado de todos los biestables (Qo, Q1, ..., QN-1), de forma que
Q0 Q1 ... QN-1
Pr Q Pr Q Pr Q
D D D
Ck Ck Ck
...
Q Q Q
Cl Cl Cl
Ck
Q0 Q1 ...
QN-1
f (x;Q0, Q1, ... ,QN-1)
63
Los registros de desplazamiento son un caso particular de circuito secuencial en el que
se fuerza la conectividad de todos los biestables menos la del primero que admite datos
externos directamente o a través de una función de realimentación. En las aplicaciones
más frecuentes, esta función de realimentación no existe o se limita a dejar circular los
datos, de forma que el registro de desplazamiento actúa como una memoria.
Las facilidades adicionales que incluyen las soluciones integradas permiten clasificar a
los registros de acuerdo con la forma en que reciben y entregan los datos. Así tenemos:
Entrada
D D D D
de datos
Ck Ck Ck Ck
Ck
Q0 Q1 Q2 Q3
64
Entrada
0 0 0 0
D D D D Q3
de datos
Ck Ck Ck Ck
Inicialmente el
registro esta a
0000 (Clear)
Ck
0 0 0 0
Primer bit de D D D D Q3
datos = 0
Ck Ck Ck Ck
Después del
primer impulso
de reloj (Ck1)
Ck1
Segundo bit de
1 0 0 0
D D D D Q3
datos = 1
Ck Ck Ck Ck
Después del
segundo impulso
de reloj (Ck2)
Ck2
Tercer bit de
0 1 0 0
D D D D Q3
datos = 0
Ck Ck Ck Ck
Después del
tercer impulso
de reloj (Ck3)
Ck3
Cuarto bit de
1 0 1 0
D D D D Q3
datos = 1
Ck Ck Ck Ck
cuarto impulso
de reloj (Ck4) el
número completo está
almacenado en el registro
Ck4
65
Registro de desplazamiento SN74195 con posibilidad de entrada
serie o paralelo y salida serie y paralelo
Entrada
Serie Entrada Paralelo
J K A B C D
SH/LD
Ck
Clear
RA Cl QA RB Cl QB RC Cl QC RD Cl QD
Ck Ck Ck Ck
SA QA SB QB SC QC SD QD
QA QB QC QD QD
Salidas Paralelo
El terminal de clear sirve para poner a cero todos los biestables. Está activo en baja. El
registro es síncrono y los cambios de estado se producen en las subidas del reloj. La otra
entrada de control es Shift/Load (SH/LD). Cuando está en baja la carga del registro se
realiza en paralelo a través de las entradas A, B, C y D. Si está en alta, la carga se realiza
en serie a través de las entradas J y K .
Para que se inicie el proceso de carga en paralelo, la entrada SH/LD debe ponerse a 0 y
clear debe estar a 1. Los valores que se quieren cargar deben estar en A, B, C y D y entran
a la R y S del biestable correspondiente a través de las puertas NOR de su multiplexo. Al
tener S = R, los biestables actúan como D y transmiten estos valores a sus salidas
haciendo QA = A, QB = B, QC = C y QD=D.
66
Los biestables pasan a estos valores en el instante en el que, estando SH/LD en 0, el
reloj pasa a alta. Estos valores se mantienen durante todo un periodo del reloj. Si antes
de pasar todo el periodo del reloj, existiera un cambio en SH/LD , manteniéndose en
baja las entradas serie (J ,K ), cada biestable transferiría su contenido al biestable
siguiente, desplazándose la información que hemos cargado. Cada nuevo pulso
desplaza una posición la información cargada de forma que tras el cuarto pulso, todos
los biestables estarán a 0. Se termina así el proceso de conversión paralelo-serie.
Veamos ahora qué pasa con la carga serie. Se facilita con SR/LD en alta y se controla con
(J, K). Si previamente a la carga serie, mediante c!ear, hemos puesto a cero todas las
salidas, con (J=1, y K =1), ponemos QA = 1, mientras que QB = QC = QD = 0, que es el valor
que tenían antes. A partir de aquí, si se pasan J y K a 0, el 1 cargado en QA se irá
transfiriendo a los siguientes biestables, en los sucesivos pulsos de reloj.
Entradas Salidas
Serie Paralelo
Clear SH/LD Ck
J K A B C D QA QB QC QD QD
L x x x x x x x x L L L L H
H L x x a b c d a b c d d
H H L x x x x x x QA0 QB0 QC0 QD0 QD0
H H L H x x x x QA0 QA0 QBn QC0 QC0
H H L L x x x x L QAn QBn QC0 QC0
H H H H x x x x H QAn QBn QC0 QC0
H H H L x x x x 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 duración del pulso que posee una duración
predeterminada. Se usa como temporizador.
v(t)
Duración controlable
t
1
0
t
v(t)
Periodo (T) controlable
T
1
0
t1 t2 t
Duración del pulso t1 controlable
Formas de onda compuestas: Es difícil que una aplicación exija sólo un tren de
impulsos (astable) o un pulso de duración controlada (monoestable). Lo habitual es
que sean necesarias formas de onda más complejas. En general, para la síntesis de estas
señales 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
R
1 C
vi 4
A B v0
2 3
vi
1
t æ -
t
ö V -
t
V = VCC × ç 1 - e RC ÷ Þ = 1 - e RC Þ
è ø VCC
2
-
t
V t æ V ö
Þe RC
= 1- Þ- = ln ç 1 - ÷
t VCC RC è VCC ø
t æ V ö
v0
t = - RC × ln ç 1 - ÷
è VCC ø
4
t
Al haber un nivel 0 en el punto 2, habrá una diferencia de potencial en la célula RC, que
provocará una corriente por el condensador, una progresiva carga en éste y un aumento
progresivo de su caída de tensión y por tanto de la tensión en el punto 3. Mientras esta
tensión sea inferior al nivel de tensión VOH (tensión mínima de entrada para considerar
nivel lógico 1), se tomará como nivel lógico 0 y se mantendrá el estado mencionado.
El tiempo que el monoestable está en el estado estable (1 de salida) dependerá del valor
de la resistencia y condensador de la célula RC.
69
Amplificador operacional
Funcionamiento: Siempre que la tensión en la entrada “+” sea superior a la de la
entrada “-“, en la salida aparecerá una tensión positiva. Al revés, cuando la tensión en la
entrada “+” sea inferior a la de la entrada “-“, en la salida aparecerá una tensión negativa
o cero voltios, según la alimentación del comparador.
Astables
El principio de diseño se basa de nuevo en el proceso de carga y descarga de un
condensador externo, C, a través de una resistencia, R, hacia los valores extremos de la
tensión de alimentación. La figura muestra el circuito y las formas de onda
correspondientes al diseño de un astable usando un amplificador operacional
v0 (t)
+Vcc
R
t
C
+Vcc -Vcc
v1
-
v0 (t) v2 (t)
v2
+
R2 -Vcc
R1
t
v2 (t)
+Vcc
Al igual que en los otros circuitos binarios,
siempre podemos usar inversores
t
integrados encualquier tecnología para
realizar circuitos astables añadiéndole la
red R-C externa. El principio de -Vcc
funcionamiento de estos astables es la
detección 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 1
extremos. La figura muestra una
t
configuración posible.
2
2 3 1
A B v0 t
3
C
t
70
Cuando la señal 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 vía de descarga
hacia tierra a través de R. La descarga de C (forma de onda 2 de la figura) continúa hasta
que la tensión 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 tensión umbral de la puerta A.
Umbral 6 - Q
3
5 + R
2/3 Vcc SALIDA
R
G
Q
1/3 Vcc - S
Disparo 2 +
555
R
1 Tierra
Terminal Función
1 Tierra o masa
3 Salida
Disparo: Sensible a VCC/3 de forma que si V < VCC/3 el punto S será un 1 y la salida también.
2 Esto producirá siempre que la señal 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
6 biestable RS estará a 0 independiente del valor de S ya que predomina el reset sobre el set
Control: Variando la tensión exteriormente varían los umbrales de los puntos 6 y 7. El
5 umbral alto será el valor de la tensión en el punto 5 y el umbral bajo será siempre la mitad de
la tensión de control
4 Reset resetea el 555 exteriormente
Descarga: Cuando en la salida aparece un 0 en la entrada del transistor aparece un 1 que
7 puede provocar la descarga del condensador si se realizan las conexiones pertinentes de
acuerdo con la utilidad
71
Monostable
+Vcc
RA
8 4 7
5 555 3 v0
C C*
Una vez que el biestable ha sido disparado por una señal de entrada, no se puede
disparar de nuevo hasta que no finalice el ciclo. La salida está en alta hasta que en el
proceso de carga (con una constante de tiempo T = RA·C) la tensión del condensador
alcanza el otro umbral, 2VCC/3. Entonces el primer comparador pone a cero al biestable,
conecta el terminal 7 y descarga al condensador a la vez que lleva a baja al terminal de
salida.
Astable
72
+Vcc
4 8 RA
RL
7
RB
5
555
v0 3
D
6
RL
1 2 C
Relojes
Los relojes son circuitos de tiempo con una mayor precisión y estabilidad en la
frecuencia de oscilación. La clave de su diseño está en usar un cristal de cuarzo para
definir la frecuencia de oscilación, en sustitución 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 señales de control adicionales para facilitar o inhibir,
sincronizar o establecer condiciones iniciales (reset). Cuando el reloj genera más de
una salida se llama polifásico y la forma de onda en cada una de las fases mantiene una
relación precisa con las otras fases.
Oscilador
Oscilador Convertidor Generador de
Fase F1
+ Sinusoidal a Fases
...
Fase Fn
Oscilador
Fase F1
...
Fase Fn
73
El esquema general de un circuito de reloj es del tipo mostrado en la figura. Consta de
un oscilador, un amplificador, un circuito de paso de señal sinusoidal a señal digital con
niveles de una o más familias lógicas y un circuito generador de las distintas fases que
incluye, en general, un contador y un conjunto de puertas lógicas y retardos. Todas
estas funciones están usualmente integradas de forma que para el uso del reloj como
elemento de circuito sólo nos hace falta añadir la alimentación y el cristal de cuarzo
piezoeléctrico que fija la frecuencia de oscilación debido a que su impedancia es la
propia de un circuito sintonizado de alta precisión.
X (Reactancia)
inductiva
L0
ws
º r0 w
Cl wp
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 piezoeléctrico se la
aplica un potencial eléctrico 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) están muy próximas 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 pérdidas, este oscilará con una frecuencia fija
extremadamente precisa y estable.
R2
-
v0 (t)
+
R1 R4
R
74
MEMORIAS RAM Y CAM
Memoria
de Lectura y Escritura
(RWM)
No volátiles Volátiles
Retiene la información Pierden la información
indefinidamente al desconectar la fuente
(pasiva) Usa circuitos activos
biestables
SRAM DRAM
Menor densidad Mayor densidad
Más rápidas Menos rápidas
I/O I/O
Ráfagas Páginas EDO Ráfagas Otras
juntas separadas
Orientada a Ráfagas
aplicaciones EDO +
EDO
75
palabra S Q S Q S Q
0 ...
palabra 0
R Q R Q R Q
palabra S Q S Q S Q
A0 1 ...
A1 palabra 1
Decodificador R Q R Q R Q
...
...
k® K
Ak-1
...
palabra S Q S Q Q
S
k
K-1 = 2 - 1 ...
palabra 2k -1
R Q R Q R Q
Matriz de
Estructura matricial k-l l
2 filas x 2 columnas x n bits
n-1
linea de bit
Al
Decodificador
Al+1
de Filas
...
linea de palabra
...
Ak-1
celda
2k-l-1 seleccionada
0 ... l
2 -1
I/O0
Amplificadores Sensores I/O I/O1
..
(columnas)
I/On-1
...
Decodificador
de Columnas
A0 A1 ... Al-1
76
Una organización matricial es más eficiente para conseguir que las dimensiones
horizontal y vertical del circuito sean comparables. Esto se consigue al repartir los bits
de la dirección (A0, A1, ... ,Ak-1) en dos grupos, uno para direccionar las filas de una matriz
(Al, Al+1, ... ,Ak-1) y el otro para direccionar las columnas (A0, A1, ... ,Al-1) de forma que el
elemento direccionado es el que corresponde a la intersección de la fila (llamada linea
de palabra) y la columna (llamada linea de bit) correspondientes a esos dos
componentes de la dirección (Al, Al+1, ... ,Ak-1) y (A0, A1, ... ,Al-1).
I/O0
Buffers I/O1
de Entrada
I/O2
I/O3
Amplificadores
A0
Decodificador
A1
A2
sensores
de filas
A3
A4 Matriz de I/O4
A5 512 x 256 x 8
A6
A7
A8
I/O5
I/O6
CE1
I/O7
CE2
Decodificador
WE de columnas
OE Circuito de
Bajo Consumo
A9 A10 A11 A12 A13 A14 A15 A16
77
Como la matriz tiene 512 filas necesitamos 9 bits para direccionarlas (A0, A1, A2, A3, A4,
A5, A6, A7, A8) Análogamente, 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 líneas
de entrada/salida (I/O0, I/O1, I/O2, I/O3, I/O4, I/O5, I/O6, I/O7 ). La gestión de la función
concreta que realizan estas líneas en los distintos modos de funcionamiento se controla
a través de buffers de tres estados, de forma que cuando se facilita la salida de datos
(OE) los buffers de salida están activos y los de entrada están desconectados del bus, en
estado de alta impedancia. Inversamente, en operaciones de escritura los datos entran
por las mismas líneas físicas pero ahora los buffers de salida están inhibidos (alta
impedancia) y los de entrada están facilitados.
La memoria posee un circuito de control con cuatro señales (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 configuración:
Es decir, ponemos en baja la señal de selección 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
están en las 8 líneas bidireccionales de entrada/salida (I/Oo, ..., I/O7) se escriben en los
8 biestables que están en la dirección especificada por (A0, ... , A16)
Lectura
Para leer seleccionamos la configuración:
Es decir, activamos las lineas de selección 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 configuración:
78
Celdas RAM estáticas (SRAM) en tecnología bipolar
Su característica principal es el tiempo de acceso que es muy corto, por ello se emplean
principalmente en el diseño de memorias caché.
Por convenio se interpreta que se almacena un “1” cuando Q1 está conduciendo (Q2 al
corte) y un “0” cuando Q1 al corte (Q2 conduciendo).
+VCC = 3,5 V
BL RC RC BL
linea de linea de
escritura escritura
de un “1” de un “0”
3V
0,3 V
WL
Amplificador diferencial
decodificador
de direcciones
R3(“1”) R3(“0”)
1,5 V
BL BL
Selección de celda
79
En caso de que WL=0 V, los dos emisores Ei estarán a 0 V, provocando ello que el
biestable permanezca en el estado anterior. Esto es, si anteriormente Q1 conducía, su
VCE = 0 V por lo que la tensión 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 líneas de datos produciendo un impulso de
salida del amplificador de lectura.
Escritura:
Selección de celda:
Lectura:
Tras seleccionar la celda con WL, hará que Q5 y Q6 conduzcan y por lo tanto los valores
de los puntos A y B aparezcan en las líneas BL y BL respectivamente.
Escritura:
80
Celda NMOS para RAM estática
VDD
BL BL
Q3 Q4
N N
Q5 N A B Q6 N
Q1 Q2
N N
VDD
WL 0
VDD
BL BL
RL RL
Q3 N Q4 N
Q1 Q2
N N
VDD
WL 0
81
Uso del amplificador diferencial en celdas SRAM
VDD
BL BL
RL RL
Q3 N Q4 N
Q1 Q2
N N
VDD
WL 0
Selección
de bit
VDD
Q5 Q6
P P
x Q7 Q8 x
N N
Q9
SE
N
y y
82
Celdas RAM dinámicas. (DRAM) en tecnologia MOS
VDD
Q11 Q12
Linea Q1 Q2 Linea
de bit de bit
C1 C2
Celda de memoria
W R
Q7 Q8
Entrada Y Salida
de datos Q9 Q10 de datos
En los casos en los que se desea alto nivel de integración y bajo consumo aunque se
penalice con velocidades de trabajo menores, se recurre a las celdas dinámicas.
Básicamente el diseño consiste en reducir el número de transistores que componen la
celda, consiguiendo las características citadas, obteniendo diferentes configuraciones a
cada cual más sencilla, hasta llegar el máximo de simplicidad consistente en construir
una celda con único transistor.
Si se compara con la celda estática se aprecia que se han eliminado dos transistores y
que el elemento almacenador de información son los condensadores C1 y C2. Estos
condensadores no se implementan específicamente en la celda, sino que son las
capacidades parásitas de los propios transistores las que sirven como elementos
almacenadores.
El paso posterior fue pasar de cuatro a tres transistores. Se consigue en base a eliminar
la redundancia de almacenamiento, ya que hasta este momento se almacenada la
información deseada y su complementaria. Como ahora la célula de almacenamiento es
la capacidad parásita del transistor MOS, no es necesaria dicha redundancia y por lo
tanto se puede eliminar la mitad de la celda.
83
Precarga (F1)
VDD
Q1 Q2
RS(F2)
C2
Din Dout
WS(F2)
Para su lectura, simplemente se habilita la celda WL, provocando que Q1 conduzca y que
por lo tanto el valor de C1 aparezca en BL.
BL BL
Linea de
palabra WL
WL
Q1 Q1
C C1 CB
Linea (Almacena) (Direcciona)
de bit
(a) (b)
84
Circuitos de Memoria Asociativa (CAM)
Los circuitos de memoria SRAM y DRAM en todas las celdas eran direccionables con un
tiempo de acceso único. Además, había una distinción entre dirección y contenido. Así,
primero se seleccionaba una dirección y después se leía o escribía un dato en esa
dirección.
Celda 1
Contenido
Comparando
0 1 1 ... 0 C1/C1
COMPARADOR
bit a bit
REGISTRO de COINCIDENCIAS
CODIFICADOR de PRIORIDAD
Máscara
Patrón
1 1 0 ... 0
{ Ci }
...
Patrón Celda n
0 1 x ... x Contenido
Cn/Cn
COMPARADOR
bit a bit
Patrón
85
Hay un núcleo central de almacenamiento compuesto por celdas SRAM como las que
hemos visto previamente en las que a cada celda se le han añadido un cierto número de
transistores para llevar a cabo la comparación entre su contenido y el del bit
correspondiente de un registro adicional que contiene el patrón de comparación. Este
patrón se obtiene a su vez de filtrar la palabra externa que queremos saber dónde está
almacenada, llamada comparando, con una máscara que selecciona cuál es el
subcampo de esa palabra (clave de búsqueda) en el que estamos realmente interesados,
por ejemplo, para extraer como información el resto de los subcampos.
Cuando se han realizado todas las comparaciones el resultado se lleva a un registro que
indica las comparaciones que han sido válidas (registro indicador o de marca) y existen
tres posibilidades: que no hayamos encontrado ninguna coincidencia, que hayamos
encontrado sólo una o que existan varias. Si no existe ninguna, no hay direcciones
válidas para ese patrón. Si hay sólo una, se activa su bit correspondiente y si hay varias
se usa un codificador con prioridad, ofreciéndose por ejemplo la dirección cuyo decimal
equivalente sea el menor. Como este registro indicador de direcciones válidas debe de
contener el resultado de las comparaciones de la palabra patrón con todas las de la
CAM, necesita n bits, tantos como direcciones. Hay finalmente un registro de salidas
que saca las palabras seleccionadas.
Q3 Q4
P P
Q5 N Q6 N
Q1 Q2
N N
WL
86
MATCH
Q9 Q10
N N
N N
BL Q7 Q8 BL
VDD
Q3 Q4
P P
Q5 N Q6 N
Q1 Q2
N N
WL
87
MEMORIAS DE ACCESO SECUENCIAL
Es una organización serie-serie porque los datos se leen en serie y se escriben en serie y
es FIFO (First-In, First-Out) porque a cada pulso de reloj se desplazan una posición los
contenidos de todos los registros de desplazamiento, de forma que la palabra que entró
primero, es la que también sale primero.
CONTROL R/W
Entrada
de Datos D0 D1 ... Dn-1
0 0 0
1 1 1
...
2 2 2
Q0 Q1 ... Qn-1
Salida
de
Datos
Cada pulso de reloj entra una nueva palabra que empuja a las que habían entrado antes
aumentando la altura de la ''pila''. Si cambiamos ahora de lectura a escritura hay que
cambiar también el sentido del desplazamiento y aparecen en el primer registro las
palabras en orden inverso al que fueron escritas.
Esta organización se llama LIFO (Last-In, First-Out) ya que la última palabra que entró
en la memoria es la primera que sale cuando el control pasa de escritura a lectura.
También se le suele llamar memorias de pila ("stack") porque las palabras se
"amontonan" en forma de pila.
88
Sentido
de Desplazamiento
Reloj
0 0 0
1 1 1
RD0 RD1 ... RDn-1
2 2 2
89
Organización por lazos múltiples con direccionamiento directo para cada lazo
Mejora el tiempo de acceso al coste de aumentar la electrónica de direccionamiento. Lo
que se ha hecho es segmentar en tramos y direccionar cada uno de estos tramos de
forma directa, como hacíamos en las memorias RAM.
Dirección
A 1 - An
R D
E
C
R O
D
I
F
R I Entrada/Salida
C de Datos
...
A
D
O
R R
Obsérvese que en esta organización SPS todos los bits no siguen el mismo camino. Si el
registro serie tiene Ns bits y el paralelo, Np, cada bit se transfiere a través de Ns+Np
etapas. Así, basta con un amplificador regenerador para mantener la información
asociada a un número de bits mucho mayor que si la organización fuera serie.
Entrada
de Datos
...
Salida
R de Datos
90
Etapas dinámicas en MOS y CMOS
Para realizar las etapas de almacenamiento transitorio junto con el control local de la
transferencia entre etapas vecinas puede usarse celdas SRAM convencionales y lógica
combinacional.Sin embargo, para el tamaño usual en memorias de acceso secuencial y
en particular para las CCD, estos diseños ocupan mucha área de semiconductor por lo
que se usan etapas dinámicas en MOS y CMOS.
RL
v0
S1
vi
Q2 N Q5
N Q8 N N
Q11
P1 N P3 N P4 N N v0
Q3 Q6 Q9 Q12
vi Q1 Q4 Q7 Q10
N P2 N N N
C1 C2 C3
Conducen Q2,Q3,Q8,Q9
VDD
0
Conducen Q5,Q6,Q11,Q12
VDD
0
Registro de desplazamiento usando reloj bifásico
91
Supongamos que se introduce un "0" en la entrada. Durante el intervalo en el que el
reloj Φ1 está en alta los transistores Q2 y Q3 pasan a conducción. Consecuencia del “0" en
la entrada Q1 está en corte y el punto P1 es llevado a las proximidades de VDD por el
transistor de carga Q2. Este nivel de tensión alto ("1") se transfiere a través de Q3 al
condensador C 1. Comienza entonces la fase de reloj Φ2, pasando este a alta y haciendo
que ahora conduzca Q5 y Q6.
Como consecuencia del "1" almacenado en C1, el transistor Q4 también pasa a conducir y
lleva al punto P3 a tierra. Esta información se transmite a C2 a través de Q6 y queda
almacenada en C2 cuando termina el ciclo de reloj Φ2. que vuelve a pasar a corte a los
transistores Q5 y Q6. Así, tras Φ1 y Φ2 se ha desplazado el "0" desde la entrada de la
primera etapa, vi, a la entrada de la segunda (terminal de puerta de Q7). De forma
análoga durante los siguientes ciclos de Φ1 y Φ2 esta operación se repite también en la
segunda etapa a la vez que en la primera etapa se almacena la nueva entrada teniendo,
por consiguiente, la estructura básica de un registro de desplazamiento.
Una versión análoga a esta etapa de registro usando tecnología CMOS es la que se
muestra en la sigueinte figura:
VDD
F F F
P P
N N N
G1 I1 G2 I2 G3
vi vo
P P P
N N
F C F C F
92
Tipos de FIFO
I. FIFO tipo registro de desplazamiento, que ya hemos visto en el apartado
anterior. En estas el número de palabras almacenadas es fijo (coincide con la longitud
del registro) y hay un sincronismo implícito 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.
A su vez las FIFO concurrentes pueden ser asíncronas o síncronas, dependiendo del
tipo de señales de control usadas en los procesos de lectura y escritura.
Reloj de Reloj de
Escritura Lectura
FIFO
FULL Asíncrona EMPTY
Dato de Dato de
Entrada Salida
CLEAR
Cronograma para longitud 4.
CLEAR
FULL llena
Reloj de
Escritura
Dato de
D1 D2 D3 D4 D5
Escritura
EMPTY vacía
Reloj de
Lectura
Dato de D1 D2 D3 D4 D5
Salida
Escribe Lee Escribe Lee
Reset D1 - D3 D1 D4 - D5 D2 - D5
93
Terminales de una FIFO síncrona de Texas Instrument.
Reloj de Reloj de
Escritura Lectura
Facilitación Facilitación de
Escritura FIFO Lectura
Síncrona
FULL EMPTY
Dato de Dato de
Entrada Salida
CLEAR
CLEAR
FULL llena
Reloj de
Escritura
Facilitación
Escritura (WE)
Dato de
D1 D2 D3 D4 D5
Escritura
EMPTY vacía
Reloj de
Lectura
Facilitación
Lectura (RE)
Dato de D1 D2 D3 D4 D5
Salida
Escribe Lee Escribe Lee
Reset D1 - D3 D1 D4 - D5 D2 - D5
94
Organización circular de los circuitos FIFO con dos punteros
Entrada de
Datos
Llena
Puntero
de escritura
Vacia Puntero
de lectura
Salida de
Datos
Entrada
de datos
FULL
Lógica de
Half FULL
Flag
EMPTY
SRAM
CLEAR Lógica de
Borrado
Reloj de
Lectura
Control de Puntero de
Lectura Lectura
Salida
de datos
95
Aplicaciones de las FIFO
Cámara
Reloj
Digitalizador
(conversor A/D)
Generador de
Compresión FIFO
Ciclo
Canal Memoria
Descompresión/Visualización
96
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías de la Información
Año: 2017 / 2018
1.4. Funciones lógicas: Formas canónicas. Productos/Sumas de todas las variables que forman los términos mínimos
Minterms: A partir de tabla de verdad, se toman las salidas 1 y se expresa como suma de productos, y las que son 0, invertidas.
𝑓(𝑎, 𝑏, 𝑐) = 𝑎̅𝑏̅𝑐 + 𝑎̅𝑏𝑐̅ + 𝑎𝑏̅𝑐 + 𝑎𝑏𝑐̅ + 𝑎𝑏𝑐 → f(𝑎, 𝑏, 𝑐) = 𝑚1 + 𝑚2 + 𝑚5 + 𝑚6 + 𝑚7 = ∑ 𝑚(1,2,5,6,7)
Maxterms: Las salidas que son 0, expresadas como productos de sumas.
𝑓(𝑎, 𝑏, 𝑐) = (𝑎 + 𝑏 + 𝑐) ∙ (𝑎 + 𝑏̅ + 𝑐̅) ∙ (𝑎̅ + 𝑏 + 𝑐) → f(𝑎, 𝑏, 𝑐) = 𝑀7 ∙ 𝑀4 ∙ 𝑀3 = ∏ 𝑀(3, 4,7)
1
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías de la Información
Año: 2017 / 2018
DeMorgan de forma gráfica Negamos salidas 1er nivel y entradas del 2º Hemos pasado de OR-AND a NOR Inversores con NOR
2
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías de la Información
Esquemas Año: 2017 / 2018
∑ = 𝑎̅𝑏 + 𝑎𝑏 = 𝒂 ⊕ 𝒃
𝐶𝑜𝑢𝑡 = 𝒂𝒃
2.2.2. Sumadores. FA
∑ = 𝑎𝑏𝑐 + 𝑎𝑏𝑐 + 𝑎𝑏𝑐 + 𝑎𝑏𝑐 = 𝑐(𝑎𝑏 + 𝑎𝑏) + 𝑐(𝑎𝑏 + 𝑎𝑏) = 𝑐(𝑎⨁𝑏) + 𝑐(𝑎⨁𝑏) = 𝒄𝒊𝒏 ⨁(𝒂⨁𝒃)
𝐶𝑜𝑢𝑡 = 𝑎𝑏𝑐 + 𝑎𝑏𝑐 + 𝑎𝑏𝑐 + 𝑎𝑏𝑐 = 𝑎𝑏(𝑐 + 𝑐) + 𝑐(𝑎𝑏 + 𝑎𝑏) = 𝒂𝒃 + 𝒄𝒊𝒏 (𝒂 ⊕ 𝒃)
Para sumar números de n bits, usamos varios conectados en paralelo:
∑ = 𝑎̅𝑏 + 𝑎𝑏 = 𝒂 ⊕ 𝒃
̅𝒃
𝐶𝑜𝑢𝑡 = 𝒂
2.3. Sumadores en complemento a 1: Gestión del problema del rebose. En C-1 negativos cambian 0s por 1s y 1s por 0s.
Sumar en C1, tiene un límite de representación, si se supera, se produce rebose. El circuito, ha de:
1. Si acarreo =1, y no hay rebose, +1 al resultado Se suma uno al resultado (3):
2. Si hay rebose (signo incorrecto), dar señal de error.
No podemos representar el +2 = 010 o (-2) con 2 bits por lo que, se detectan las configuraciones que generan este error.
La ecuación del rebose es: 𝑟𝑒𝑏𝑜𝑠𝑒 = 𝐴𝑖 𝐵𝑖 𝑆𝑖 + 𝐴𝑖 𝐵𝑖 𝑆𝑖
1
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías de la Información
Esquemas Año: 2017 / 2018
2.4. Comparadores. Un comparador de dos palabras de n bits, determina cual es mayor, menor o si son iguales.
𝐴>𝐵 𝑫 = 𝒂𝒃
𝐴<𝐵 𝑪 = 𝒂𝒃
0 1 1 0 1 0 0
0 1 1 1 1 0 0 (𝑨 > 𝑩) = 𝐴1 𝐴0 𝐵1 𝐵0 + 𝐴1 𝐴0 𝐵1 𝐵0 + 𝐴1 𝐴0 𝐵1 𝐵0 + 𝐴1 𝐴0 𝐵1 𝐵0 + 𝐴1 𝐴0 𝐵1 𝐵0 + 𝐴1 𝐴0 𝐵1 𝐵0
1 0 0 0 0 0 1
𝐴1 𝐵1 (𝐴0 𝐵0 + 𝐴0 𝐵0 + 𝐴0 𝐵0 + 𝐴0 𝐵0 ) + 𝐴0 𝐵0 (𝐴1 𝐵1 + 𝐴1 𝐵1 ) = 𝑨𝟏 𝑩𝟏 + 𝑨𝟎 𝑩𝟎 (𝑨𝟏 ⊕ 𝑩𝟏 )
1 0 0 1 0 0 1
1 0 1 0 0 1 0
1 0 1 1 1 0 0
1 1 0 0 0 0 1
1 1 0 1 0 0 1
1 1 1 0 0 0 1
1 1 1 1 0 1 0
La comparación puede extenderse para detectar paridad: Se activan cuando la suma de los 1s es par (o impar).
A B Paridad par
𝑎𝑏 + 𝑎𝑏 = 𝒂⨁𝒃
0 0 0 (0 unos)
0 1 1 (1 uno)
1 0 1 (1 uno)
1 1 0 (2 unos)
Este proceso, es iterativo, Si con un XOR detectamos la no paridad de (𝐴, 𝐵) y con otro la de (𝐶, 𝐷), con un tercero, detectaremos la
correspondiente a cuatro bits:
Por lo tanto, la figura del punto 𝑍 de la figura es: 𝒁 = (𝑨 ⊕ 𝑩) ⊕ (𝑪 ⊕ 𝑫)
2
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías de la Información
Año: 2017 / 2018
En general con 𝑁 entradas, replicamos AND/OR y aumentamos n líneas de control, con señal strobe 𝐺 cuando se transfiere el dato.
Ejemplo: Diseño de función con multiplexos 4 a 1 𝑓(𝑋, 𝑌, 𝑍, 𝑈, 𝑉) = 𝑋 𝑌 𝑍 𝑈 𝑉 + 𝑋 𝑌 𝑈 𝑉 + 𝑋 𝑌 𝑍 𝑈 𝑉 + 𝑋 𝑌 𝑍 𝑈 𝑉 + 𝑋 𝑌 𝑍 𝑈 𝑉 + 𝑋 𝑌 𝑍 𝑈 𝑉
Solución: Con 4 entradas, para 5 variables, usamos 2 niveles de Multiplxores, 𝑋, 𝑌 entradas de control del 2º, y 𝑍, 𝑈, 𝑉 para el 1º.
Paso 1º: Identificamos términos mínimos de 𝑋, 𝑌 y sacamos factor común
𝐷0 𝐷2 𝐷3
𝑋 𝑌 (𝑍 𝑈 𝑉 + 𝑈 𝑉) + 𝑋 𝑌 (𝑍 𝑈 𝑉 + 𝑍 𝑈 𝑉) + 𝑋 𝑌( 𝑍 𝑈 𝑉 + 𝑍 𝑈 𝑉)
Como el factor común de 𝑋, 𝑌 no nos muestra 𝑋𝑌 ⇒ 𝐷1 = 0
Paso 2º: Sintetizar paréntesis en 1er nivel. Usando 𝑈, 𝑉 (Hay un término así):
𝐷0 𝐷1 𝐷2 𝐷3
(𝑍 𝑈 𝑉 + 𝑈 𝑉) ⇒ 𝑈 𝑉(0) + 𝑈𝑉(𝑍) + 𝑈𝑉(1) + 𝑈𝑉(0 )
𝐷0 𝐷1 𝐷2 𝐷3
(𝑍 𝑈 𝑉 + 𝑍 𝑈 𝑉) ⇒ 𝑈 𝑉(0) + 𝑈𝑉(0) + 𝑈𝑉(𝑍 + 𝑍) + 𝑈𝑉(0 )
𝐷0 𝐷1 𝐷2 𝐷3
( 𝑍 𝑈 𝑉 + 𝑍 𝑈 𝑉) ⇒ 𝑈 𝑉(𝑍) + 𝑈𝑉(0) + 𝑈𝑉(0) + 𝑈𝑉(𝑍 )
3.2. Demultiplexos. Función contraria, de 1 a 2𝑛 , tiene una única entrada y 2𝑛 salidas con puerta de acceso está controlada por 𝑛 variables.
3.3. Codificadores con prioridad. Prioridad uso de línea. Para 4 entradas, 𝑃2 , 𝑃1 𝑦 𝑃0 donde 𝑃2 >𝑃1 > 𝑃0 . I/O R activa en baja
𝑷𝟐 𝑷𝟏 𝑷𝟎 𝒀𝟏 𝒀𝟎 Prioridad R
𝑌1 = 𝑃2 + 𝑃1
0 0 0 0 0 0 0
𝑌0 = 𝑃2 + 𝑃1 𝑃0
0 0 1 0 1 1 1
0 1 0 1 0 2 1 𝑷𝟐 𝑷𝟏 𝑷𝟎 𝒀𝟏 𝒀𝟎 R
0 1 1 1 0 2 1 0 0 0 x x 0
1 0 0 1 1 3 1 1 X X 1 1 1
1 0 1 1 1 3 1 0 1 X 1 0 1
1 1 0 1 1 3 1 0 0 1 0 1 1
1 1 1 1 1 3 1
Añadimos R que indica que no se necesita ninguna: R = 0 ⇒ P2 = P1 = P0 = 0
1
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías de la Información
Año: 2017 / 2018
4.5. PAL = Pocas entradas muchas salidas y PLA = muchas entradas pocas salidas. REQUIEREN SIMPLIFICACIÓN
Así, nacen los PAL (Programable Arrays Logic). La parte OR, suma un número fijo de términos
mínimos, pero no hace falta duplicar la matriz al añadir una nueva variable
Versátil, surge la PLA (Programable Logic Array) AND y OR programables (Siendo más complejo, por lo que se usa solo si es necesario):
1
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías de la Información
Esquemas Año: 2017 / 2018
5.2. Biestables. Almacenan el estado interno del sistema. Se expresan en puertas NAND y NOR
5.2.1. R-S Básico. Asíncrono. 2 entradas R (Reset, puesta a 0) y S (Set, puesta a 1). HOMBRE SENTADO/DE PIÉ
𝑅 𝑆 𝑄
0 0 𝑄
0 1 1
1 0 0
𝑸 = 𝑺 + 𝑹𝑸𝒕−𝟏 - Para operar!!
5.2.2. R-S Sincronizado a niveles. Pasa a ser síncrono. Es exáctamente igual, pero solo funciona con el reloj activo
5.2.3. Disparo por flancos. Se busca reducir el pulso para evitar errores. Triángulo a la entrada del reloj. (entrada dinámica)
5.2.4. R-S Sincronizado a Nivel y con Entradas Asíncronas de Preset y Clear. Más flexible
1
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías de la Información
Esquemas Año: 2017 / 2018
5.4. Biestables T y D
El biestable T cambia de estado en cada pulso de reloj. De un JK conectando ambas entradas:
𝑄𝑛+1 = 𝑪𝒌(𝑻𝑸𝒏 + 𝑻𝑸𝒏 ) + 𝑸𝒏 𝑪𝒌, es decir, XOR de entrada y estado anterior.
D (delay) retarda entrada de estado anterior . Con un R-S o un J-K, uniendo D directamente a S o J y usando un inversor la otra.
𝑄𝑛+1 = 𝑪𝒌𝑫 + 𝑪𝒌D, es decir, XOR de entrada y estado anterior.
2
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías de la Información
Año: 2017 / 2018
Diseño con biestables D: El valor de salida Q sigue siempre al valor de entrada D cuando entra un pulso de reloj. La entrada D
Siempre es igual al valor de la Q final que se quiere obtener. Para que pase de 𝐐𝐭−𝟏 a 𝐐
Por ejemplo: ¿Cuál ha de ser la entrada del biestable?
x 𝐐𝐭−𝟏 𝐐 y D
0 0 0 0 Para pasar de 0 a 0, entrada D = 0
1 0 1 1 1
0 1 0 0 0
1 1 1 0 1
Hasta aquí da igual es biestable, si elegimos D, añadimos la columna D, si luego repetimos con T o JK, añadimos la columna de entradas del biestable
Una vez puesta la entrada al biestable, calculamos la circuitería que hay entre la X y la entrada del biestable, y la circuitería entre la
salida del biestable e Y.
𝑫 = 𝒙𝑸 + 𝒙𝑸 = 𝒙
𝒚 = 𝒙𝑸
Diseño con biestables T: Usamos el mismo ejemplo, por lo tanto, únicamente vamos a sustituir la columna D, por la T,
volviendo a poner cual ha de ser la entrada al biestable para pasar de un estado a otro. Y calculando luego.
x 𝐐𝐭−𝟏 𝐐 y T
0 0 0 0 0 𝑻 = 𝒙𝑸 + 𝒙𝑸 = 𝒙 ⊕ 𝑸
1 0 1 1 1 𝒚 = 𝒙𝑸 = 𝒙 + 𝑸
0 1 0 0 1
1 1 1 0 0
Solo quedaría dibujar el circuito
Diseño con biestables JK: De nuevo el mismo ejemplo: Antes de rellenar las entradas de J y K.
IMPORTANTE: Vemos que para pasar de un estado a otro en un JK:
𝐐𝐭−𝟏 𝐐 JK Es decir…
0 0 Se puede pasar con 00 o con 01 (reset) 0X
0 1 Se puede pasar con 10 (set) o con 11 1X
1 0 Se puede pasar con 01 o 11 X1
1 1 Se puede pasar con 10 o 00 X0
𝒚 = 𝒙𝑸
Y ya se puede dibujar el circuito.
Con JK el proceso es más largo pero nos quedan circuito mucho más sencillos.
1
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías de la Información
Año: 2017 / 2018
Análisis: Obtener la matriz funciona y/o diagrama de transición a partir de un circuito determinado. Vemos con un ejemplo:
Únicamente nos piden las expresiones de 𝐽1 , 𝐾1 , 𝑄1 𝑦 𝑄2, ya que, al segundo biestable siempre le entra 1.
𝐽1 = 𝑥𝑄1 𝐾1 = 𝑥𝑄1 1º - Si estamos en estado 𝑄1 = 0, y 𝑥 = 0, vemos, mediante su expresión,
A continuación, construimos la tabla de verdad: cuando vale J y K. Y rellenamos la tabla. Con entradas, calculamos 𝑸𝟏
𝒙 𝑸𝟐 𝑸𝟏 𝑱𝟏 𝑲𝟏 𝑸𝟐 𝑸𝟏 4º Decimal 1º. Calculamos J y K 2º. Valor de 𝑄1 3º. Valor de 𝑄2 (Su estado era…)
0 0 0 1 0 1 1 3 𝐽1 = 𝑥(𝟎)𝑄1 (𝟎) = 𝟏 → 𝐾1 = 𝟎 con 𝟏𝟎 el biestable se pone a 1 Si 𝑸𝟏 pasa de 0 a 1, flanco ascendente, y cambia
Para construir el diagrama de transición, vemos en qué estado estaba el biestable, y a cual pasará, según las entradas.
- Vemos que si estamos en estado 0, da igual el valor de x, que siempre pasamos a estado 3
1
0
𝑆0 𝑆1
0, 1 0, 1
𝑆3 𝑆2
2
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías de la Información
Año: 2017 / 2018
6.5. Contadores Recorren secuencia especificada. Reciben tres impulsos y devuelven binario del número de impulsos recibidos.
Autómatas finitos de 2𝑁 estados. Con 𝐴 estados, 𝑁 biestables, siendo 2𝑁 ≥ 𝐴. Con 𝑁 bies diseñar contadores desde 0 hasta 2𝑁 − 1
6.5.1. Contadores asíncronos. JK con J=K=1 (=T). Ck entra en bit de menor peso, y el reloj de las siguientes es salida Q de la anterior.
Por ejemplo, se dispara con transición de alta a baja): 𝑄0 y 𝑄1 , cuenta al revés. De diseñan siguiendo el procedimiento general.
El reloj con ⊿ a la entrada, se activa con flanco de bajada. El resto, con flanco de subida.
Contador reversible.
3
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías de la Información
Año: 2017 / 2018
6.5.2. Contadores síncronos. El reloj entra en todos, y J y K controlan transiciones, usando procedimiento general.
Desventajas de contadores asíncronos
1. Separación entre impulsos a contar depende de los retardos.
2. Los estados estables no se alcanzan al mismo tiempo.
Con los síncronos, cuando el contador tiene estado estable, posiciona las entradas a los biestables antes del siguiente pulso de reloj.
Cuando aparezca en todas, comienza a la vez el cambio (si es necesario).
Hay una forma estándar, con JK con dos entradas unidas a 1 (T), todos los relojes unidos entre si.
Para un contador ascendente, cada entrada JK, va a una AND con todas las salidas Q de pesos inferiores
Para uno descendente, cada entrada JK se conecta a una AND de todas las salidas 𝑸 de pesos inferiores
Síncrono con acarreo paralelo
Reversible
4
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías de la Información
Año: 2017 / 2018
Registro serie/paralelo
5
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías de la
Información
Año: 2017 / 2018
Principio de funcionamiento: Células RC (Condensador almacena energía = presa). Carga y descarga aumentando la diferencia de
potencial según se llena. Si el condensador está descargado, la presión o tensión (como en la presa con la pared), es 0.
Si se mete la tensión, circula una corriente, y el condensador se va llenado. (Y va cogiendo una tensión en sus extremos). La
velocidad de llenado depende de la cantidad de corriente. La resistencia actúa a modo de llave de paso. (Mientras más se abra, más
corriente deja pasar al condensador...)
La forma de onda de carga del condensador
La forma de onda de carga del condensador. Es la siguiente. Si se mete carga, se va llenando el condensador, cuando para de entrar
corriente, el llenado del condensador, va bajando. El nivel de la resistencia, decrece o crece según se meta corriente.
Si se deja de aplicar tensión de entrada, el condensador se va descargando a través de la resistencia (paso contrario). A medida que
se va llenando el condensador, se opone mayor resistencia a la entrada de corriente, de ahí la forma de onda.
Cuando en cambio, se va descargando, al principio la velocidad es más lenta y luego va aumentando.
7.2. Astables. Binarios, ninguno estable.
Hay unos niveles para el 0 (por ejemplo entre 0 y 3) y para el 1 (entre 2 y 5). Cuando se añade alimentación, el condensador está
descargado, por lo que la tensión es 0, y por el inversor, hay un 1. Es decir, 0V y 5V… por lo que el condensador comienza a
cargarse… 0, 0.1, 0,2… de que supera el 3V… ya pasa el 0 a 1, por lo que tras el inversor se pasa de 1 a 0, y se empieza a descargar,
3.1, 3, 2.9… hasta ser inferior a 2, por ejemplo, y se cambia… como se ve en la gráfica, la puerta TRIGGER_SCHMITT mantiene
continuamente subida y bajada en umbrales determinados… consiguiendo una tensión de salida con onda cuadrada.
1
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías de la
Información
Año: 2017 / 2018
7.3. Circuitos de tiempo tipo 555. Bloque funcional general. (mono y ast), con duración de pulso y frecuencia controlables
Entre la alimentación y tierra hay tres resistencias (iguales). En un circuito serie, para resistencias iguales, las caídas de tensión se
reparten por igual.
Si por ejemplo en la patilla 8 se meten 9 voltios, cada resistencia será de 3.
Por ejemplo, este entre este punto y masa, habrá 3. De ahí el (𝑉𝐶𝐶 /3 ya que entre el punto que se compara con 2. Disparo solo
tiene una resistencia entre él y masa)
Y entre este y masa, 6. (2𝑉𝐶𝐶 /3)
Para un circuito de tiempo, hace falta una resistencia y un condensador. Como en este circuito no hay condensador, se añade
externamente. En función de cómo se hagan las conexiones externas, tendremos el circuito en modo astable o monoestable.
2
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías de la
Información
Año: 2017 / 2018
555
La tensión aumenta, 0, 1, 2… 3, 3.1… en este punto, la tensión del terminal 2(-) ya será mayor que el terminal 1(+) de S, por lo que el
valor de S se cambia a 0. Pero aún las tensiones del terminal R son 6 vs 3.1, por lo que R sigue siendo 0. Este punto.
Un biestable RS con 00, mantiene la salida anterior, que era 1.El condensador se sigue cargando hasta superar el 6 de R.
En ese caso, su valor pasa a 1, con R = 1, S = 0, el biestable se resetea, salida 0.
Al mismo tiempo, el interruptor pasa a 1, ya circula la corriente por ahí, conectando el circuito a descarga. Invirtiendo el proceso
hasta que la tensión del condensador vuelve a ser inferior a 3.
3
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías de la
Información
Año: 2017 / 2018
- Astable con el 555 con tiempo de carga dependiente de RA exclusivamente: Para ello, añadimos un diodo (semiconductor), la
corriente, a la hora de cargar, se salta 𝑅𝐵 en la carga. La descarga es igual, por lo que las nuevas fórmulas de cálculo del tiempo
son las siguientes.
4
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías de la
Información
Año: 2017 / 2018
Hay que provocar la entrada en el circuito inestable. Añadimos la entrada de un impulso en la patilla de disparo. En el punto de
referencia de 2/3.
Suponemos que en disparo hay un 1 (5V): Por lo que, en S, la patilla 2- son esos 5V, siendo mayor que 1+ (si la alimentación es 6,
tendremos 2V en 1+). S = 0.
Estando el condensador descargado, aquí, habrá 0 Voltios. Por lo que en 2- de R, habiendo 4V (6/3 por 2) R será 0.
El estado, entonces permanece como estaba. El transistor, a 0, hace que el condensador esté descargado al estar unido a masa.
Meter un impulso de disparo (activo a 0), como la tensión de 2- de S, con 0V, y 1+ sigue siendo 2, se cambia a 1.
Lo mismo ocurrirá con R, la tensión en 1+ seguirá siendo 0 al seguir descargado el condensador. R = 0. Salida de 1.
Comienza entonces a cargar hasta que llega al límite, comienza a descargar… hasta que vuelve a valer todo 0. Cada vez, el periodo
que vale 0 es inferior.
5
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías de la
Información
Año: 2017 / 2018
0.83∙10−6 0.83∙10−6
0.83 ∙ 10−6 = 0,69 ∙ 𝑅𝐵 ∙ 1 ∙ 10−9 → 𝑅𝐵 = = = ∙ 10−𝟔−(−𝟏𝟎) = 1.20 ∙ 10+4 = 14𝑘Ω
𝟎,𝟔𝟗∙𝟏∙10−9 0,69∙10−𝟏𝟎
Asignando de nuevo un valor de 1 nanofaradio al condensador, siendo este un valor estándar y sencillo de encontrar
0.83∙10−6 0.83∙10−6
𝑇 = 𝑅 ∙ 𝐶 ∙ ln 3 → 𝑅 = = = ∙ 10−𝟔−(−𝟗) = 0.754 ∙ 10+3 = 754Ω
𝟏.𝟏∙𝟏∙10−9 𝟏.𝟏∙10−9
6
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías de la Información
Año: 2017 / 2018
Como la base de uno está unida al colector del otro, y viceversa. Si uno
conduce, el otro no lo hace. Entonces, por convenio… Si 𝑸𝟏 conduce (𝑄2 al
corte), se almacena un 1. Si 𝑸𝟐 conduce (𝑄1 al corte), se almacena un 0.
Si imaginamos que 𝑸𝟐 conduce (en lo rojo circula corriente), su tensión
1
Colector-Emisor es 0, entonces, la tensión Base-Emisor de 𝑄1 es 0, y estará 1
abierto. 0
Mediante el amplificador diferencial. Es una especie de comparador, si la
tensión es mayor en un lado que en el otro, se acepta su valor y la salida
1 0
será ese valor.
Selección de celda. 1 en WL, lo que causa que los dos Ei se pongan a 1, dejando el estado en manos de E’1 (en manos de los
emisores) o lo que es lo mismo, en manos de entradas de escritura de 1 𝑩𝑳 y de escritura de 0 𝑩𝑳.
Lectura: Al seleccionar la celda con WL, solo el emisor del transistor que conduce, tiene corriente para dejar la salida en el
amplificador de lectura.
Escritura: Seleccionando la celda con WL, e introduciendo 1 por 𝑩𝑳 y 0 por 𝑩𝑳. Para escribir un 1, y al revés para poner un 0.
Por ejemplo supongamos que se quiere introducir un 1, para ello activaremos WL e introduciremos un 1 por 𝑩𝑳 y un 0 por BL. Un 0
en BL provoca que 𝑸𝟏 conduzca, provocando que 𝑸𝟐 se, manteniendo con ello el nivel introducido al principio y provocando su
almacenamiento. Y viceversa, si queremos introducir un 0.
1
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías de la Información
Año: 2017 / 2018
8.2.2 Celdas RAM estáticas (SRAM) en tecnología MOS. Inversor MOS: N (+ lo activa), P (- lo activa)
Inversor básico en MOS: También actúa como interruptor. Con un 1 conduce, y con un 0 se abre y no conduce.
WL selecciona la celda, y los datos pasan por 𝑩𝑳 y 𝑩𝑳.
Tenemos dos inversores acoplados: 𝑄1 − 𝑄3 𝑦 𝑄2 − 𝑄4 ,
mas otros dos para habilitar lectura y escritura: 𝑄5 y 𝑄6 .
Por convenio, almacenan un 1 con 𝑄1 conduciendo y 𝑄2
cortado.
Selección de celda: Poniendo un en 1 WL, así 𝑄5 y 𝑄6
conducirán.
Lectura: Tras seleccionar la celda, los valores de A y B aparecerán directamente en 𝑩𝑳 𝒚 𝑩𝑳 respectivamente.
Escritura: Tras seleccionar con WL, se introduce un nivel lógico 1 el dato que queremos meter 𝑩𝑳 (1) o 𝑩𝑳 (0). Es decir, se mete un
uno por el lado que queremos almacenar el 0 o el 1.
Si suponemos la entrada de un 0, se activa WL e introducimos un 1 por 𝑩𝑳, y un 0 por 𝑩𝑳, el 0 por 𝑩𝑳 provoca que 𝑄1 se corte, y
que 𝑄2 conduzca (reforzando y memorizando el nivel previamente introducido de 0V).
2
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías de la Información
Año: 2017 / 2018
3
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías
de la Información
Año: 2017 / 2018
1
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías
de la Información
Año: 2017 / 2018
𝚽𝟏 y 𝚽𝟐 son relojes
9.4. Memorias FIFO sobre celdas RAM en CMOS. almacenamiento transitorio para acoplar dos velocidades
Las FIFO se emplean para acoplar dos sistemas que operen a diferente velocidad. Una especie de buffer.
9.4.1. Tipos de FIFO
1. FIFO tipo registro de desplazamiento: El número de palabras es fijo, y existe un sincronismo entre operaciones
de lectura y escritura. A medida que van entrando nuevos datos, van saliendo otras por su extremo.
2. FIFO de lectura/escritura mutuamente exclusivas: Solo se puede leer o escribir en un momento dado. El número
de palabras es variable, así como satisfacer ciertas condiciones en el cronograma entre las señales del sistema que
escribe y el que lee. También necesita cierto sincronismo entre los dos sistemas.
2
Fundamentos de sistemas digitales Grado en Ingeniería de Tecnologías
de la Información
Año: 2017 / 2018