Vous êtes sur la page 1sur 100

FUNDAMENTOS DE

ELECTRNICA DIGITAL

UNED

FUNDAMENTOS DE SISTEMAS DIGITALES

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)

Lgica Combinacional Programable


Procesamiento digital de la informacin ....... (23)
Memorias PROM, EPROM, EEPROM y FLASH ....... (27)
PALs y PLAs ....... (29)
Configuraciones de salida ....... (31)
Unidad 3. Anlisis y diseo de Sistemas Secuenciales
Exigencias Computacionales de la Lgica Secuencial: Circuitos Biestables
Autmatas finitos: Concepto de estado ....... (33)
Biestables ....... (37)
Introduccin al Diseo Secuencial: Contadores y Registros
Diseo secuencial con biestables D, T y J-K ....... (46)
Proceso general de sintesis ....... (49)
Representacin, sntesis y anlisis ....... (50)
Contadores ....... (57)
Registros de desplazamiento ....... (63)
Temporizadores y Relojes
Circuitos de Tiempo ....... (68)
Monostables ....... (69)
Astable ....... (70)
Circuito de tiempo 555 ....... (71)
Relojes ....... (73)
Unidad 4. Memorias
Memorias RAM y CAM
Memorias lectura/escritura voltiles ....... (75)
Organizacin de las memorias SRAM....... (75)
Celdas RAM estticas (SRAM) en tecnologa bipolar ....... (79)
Celdas RAM estticas (SRAM) en tecnologa MOS ....... (80)
Celdas RAM dinmicas (DRAM) en tecnologa MOS ....... (83)
Circuitos de Memoria Asociativa (CAM) ....... (85)
Memorias de Acceso Secuencial
Organizacin de acceso secuencial ....... (88)
Memorias CCD ....... (89)
Etapas dinmicas en MOS y CMOS ....... (91)
Memorias FIFO sobre celdas RAM en CMOS ....... (92)
Arquitecturas de las FIFO-RAM ....... (94)
Aplicaciones de las FIFO ....... (96)

FUNCIONES LGICAS BSICAS


Funcin de comparacin
Esta funcin comprueba si dos cantidades
binarias A y B son iguales o no, y si son distintas
cual de ellas es mayor.

Comparador
A>B
A
A=B
B
A<B

Funciones aritmticas
Sumador
A

Suma: Esta funcin es realizada por un


sumador. Su funcin es sumar dos nmeros
binarios A y B junto con una entrada de acarreo
(Cin) y genera la suma (S) u un acarreo de salida
(Cout).

Cout

Resta: Esta funcin se realiza mediante un


restador, este requiere de tres entradas, los dos
Cin
nmeros a restar y el acarreo negativo (borrow).
Las salidas corresponden a la resta y a un acarreo
negativo.
Multiplicacin: Esta funcin es llevada a cabo or un circuito denominado
multiplicador. Donde entran los dos nmeros a multiplicar y la salida es el producto.
Divisin: La divisin puede realizarse mediante una serie de sustracciones,
comparaciones y desplazamientos. Posee dos entradas y las salidas generadas
corresponden al cociente y al resto.

Funcin de conversin de cdigo


Un cdigo es un conjunto de bits ordenados de acuerdo a un modelo nico y se emplea
para representar una informacin especifica. Estos dispositivos se emplean para
generar dichos cdigos.

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

Funcin de seleccin de datos


Demultiplexor

Multiplexor

A
B
C

D
Dt2

Dt1

Datos de Datos de Datos de Datos de


CaF
AaD
AaD
BaE

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.

Los dos tipos bsicos de registros de desplazamiento son serie y paralelo.


Registro de desplazamiento en serie
Bits en serie
en las lineas de
entrada

0101
010
01
0

0
1
0
1
0

0
0
1
0
1

0
0
0
1
0

0
0
0
0
1

Inicialmente el registro solo contiene


datos no vlidos o ceros

El primer bit (1) entra en el registro

El segundo bit (0) entra en serie en el


registro y el primero se desplaza hacia
la derecha
El tercer bit (1) entra en serie en el
registro y el primero y el segundo se
desplazan hacia la derecha
El cuarto bit (0) entra en serie en el
registro y el primero, el segundo y el
tercero se desplazan hacia la derecha.
El registro almacena cuatro bits y el
registro est lleno.

Registro de desplazamiento en paralelo


Bits en paralelo
en las lineas de
entrada

0 1 0 1
0 0 0 0
0 1 0 1

Inicialmente el registro est vaco,


conteniendo solo ceros

Se desplaza todos los bits y se


almacenan simultneamente

Memorias semiconductoras: Sn dispositivos diseados para almacenar una gran


cantidad de bits. Existen dos tipos de memoria:
? ROM (Read Only Memory): Los datos se almacenan de forma permanente o

semipermanente y no se pueden cambiar instantneamente.


? RAM (Random Access Memory): Los datos binarios se almacenan temporalmente
y pueden cambiarse fcilmente.
Memorias magnticas: Este tipo de menora se emplean para almacenamiento
masivo de datos, por ejemplo los discos duros, cintas, discos magneto-pticos, etc.

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

Secuencia de cdigos binarios que representan


el nmero de impulsos de entrada contados

OPERACIONES LGICAS BSICAS

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

LEYES Y REGLAS DEL LGEBRA DE BOOLE


Leyes del lgebra de Boole
Ley conmutativa de la suma

A
B

A+B

B
A

B+A

B
A

BA

Ley conmutativa de la multiplicacin

A
B

AB

Ley asociativa de la suma


A

A + (B + C)

B
C

B+C

A
B

A
B

A+B
(A + B) + C

Ley asociativa de la multiplicacin


A

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

Reglas del lgebra de Boole


Regla 1. A + o = A

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

Regla 12. (A + B)(A + C) = A + BC

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

La propiedad universal de las puertas NAND y NOR


Las puertas NAND como elemento lgico universal

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

Las puertas NOR como elemento lgico universal

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

FUNCIONES DE LA LGICA COMBINACIONAL


Sumadores bsicos
Semisumadores (HA)

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

Sumador completo (FA)


A
B
Cin

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

Sumadores binarios en paralelo


Dos bits

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

Sumador paralelo de 4 bits (74LS283)

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

Sumador con Generador de Acarreo Adelantado (GAA)


Propagacin del acarreo Pi = Ai + Bi
G i = A i Bi

Generador del acarreo


S1 = Pi + Ci

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

Restador completo (FS)

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

