Professional Documents
Culture Documents
C
A B C
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
Fig 2.1 Circuito y tabla de verdad de un sumador simple
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
28
De los cuales se obtienen las ecuaciones siguientes
B A C
B A B A
=
+ =
Y ubicando en mapas de Karnaugh
A
B
0
0
1
1
Fig 2.2 Mapa de Karnaugh de un sumador simple para la salida
La funcin no puede simplificarse puesto que los unos caen en celdas no adyacentes. En
conclusin, las ecuaciones de salida no pueden simplificarse, por lo que el circuito final
queda:
Fig 2.3 Implementacin de un sumador simple
Ejercicio: Implementar el circuito para la funcin descrita anteriormente utilizando
exclusivamente a) compuertas NAND y b) compuertas NOR
Ir al inicio
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
29
2.1.1 Operaciones aritmticas
Una de las ventajas que proporciona la implementacin de circuitos lgicos es la
realizacin de operaciones lgicas. De acuerdo a las reglas de diseo analizadas en el
captulo 1, se pueden plantear diferentes operaciones aritmticas y realizarse a partir de
sistemas digitales. Algunas otras operaciones que pueden implementarse son: suma de
palabras binarias, resta y otros.
Ir al inicio
2.1.2 Representacin de nmeros con signo
Nmeros positivos y negativos en binario.
Para la representacin de nmeros con signo se utilizan dos sistemas, el sistema con bit ms
significativo como signo y el de complemento a dos.
El sistema con MSB utilizado como signo fue utilizado para intentar representar elementos
negativos y positivos, sin embargo la realizacin de operaciones aritmticas se complicaba
demasiado pues los algoritmos utilizados proporcionaban resultados errneos al considerar
o no el bit de signo dentro de la operacin.
La introduccin del sistema en complemento a dos elimin completamente el error
producido en operaciones aritmticas ya que el bit ms significativo representa al signo y el
peso por la posicin que ocupa. Esto hace que al efectuar operaciones aritmticas, las cifras
obtenidas consideren el valor posicional del MSB y el algoritmo utilizado solo debe
considerar el signo inicial de los operandos para ajustar el signo del resultado.
Las equivalencias entre un sistema binario puro con el MSB tomado como signo y un
sistema en complemento a dos, ambos de cuatro bits y el sistema decimal se muestran en la
tabla 2.1
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
30
Binario con
MSB = signo
Valor Decimal
con signo
Binario en
Complemento a 2
Valor Decimal
con signo
0000 + 0 0000 + 0
0001 + 1 0001 + 1
0010 + 2 0010 + 2
0011 + 3 0011 + 3
0100 + 4 0100 + 4
0101 + 5 0101 + 5
0110 + 6 0110 + 6
0111 + 7 0111 + 7
1000 - 0 1000 - 8
1001 - 1 1001 - 7
1010 - 2 1010 - 6
1011 - 3 1011 - 5
1100 - 4 1100 - 4
1101 - 5 1101 - 3
1110 - 6 1110 - 2
1111 - 7 1111 - 1
Tabla 2.1 Representacin de nmeros negativos y positivos mediante dos sistemas
Ejercicio: Realizar las operaciones aritmticas indicadas en clase con nmeros binarios con
MSB de signo, nmeros en complemento a 2 y nmeros en binario puro
Ir al inicio
2.1.3 Sumadores, Restadores y Sumador Restador
Como se muestra en la seccin 2.1, se puede disear un circuito para la operacin de suma
mas elemental, la suma de dos dgitos binarios aislados sin considerar que puedan formar
parte de una palabra digital por lo que a menudo recibe el nombre de semisumador (half
adder) , sin embargo los dgitos binarios se agrupan a menudo para formar palabras de mas
de un bit lo que aade complejidad a los procesos matemticos y los circuitos que los
realizan. A continuacin se muestra el proceso de diseo de un sumador completo (full
adder) que puede ser utilizado para sumar cualquier par de bits en una palabra considerando
adems el acarreo producido por la suma de los bits que le anteceden y produce un acarreo
para la suma de los bits que le preceden.
Como se muestra en el siguiente circuito, el sumador completo debe tener como entradas
los dgitos A
n
y B
n
y C
n-1
correspondientes a los dgitos binarios A y B ubicados en la
posicin n dentro de una palabra digital y el acarreo C producido por la suma de los dos
bits ubicados en la posicin n-1 y las salidas sigma y C correspondientes a la posicin n
mencionada. Este circuito se puede utilizar para realizar la suma de cualquier par de dgitos
por lo que se conoce como sumador completo (full adder)
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
31
SUMADOR
An Bn Cn-1
Cn n
Fig 2.4 Funcin del sumador completo (full adder)
Su tabla de verdad se muestra a continuacin
An Bn Cn-1 n Cn
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Fig 2.5 Tabla de verdad de un sumador completo (full adder)
De la tabla de verdad se obtienen las funciones de salida
1 1 1 1 + + + = Cn Bn An n C n B An n C Bn n A Cn n B n A n
1 1 1 1 + + + = Cn Bn An n C Bn An Cn n B An Cn Bn n A Cn
Las cuales se muestran introducidas en los mapas de Karnaugh correspondientes
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
32
0 1 0 1
1 0 1 0
An
Bn
Cn-1
0 0 1 0
0 1 1 1
An
Bn
Cn-1
Fig 2.6 Mapas de Karnaugh de un sumador completo (full adder)
Como puede observarse, en el mapa de la izquierda, correspondiente a n, no existe
posibilidad de reduccin, mientras en el de la derecha, correspondiente a Cn, si existe
reduccin. De esta manera, las funciones de salida quedan
1 1 1 1 + + + = Cn Bn An n C n B An n C Bn n A Cn n B n A n
1 1 + + = Cn An Cn Bn Bn An Cn
Y la implementacin final del circuito
SEMISUMADOR
An Bn
C1 1
SEMISUMADOR
Cn-1
C2 n
1
2
3
Cn
Fig 2.7 Implementacin del circuito sumador completo (full adder)
Ejercicio: El alumno implementar basado en el ejemplo del sumador completo los
circuitos restador y sumador-restador
Ir al inicio
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
33
2.1.4 Comparador lgico
Un comparador lgico es capaz de comparar dos caracteres binarios y determinar si son
iguales o uno de ellos es mayor. En este caso el circuito se representa como un sistema con
dos entradas correspondientes a los dgitos a comparar y tres salidas las cuales indicaran si
los nmeros son iguales o uno es mayor
COMPARADOR
A B
A<B
A=B
A>B
Fig 2.8 Funcin del circuito comparador
La tabla de verdad del circuito se muestra a continuacin
A B A>B A<B
0 0 0 0
0 1 0 1
1 0 1 0
1 1 0 0
A=B
1
0
0
1
Fig 2.9 Tabla de verdad del circuito comparador
Las funciones de salida son:
B A B A o =
B A B A B A B A B A o o o o + = + =
B A B A o =
Y su implementacin en mapas de karnaugh puede omitirse por la sencillez de las
funciones resultantes
La implementacin final se muestra en el siguiente circuito
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
34
2
3
1 A
1
2
3
A
1
2
3
A
1 2
A
1 2
A
A
B
A=B
A>B
A<B
Fig 2.10 Circuito comparador
Ir al inicio
2.2 Codificadores Decodificadores
Cuando se utilizan circuitos binarios, estos pueden agruparse y generar combinaciones muy
largas. Para simplificar dichas combinaciones pueden utilizarse circuitos codificadores. Por
ejemplo, el sistema tradicional de memoria utilizado en computadoras puede seleccionar
una de n palabras digitales para el almacenamiento palabras, donde n puede ser tan grande
como 1024, 2048, 4096, etc. Si la seleccin de cada palabra se hiciera mediante un bit, el
circuito resultante sera demasiado grande. Para ello se utiliza un circuito codificador.
En el siguiente ejemplo se disea un codificador de 5 entradas y 32 salidas. El circuito tiene
las entradas A
0
A
4
y las salidas S
0
S
31
. La combinacin de palabras digitales colocadas
en las entradas A proporciona la activacin de solo una salida S a la vez como se muestra
en la tabla de verdad
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
35
Fig 2.11 Tabla de verdad de un decodificador de 5 entradas y 32 salidas
1 2
A
1 2
A
1 2
A
1 2
A
1 2
A
A
0
A
1
A
2
A
3
A
4
S31 S30 S29 S28 S27 S26 S25 S24 S23 S22 S21 S20 S19 S18 S17 S16
S15 S14 S13 S12 S11 S10 S9 S8 S7 S6 S5 S4 S3 S2 S1 S0
Fig 2.12 Circuito decodificador de 5 entradas y 32 salidas
Ir al inicio
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
36
2.2.1 El decodificador como generador de minitrminos
Como puede inferirse del anlisis de la tabla de verdad y del circuito para el decodificador
de 5 entradas a 32 salidas, es posible tomar cada una de las salidas S como expresin de un
minitrmino conformado por las seales de entrada A
0
, A
1
, A
2
, A
3
Y A
4
. De esta manera,
puede usarse un decodificador semejante para simplificar el diseo de circuitos lgicos con
ecuaciones complejas o que no presentan reducciones significativas. Sin embargo,
comercialmente se puede adquirir el 74154 que decodifica solo 4 entradas a 16 salidas, por
lo que dicha tcnica solo se podra aplicar en circunstancias donde se cuenta con cuatro
entradas y si existe un mayor nmero de ellas deber implementarse un arreglo ms
complejo basado en circuitos 74154.
Ir al inicio
2.2.2 Decodificador de BCD a 7 segmentos
Otro circuito de utilidad es el utilizado para operar un display de siete segmentos (en
realidad este tipo de circuitos cuenta con ocho leds internos, 7 para mostrar un carcter y
uno para mostrar un punto decimal). La siguiente figura muestra la disposicin de dos
circuitos de este tipo. Se encuentran en el mercado circuitos de tipo nodo comn, lo que
implica que cada segmento del display est conectado al ctodo de cada LED indvidual por
medio de las terminales 1-8, mientras la terminal nmero 9 se debe polarizar a Vcc por
medio de un resistor como el mostrado en la figura de la izquierda. En este tipo de
circuitos, basta poner un 0 lgico en un segmento para que este encienda mientras un 1
lgico lo apaga Tambin se encuentran circuitos de tipo ctodo comn, lo que implica que
cada segmento del display est conectado al nodo de cada LED indvidual por medio de las
terminales 1-8, mientras la terminal nmero 9 se debe polarizar a tierra por medio de un
resistor como el mostrado en la figura de la izquierda. En este tipo de circuitos, es necesario
polarizar cada segmento por medio de una resistencia a Vcc y al colocar un 0 lgico en la
entrada 1-8 el segmento se apaga mientras que con un 1 lgico se enciende.
a
b f
c
g
d
e
VCC 1
2
3
4
5
6
7
a
b
c
d
e
f
g
8
dp
dp
9
10
NC
1
2
3
4
5
6
7
a
b
c
d
e
f
g
8
dp
9
GND
a
b f
c
g
d
e
dp
10
NC
Fig 2.12 Circuitos display de nodo comn (izquierda) y de ctodo comn (derecha)
En el mercado pueden conseguirse diferentes tipos de circuitos de la serie 74 que
proporcionan salidas para diferentes tipos de display. En la siguiente figura se muestra la
configuracin de terminales del 74LS47 que permite la utilizacin directa de un display de
nodo comn mediante ocho salidas negadas como respuesta a una combinacin BCD en
sus cuatro entradas.
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
37
Fig 2.13 Configuracin de terminales del circuito 74LS47
La siguiente figura muestra la tabla de verdad para el 74LS47. La figura 2.15 muestra la
configuracin interna de dicho circuito.
Fig 2.14 Tabla de verdad del circuito 74LS47
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
38
Fig 2.15 Configuracin interna del 74LS47 y mapa de caracteres mostrados
Ir al inicio
El alumno puede, con ayuda de las tcnicas aprendidas hasta el momento comprobar la
congruencia de la tabla de verdad del dispositivo con el circuito final implementado a fin de
reforzar los conocimientos adquiridos.
2.2.3 Codificador para teclado
En circuitos digitales y en otras diferentes aplicaciones, se hace necesario contar con
dispositivos de entrada a base de interruptores. Tal es el caso de las prcticas desarrolladas
en las que se proporcionan entradas a los circuitos diseados mediante DIP switch, los
cuales deben polarizarse de acuerdo al diseo especificado y conmutarse para proporcionar
un 0 o un 1 lgicos. La siguiente figura ilustra un codificador CDP1871A de Intersil para
interfaz con un microprocesador. El circuito es capaz de generar 53 cdigos ASCII y 32
cdigos hexadecimales por medio de una matriz de teclas.
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
39
Fig 2.16 Circuito CDP1871A de Intersil
Ir al inicio
2.2 Multiplexores Demultiplexores
En ocasiones, es necesario seleccionar una entrada de un conjunto de diferentes entradas
proporcionadas. Por ejemplo en los circuitos telefnicos que comunican entre s a los
usuarios del servicio (abonados) con una central que los concentra y que se comunica a su
vez con diferentes centrales que tambin concentran a un nmero definido de abonados. En
este contexto, cada abonado que desea efectuar una comunicacin es seleccionado mediante
un circuito multiplexor para transmitir su mensaje a travs de la terminal troncal que
conecta a las dos centrales mientras que el abonado que recibe la llamada debe localizarse
en la central que recibe la comunicacin, mediante un circuito complementario denominado
demultiplexor. La siguiente figura ilustra el caso
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
40
CENTRAL TELEFONICAA
2
1
3
4
.
.
.
n
CENTRALTELEFONICAB
2
1
3
4
.
.
.
m
troncal telefonica
Fig 2.17 Comunicacin entre dos centrales telefnicas
La siguiente figura muestra la configuracin de terminales y la tabla de verdad del circuito
selector de datos o multiplexor de ocho entradas a una salida 74LS251
Fig 2.18 Circuito selector de datos o multiplexor de ocho entradas a una salida 74LS251
Y la siguiente figura muestra su configuracin interna
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
41
Fig 2.19 Configuracin interna del circuito selector de datos o multiplexor de ocho
entradas a una salida 74LS251
La siguiente figura muestra la configuracin de terminales y diagrama interno del
demultiplexor o decodificador de cuatro entradas a 16 salidas 74LS154.
Fig. 2.20 configuracin de terminales y diagrama interno del demultiplexor o
decodificador de cuatro entradas a 16 salidas 74LS154.
Y la siguiente figura muestra su tabla de verdad.
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
42
Fig. 2.21 tabla de verdad del demultiplexor o decodificador de cuatro entradas a 16
salidas 74LS154.
Ir al inicio
2.3.1 Aplicaciones del multiplexor en la solucin de funciones booleanas
Cuando se desea simplificar el diseo de circuitos complicados, puede usarse el multiplexor
como circuito simplificado para proporcionar las salidas deseadas sin necesidad de elaborar
soluciones complejas. Por ejemplo, supngase que se desea disear el circuito de la tabla de
verdad propuesta a continuacin, la cual corresponde a una de las posibles salidas de un
sumador completo y la cual, de acuerdo a su mapa de Karnaugh no tiene simplificacin.
An Bn Cn-1 Cn
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
Como puede fcilmente comprobarse, puede usarse un circuito multiplexor de tres entradas
a ocho salidas 74LS251 con las seales A
n
, B
n
y C
n-1
conectadas a las entradas A, B y C del
circuito, mientras las terminales de datos D
0
a D
7
se colocan con los valores descritos en la
columna C
n
de la tabla de verdad, lo cual produce el mismo resultado para la salida C
n
que
implementar el circuito de la figura 2.7.
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
43
Ir al inicio
2.3.2 Mtodo de optimizacin del multiplexor
La forma de utilizacin del circuito descrito en el punto anterior puede optimizarse
mediante el anlisis cuidadoso de los estados de entrada correspondientes y las
combinaciones que las producen pues en algunos casos puede simplificarse al utilizar las
terminales de CS con que cuenta el circuito multiplexor.
Ir al inicio
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
44
UnidadIII.DiseodeCircuitosLgicosSecuenciales
3.1 Introduccin
3.1.1 Modelo general de los circuitos secuenciales
3.1.2 Clasificacin
3.1.3 Algoritmo de anlisis y diseo
3.2 Multivibradores (Flip Flops)
3.2.1 Tabla de estados y excitacin
3.3 Circuitos secuenciales sncronos
3.3.1 Modalidad de reloj
3.3.1.1 Anlisis
3.3.1.2 Diseo
3.3.1.3 Reduccin por observacin
3.3.1.4 Registros de corrimiento
3.4 Mtodos formales de reduccin
3.4.1 Particin de estados
3.4.2 Implicacin de estados
3.5 Circuitos secuenciales asncronos modalidad de pulso
3.5.1 Diseo de mquinas de estado
3.5.1.1 Tipo Mealy
3.5.1.2 Tipo Moore
3.1 Introduccin
En este captulo se analizan los circuitos digitales y su clasificacin. Bsicamente pueden
contarse dos tipos. Los circuitos combinatorios son capaces de producir una o mas salidas
en respuesta a un arreglo actual de seales de entrada. Mientras los circuitos secuenciales
son configuraciones cuya respuesta depende no solo de las seales de entrada actuales sino
tambin del valor de su o sus salidas; Esto implica que los circuitos secuenciales tienen que
ver con el tiempo y presentan por ello un efecto de memoria
Ir al inicio
3.1.1 Modelo general de los circuitos secuenciales
COMBINATORIOS
CIRCUITOS LOGICOS
ASINCRONOS
SECUENCIALES
SINCRONOS
Ir al inicio
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
45
3.1.2 Clasificacin
CIRCUITOS COMBINATORIOS: Son aquellos capaces de producir una o mas salidas
en respuesta a un arreglo actual de las seales de entrada. Tal como los analizados en el
captulo I.
A
C
B
D
E
F
G
A
A
Z
Y
X
W
V
U
T
A
B
C
D
E
F
G X
Y
X
W
V
U
T
Fig 3.1 Ejemplos de circuitos combinatorios
CIRCUITOS SECUENCIALES: Son configuraciones cuya respuesta depende no solo de
las seales de entrada actuales sino tambin del valor de una o mas salidas retardadas
utilizadas como entrada realimentada. Esto implica que los circuitos combinatorios tienen
que ver con en tiempo y representan por ello un efecto de memoria
B
V A
1 2
Circuito
de
entrada
Circuito
de
salida
Entradas
primarias
Entradas
secundarias
Retardos de
tiempo
Circuitos
combinatorios
Trayectorias de realimentacion
(solo valen 0 o 1)
Fig 3.2 Diagrama general de un circuito secuencial
Las entradas primarias pueden ser controladas por el usuario mientras que las entradas
secundarias son controladas por el propio circuito. En estos circuitos, a pesar de que las
entradas primarias se suprimieran, este no se queda sin entradas
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
46
CIRCUITOS SECUENCIALES ASINCRONOS: Son circuitos cuyas seales de
realimentacin tienen diferentes retrasos en tiempo debidos a sus trayectorias por lo que al
actuar como entradas secundarias a un circuito pueden no ser simultneas
B
V A
1
2
1 2
Circuito
de
entrada
Circuito
de
salida
Entradas
primarias
Entradas
secundarias
o excitaciones
Retardos de
tiempo
distintos
F
G g
f
Fig 3.3 Diagrama de un circuito secuencial asncrono
Donde
) , , , (
) , , , (
) , , , (
g f B A f V
g f B A f G
g f B A f F
=
=
=
(Cuando en las funciones que determinan las seales de salida intervienen letras
maysculas y minsculas, se trata de un circuito secuencial pues en el interviene el tiempo)
CIRCUITOS SECUENCIALES SNCRONOS: Son circuitos cuyas seales de
retroalimentacin son proporcionadas por multivibradores biestables sincronizadas por un
reloj. Los multivibradores utilizados son en si diseos secuenciales elementales (tipo T, D,
SR, JK, SOC, COS, etc.)
Cuando las salidas del circuito son las propias salidas de los multivibradores (Qn), se tiene
lo que se conoce como maquinas MOORE mientras que si se toman del circuito
combinatorio de salida se tienen las denominadas maquinas MEALY.
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
47
B
Y A
1 2
Circuito
de
entrada
Circuito
de
salida
Entradas
primarias
Entradas
secundarias
o excitaciones
Unidades de retardo sincronizadas
por un reloj (MV`s biestables)
F
G Q2
Q1
Z
Q1
Q2
Reloj
Fig 3.4 Diagrama de un circuito secuencial sncrono
Ir al inicio
3.1.3 Algoritmo de anlisis y diseo
El anlisis de circuitos secuenciales consiste en lograr, a partir de una configuracin lgica
dada, el diagrama de estados de la configuracin que, como se sabe, es la representacin
pictrica de la operacin dinmica del circuito. Tanto el anlisis como la sntesis de estos
circuitos se lleva a cabo en dos dominios: Combinatorio y Secuencial.
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
48
El dominio combinatorio se caracteriza por el uso de funciones y mapas de Karnaugh.
Mientras que el dominio secuencial opera con tablas de estados, diagramas de estados, etc.
Ejemplo:
Analizar la operacin del siguiente circuito secuencial
Z
B
A
G
g
(excitacin)
(respuesta)
Nota: Se trata de un circuito secuencial que opera en modo fundamental, con dos entradas
primarias y una secundaria. No tiene circuito de salida por lo que G = Z y g = Z en los
estados estables.
1. A partir del circuito se obtienen las funciones para G y Z (en este caso son iguales)
g B g A B A Z G + + = =
Anlisis
Sntesis
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
49
2. Se elabora el mapa de la excitacin G
A
B
0 1
1 1 1 0
0 0
g
3. Recordando que en los estados estables G = g y en los estados inestables G g . Se
identifican en el mapa de la excitacin los valores que son estables y los inestables
(los de valor igual a la variable son estables mientras los de valor contrario son
inestables). Todo dentro del mapa corresponde a G. Los renglones corresponden
uno a g falsa y el otro a g verdadera. Las condiciones estables se encierran en un
circulo mientras las inestables se dejan como estn
A
B
0
1
1 1
1
0
0
0
g
A
B
1
6
4
5 6
1
3 2
g
4. Con la informacin obtenida del punto 3, se construye la tabla de transiciones en la
que se observa que los movimientos horizontales (derecha/izquierda) son producto
de cambios en las variables de entrada primarias (externas) mientras los
movimientos arriba/abajo provienen de cambios en la entrada secundaria.
5. Es conveniente clasificar los estados estables e inestables para obtener la tabla de
estados del circuito (la clasificacin es arbitraria)
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
50
Ir al inicio
3.2 Multivibradores (Flip Flops)
Un multivibrador biestable, tambin llamado flip-flop en ingls, es un circuito capaz de
permanecer en un estado determinado o en el contrario durante un tiempo indefinido
(estado estable). Esta caracterstica es ampliamente utilizada en electrnica digital para
memorizar informacin. El paso de un estado a otro se realiza variando sus entradas.
Dependiendo del tipo de dichas entradas los multivibradores biestables se clasifican en:
Tipo T (Trigger)
Tipo D (Data)
Tipo SR (Set-Reset)
Multivibradores biestables Tipo JK (Mejora del SR)
(FLIP-FLOPs) Tipo SOC (Set Overrides Clear)
Tipo COS (Clear Overrides Clear)
Las caractersticas de cualquier multivibrador biestable suelen darse a travs de las formas
de onda que describen su operacin (diagrama de flujo), de su tabla de verdad o de su
descripcin.
Multivibrador biestable tipo T (Trigger): Es un circuito con una entrada T y una salida
Q. Cambia su estado a la salida cuando se le aplica un filo (cambio de nivel de voltaje), ya
sea descendente o ascendente, segn lo requiera el diseo. Como puede inferirse de las
figuras, la aplicacin mas importante de este tipo de multivibradores es como circuitos
divisores de frecuencia pues la seal de entrada en T se presentar en Q con la mitad de
frecuencia, con un ciclo de trabajo de 50% en estado alto y 50% en estado alto, sin importar
el ciclo de trabajo de la seal de entrada.
T Q
Fig 3.5 Representacin de un multivibrador tipo T (Trigger)
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
51
T
Q
Filos ascendentes
Fig 3.6 Formas de onda de un multivibrador tipo T (Trigger), diseado con filos
ascendentes
T
Q
Filos descendentes
Fig 3.7 Formas de onda de un multivibrador tipo T (Trigger), diseado con filos
descendentes
Multivibrador biestable tipo D (Data): Es un circuito con dos entradas, D y G (Data y
Gate) y una salida Q. En este circuito, la informacin presente en D se transfiere a Q
siempre que G sea verdadera. En caso contrario, cambios de D no se transfieren a Q.
Observe en el diagrama de flujo, que la salida Q solo cambia (conserva su estado) hasta que
G es verdadera pero no vuelve a cambiar hasta un nuevo cambio de G.
D Q
G
Fig 3.8 Representacin de un multivibrador tipo D (Data)
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
52
D
Q
G
Fig 3.9 Formas de onda de un multivibrador tipo D (Data)
Multivibrador biestable tipo SR (Set - Reset): Es un circuito con dos entradas, S y R (Set
y Reset) y una salida Q. El circuito se disea para las siguientes condiciones de operacin:
a) S=R=0; La salida Q del circuito no cambia de estado, independientemente del
estado en que se encontraba. Condicin de no cambio.
b) S=1, R=0; La salida del circuito cambia a 1 si estaba en estado 0 o permanece en 1
si estaba en estado 1. Condicin de Set to One (mostrada en los estados a, b y e del
diagrama de flujo del multivibrador)
c) S=0, R=1; La salida del circuito cambia a 0 si estaba en estado 1 o permanece en 0
si estaba en estado 0. Condicin de Reset to Zero (mostrada en los estados c, d y f
del diagrama de flujo del multivibrador)
d) S= R=1; La salida del circuito presenta un estado imposible de definir, por lo que
esta condicin no est permitida. Condicin prohibida.
S Q
R
Fig 3.10 Representacin de un multivibrador tipo SR (Set - Reset)
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
53
S
Q
R
a b c d e f g
?
Fig 3.11 Diagrama de flujo del multivibrador tipo SR (Set - Reset)
Para ilustrar mas abundantemente la operacin de este multivibrador, se utiliza su tabla de
verdad, en la que se considera el tiempo. El valor Q representa el estado de la salida del
circuito antes de ocurrir el cambio en las variables de entrada y el valor de Q+ el estado de
la salida, una vez ocurrido el cambio en dichas variables.
S R Q+ Q
0 0 0 0
0 0 1 1
0 1 0 0
0 1 0 1
1 0 1 0
1 0 1 1
1 1 ? 0
1 1 ? 1
Fig 3.12 Tabla de verdad del multivibrador tipo SR (Set - Reset)
Como puede observarse en la tabla, la salida Q permanece en el estado previo al cambio de
las variables de entrada cuando estas son igual a cero, ya sea verdadero o falso (condicin
de no cambio). Cuando las terminales de entrada estn en S=0 y R=1, la salida permanece
en cero si su estado era cero o cambia a cero si su estado era uno (condicin de Reset to
Zero). Cuando las terminales de entrada estn en S=1 y R=0, la salida cambia a uno si su
estado era cero o permanece en uno si su estado era uno (condicin de Set to One). Y en la
condicin S=1 y R=1, la salida no puede definirse, por lo que no se muestra ningn estado.
Multivibrador biestable tipo JK (J=Set to one, K=Reset to zero): Es una extensin del
tipo SR, en el que las terminales de entrada si pueden adoptar el estado 1 1, en cuyo caso, la
salida Q cambia de estado, cualquiera que este sea, de esta manera el circuito se comporta
como un multivibrador tipo T. De esta manera, el circuito cumple las siguientes
condiciones de operacin:
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
54
a) J=K=0; La salida Q del circuito no cambia de estado, independientemente del
estado en que se encontraba. Condicin de no cambio.
b) J=1, K=0; La salida del circuito cambia a 1 si estaba en estado 0 o permanece en 1 si
estaba en estado 1. Condicin de Set to One (mostrada en los estados a, b y e del
diagrama de flujo del multivibrador)
c) J=0, K=1; La salida del circuito cambia a 0 si estaba en estado 1 o permanece en 0 si
estaba en estado 0. Condicin de Reset to Zero (mostrada en los estados c, d y f del
diagrama de flujo del multivibrador)
d) J= K=1; La salida del circuito cambia de estado, sin importar la condicin que tena
previamente. Condicin de cambio de estado (mostrado en los estados g y h del
diagrama de flujo del multivibrador).
J Q
K
Fig 3.13 Representacin de un multivibrador tipo JK (Set Reset mejorado)
J
Q
K
a b c d e f g h
Fig 3.14 Tabla de verdad del multivibrador tipo SR (Set - Reset)
En la siguiente figura se muestra la tabla de verdad del dispositivo para ilustrar las mejoras
introducidas respecto al multivibrador tipo SR, ahora con el estado de entrada J=1 y K=1
permitido.
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
55
J K Q+ Q
0 0 0 0
0 0 1 1
0 1 0 0
0 1 0 1
1 0 1 0
1 0 1 1
1 1 1 0
1 1 0 1
Fig 3.15 Tabla de verdad del multivibrador tipo JK (Set Reset mejorado)
Existen dos variantes poco conocidas del multivibrador JK en las que el estado 11 se usa
como un estado S (multivibrador conocido como SOC=Set Overrides Clear) o como un
estado R (multivibrador conocido como COS=Clear Overrides Set). Sin embargo el circuito
ms utilizado es el tipo JK descrito anteriormente.
En las siguientes figuras se ilustran las tablas de verdad y diagramas de flujo para los
multivibradores tipo SOC y COS
J
Q
K
a b c d e f g h
J K Q+ Q
0 0 0 0
0 0 1 1
0 1 0 0
0 1 0 1
1 0 1 0
1 0 1 1
1 1 1 0
1 1 1 1
Fig 3.16 Diagrama de flujo y tabla de verdad del multivibrador tipo SOC (Set overrides
Clear)
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
56
J
Q
K
a b c d e f g h
J K Q+ Q
0 0 0 0
0 0 1 1
0 1 0 0
0 1 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
Fig 3.17 Diagrama de flujo y tabla de verdad del multivibrador tipo COS (Clear overrides
Set)
Ir al inicio
3.2.1 Tabla de estados y excitacin
Las tablas o diagramas de estados son representaciones pictricas que permiten analizar con
facilidad la dinmica de funcionamiento de todo circuito secuencial. Los estados se refieren
a las condiciones estables que puede adoptar un circuito. Como stas condiciones las
proporcionan multivibradores biestables, el nmero de estados corresponde al nmero de
multivibradores presentes en el circuito. Los estados estables se representan por medio de
crculos y las transiciones entre ellos por segmentos dirigidos, los cuales llevan informacin
sobre las seales de entrada que provocan o no la transicin entre estados. A esta
informacin se le denomina excitacin.
A
B
C
Fig 3.18 Tabla de estados y excitaciones de un circuito cualquiera
Los multivibradores pueden representarse tambin mediante este tipo de diagramas de
estados y excitaciones. En la siguiente figura se ilustra un diagrama de estados de un
multivibrador genrico en el que pueden identificarse cuatro situaciones posibles. El
cambio de estado de 0 a 1, el cambio de estado de 1 a cero y la permanencia en el estado 0
o en el estado 1.
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
57
Indica que permanece en1
0
1
Indica que permanece en0
Indica el cambiode 1a 0 Indica el cambiode 0a 1
Fig 3.19 Tabla de estados y excitaciones de todo circuito multivibrador
Por ejemplo, en el diagrama siguiente se muestra la tabla de estados y de excitaciones del
multivibrador tipo D, en la que se ha agregado a las trayectorias de las excitaciones, el valor
del dato de entrada que las produce.
D=1
0
1
D=0
D=0 D=1
Fig 3.19 Tabla de estados y excitaciones del multivibrador tipo D.
S=R=0
0
1
S=R=0
S=0, R=1
S=1, R=0
S=1, R=0
S=0, R=1
J=K=1
0
1
J=K=0
J=1, K=0
J=0, K=1
J=K=1
J=0, K=1
J=1, K=0
J=K=0
Fig 3.20 Tabla de estados y excitaciones de los multivibradores tipo SR y JK.
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
58
Ir al inicio
3.3 Circuitos secuenciales sncronos
Son circuitos digitales gobernados por seales de reloj, generalmente divididos en dos
grandes categoras: Mquinas MOORE cuando los estados tiles de la configuracin se
toman de los propios multivibradores y Mquinas MEALY cuando el diseo requiera un
circuito de salida. Los sistemas secuenciales emplean por lo general un solo tipo de
multivibrador, solo en casos muy particulares se requiere mas de un tipo de ellos. En este
tipo de circuitos se tienen diferentes tcnicas de anlisis y diseo.
Circuitode entrada
MV1
MVn
Circuitode salida
Z
Reloj (noes entrada)
Q1
Qn
A
B
Entradas primarias
Entradas secundarias
Salidas (Maquinas MOORE)
Salida (Maquina MEALY)
Multivibradores biestables
(elementos de memoria)
Fig 3.21 Diagrama a bloques de un sistema secuencial asncrono.
Ir al inicio
3.3.1 Modalidad de reloj
Es un conjunto de tcnicas de anlisis y diseo en las que se parte de la definicin del
problema, se establece la tabla de estados o el diagrama de estados inicial, se busca la
reduccin de los estados del circuito y se selecciona el tipo de multivibradores para la
implementacin del circuito cuando se habla de diseo y, en sentido inverso cuando se
habla del anlisis de los circuitos.
Ir al inicio
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
59
3.3.1.1 Anlisis
Para el proceso de anlisis se debe observar inicialmente el circuito propuesto para
determinar diferentes caractersticas. Por ejemplo, analizaremos el circuito de la siguiente
figura.
J
K
Ck
Q J
K
Ck
Q
Q1(MSB) Q0(LSB)
VCC
Reloj
Fig 3.22 Circuito a analizar.
Como las salidas del circuito son las salidas de los multivibradores, la primera conclusin
es que se trata de una mquina MOORE. Asumiendo que ambos circuitos parten de un
estado de reposo donde sus salidas son igual a cero, se establece en el anlisis que el
multivibrador 0 (a la izquierda en la figura) se comporta como un multivibrador tipo T, que
permanentemente cambia de estado pues siempre tiene entradas en 1, mientras que el
multivibrador 1 (a la derecha en la figura) tambin se comporta como un tipo T pero con
posibilidad de variar entre el estado de entrada 0 que no presenta cambios en la salida Q y
el estado 1 que permite el cambio de Q. Por ello, puede establecerse un diagrama de
tiempos o diagrama de flujo en el que el filo de disparo se elige al azar (de ascenso para
este caso) como el siguiente.
Q1(MSB)
Q0(LSB)
Reloj
1 2 3 4 1 2 3
Fig 3.23 Diagrama de flujo del circuito.
A partir del diagrama de flujo puede establecerse la tabla de verdad del circuito que a su
vez nos indicar la configuracin de los estados que lo conforman.
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
60
J0 K0 J1 K1
1 1
1 1
1 1
1 1
1 1
1 1
0 0
1 1
0 0
1 1
0 0
1 1
0 0
1 0
0 1
1 1
0 0
1 0
Q0Q1
2
3
4
1
Fig 3.24 Tabla de verdad del circuito.
Del anlisis de la tabla de verdad se desprende que el estado de reposo se repite cada cuatro
estados, por lo que si se utiliza solamente la salida del multivibrador 1, el circuito es un
divisor de frecuencias entre cuatro, mientras que si se utilizan ambas salidas de los
multivibradores, se trata de un contador mdulo cuatro, con cdigo 1,2. Por lo tanto, el
diagrama de estados del circuito es el mostrado en la siguiente figura
00 01 10 11
Fig 3.25 Diagrama de estados del circuito.
Ir al inicio
3.3.1.2 Diseo
Para mostrar la metodologa de diseo de este tipo de circuitos, se inicia con una tabla de
verdad que muestra una secuencia deseada para un contador de mdulo 5 compuesto por
multivibradores JK.
0 0
0 0
0 1
0 1
0 0
0
1
0
1
0
Q0 Q1 Q2
Estados iguales
Fig 3.26 secuencia deseada en el diseo del circuito.
Ir al inicio
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
61
Usando el mtodo general de diseo, se tiene la siguiente tabla de excitaciones
J0K0
0 0
0 0
0 1
0 1
1 0
0
1
0
1
0
0 X
0 X
0 X
1 X
X1
Q0 Q1 Q2
Entradas al circuito
combinatorio
0 0
0 0
0 1
0 1
1 0
0
1
0
1
0
Q0 Q1 Q2
Proximo
Estado
J2K2 J1K1
0 X
1 X
X0
X1
0 X
1 X
X1
1 X
X1
0 X
Salidas del circuito
combinatorio
Fig 3.27 tabla de excitaciones del circuito.
3.3.1.3 Reduccin por observacin
Los mapas de excitaciones se muestran en la siguiente figura, de las que puede inferirse por
observacin que:
0X 0X 1X 0X
X1 XX XX XX XX XX XX
J2K2 Q0
Q1
Q2
0X X0 X1 1X
0X XX XX XX XX XX XX
J1K1 Q0
Q1
Q2
1X 1X
0X XX XX XX XX XX XX
J0K0 Q0
Q1
Q2
X1 X1
0 0 1 0
X X XX XX X X X
X X X X
1 X XX XX X X X
0 X X 1
0 X XX XX X X X
X 0 1 X
X X XX XX X X X
1 1 X X
0 X XX XX X X X
X X 1 1
X X XX XX X X X
J2 K2 J1 K1 J0 K0
J2=Q0Q1 K2=1 J1=Q0 K1=Q0 J0=/Q2 K0=1
Fig 3.28 mapas de excitaciones.
Con lo que el circuito final queda como se muestra en la siguiente figura
J
K
Ck
Q J
K
Ck
Q
Q1 Q0(LSB)
VCC
Reloj
J
K
Ck
Q
Q2(MSB)
1
2
3
A
/Q
VCC
Fig 3.29 circuito final.
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
62
Ir al inicio
3.3.1.3 Registros de corrimiento
Un registro es un arreglo de multivibradores conectados en cadena que se usan como
memorias temporales. Su operacin es asncrona. En general hay dos tipos de registros: Los
registros fijos y los registros de corrimiento.
Los registros fijos permiten la carga y la descarga de informacin en paralelo, como se
ilustra en la siguiente figura.
Reloj
Entrada paralelode la informacion
Salida paralelode la informacion
Fig 3.30 Registro fijo, con carga y descarga de datos en paralelo.
Los registros de corrimiento permiten la operacin de desplazamiento de la informacin, ya
sea a la derecha, denominados registros de corrimiento a la derecha o con posibilidad de
carga y descarga en paralelo y desplazamiento a la derecha o a la izquierda, denominados
registros universales, como se muestra en la siguiente figura.
Reloj
Entrada paralelode la informacion
Corrimientode los datos a la derecha
Entrada serie Salida serie
Reloj
Entrada paralelode la informacion
Salida enparalelode la informacion
Entrada/Salida serie Salida/entrada serie
Fig 3.31 Registros de corrimiento (shift register).
Ir al inicio
3.4 Mtodos formales de reduccin
Cuando se enuncia un problema relacionado con el diseo de un circuito, suele
especificarse el tipo de multivibrador que debe utilizarse pues un mismo diseo puede ser
realizado con diferentes multivibradores. En esencia, el diseo de los circuitos secuenciales
sincrnicos consiste en indagar todas las excitaciones necesarias para que las unidades de
memoria (multivibradores) funcionen como lo exige la aplicacin. Esto se logra recurriendo
sistemticamente a la tabla de excitacin de del tipo de multivibrador especificado para el
diseo. Es evidente que dichas excitaciones solo pueden lograrse a partir de las salidas de
los propios multivibradores, de las seales de entrada y de niveles lgicos constantes (ceros
y unos).
Conocido el enunciado del problema y elaborada la tabla de estados del mismo, el siguiente
paso es la elaboracin de la tabla de excitaciones que consta de 3 secciones, como se
muestra en la figura 3.32.
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
63
De dicha tabla se derivan los mapas de las excitaciones que dependen exclusivamente de
Q0, Q1, . . . Qn. Por ltimo, se aplica la reduccin del circuito, por medio de mapas de
Karnaugh.
Ir al inicio
3.4.1 Particin de estados
Las tablas de estados utilizadas en sesiones anteriores, a diferencia de las mostradas en el
diseo de circuitos combinatorios y que contienen entradas primarias y salidas, contienen
informacin del estado presente del circuito, el estado prximo y la salida.
La seccin del estado presente contiene tantos renglones como estados pueden producir los
multivibradores. La seccin del prximo estado, tendr tantas columnas como
combinaciones de entradas primarias existan y los mismos renglones que la seccin del
estado presente. La seccin de salida incluir tantas columnas como combinaciones de
entradas primarias.
Proximoestado
Qn . . . . . . Q1Q0
Estadopresente Salidas
Qn . . . . . . Q1Q0 Z . . Z Z Z Z
x1x2
00 11 10
x1x2
00 11 10
2a la ncolumnas si 4columnas por ejemplo
se tienennentradas si se tienenuna salida y
primarias 2entradas primarias
Fig 3.32 Formato general de una tabla de estados particionada.
Ir al inicio
3.4.2 Implicacin de estados
Las ecuaciones de estados son las expresiones algebraicas que describen totalmente la
operacin de un circuito secuencial sincrnico. De esta forma, es posible realizar un diseo
a partir de ellas prcticamente en forma directa. Lo esencial es saber obtener las ecuaciones
correspondientes a partir de la tabla de estados, lo cual se logra recordando que: Los
estados de la primer seccin de la tabla estn definidos antes de la llegada del pulso de
reloj, por lo que se identifican con el subndice n. Los estados de la segunda seccin
corresponden a la respuesta del circuito despus del pulso de reloj, por lo que se identifican
con el subndice n+1.
Ir al inicio
3.5 Circuitos secuenciales asncronos modalidad de pulso
Se dice que un circuito secuencial corresponde a la modalidad de pulso cuando alguna de
sus entradas primarias es un pulso, adems del pulso de reloj, el cual no se considera una
seal de entrada. De esta manera, los cambios internos ocurren como respuesta a la
ocurrencia de dicho pulso presente en las entradas primarias. Cabe sealar que la duracin
del pulso debe ser tal que logre el disparo en los multivibradores que deben diferenciar tal
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
64
pulso de una seal de ruido y que no deben ocurrir en las entradas pulsos simultneos. En
esta modalidad de diseo existen dos tipos de circuito. Las mquinas MOORE y las
mquinas MEALY.
Ir al inicio
3.5.1 Diseo de mquinas de estado
El diseo de una mquina de estados (conocida tambin como mquina de estados finitos),
debe seguir la estructura siguiente:
a) Enunciado del problema
b) Obtencin del diagrama de estados a partir del enunciado del problema
c) Definicin de dichos estados y el nmero de multivibradores que los realiza
d) Codificacin de los estados en funcin de los multivibradores propuestos
e) Elaboracin de la tabla de excitaciones y salidas
f) Simplificacin o reduccin por mapas de Karnaugh
g) Realizacin fsica del circuito y pruebas
Ir al inicio
3.5.1.1 Tipo Mealy
El nombre "Mquina de Mealy" viene del promotor del concepto: G. H. Mealy, un pionero
de las mquinas de estados, quien escribi Un Mtodo para sintetizar Circuitos
Secuenciales, Bell System Tech. J. vol 34, pp. 10451079, September 1955.
Una mquina de Mealy puede definirse como una funcin de
* un conjunto finito de estados (S)
* un estado inicial S0 el cual es un elemento de (S)
* un conjunto finito de seales de entrada
* un conjunto finito de seales de salida
* una funcin de transiciones
* una funcin de salida
En general, una mquina MEALY es un sistema secuencial sincrnico que requiere un
circuito de salida. La siguiente figura muestra el esquema general de este tipo de circuitos
Fig 3.33 mapa de estados de una mquina MEALY simple.
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
65
Ir al inicio
3.5.1.2 Tipo Moore
El nombre Moore machine viene de su diseador: Edward F. Moore, un pionero de las
mquinas de estados, quien escribi Gedanken-experiments on Sequential Machines, pp
129 153, Estudios de Autmatas, Anales de los Estudios Matemticos, no. 34, Princeton
University Press, Princeton, N. J., 1956.
Una mquina de Moore puede ser definida como una funcin de
* un conjunto finito de estados ( S )
* un estado inicio (tambin llamado estado inicial) S0 el cual es un elemento de (S)
* un conjunto finito de seales de entrada
* un conjunto finito de seales de salida
* una funcin de transicin mapeando un estado y una entrada al siguiente estado
* una funcin salida
En general, una mquina MOORE es un sistema secuencial sincrnico en el que las salidas
del circuito son tomadas de las salidas de los mltivibradores. La siguiente figura muestra el
esquema general de este tipo de circuitos
Fig 3.34 mapa de estados de una mquina MOORE simple.
Ir al inicio
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
66
UnidadIV.Dispositivosprogramables
4.1 Contexto de la memoria de un sistema de cmputo
4.1.1 Clasificacin y tecnologas
4.1.2 Memoria EPROM
4.2 Dispositivos de lgica programable (PLDs)
4.2.1 Arreglos lgicos programables (GALs)
4.1 Contexto de la memoria de un sistema de cmputo
La memoria en un sistema de cmputo permite almacenar datos y cdigos: Los datos
consisten en la informacin del sistema y permiten la realizacin de operaciones lgicas y
aritmticas, el intercambio de informacin y la ejecucin de mltiples tareas; Los cdigos
son microinstrucciones escritas en lenguaje de mquina y son escritas de acuerdo a las
especificaciones del fabricante del procesador contenido en el sistema de cmputo. Dichos
cdigos escritos y ejecutados en forma secuencial constituyen el programa que ejecuta el
sistema y se relaciona con los datos de manera que pueden efectuarse diferentes
operaciones.
Fig. 4.1 La persistencia de la memoria. Salvador Dal
Ir al inicio
4.1.1 Clasificacin y tecnologas
La memoria en sistemas electrnicos se clasifica de muy diversas maneras. Por ejemplo:
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
67
a) Por sus caractersticas fsicas: Electromecnicas y electrnicas; Todos los tipos de
memoria electromecnica requieren de elementos mviles para los procesos de
lectura/escritura de informacin, lo que naturalmente se efectuaba en forma lenta.
Durante algn tiempo representaron el menor costo por cantidad de informacin
almacenada.
Fig. 4.2 Memoria de tambor magntico
Las memorias electrnicas en cambio son elementos estticos que mantienen la
informacin por medio de niveles de voltaje y su principal caracterstica es la
velocidad de respuesta.
Fig. 4.3 memoria electrnica comparada con memoria de ncleos magnticos
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
68
b) Por su jerarqua: Principales y Auxiliares. Las memorias principales son aquellas
que, por su velocidad de operacin interactan directamente con el microprocesador
de un sistema de cmputo mientras las memorias auxiliares son sistemas mas lentos
que requieren tiempos de acceso mayores por lo que requieren circuitos que las
operen mediante sistemas de almacenamiento temporal (buffers).
Fig. 4.4 circuitos de memoria principal para una PC.
Fig. 4.5 circuito de memoria auxiliar.
c) Por su forma de acceso a la informacin: Aleatorias, serie y asociativas. En las
memorias de acceso aleatorio, el tiempo de lectura y el tiempo de escritura de un
dato es el mismo y es completamente independiente del lugar fsico en donde se
ubica el mencionado dato. En las memorias de acceso en serie, el tiempo de acceso
a los datos depende del lugar en el que se localice fsicamente dicho dato como en el
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
69
caso de cintas magnticas o el conjunto de discos denominado jukebox. En las
memorias asociativas, denominadas CAM (content addressable memory), la
bsqueda de informacin requiere de un dato de entrada para compararlo con el
contenido de cada localidad.
d) Por su relacin con la alimentacin: Voltiles y no voltiles. En las memorias
voltiles es necesario mantener permanentemente la alimentacin para retener los
datos que sta contiene pues en cuanto dejan de contar con ella, todos los datos
almacenados se pierde. En las memorias no voltiles, la informacin almacenada
permanecer indefinidamente en las condiciones normales de operacin del circuito.
e) Por el tipo de elemento de almacenaje utilizado: Estticas y dinmicas. Las
memorias estticas emplean multivibradores como elementos de almacenaje de
informacin por lo que siempre que se encuentren alimentadas conservarn dicha
informacin. En las memorias dinmicas se emplea un elemento capacitivo para la
retencin de informacin por lo que requieren ser refrescadas peridicamente. La
ventaja de estas ultimas es que aunque requieren de circuitos de refresco, pueden
fabricarse en mayor densidad que las estticas pues por cada celda binaria de
memoria esttica pueden fabricarse 4 celdas binarias de memoria dinmica.
f) Por el tipo de acceso a los datos: Memorias de lectura/escritura y memorias de
solo lectura. Las memorias de lectura/escritura se utilizan especficamente para el
almacenamiento de datos dentro de un sistema de cmputo y se requiere que dicha
operacin se efecte en el menor tiempo posible. Las memorias de solo lectura se
utilizan para almacenar cdigo y requieren que la informacin permanezca en ellas
de forma indefinida para que siempre se encuentre disponible el programa grabado
en ellas.
Un ejemplo de la forma en que la construccin de circuitos cada vez ms compactos y
eficientes impacta tecnolgicamente, lo constituye el diseo de memorias a partir de
multivibradores.
En la siguiente figura se muestra una celda binaria a partir de compuertas NAND
1
2
3
*A
5
6
4
*B
8
9
10
MC74HC00AN
*C
11
12
13
*D
Q
S
R
1
2
3
*A
5
6
4
*B
8
9
10
*C
11
12
13
*D
1
2
3
*A
5
6
4
MC74HC00AN
*B
8
9
10
*C
11
12
13
MC74HC00AN
*D
DATAIN
DATAOUT
READ/WRITE
Fig. 4.6 circuito de celda binaria, formado con NANDs.
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
70
En celdas como la mostrada en la figura anterior, se distinguen la terminal de salida de
datos, la de entrada de datos y la de control de lectura/escritura que permite guardar un bit o
leer el bit guardado en la celda.
En el diseo de circuitos de memoria se aade una terminal de control adicional para
formar una celda binaria tpica, como se muestra en el circuito siguiente
BC
I O
S
RW
Fig. 4.7 circuito de celda binaria mostrando sus terminales de control y de datos.
En el circuito mostrado, S es la terminal de seleccin que permite en estado verdadero que
la celda acte como tal, esto es, leer un dato binario o mostrarlo. Mientras que en estado
falso, el circuito se coloca en estado de alta impedancia (tercer estado) para no actuar en el
circuito en que se pudiera conectar. Esta condicin permite que la celda pueda insertarse en
arreglos muy grandes y ejecutar acciones de lectura/escritura por palabras.
En el siguiente circuito se muestran ocho celdas binarias conectadas de manera que forman
una localidad de memoria, en la que se puede almacenar una palabra digital de 8 bits.
BC
I O
S
RW
BC
I O
S
RW
BC
I O
S
RW
BC
I O
S
RW
BC
I O
S
RW
BC
I O
S
RW
BC
I O
S
RW
BC
I O
S
RW
Seleccin de la palabra
RWde la palabra
I7 I6 I5 I4 I3 I2 I1 I0
O7 O6 O5 O4 O3 O2 O1 O0
Fig. 4.8 circuito de celdas binarias formando una localidad de memoria de 8 bits.
Ntese que el circuito tiene ahora un orden implcito, pues aunque todas las celdas son
iguales, cada una almacenar un bit de diferente peso, por lo que la celda de la derecha
albergar al bit menos significativo (LSB=Least Significant Bit) y la de la izquierda al mas
significativo (MSB=Most Significant Bit).
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
71
Una simplificacin adicional en circuitos de memoria, consiste en la fabricacin de
terminales bidireccionales, las cuales tienen la propiedad de manejar datos en un sentido o
en otro y se utilizan para sustituir terminales separadas para la entrada y salida de datos.
Dichas terminales constan de un circuito de control gobernado por la terminal R/W y
formado como se muestra en la siguiente figura
I/O I/O I I
O O
R/W
Fig. 4.8 circuito de control de terminales bidireccionales.
De este modo, la localidad de memoria mostrada en la figura 4.8, se transforma en la
mostrada en la siguiente figura
BC
S
RW
BC
S
RW
BC
S
RW
BC
S
RW
BC
S
RW
BC
S
RW
BC
S
RW
BC I/O
S
RW
Seleccin de la palabra
RWde la palabra
D7
I/O I/O I/O I/O I/O I/O I/O
D6 D5 D4 D3 D2 D1 D0
Fig. 4.9 Localidad de memoria de 8 bits y terminales de datos bidireccionales.
Agrupando ms de una palabra en un circuito, considerando que las terminales de
entrada/salida de datos se deben conectar en paralelo para cada bit de cada palabra y que las
terminales de control deben conectarse en un arreglo matricial que permita la seleccin de
una palabra a la vez y la activacin de la terminal R/W en todas las celdas al mismo tiempo,
se forma lo que se denomina una memoria como la que se muestra en el siguiente
circuito, el cual representa una memoria de 8 localidades de 8 bits cada una.
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
72
RW
BC BC BC BC BC BC BC BC
S0
BC BC BC BC BC BC BC BC
S1
BC BC BC BC BC BC BC BC
S2
BC BC BC BC BC BC BC BC
S3
BC BC BC BC BC BC BC BC
S4
BC BC BC BC BC BC BC BC
S5
BC BC BC BC BC BC BC BC
S6
BC BC BC BC BC BC BC BC
S7
D7 D6 D5 D4 D3 D2 D1 D0
Fig. 4.10 circuito de memoria de 8 localidades de 8 bits cada una.
La cual representa la forma en la que se organizan las celdas binarias para formar un
arreglo que permita la lectura o escritura de una palabra en una localidad determinada. Para
lograr dicho objetivo, se selecciona la localidad deseada, colocando a uno lgico la S
correspondiente y a cero lgico todas las terminales S restantes. Enseguida se coloca la
palabra que se desea escribir en las terminales bidireccionales de datos y se activa la
terminal R/W en su modo de escritura. Si por el contrario se activa en modo de lectura, en
las terminales bidireccionales se muestra el contenido de las celdas de la localidad
seleccionada.
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
73
Este proceso es sencillo si se trata de pocas localidades pero en el mercado se tienen
memorias de miles o millones de localidades, por lo que se requiere de un circuito que
permita la seleccin de cada localidad con la ayuda de pocas terminales. Un circuito como
el diseado en la seccin 2 de estos apuntes ilustra el caso. Se trata del diseo de un
selector de 5 entradas y 32 salidas cuya tabla de verdad se muestra en la siguiente figura
Fig. 4.11 Tabla de verdad de un selector de 5 entradas y 32 salidas.
En dicha tabla se muestran las terminales de seleccin S para cada una de 32 localidades de
memoria posibles y las combinaciones de entrada que las activan. Una combinacin posible
por cada terminal S. En la siguiente figura se muestra el circuito resultante
1 2
A
1 2
A
1 2
A
1 2
A
1 2
A
A
0
A
1
A
2
A
3
A
4
S31 S30 S29 S28 S27 S26 S25 S24 S23 S22 S21 S20 S19 S18 S17 S16
S15 S14 S13 S12 S11 S10 S9 S8 S7 S6 S5 S4 S3 S2 S1 S0
Fig. 4.12 circuito selector de 5 entradas y 32 salidas.
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
74
De esta manera, pueden generalizarse circuitos de n localidades de memoria con la
apropiada circuitera para seleccin de localidades. La siguiente figura muestra un circuito
con n localidades de memoria de 8 bits
RW
BC BC BC BC BC BC BC BC
S0
BC BC BC BC BC BC BC BC
S1
BC BC BC BC BC BC BC BC
S2
S3
BC BC BC BC BC BC BC BC
Sn
D7 D6 D5 D4 D3 D2 D1 D0
Fig. 4.13 circuito de memoria de n localidades de 8 bits cada una.
Las dos figuras siguientes muestran las hojas de especificaciones de dos tipos de memoria
tpicas utilizadas en el diseo de circuitos digitales.
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
75
Fig. 4.14 .hoja de especificaciones de la memoria ROM 27c256.
Fig. 4.15 hoja de especificaciones de una memoria RAM de 8096 palabras de 8 bits cada
una.
Ir al inicio
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
76
4.1.2 Memoria EPROM
Son las siglas de Erasable Programmable Read-Only
Memory (ROM borrable programable). Es un tipo de
circuito integrado de memoria ROM inventado por el
ingeniero Dov Frohman que retiene los datos cuando
la fuente de energa se apaga. En otras palabras, es no
voltil. Est formada por celdas de FAMOS (Floating
Gate Avalanche-Injection Metal-Oxide
Semiconductor) o transistores de compuerta flotante.
Se programan mediante un dispositivo electrnico que
proporciona voltajes superiores a los normalmente
utilizados en los circuitos convencionales. Las celdas
que reciben carga se leen entonces como un 1. Una
vez programada, una EPROM se puede borrar
solamente mediante exposicin a una fuerte luz
ultravioleta. Esto es debido a que los fotones de la luz
excitan a los electrones de las celdas provocando que
se descarguen. Las EPROMs se reconocen fcilmente
por una ventana transparente en la parte alta del encapsulado, a travs de la cual se puede
ver el chip de silicio y que admite la luz ultravioleta durante el borrado.
Ir al inicio
4.2 Dispositivos de lgica programable (PLDs)
Antes de la invencin de los PLDs, se podan utilizar memorias tipo ROM para crear
funciones lgicas combinacionales arbitrarias ya que se programaban de manera que una
combinacin de entrada produjera una salida deseada de acuerdo a una tabla de verdad sin
necesidad de implementar los circuitos lgicos que la produjeran, solamente almacenando
la palabra binaria necesaria como respuesta. Este tipo de diseos se crearon para reproducir
funciones en una emergencia pues el circuito era subutilizado ya que las palabras restantes
se desperdiciaban.
En 1970, Texas Instruments desarroll un circuito integrado, el TMS2000, programado con
una estructura de multivibradores JK internos para configurar diferentes operaciones
lgicas elementales. En 1971, General Electric Company (GE) desarroll un dispositivo
lgico programable basado en la nueva tecnologa PROM, sin embargo, una vez que Intel
introdujo en el mercado la tecnologa de compuerta flotante borrable con luz ultravioleta,
inmediatamente fue introducida para producir el primer circuito PLD programable y
borrable. En 1973, National Semiconductor desarrolla el DM7575 En 1974 GE participa
en un acuerdo con la compaa Monolithic Memories para desarrollar un dispositivo lgico
programable que incorporara las innovaciones tecnolgicas de GE. El dispositivo fue
denominado Programmable Associative Logic Array o PALA. El MMI 5760 se complet
en 1976 con casi 100 compuertas de tipo secuencial o multinivel.
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
77
El circuito fue desarrollado en ambiente de diseo de General Electric donde las ecuaciones
booleanas eran convertidas a patrones en una mscara para configurar el dispositivo. Sin
embargo el circuito no se vendi en el mercado.
PAL (Programmable array logic)
En 1978, MMI introduce un circuito denominado Programmable Array Logic o PAL cuya
arquitectura era mas simple que la del FPLA de Signetics FPLA debido a que omita el
arreglo programable basado en compuertas OR, lo que haca al dispositivo mas rpido,
pequeo y barato, en configuracin DIP de 20 terminales. Adicionalmente, el manual PAL
Handbook desmitific el proceso de diseo para hacerlo mas amigable con el uso del
software PALASM (PAL Assembler), el cual convierte las ecuaciones Booleanas de diseo
a un patrn de fusibles en la PAL. A partir de ese momento, los circuitos PAL se producen
tambin por National Semiconductor, Texas Instruments y AMD. Posteriormente a la
exitosa introduccin de los circuitos PAL de 20 terminales, AMD introduce el 22V10, una
PAL de 20 terminales con caractersticas adicionales. Posteriormente, AMD adquiere MMI
(en 1987), para formar la compaa Vantis, que ms tarde fuera adquirida por Lattice
Semiconductor en 1999.
Ir al inicio
4.2.1 Arreglos lgicos programables (GALs)
En 1985 Lattice introduce en el Mercado una innovacin en las PAL, el dispositivo
denominado GAL (generic array logic), con las mismas propiedades de una PAL pero con
la caracterstica adicional de permitir borrarle y reprogramarle, por lo que fue enormemente
aceptada en el diseo y depuracin de prototipos lgicos. Dicha programacin se puede
efectuar mediante programadores de PAL o utilizando la tcnica de programacin in-
circuit diseada para determinados circuitos. Las GAL de Lattice combinan las tecnologas
CMOS y las compuertas flotantes elctricamente borrables (E
2
) para proporcionar alta
velocidad y bajo consumo de potencia.
Un dispositivo similar, denominado PEEL (programmable electrically erasable logic) fue
introducido por International CMOS Technology (ICT) corporation.
CPLD (complex PLDs)
Las PAL y GALs solo pueden adquirirse en la actualidad en formatos de solo cientos de
compuertas lgicas. Para circuitos lgicos con mayor nmero de componentes se pueden
utilizar los CPLD (complex PLDs o CPLDs). Dichos dispositivos contienen el equivalente
de varias PAL enlazadas mediante conexiones programables en un solo circuito integrado
por lo que sustituyen a cientos o hasta miles de compuertas lgicas. Algunos CPLDs
pueden programarse usando un programador convencional de PALs, pero este mtodo
resulta inconveniente para dispositivos de cientos de terminales. Un mtodo alternativo
consiste en soldar el circuito a la placa de circuito impreso en donde operar normalmente y
proporcionarle una cadena de datos seriales desde una PC. El circuito contiene un
dispositivo que decodifica los datos seriales y configura al CPLD para ejecutar la funcin
lgica especificada.
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrn Navarro
78
Cada fabricante tiene sistemas propietarios para este sistema de programacin, por ejemplo
Lattice Semiconductor lo denomina "in-system programming", sin embargo estos sistemas
han migrado a un estndar denominado JTAG (Joint Test Action Group).
FPGAs (Field-programmable gate array)
Mientras el desarrollo de circuitos programables evolucionaba hacia GALs y CPLDs,
ocurra otro tipo de desarrollos denominados FPGAs (field-programmable gate array) por
parte Sygnetics. Este tipo de dispositivos introducidos en 1970, se basa en la tecnologa de
matrices de compuertas que pueden ser configuradas en campo (de ah su nombre field-
programmable gate array). Los FPGAs utilizan una matriz de compuertas lgicas similar a
las usadas en otros dispositivos programables con la diferencia que la programacin se hace
por parte del usuario despus de haber sido soldados en la tarjeta de circuito impreso, de
manera similar a los CPLDs. En algunos FPGAs muy grandes, la configuracin es voltil
y debe ser recargada cada vez que se alimenta el dispositivo mediante una memoria PROM,
o EEPROM via JTAG.
Ir al inicio