La base de estos circuitos es el circuito coincidencia o igualdad. La idea es comparar


dos bits, de manera que si son iguales (A = B = "0", A = B = "1") la salida sea 1. El
complemento del OR-exclusivo cumple esta condicin:
A
0
0
1
1

E = AB + AB

B
0
1
0
1

E
1
0
0
1

La condicin A > B se detecta a partir de la funcin lgica:


A
0
0
1
1

C = AB

B
0
1
0
1

C
0
0
1
0

La condicin A< B se detecta a partir de la funcin lgica:


A
0
0
1
1

D = AB

B
0
1
0
1

D
0
1
0
0

Comparador de palabras de un bit


D = AB

A
B
E = AB + AB

Comparador de palabras de cuatro bits

C = AB

En un comparador de cuatro bits utiliza el procedimiento es el siguiente:


A = B Deben ser iguales cada uno de sus bits.
A3 = B3, A2 = B2, A1 = B1, A0 = B0
La funcin lgica ser:
E = (A3B3 + A3B3)(A2B2 + A2B2)(A1B1 + A1B1)(A0B0 + A0B0) = E3E2E1E0
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 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

Unidad Aritmtico-Lgica (ALU) SN74181


Selectores
de funcin

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

+ Operador OR + Signo aritmtico mas 17

Signo aritmtico menos

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

En la figura se muestra un esquema general de un decodificador de N entradas y M


salidas. Puesto que cada una de las entradas puede ser 1 0, hay 2N cdigos de entrada.
Para cada una de estas combinaciones de entrada slo una de la M salidas estar
activada 1, para lgica positiva; todas las otras salidas estarn en 0.
Muchos decodificadores se disean para producir salidas 0 activas, lgica negativa,
donde la salida seleccionada es 0 mientras que las otras son 1. Esto ltimo se indica
siempre por la presencia de pequeos crculos en las lneas de salida del diagrama del
decodificado
Decodificador de cuatro bits
Funcin de
descodificacin

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

Decodificador BCD a decimal


Dgito
decimal

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

Decodificador BCD 7 segmentos

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

Multiplexores (selectores de datos)


Un multiplexor (MUX) es un dispositivo que permite dirigir la informacin digital
procedente de diversas fuentes a una nica lnea para ser transmitida a travs de dicha
linea a un destino comn.
Multiplexor de cuatro entradas a una
B

Datos de entrada Control

D0
D1
D2
D3

MUX

Salida
Y
0

D0
Y

D1

1
2
3

D2

D3

Control Salida Y

D0

D1

D2

D3

20

Multiplexor de ocho entradas a una


G

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

Un demultiplexor (DEMUX) bsicamente realiza la funcin inversa a la del


multiplexor. Toma datos de una lnea y los distribuye a un determinado nmero 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
D0
0 0
D1
D1
0 1
S0
D2
1 0
D2
D3
1 1
S1

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

LGICA COMBINACIONAL PROGRAMABLE (PDL)


Procesamiento digital de la informacin 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

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

La lgica programable busca una estructura modular y


general que nos permita obtener cualquier funcin
lgica a travs de una programacin elctrica o
funcional del esquema de conexin de esos mdulos. El
modelo formal subyacente a los PDL, consiste en la
representacin de cualquier funcin lgica de la forma
normal disyuntiva que enlaza n variables de entrada
con m variables de salida. As si tenemos los trminos
mnimos de n variables de entrada podemos obtener en
paralelo cualquiera de las m funciones de salida con tal
de programar las matrices de conexin
correspondiente.
Consideremos dos variables (x0, x1), disponemos de
cuatro trminos mnimos (x1x0, x1x0, x1x0, x1x0) y 16
funciones (f) de dos variables.
x1

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

Para duplicar el numero de funciones que componen el mismo nmero de trminos


mnimos se duplican los vectores de control (a0, a1, a2, a3)
x1

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

En funcin de donde est situada la matriz programable se clasifican en:


Arquitectura

Matriz
AND

Matriz
OR

PROM

Fija

Programable

PAL

Programable

Fija

PLA

Programable Programable

(Programable Read Only Memory)

(Programable Array Logic)

(Programable Logic Array)

Notacin
Representacin del estado funcional de la conexin

Conexin permanente

Conexin programable
intacta

Conexin programable
fundida

Puerta AND con entrada mltiple


A

A
A
B
B

f(A, B)

f(A, B)

Se especifica el estado funcional de la conexin

Ejemplos:
A

f=0

B
f=0

f = AB

f =1

B
f = AABB = 0

B
f = AB

26

Puerta OR con entrada mltiple


Trminos mnimos m0, m1, m2, m3
m0

m0
m1
m2
m3

m1

m2

m3

f(m0, m1, m2, m3)

f(m0, m1, m2, m3)

Se especifica el estado funcional de la conexin

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

Memorias PROM, EPROM, EEPROM y FLASH


Bajo el nombre genrico de PROMs englobamos toda la familia de circuitos de memoria
no voltil: ROM, PROM, EPROM, EEPROM y FLASH.
Las PROM son PLDs en los que la parte AND es fija y completa, estando as accesibles
todos los trminos mnimos de las n variables de entrada, y la parte OR es programable.
La figura de la pgina siguiente muestra la arquitectura de una PROM de tres entradas
(xo, x1, x2) y cuatro salidas (f0, f1, f2, f3). Al disponer de todos los trminos mnimos de tres
variables, (mo,m1, ... , m7) para obtener nuevas funciones de salida (f4,f5, ...) slo hay que
aadir nuevas puertas OR. Es decir, nuevas columnas a la matriz OR Un inconveniente
de las PROM es la necesidad de duplicar la complejidad de la parte fija AND cada vez
que queramos aadir una nueva variable de entrada (x3, x4, ...).
Otro inconveniente de las PROMs es que no son reprogramables y, por consiguiente, no
admiten errores. As, el siguiente paso en la evolucin de las memorias no voltiles
PROM fue conseguir que fueran reprogramables. Esto exige que podamos borrar
primero el programa que ya tena almacenado la matriz de conexiones sin destruir la
estructura.
Dependiendo del mecanismo usado para borrar tenemos dos nuevos tipos de memorias
no voltiles: EPROM y EEPROM ( E2PROM).

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

Las EPROM (Erasable PROM) se borran usando luz ultravioleta y se programan


elctricamente y las EEPROM (Electrically Erasable PROM) se borran y se graban
elctricamente, por 10 que pueden realizarse ambos procesos sin necesidad de extraer
el circuito de memoria del resto de los circuitos que constituan la aplicacin.
En las memorias FLASH se resuelve este problema al mantener las caractersticas de
almacenamiento no voltil y la posibilidad de borrado y regrabacin elctrica de las
EEPROMs pero aumentando la densidad de integracin como consecuencia de usar
celdas diseadas usando un nico transistor.

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.

Arquitectura de los circuitos PAL


x3

x2

x1

x0
Matriz OR
Fija

Matriz AND
Programable

29

f0

f1

f2

f3

Si l0 que buscamos en el diseo combinacional es un modelo universal verstil, la


arquitectura ms plstica 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 diseo en las que sean justificables las facilidades de programacin que
ofrecen.
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

Arquitectura de los circuitos PLA

30

f1

f2

f3

Tipos de Salidas

Configuraciones de salida
Salida a travs de XOR invers. programable
Combinacionales

Salidas programables como entradas


Realimentacin

Secuenciales

Bsicas biestables de salida


Macroceldas biestables + multiplexor

Salida a travs de XOR


Control
Triestado

De la
matriz de
puerta
AND

Salida

Salidas programables como entradas


Control
Triestado

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

A travs del biestable D y activa en baja

A travs del biestable D y activa en alta

Combinacional y activa en baja

Combinacional y activa en alta

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

El bolgrafo puede estar en dos estados, S:

S = S1 = punta dentro

S = S2 =punta fuera

Y las respuestas posibles al pulsar (espacio de salidas y) seran:


y = y1 = sale la punta

y= y2 = entra la punta

y= y3 = no se mueve

Diagrama de transicin
x1 / y1

pulsar/ sale punta

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

Tablas de produccin de salidas y nuevos estados


S

S1

S2

x1

S2

S1

x2

S1

S2

S1

S2

x1

y1

y2

x2

y3

y3

Definicin formal de autmata


En trminos ms formales diremos que un autmata finito y determinstico es una
mquina matemtica que opera en una escala cuantificada de tiempos y viene definido
por un quinteto:
A=(X, Y, S, f, g)
Donde:
X es el conjunto finito de posibles entradas, {xi} i =1, ... ,n
Y: es el conjunto finito de posibles salidas, {yk} k =1, ... ,p
S: es el conjunto finito de posibles estados internos, {Sj} j =1, ... ,m
f y g: son dos conjuntos de reglas de decisin que representan la dinmica del sistema
en la produccin de nuevos estados (reglas j) y en la produccin de salidas (reglas g).
La funcin de produccin de nuevos estados, f, se define en extenso como una
aplicacin del producto cartesiano X S sobre S y la funcin de produccin de salidas, g,
es una aplicacin del producto cartesiano X S sobre Y.
f: X S S : S (t + Dt) = f[x(t), S(t)]
g: X S Y: y(t + Dt) = g[x(t), S(t)]
Es decir, el nuevo estado, S(t+Dt), es una funcin, 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 travs de
otra funcin, g(x,S), en la produccin de las salidas. Estas variables de salida son las
respuestas del autmata a un medio externo que 10 ha activado a travs de las entradas,
x(t). Es decir, un autmata finito siempre se interpreta en su relacin con un medio
externo de forma que las salidas del autmata son las entradas del medio y viceversa.

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

Asncronos No tienen reloj


Latches Activos por nivel
Flancos Activos por flancos
Master-Slave Pulsos

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-S sincronizada por nivel


En la configuracin R-S bsica las transiciones de estado pueden ocurrir en cualquier
momento, en funcin del valor que tomen en ese momento los niveles de tensin en las
entradas de set (S) y reset (R). En este sentido el circuito es asncrono. Para acotar con
ms precisin los intervalos de tiempo en los que pueden ocurrir las transiciones, se
aaden dos puertas AND delante de las NOR junto con una entrada adicional de los
pulsos de un reloj. As, las entradas a las puertas NOR slo estarn activas cuando el
pulso de reloj est en alta y por eso se llama a este circuito biestable R-S sincronizado a
niveles.
R

R
Q

Ck

Ck

R
Q

S
S

Ck
R
S
Q

Qn+1

Ck

Qn

Qn

No
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,
adems, se usan slo 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 asncronas, lo usual es que los correspondientes niveles de tensin estn
"esperando" a que el pulso de reloj realice una transicin para ser operativas,
disminuyendo as la probabilidad de que justo en esa transicin se produzca de forma
no deseada otra transicin en R S.
R

R
Q
Ck

Ck

S
Pequeo retardo

S
Ck

Ck

Ck
R
S
Q

40

R-S sincronizada por Preset y Clear


En la anterior configuracin del R-S los cambios de estado no podan producirse ms
que a travs de las entradas R y S y de forma sncrona, coincidiendo con el estado de alta
de los pulsos del reloj. Sin embargo, para conseguir una mayor flexibilidad en el diseo
de otros circuitos tales como contadores o registros de desplazamiento, para establecer
condiciones iniciales y para provocar cambios forzados de forma asncrona, sin
necesidad de coincidencia con los pulsos de reloj, se incluyen dos nuevas entradas
asncronas adicionales llamadas de preset (puesta a uno) y clear (puesta a cero). Esto se
puede conseguir aadiendo dos puertas OR detrs de las NOR y cerrando ahora los
lazos de realimentacin desde estas puertas OR adicionales, tal como se muestra en el
circuito de la figura:
Pr
R

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

Al maestro le entra directamente el pulso de reloj y las seales J y K. Al esclavo le entra


las salidas del primero y el pulso de reloj invertido de forma que nunca pueden estar
ambas secciones facilitadas a la vez. Cuando el pulso de reloj realiza una transicin, el
maestro captura los datos presentes en las entradas J y K. A continuacin se inhibe y
queda aislado tanto de las entradas como de las realimentaciones de la seal de salida
(Q y Q del esclavo). La desconexin del maestro coincide con la conexin del esclavo de
forma que cualquier cambio que pueda presentarse en la entrada ya no afectar a la
salida.
Biestables T
El biestable T cambia de estado ante cada pulso de reloj. Es el ejemplo que usamos para
introducir la teora de autmatas al comienzo del tema. Se obtiene, por ejemplo, a partir
de un J-K conectando ambas entradas juntas.
La ecuacin lgica de este biestable se puede escribir por simple inspeccin de los dos
trminos mnimos que posee Qn+1 en funcin de T y Qn. La ecuacin lgica de este
biestable se puede escribir por simple inspeccin de los dos trminos mnimos que
posee Qn+1 en funcin de T y Qn.
Es decir, el biestable T genera un estado de salida que, es el "OR-exclusivo" de la entrada
y el estado anterior. Se dispara siempre que no hay coincidencia entre el estado actual
(Qn) y la entrada (T). Ante un tren de impulsos en su entrada de reloj, cambia de estado
cada nuevo pulso, con T = 1.

43

Ck

Ck

Qn

Qn+1

Qn

Ck

Qn+1

Qn

Qn

Qn

Qn+l =(TQn + TQn) Ck

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

DISEO SECUENCIAL. CONTADORES Y REGISTROS


Diseo secuencial con biestables D, T y J-K
En la sntesis de un circuito secuencial concreto, el proceso es el inverso ala del anlisis.
Ahora el dato, lo que sabemos, es el diagrama de transicin de estados que necesitamos
sintetizar. Es decir, las relaciones entre Qn y Qn+1 para todos y cada uno de los
biestables que forman el estado

Diseo con biestables D


Hay que tener en cuenta que en una bscula D el valor de la salida Q sigue siempre al
valor de la entrada D cuando entra el impulsos de reloj. Por lo tanto la entrada D ser
siempre igual al del valor de la Q final que se quiera obtener.
Ejemplo:
1/1

S0

0/0

S1

1/0

0/0

Como tiene dos estados, asociamos S0


a Q = 0 y S1 a Q = 1. Llamamos x a la
entrada e y a la salida y obtenemos las
tablas de verdad volviendo a escribir la
informacin contenida en el diagrama
de transicin de estados teniendo en
cuenta que las transiciones estn
marcadas por x/y, que en el caso ms
general es: configuracin de
entrada/conjiguracin de salida

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

Diseo con biestables T


Hay que tener en cuenta que la respuesta de un biestable T es:
Entrada T
0
1

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

Diseo con biestables J-K


La respuesta de un biestable J-K es:
Respuesta
del
biestable

Estado inicial Estado final

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

*
*

Procedimiento general de sintesis


P.1. Descripcin en lenguaje natural de forma clara, completa, precisa e inequvoca de
la funcin que queremos sintetizar.
P.2. Representacin de esa descripcin en trminos de autmatas finitos,
especificando los espacios de entradas y salidas, el espacio de estados internos
necesarios y las funciones de transicin de estados y produccin de salidas a partir de
las entradas y los estados.
P.3. Minimizacin (en su caso) del nmero de estados. En un sistema secuencial hay
tantos estados distintos como historias de estmulos distinguibles. Y no hacen falta ms
para duplicar la funcin. Si existen estados redundantes, conviene eliminarlos para
conseguir una sntesis mnima sobre clases de equivalencia de estados.
P.4. Seleccin de biestables (D, T, J-K) y clculo de las funciones de excitacin
correspondientes.
P.5. Asignacin de estados. La asignacin de estados es el procedimiento mediante el
cual se hacen corresponder biestables especficos a cada uno de los bits resultado de la
codificacin en binario de los estados del autmata. Por ejemplo, podemos usar el
siguiente procedimiento.
P.5.1. Sea A el nmero de estados del autmata. Para su sntesis necesitamos un
nmero de biestables, N, tal que 2N A 2N-1.
P.5.2. Entonces, ordenamos de forma arbitraria esos estados desde So=0 hasta
SA-1=2 -1 y rescribimos en binario el subndice que identifica al estado:
N

S0 = (00... 0), S1 = (00... 1), ... , SA-1 = (11...1)


P.5.3. Finalmente elegimos un biestable, (Qo, Q1, ..., QN-1), para cada bit del
estado.
P.5.4. Aplicamos los algoritmos de sntesis para obtener las funciones yk(t) =
Dk(t) de excitacin de los N biestables D, a partir de las matrices de transicin del
autmata.
P.6. Obtenemos de las funciones de excitacin, correspondientes a cada uno de esos N
biestables.
Ya tenemos la descripcin formal (P.2), la minimizacin (P.3), la seleccin del tipo de
biestable con el que queremos realizar la sntesis (P.4) y la asignacin de los bits que
definen el estado (P.5). La ltima etapa del diseo es la obtencin de las funciones de
excitacin (Di, Ti Ji-Ki), de los N biestables, (Qo,Q1, ..., QN-1) que definen el estado del
autmata.

49

Representacin, sntesis y anlisis


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 produccin 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 diseo.

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

Vamos a centramos en el primer PLD que es el que se encarga de la sntesis de las


transiciones entre estados. Es decir, de la componente secuencial del autmata . Su
arquitectura es la que reproducimos en la figura (a). Por razones pedaggicas hemos
separado los retardos de la parte combinacional previa pero ya sabemos que si usamos
un PLD descrito en un tema anterior, sus macroceldas de salida (figura b) incluyen un
biestable D y dos multiplexos para controlar la salida al exterior del circuito y la
realimentacin. Suponemos entonces las configuraciones de control adecuadas en esos
multiplexos (00 en el primero y 0 en el segundo) para que lo que sale de la PAL es el
estado Q del biestable O y, a la vez, se realimenta para presentar a la entrada Q y Q ,junto
a otras entradas externas y otras realimentaciones del resto de las macroceldas.

50

(a)

x0 ... xM-1
Q0 ...

QN-1

a2M+N-1

a2M+1

a2M

x0 x0 ... xM-1 xM-1

...

Q0 Q0 ... QN-1 QN-1

...

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

Como tenemos M variables externas y, en general tambin tenemos la realimentacin


de las N macroceldas, las funciones de excitacin de los N biestables D son funciones
universales de (N+M) variables lgicas:
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 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

)Q0aQ1b ... QN-1f

La suma sobre el subndice j se extiende a todos los estados, Sj, pertenecientes al


subconjunto de estados, Sk, en los que la salida del biestable correspondiente, Qk, est
en alta:
j | Sj {Sk | Qk = 1}

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) =

Es decir, si est en Qo = 0, al siguiente pulso de reloj pasa a Qo = 1, independientemente


del valor de la entrada. En cambio, si est en Qo = 1, pasar a Qo = 0 si la entrada est en
alta (xo= 1) se quedar en Qo = 1 si la entrada est en baja. La suma de los elementos de
una fila de la matriz debe ser igual a 1.
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 funcin de excitacin ser:
D0 = Qo1 + Qo xo= Qo + Qo xo
El circuito por lo tanto ser:

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

En primer lugar obtendremos las funciones correspondientes a cada variable (Di e y)


a partir del esquema suministrado:
D A = x1 + Q A

DB = x1x2QB + (x1 + x2)QB

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

mij celda de la fila i y columna j


El clculo de cada una de las celdas se efectuar:
1. La funcin de la fila de cada celda se obtendr de sustituir las Qm por su valor
correspondiente a las variables del estado inicial.
2. La funcin de la columna de cada celda se obtendr de sustituir las Qm por su valor
correspondiente a las variables del estado final
DA = x1 + QA

DB = x1x2QB + (x1 + x2)QB

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

x = 1 cuenta hacia arriba

0
1
2
x = 0 cuenta hacia abajo

Contador asncrono reversible de 4 bits

59

Para x=1 seleccionamos la entrada de reloj de cada biestable de la salida Q de la bscula


anterior, por lo tanto se comporta como un contador ascendente.
Para x=0 seleccionamos la entrada de reloj de cadabiestable de la salida Q de la bscula
anterior, por lo tanto se comporta como un contador descendente.
Contadores de diferentes bases

Hay dos formas de implementar contadores binarios de diferentes bases:


1. Resetear todo el contador, mediante el clear, cuando el nmero 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

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

Este contador se puede transformar en reversible usando un multiplexor 2 a 1 y ambas


salidas Q y Q.
Q0

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

f (x;Q0, Q1, ... ,QN-1)


x

63

Ck

Ck

Q0

Pr

...
QN-1

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 travs de una funcin de realimentacin. En las aplicaciones
ms frecuentes, esta funcin de realimentacin no existe o se limita a dejar circular los
datos, de forma que el registro de desplazamiento acta 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 serie / Salida serie

Entrada serie / Salida paralelo

Entrada paralelo / Salida serie

Entrada paralelo / Salida paralelo

Funcionamiento de un registro de desplazamiento


La implementacin de los registros parte de dos premisas elementales:
1) Estarn compuestos por tantas bsculas D como bits queramos almacenar o
manipular.
2) Segn el modo de carga o desplazamiento:
a) En el caso de una entrada paralelo, cada bit de entrada que queramos
introducir se deber conectar a cada una de las entradas de cada bscula del registro.
b) En el caso de una entrada serie o un desplazamiento, cada entrada de cada
bscula deber ir conectada a la salida de la bscula inmediatamente inferior y de la
cual deber recoger el bit que se quiere desplazar.
Registro de desplazamiento con entrada serie/salida paralelo

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

Registro de desplazamiento SN74195 con posibilidad de entrada


serie o paralelo y salida serie y paralelo
Entrada
Serie
J

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

El desplazamiento y la funcin de carga serie o carga en paralelo estn controladas por


un multiplexo, como en el caso de los contadores sncronos reversibles. El borrado se
realiza directamente a travs de las entradas de reset y la funcin D de los biestables se
consigue a partir de R-S conectados a travs de un inversor. Veamos con ms detalle el
significado funcional de los distintos terminales.
El terminal de clear sirve para poner a cero todos los biestables. Est activo en baja. El
registro es sncrono 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 travs de las entradas A, B, C y D. Si est en alta, la carga se realiza
en serie a travs 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 travs de las puertas NOR de su multiplexo. Al
tener S = R, los biestables actan 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 , mantenindose en
baja las entradas serie (J ,K ), cada biestable transferira su contenido al biestable
siguiente, desplazndose la informacin que hemos cargado. Cada nuevo pulso
desplaza una posicin la informacin cargada de forma que tras el cuarto pulso, todos
los biestables estarn a 0. Se termina as el proceso de conversin 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 tenan 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.
Si J = 1 y K = 1, la salida QA pasa a uno.
Si J = 1 y K = 0, QA(t) = QA(t - Dt) y si J = 0 y K = 1, tenemos QA(t) = QA(t-Dt). Es decir, la
carga serie se realiza a travs del biestable A que pasa a 0, pasa al, mantiene su estado
anterior, QA(t-D t), lo invierte, QA(t-D t), dependiendo de los valores de las variables de
control J y K .

Tabla de control de funcin


Salidas

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

Oscilador digital elemental (Astable): Genera una onda cuadrada o un tren de


impulsos de frecuencia controlable. Se llama astable ya que ninguno de los dos estados
(alta y baja) es estable, por lo tanto conmuta generando un tres de impulsos de
frecuencia controlable.
v(t)
Periodo (T) controlable

T
1

t1

t2

Duracin del pulso t1 controlable

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

Inicialmente el condensador est descargado ya que la entrada 1 y la salida 4 estn a 0


(como puede apreciarse en los diagramas de tiempos) y en la salida 2 habr un 1 y
como el otro extremo 3 est a Vcc no habr cada de tensin en extremos del
condensador y estar descargado. La tensin en el punto 3 ser 1, corroborando esto el
nivel 0 de la salida 4.
Cuando se introduce un pulso 1 por la entrada 1, la salida 2 se pone a 0, provocando que
la tensin en el punto 3 sea 0, ya que el condensador todava est descargado, este nivel
provocar que el nivel en el punto 4 sea 1, reforzando esto un nivel 1 en la entrada de A
aunque se elimine el impulso introducido en la entrada 1.
Al haber un nivel 0 en el punto 2, habr una diferencia de potencial en la clula RC, que
provocar una corriente por el condensador, una progresiva carga en ste y un aumento
progresivo de su cada de tensin y por tanto de la tensin en el punto 3. Mientras esta
tensin sea inferior al nivel de tensin VOH (tensin mnima de entrada para considerar
nivel lgico 1), se tomar como nivel lgico 0 y se mantendr el estado mencionado.
Cuando la tensin en el punto 3 sobrepase VOH debido a la carga del condensador, se
tomar como nivel lgico 1, en la salida 4 habr un nivel 0, que junto con el 0 de la
entrada 1 provoca que en el punto 2 haya un 1, apareciendo dicho 1 tambin en el punto
3 y un 0 en el 4, estando de esta manera en el estado inicial (estable) hasta que se vuelva
a introducir un nuevo pulso de entrada.
El tiempo que el monoestable est en el estado estable (1 de salida) depender del valor
de la resistencia y condensador de la clula RC.

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.

Circuitos de tiempo tipo 555


Estos circuitos de tiempo son capaces de actuar como monoestable y como astable con
duracin de pulso y frecuencia de oscilacin controlables, realizando tambin
funciones de modulacin en anchura de impulsos, deteccin de pulsos omitidos, etc ...
La figura muestra el diagrama funcional del temporizador 555.
Vcc
8

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

VCC Tensin de alimentacin

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

Control: Variando la tensin exteriormente varan los umbrales de los puntos 6 y 7. El


umbral alto ser el valor de la tensin en el punto 5 y el umbral bajo ser siempre la mitad de
la tensin de control

Reset resetea el 555 exteriormente

Descarga: Cuando en la salida aparece un 0 en la entrada del transistor aparece un 1 que


puede provocar la descarga del condensador si se realizan las conexiones pertinentes de
acuerdo con la utilidad

71

Monostable

RA

+Vcc

555

v0

2
C

C*
1

En el modo monoestable, el terminal 7 se une al terminal 6, el 4 al 8 y entre el terminal 8


y el 1 se introduce el partidor clsico de todos los monoestables con RA y C. Inicialmente,
el condensador C est descargado debido al transistor de descarga. Al aplicar un
impulso negativo en el terminal de disparo, cuando el potencial de este terminal (2) cae
por debajo de la tensin de referencia del segundo comparador (VCC/3), este
comparador cambia de estado y arrastra con l al biestable que a su vez pasa al corte al
transistor, desconectando el terminal 7 y permitiendo la carga del condensador. A su
vez el biestable pasa a alta la salida (terminal 3).
Una vez que el biestable ha sido disparado por una seal 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 = RAC) la tensin 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
El circuito se redispara l mismo mediante una realimentacin entre los terminales 2
(disparo) y 6 (umbral), de forma que la tensin en los extremos del condensador oscila
entre VCC/3 y 2VCC/3. En este modo de operacin separamos el terminal 6 del 7 con
RB.

72

+Vcc
4

RA

RL

7
RB

555
v0

D
6

RL

Relojes

Convertidor
Sinusoidal a
Digital

Generador de
Fases
(contador)

Seales de sincronismo y control

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

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 seal sinusoidal a seal digital con
niveles de una o ms familias lgicas y un circuito generador de las distintas fases que
incluye, en general, un contador y un conjunto de puertas lgicas y retardos. Todas
estas funciones estn usualmente integradas de forma que para el uso del reloj como
elemento de circuito slo nos hace falta aadir la alimentacin y el cristal de cuarzo
piezoelctrico que fija la frecuencia de oscilacin debido a que su impedancia es la
propia de un circuito sintonizado de alta precisin.
X (Reactancia)
inductiva

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

MEMORIAS RAM Y CAM


Memorias de Lectura/Escritura voltiles
Dentro de las memorias voltiles y de acuerdo con el procedimiento de
direccionamiento, es decir, de la forma de acceder a una posicin concreta, tenemos:
a) Memorias de acceso aleatorio (RAM).
b) Memorias de acceso por contenidos (CAM).
c) Memorias de acceso secuencial (FIFO, UFO).
Memoria
de Lectura y Escritura
(RWM)

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

Acceso por contenido


CAM

I/O
separadas

Sincronas

Rfagas

Sincronas

Asincronas

Pginas

EDO

Orientada a
aplicaciones

EDO

Acceso secuencial

Rfagas

Otras

Rfagas
+
EDO

Organizacin de las memorias SRAM


Las memorias RAM estticas constan de un ncleo de almacenamiento formado por un
nmero muy grande de biestables R-S y un conjunto de circuitos perifricos de
direccionamiento y control de las operaciones de las operaciones de lectura/escritura.
El elemento bsico, la celda R-S, almacena un bit y el conjunto de celdas (bits) se
organizan en trminos de bytes o palabras, que son grupos de n bits (8, 16, 32, ... ) que se
tratan globalmente. Cada direccin corresponde a una palabra. As, con k bits
podremos direccionar K=2k palabras y la forma ms inmediata de acceder a cada una de
estas palabras es usando un decodificador de k a K, tal como se ilustra en la figura.

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

...

Amplificadores Sensores I/O


(columnas)

...
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

Una organizacin matricial es ms eficiente para conseguir que las dimensiones


horizontal y vertical del circuito sean comparables. Esto se consigue al repartir los bits
de la direccin (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 interseccin de la fila (llamada linea
de palabra) y la columna (llamada linea de bit) correspondientes a esos dos
componentes de la direccin (Al, Al+1, ... ,Ak-1) y (A0, A1, ... ,Al-1).
Si a estos circuitos decodificadores de la direccin y a la matriz de 2k-l filas (palabras) y 2l
columnas (bits) le aadimos los circuitos de control de los procesos de
lectura/escritura y de seleccin de circuito y los circuitos de entrada y salida,
obtenemos el esquema bsico de organizacin de una memoria SRAM que se muestra
en la figura. Obsrvese que lo que direccionamos con filas y columnas son las
coordenadas de un plano. Es decir, una celda (un bit) por cada direccin. Si cada
palabra tuviera 8 bits, por ejemplo, la imagen de la memoria sera tridimensional y
podra conseguirse con uno o varios circuitos direccionados en paralelo.
Circuito de memoria SRAM CY7Cl09 (512 x 256 x 8)

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

CE1 =x, CE2 =L, OE = x y WE =x


El circuito reduce drsticamente su consumo y las lineas de estrada y salida pasan a
tener alta imperancia.
Seleccin con salidas inhibidas
Finalmente, el circuito puede estar seleccionado (CE1 = 0, CE2 =1) pero no tener
facilitadas las salidas (OE = 1 y WE =1) y consumiendo como en los modos de lectura y
escritura.

78

Celdas RAM estticas (SRAM) en tecnologa bipolar


Su caracterstica principal es el tiempo de acceso que es muy corto, por ello se emplean
principalmente en el diseo de memorias cach.
Se realiza con transistores multiemisor, que equivalen a transistores colocados en
paralelo el colector y la base y con la entrada por emisor. De esta manera, al conectar un
0 en cualquiera de los dos emisores, el transistor correspondiente conducir y por lo
tanto la VCE=0 V y la tensin colector masa ser de 0 V.
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

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

La salida se obtiene de un amplificador diferencial, de forma que cuando aparece un


nivel de tensin en la lnea BL ( BL = 0 V ) habr una cada de tensin en R3(1) y no la
habr en la R3(0), provocando ello un nivel 1 de salida. Al revs, cuando aparece un
nivel de tensin en la lnea BL = 3,5 V (BL = 0 V) habr una cada de tensin en R3(0) y
no la habr en la R3(1), provocando ello un nivel 0 de salida.
Seleccin de celda
La seleccin de celda se producir introduciendo un nivel alto (1) en WL, provocando
ello que los emisores Ei estn los dos a 1 y dejando el estado del transistor en manos de
los emisores Ei, o sea en manos de las entradas de escritura de 1 (BL) o de escritura de
0 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.

Celdas RAM estticas (SRAM) en tecnologa MOS


La idea bsica es la misma que en el caso bipolar paro a partir de transistores MOS.
Igual que en el caso anterior se dispone de la patilla de seleccin de celda WL y de las
lneas de datos BL y BL. Partimos de dos inversores acoplados (Q1-Q3 y Q2- Q4) y se
aaden otros dos (Q5 y Q6) para habilitar la lectura y escritura. Suponer que se almacena
un 1 cunado Q1 est conduciendo y Q2 esta cortado.
Seleccin de celda:
La seleccin de celda se producir introduciendo un nivel alto (1) en WL, provocando
ello que los transistores Q5 y Q6 conduzcan y que por lo tanto se pueda leer o escribir en
la 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 lneas BL y BL respectivamente.
Escritura:
Se empieza seleccionando la celda mediante WL e introduciendo el dato que queremos
meter (nivel lgico 1) por BL (1) o por BL (0). Por ejemplo supongamos que se quiere
introducir un 0, para ello activaremos WL e introduciremos un 1 por BL y un 0 por
BL. Un 0 en BL provoca que la puerta de Q1 se polarice a 0 V y por lo tanto dicho Q1 se
corte y la VDS=VDD. Dicha tensin se aplica a la puerta de Q2 y por lo tanto VGS2=VDD. Esto
provoca que Q2 conduzca y por lo tanto su VDS=0 V, reforzando y memorizando el nivel
inicialmente introducido de 0 V.

80

Celda NMOS para RAM esttica

VDD
BL

BL

Q5

Q3

Q4

Q1

Q2

Q6

VDD
WL

Celda SRAM de 4 transistores con carga resistiva

VDD

BL

RL
Q3

RL
Q4

Q1

Q2

VDD
WL

BL

81

Uso del amplificador diferencial en celdas SRAM

VDD
BL

BL

RL
Q3

RL
Q4

Q1

Q2

VDD
0

WL
Seleccin
de bit

VDD

Q5

Q6

Q7

Q8

Q9

SE

82

Celdas RAM dinmicas. (DRAM) en tecnologia MOS


A las otras celdas
que tienen la
misma direccin Y

A las otras celdas


que tienen la
misma direccin Y

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

A las otras celdas


que tienen la
misma direccin X

Q10

Salida
de datos

Celdas RAM dinmicas. (DRAM) de 4 transistores


En los casos en los que se desea alto nivel de integracin y bajo consumo aunque se
penalice con velocidades de trabajo menores, se recurre a las celdas dinmicas.
Bsicamente el diseo consiste en reducir el nmero de transistores que componen la
celda, consiguiendo las caractersticas citadas, obteniendo diferentes configuraciones a
cada cual ms sencilla, hasta llegar el mximo de simplicidad consistente en construir
una celda con nico transistor.
Si se compara con la celda esttica se aprecia que se han eliminado dos transistores y
que el elemento almacenador de informacin son los condensadores C1 y C2. Estos
condensadores no se implementan especficamente en la celda, sino que son las
capacidades parsitas de los propios transistores las que sirven como elementos
almacenadores.
Para evitar la prdida de carga de estos condensadores se introduce un sistema de
refresco a travs de los transistores Q11 y Q12 que hace que la informacin de salida se
vuelva a meter en la entrada.
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
informacin deseada y su complementaria. Como ahora la clula de almacenamiento es
la capacidad parsita 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

Celda de memoria

D'

RS(F2)

Q4
Q3

Q5
C2

Din

Dout

WS(F2)

Celda DRAM con tres transistores MOS


La ltima reduccin del tamao de celda en la RAM dinmica consiste en utilizar un
nico transistor y su capacidad parsita como elemento almacenador.
Su funcionamiento es sencillo, basta un transistor que permita la entrada y salida de
carga al condensador. Durante el ciclo de escritura se habilita la celda WL y se introduce
el nivel en la entrada BL, al conducir Q1 dicha carga se introduce en C1 y queda
almacenada.
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
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

Circuitos de Memoria Asociativa (CAM)


Los circuitos de memoria SRAM y DRAM en todas las celdas eran direccionables con un
tiempo de acceso nico. Adems, haba una distincin entre direccin y contenido. As,
primero se seleccionaba una direccin y despus se lea o escriba un dato en esa
direccin.
Existen otro tipo de memorias llamadas asociativas o direccionables por contenido,
CAM (Content Addresable Memory), en las que se usa el dato (el contenido) para
seleccionar el conjunto de direcciones que contienen ese dato de forma completa o
parcial.
La estructura bsica de un circuito de memoria CAM es la que se ilustra en la figura.

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

Electrnica adicional para


CARGA, RESET Y CONTROL

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

Celda RAM esttica

86

MATCH
Q10

Q9
N

N
Q7

BL

N
Q8

BL

VDD

Q5

Q3

Q4

P
Q6

Q1

Q2

WL

Celda CAM obtenida a partir de la RAM aadindole cuatro transistores


para realizar la funcin NOR exclusivo entre su contenido y el bit
correspondiente del comparando.

87

MEMORIAS DE ACCESO SECUENCIAL


Organizaciones de acceso secuencial
FIFO (Primera que entra, primera que sale)
Una memoria de K palabras de n bits se construye a partir de n registros de
desplazamiento (uno por bit) de longitud K (nmero de palabras).
Es una organizacin 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 posicin los
contenidos de todos los registros de desplazamiento, de forma que la palabra que entr
primero, es la que tambin sale primero.

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

LIFO (ltima que entra, primera que sale)


Cada pulso de reloj entra una nueva palabra que empuja a las que haban entrado antes
aumentando la altura de la ''pila''. Si cambiamos ahora de lectura a escritura hay que
cambiar tambin el sentido del desplazamiento y aparecen en el primer registro las
palabras en orden inverso al que fueron escritas.
Esta organizacin 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.
Tambin se le suele llamar memorias de pila ("stack") porque las palabras se
"amontonan" en forma de pila.

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

Al aumentar mucho la longitud de los registros de desplazamiento el tiempo de acceso a


la informacin crece de forma tal que las organizaciones serie-serie (tipo LIFO FIFO)
no son adecuadas. Siempre hay que moverse en una situacin de compromiso entre
capacidad y tiempo de acceso.

Memorias CCD (Charge-coupled device)


Organizacin serie, con etapas intermedias de regeneracin.
Entrada/Salida
de Datos
Registro de
Desplazamiento

Se mantiene la organizacin serie incluyendo


etapas regeneradoras de seal en todas las
"esquinas". En esta organizacin todos los bits
realizan el mismo recorrido a travs del lazo y
a la misma frecuencia.
El nmero de bits entre dos amplificadoresregeneradores sucesivos est determinado o
bien por la eficiencia en el proceso de
transmisin (inversamente proporcional a las
prdidas de carga) o bien por el valor ms bajo
en la frecuencia de trabajo deseada en
condiciones de mantenimiento.
Evidentemente, como esta organizacin es
serie, el nmero de bits mximo (longitud del
ciclo de recirculacin) determina el valor
medio del tiempo de acceso.

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

Organizacin S-P-S (serie-paralelo-serie)


Consta de dos registros serie y un gran registro paralelo multicanal. Los datos se
introducen en serie en el registro superior. Despus se transfieren en paralelo a la
primera etapa del registro paralelo. Todos los canales paralelos se desplazan al unsono
con un mismo reloj ms lento que el de los registros serie y a la salida se realiza el
proceso inverso. El registro ms bajo es de nuevo serie y rpido, se carga en paralelo y se
lee a travs del amplificador regenerador.
Obsrvese que en esta organizacin 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 travs de Ns+Np
etapas. As, basta con un amplificador regenerador para mantener la informacin
asociada a un nmero de bits mucho mayor que si la organizacin fuera serie.
Entrada
de Datos

...

90

Salida
de Datos

Etapas dinmicas 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 lgica
combinacional.Sin embargo, para el tamao usual en memorias de acceso secuencial y
en particular para las CCD, estos diseos ocupan mucha rea de semiconductor por lo
que se usan etapas dinmicas en MOS y CMOS.
Debido a la alta impedancia de entrada de los transistores MOS existe la posibilidad de
almacenar carga en la capacidad de puerta.
VDD
RL
v0

S1

vi

El circuito de la figura muestra la estructura bsica de la celda. Consta simplemente de


un condensador, C, en paralelo con los terminales de puerta y fuente del transistor Q1 y
conectado con la lnea de datos, vi, a travs de un conmutador, S1. Al aplicar una tensin
de entrada, vi, en la puerta y en el condensador a travs del conmutador S1, el
condensador se carga. Al abrir S1, el condensador retiene la carga, ya que la nica va de
descarga es a travs de la impedancia de entrada del transistor, retenindose la
informacin almacenada y actuando como una celda de memoria voltil. La salida de
esta celda de memoria se toma del drenador de Q1, de forma que el condensador nunca
se descarga al leerlo. En la prctica la carga en el condensador termina por perderse, ya
que el conmutador es en realidad otro transistor MOS que ofrece cierta resistencia
finita, que termina por descargar el condensador.
VDD

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

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 conduccin. 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 tensin alto ("1") se transfiere a travs 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 tambin pasa a conducir y
lleva al punto P3 a tierra. Esta informacin se transmite a C2 a travs 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
anloga durante los siguientes ciclos de 1 y 2 esta operacin se repite tambin en la
segunda etapa a la vez que en la primera etapa se almacena la nueva entrada teniendo,
por consiguiente, la estructura bsica de un registro de desplazamiento.
Una versin anloga a esta etapa de registro usando tecnologa CMOS es la que se
muestra en la sigueinte figura:
VDD

P
N

vi

P
N

I1

G1

I2

G2

G3

vo

Etapa de registro en CMOS

Memorias FIFO sobre celdas RAM en CMOS


La funcin principal de las memorias FIFO es el almacenamiento transitorio de datos
en aquellas situaciones de diseo electrnico en las que sea necesario acoplar dos
sistemas digitales que operen a distinta velocidad y necesiten intercambiar datos.
Siempre que los datos lleguen a un procesador en paquetes, de forma irregular o de
forma regular pero a mayor velocidad, hace falta un almacenamiento intermedio, un
buffer, en el que los datos que se escriben primero son los que primero salen.
Las caractersticas que definen la necesidad de las memorias FIFO son :
1. Acceso a sistemas de proceso lento pero constante con datos (demandas de
servicio) que llegan de forma irregular.
2. Acceso a sistemas que procesan en paquetes pero a los que los datos llegan de
forma espordica.
3. Interfaces entre sistemas que trabajan a distinta velocidad.

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

Cronograma para longitud 4.


CLEAR
FULL

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

Terminales de una FIFO sncrona de Texas Instrument.

Reloj de
Escritura

Reloj de
Lectura

Facilitacin
Escritura

Facilitacin de
Lectura

FIFO
Sncrona

FULL

EMPTY
Dato de
Salida

Dato de
Entrada
CLEAR

Cronograma de los procesos de lectura y escritura.


CLEAR
FULL

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

Arquitecturas de las FIFO-RAM


La primera es la inherente a los registros de desplazamiento: entra un nuevo dato, que
"cae" hasta la primera posicin no ocupada, se desplazan todos los dems y sale el del
ltimo biestable del registro. El principal inconveniente de esta organizacin es el
retardo intrnseco al recorrido de todo el registro cuando el tamao de la FIFO es
grande.
El otro tipo de arquitectura est basado en una organizacin circular de la memoria y el
uso de dos punteros.

94

Organizacin circular de los circuitos FIFO con dos punteros


Entrada de
Datos

Llena
Puntero
de escritura

Puntero
de lectura

Vacia

Salida de
Datos

Diagrama de bloques de las FIFO SRAM de T. I. tipo ACT-7881


Entrada
de datos
Reloj de
Escritura

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

Aplicaciones de las FIFO


Imagen de Video (1024 x 1024)

Cmara
Reloj

Digitalizador
(conversor A/D)

Compresin

FIFO

Generador de
Ciclo

FIFO (32 Kbytes)

Procesador de
seales

Salida

Canal

Memoria

FIFO (32 Kbytes)

Descompresin/Visualizacin

Esquema cualitativo de las aplicaciones de las FIFO en los procesos de


adquisicin de datos para su posterior tratamiento digital o transmisin.

96