You are on page 1of 17

2.

2 DISEO DE CIRCUITOS SECUENCIALES SINCRONICOS


2.2.1 INTRODUCCION
Cuando se requiere disear un circuito digital es necesario aplicar
alguna tcnica de diseo, as, en el caso del diseo de circuitos
combinacionales la tcnica es mediante una tabla de verdad, que en
esencia es la herramienta de diseo, en el caso de los circuitos
secuenciales una de las herramientas de diseo es el diagrama de
estados.
2.2.2 EL DIAGRAMA DE ESTADOS
Un diagrama de estados se define como, un grfico, una figura
formada por smbolos especiales, como valos o crculos y
segmentos de recta dirigidos que describen grficamente el
comportamiento o funcionamiento de un circuito o mquina
secuencial, en el proceso de diseo se construye primero un
diagrama de estados y luego se implementa mediante circuitera
digital ese diagrama, el anlisis es el proceso inverso, a partir de un
circuito digital se construye el diagrama de estados que como ya se
dijo describe el funcionamiento de un circuito.
En la figura 2.1 se puede apreciar un estado con las partes que lo
conforman, su smbolo es un ovalo, o ms comn suele ser un
circulo, en este libro se utiliza el ovalo, fsicamente o a nivel de
circuitera digital un estado es un ciclo de reloj, un estado queda
identificado por un nombre y un cdigo, en la figura 2.1 el nombre es
a, y el cdigo es 1010, el nmero de bits del cdigo depende del
nmero de estados diferentes que contenga un diagrama de estados,
as, si hay 2 estados se requiere un bit, un estado tendra el cdigo 0
y el otro el cdigo 1, si existen 4 estados se necesitan dos bits, y los
cdigos de los estados podran ser 00,01,10,11, para representar 6
estados se requieren 3 bits y los cdigos podran ser:
000,001,010,011, 100,101 y sobraran dos, en general el numero de
n
estados diferentes que se pueden generar con n bits es: 2 , en
donde n es el numero de bits, si hay 12 estados se requieren al
4
2 = 16, de las 16 posibilidades se utilizaran 12,
menos 4 bits,
quedando 4 libres. Smbolo o nombre del
estado: a
Cdigo del estado:1010

Figura 2.1 Representacin de un estado.


En la figura 2.2 se ve la representacin fsica de un estado, en cada
estado una mquina debe realizar alguna accin.
voltios
Estado

Estado

Estado

Estado
Estado
Tiempo (segundos)

Figura 2.2 Representacin fsica de un estado.


Por otro lado en la figura 2.3 se ve un diagrama de estados con sus
diferentes partes, los segmentos de rectas dirigidas indican un
cambio o paso de un estado a otro, o incluso el retorno al mismo
estado, las entradas normalmente definen cual es el estado al que se
va a cambiar desde el estado presente o estado de inters, en cada
estado tambin se puede generar una salida o un grupo de salidas,
debe notarse que el valor de las entradas definen cual debe ser el
estado siguiente, por ejemplo en la figura 2.3, estando en el estado
presente a, o estado de inters, ciertos valores de las entradas
permitirn que el siguiente estado al a, sea el b, y otros valores de
entradas en el estado a, conducirn al estado c, o inclusive puede ser
que el siguiente estado sea el mismo.
Estado siguiente al estado presente a
a
Estado presente a, o estado de inters.
000

Estradas/salidas
Estradas/salidasEstradas/salidas

b
001
Estado b, siguiente al estado a

c
010

Estado c, siguiente al estado a

Figura 2.3 Un diagrama de estados.


En la figura 2.4, se puede observar un ejemplo de un diagrama de
estados, se suele utilizar un formato para especificar las entradas y
salidas, as, por ejemplo, si se tiene dos entradas w, z, y tres salidas
c, v, n, el formato F= entras/salidas es F= wz/cvn, o a nivel de bits,
F= 01/110 este es el que utiliza en los diagramas de estados como se
ve en la figura 2.5.
Ejemplo 2.1: Disee un circuito secuencial sincrnico que genere el
siguiente cdigo: 00, 01, 10,11, cuando la entra x es verdadera de lo
contrario debe generar el cdigo anterior pero en sentido inverso, es
decir del 11 al 00, el circuito secuencial sincrnico debe censar la
seal x solo al inicio del diagrama de estados.
Solucin: Primero es necesario siempre hacer un diagrama de
bloques que represente al sistema que se quiere disear, este
diagrama se ve en la figura 2.6.

A
Entrada
Salidas
x
Circuito secuencial sincrnico
B
CLK

Figura 2.6 Diagrama de bloques.


El diagrama de estados se construye partiendo de un estado
cualesquiera, por ejemplo el estado que se le llama a en la figura
2.7, y de acuerdo a las condiciones del ejercicio solo aqu se pregunta
por el valor de la entrada x, si x=1 se genera el cdigo 00, 01, 10,11
en A y B, de lo contrario se genera el cdigo 11, 10, 01, 00, en A y
B, como se ve en la figura 2.7.
a
0/11

1/00
e

/10

b
/01

f
/00

c
/10

/01
g

/11

Figura 2.7 Diagrama de estados para el circuito del ejercicio 2.1.


Note en la figura 2.7 que se utiliza el smbolo para indicar la
condicin no importa, es decir puede ser un1 lgico o un 0 lgico,
observe que de acuerdo a las condiciones del diseo solo se debe
preguntar por la entra x al inicio, de ah que en el resto de los
estados la entrada x es una condicin no importa, x=
simblicamente.
Ejemplo 2. Disee un
diagrama de estados.

contador binario de tres bits solo realice el

Solucin: Primero es necesario hacer un diagrama de bloques que


represente al sistema que se quiere disear, este diagrama se ve en
la figura 2.8. Como es un contador de 3 bits, el sistema debe tener 3
salidas que se van a llamar, x, y, z, como no hay ninguna entrada
(excepto el CLK) esta se convierte en una condicin no importa, el
diagrama de bloques se indica en la figura 2.8 y el diagrama de
estados en la 2.9.

Contador de 3 bits

X
Y
z

CLK

Figura 2.8 Diagrama de bloques.


Son ocho estados diferentes y por lo tanto se requieren 3 bits para
3
2 =8 , el diagrama de
representar a cada estado, puesto que
estados inicia en el estado a en la figura 2.9, aqu se pregunta por
el estado de la entrada pero como no existe una entrada externa se
representa por la condicin no importa, as, en el estado a, como no
hay entradas solo se generan las salidas 000, y la maquina va al
estado b, en b no se pregunta por ninguna entrada, se generan las
salidas 001 y la mquina va al estado c, en c no hay entradas pero se
debe generara las salidas 010, as se continua con este procedimiento
en forma indefinida

a
/111

/110

/000
g

/101

/001
f

/100

c
/010

/011
d

Figura 2.9 Diagrama de estados para el circuito del ejercicio 2.2.


Ejemplo 2.3: Disee un dispositivo que saque el complemento a dos
de un nmero de 3 bits.
Solucin: Se crea el diagrama de bloques que se indica en la figura
2.10, se supone que los bits a complementarse ingresan uno a uno y
con cada ciclo del reloj, y en la salida est el valor complementado, x
es la entrada y z es la salida, ahora hay que elegir el algoritmo
mediante el cual se va a obtener el complemento a dos de un
nmero, se elige el algoritmo que examina el nmero desde el bit
menos significativo, se busca el primer uno, este se deja como esta y
el resto de los bits se complementan, as, si el nmero es 011, su
complemento es 101.

Circuito que obtiene el complemento a dos


CLK

Figura 2.10 Diagrama de bloques para el ejemplo 2.3


En la figura 2.11 se indica el diagrama de estados, se parte de un
estado llamado a, en este se pregunta por la entrada si es 0 se
sigue un camino y si es 1 se elije otro.

a
0/0
1/1

e
1/0
1/1

0/1

0/0

0/1
1/0

0/0
1/1

figura 2.11 Diagrama de estados para el ejemplo 2.3

2.2.3 IMPLEMENTACION DE DIAGRAMAS DE ESTADOS


Para implementar un diagrama de estados se debe definir qu tipo de
mquina se va a disear, es decir una mquina:
Clase
Clase
Clase
Clase
Clase

A o mquina Mealy.
B o mquina Moore.
C o mquina Moore sin decodificador de salidas.
D o memoria de Look up.
C.

En la seccin 1.6 se definieron las diferentes mquinas, por lo tanto


haciendo referencia a esa seccin, cada mquina tiene su propia
estructura de 3 bloques que son el decodificador de estado siguiente,
el decodificador de salidas, y el bloque de memoria que est
conformado por algn tipo de FlipFlop, as, en realidad se debe
disear dos de los 3 bloques puesto que los Flip-Flops son circuitos ya
conocidos y lo nico que hay que hacer es elegir uno de ellos, los
bloques que deben ser diseados son del tipo combinacional y por
ende la herramienta de diseo es la tabla de verdad.

Ejemplo 2.4: Disee un circuito secuencial sincrnico clase B o


mquina de Moore, que genere el siguiente cdigo: 00, 01, 10,11,
cuando la entra x es verdadera de lo contrario debe generar el cdigo
anterior pero en sentido inverso, es decir al revs, la seal x debe ser
censada por el sistema solo al inicio, use Flip-Flops tipo D para
implementar el bloque de memoria.
Solucin: El diagrama de bloques es el que se indica en la figura
2.12, el diagrama de estados est indicado en la figura 2.13.

Entrada
x

Decodificador del estado siguiente

a
DaDbDc
000
0/11
Qa 1/00
Qb

Qc

Decodificador de salidas.
Salidas
e
A
B ?b
100
001
Figura 2.12 Diagrama de bloques para el ejercicio 2.4
/10
/01

f
c
101 por lo tanto se 011
Son 7 estados diferentes
requieren 3 Flip-Flops
/11 tipo
D, a saber, Da, Db, Dc, el mapa de estados se ve en el mapa 2.1.
/00

/10

/01

g
110

d
010

Figura 2.13 Diagrama de estados


Da
Db
Dc
00
01 11 10
0
a
c
g
e
1
b
d

f
Mapa 2.1 Mapa de estados
De la figura 2.12, la tabla de verdad para el diseo del decodificador
de estado siguiente y de salidas es como se indica en la tabla 2.1.
Q
a

Q
b

Qc

Qa+
1

Qb+
1

Qc+
1

Da

Db

Dc

0
0

0
0

0
0

0
1

1
0

0
0

0
1

1
0

0
0

0
1

1
0

1
0

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

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

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
0
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
0
0
0
1
1
0
0
0
0

0
0
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
0
0
0
1
1
0
0
0
0

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

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

Tabla 2.1 Combinaciones posibles para los decodificadores.

Ejemplo 2.5: Disee un circuito secuencial sincrnico clase B o


mquina de Moore, que detecte el cdigo: 110 en 3 muestras
consecutivas, use Flip-Flops tipo D para implementar el bloque de
memoria.
Solucin: El diagrama de bloques es el que se indica en la figura
2.14, el tipo de maquina en la figura 2.15 y el diagrama de estados
est indicado en la figura 2.16.
En la figura 2.14 se supone que Entrada
los bits ingresan uno a uno y con
cada ciclo del reloj por la entrada X, elx bit ms significativo primero el
circuito analiza la cadena de bits y debe encender la salida Y cada vez
que la secuencia pedida es detectada
Decodificador del estado siguiente

Qa Qb

Qc

Decodificador de salidas.
Salidas
A

Figura 2.13 Diagrama de bloques para el ejercicio 2.5


a
QaQbQc
000

0/0

1/0
b
001

0 /0

1 /0
1/0

c
011

0 /1

Figura 2.13 Diagrama de estados

Da
Db
Dc
00
01 11 10
0
a
c

1
b

Mapa 2.1 Mapa de estados


De la figura 2.12, la tabla de verdad para el diseo del decodificador
de estado siguiente y de salidas es como se indica en la tabla 2.1.

Q
a

Q
b

Qc x

Qa+
1

Qb+
1

Qc+
1

Da

Db

Dc

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

0
0

0
0
0
1

0
0

0
1
0
1

0
1

0
0
0
0

0
0

0
0
0
1

0
0

0
1
0
1

0
1

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

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

Tabla 2.1 Combinaciones posibles para los decodificadores.


Ejemplo 2.6: Disee un
circuito secuencial, que obtenga el
complemento a 2 de un nmero de 3 bits, cada bit ingresa al circuito
con cada pulso del CLK, el bit menos significativo llega primero, use
Flip-Flops tipo D para implementar el bloque de memoria.
Solucin: El diagrama de bloques es el que se indica en la figura
2.15, el tipo de maquina en la figura 2.16 y el diagrama de estados
est indicado en la figura 2.17.
Entrada
x

Decodificador del estado siguiente

Qa Qb

Qc

Decodificador de salidas.
Salidas
A

Figura 2.13 Diagrama de bloques para el ejercicio 2.5


a
QaQbQc
000
1/1
d
010

0 /1

0/0

b
001

1 /0
e
110

1/1
0/0
c
011

1 /0 0 /1

1 /1
0/0

Figura 2.13 Diagrama de estados

Da
Db
Dc

00
01 11 10
0
a
d
e

1
b
c

Mapa 2.1 Mapa de estados


De la figura 2.12, la tabla de verdad para el diseo del decodificador
de estado siguiente y de salidas es como se indica en la tabla 2.1.
Q

Qc x

Qa+

Qb+

Qc+

Da

Db

Dc

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
0
0
0
1
1
0
0

0
0

0
1
1
1
1
1
0
0

0
0

1
0
1
0
0
0
0
0

0
0

0
0
0
0
1
1
0
0

0
0

0
1
1
1
1
1
0
0

0
0

1
0
1
0
0
0
0
0

0
0

0
1
0
1
1
0
0
1

1
0

Tabla 2.1 Combinaciones posibles para los decodificadores.


Ejemplo 2.7: Disee un circuito secuencial, que divida la frecuencia
del CLK para 2.
Solucin: Tomando como referencia el diagrama de bloques de la
figura 2.16, se puede ver que si se realimenta la seal /Q hacia la
entrada D la salida Q va en forma alternante de 0 a 1 y de 1 a 0 con
cada pulso del CLK, el diagrama en el dominio del tiempo se puede
apreciar en la figura 2.17.

CLK

/Q

Figura 2.16 diagrama de bloques del F/F D.

CLK

Estado

Estado

Estado

Estado

Q
Tiempo (segundos)
Figura 2.2 Representacin fsica de un estado.
Ejemplo 2.8: Disee un circuito secuencial, que divida la frecuencia
del CLK para 4.
Solucin: Tomando como referencia el diagrama de bloques de la
figura 2.16, se puede ver que si se realimenta la seal /Q hacia la
entrada D la frecuencia de la salida Q se divide para 2 por tanto si la
salida Q se conecta a la entrada del CLK del otro bloque la frecuencia
fo
fo
de la salida Q2 sera
2 /2 es decir
4 , aade otro bloque en
cascada la frecuencia se seguir dividiendo para 2 gura 2.17.

D
Q

2=

fo
4

CLK

fo
2

D
Q

fo

CLK

fo

Figura 2.16 diagrama de bloques del F/F D.


Ejemplo 2.9: para el ejercicio anterior encuentre la relacin
matematica entre la frecuencia y el numero de flip- flop.

Solucin: si la salida Q de cada Flip-Flop en cascada divide la


frecuencia por dos como se indica en la tabla :

Numero de Flip- 1
2
Flop en cascada
fo
fo
Frecuencia de la
2
4
salida Q dcada
Flip-Flop

4
fo
8

5
fo
16

6
fo
32

7
fo
64

8
fo
128

9
fo
256

fo
512

O la tabla anterior se puede escribir de la siguiente manera.

Nmero de Flip- 1
2
3
4
5
6
7
.
Flop en cascada
.

fo
fo
fo
fo
fo
fo
fo
Frecuencia de la
1
2
3
4
5
6
7
salida Q dcada
( 2) ( 2)
( 2) ( 2)
( 2)
(2)
( 2)
Flip-Flop

N
fo
( 2) N

De la tabla anterior se deduce que la frecuencia de la salida Q del


Nsimo Flip-Flop esta dado por:
fQN =

fo
( 2 )N

Ejemplo 2.10: se puede decir que el circuito del ejercicio anterior


es secuencial sincrnico?.
Solucin: Es un circuito secuencial pero debido a que el CLK no es
comn a todos los Flip-Flops se podra decir que desde el punto de
vista del CLK es asincrnico, es decir es un circuito secuencial con
reloj asincrnico.
Ejemplo 2.11: Se puede aplicar la tcnica de diagramas de estado
para analizar o disear circuitos como el del ejercicio anterior?.
Solucin: No porque la tcnica que se est estudiando solo es
aplicable cuando los relojes de los Flip-Flops estn todos conectados a
un solo reloj que es el reloj del sistema, es decir hay un solo reloj
para todo el sistema.

2.2.4 CONTADORES
Un contador es un circuito secuencial que pasa por un numero de
estados predeterminados.
Los contadores son utilizados para:
1. Generar un cdigo en sus salidas cada vez que se hace
verdadera una cierta seal de entrada.
2. Contar y almacenar el nmero de veces que una seal de
entrada se ha hecho verdadera.
3. generar retardos de tiempo.
Una forma de clasificar a los contadores es tomando encuenta los
siguientes parmetros:
1. El nmero de bits de salida, ejemplo contador de 2 bits, este
tiene dos lneas de salida una para cada bit.
2. El nmero de estados por los que atraviesa, por ejemplo si el
diagrama de estados del contador tiene 6 estados es un
contador mdulo 6.
3. La secuencia que genera.
4. Sincrnico o asincrnico.
5. Por el modo de operacin, modo simple o multimodo.
Los contadores suelen especificarse por los siguientes parmetros:
1.
2.
3.
4.

Modo de operacin.
Nmero de bits de salida.
Nmero de mdulo.
Tipo de cdigo.

Por ejemplo se puede tener un contador de modo simple, 3 bits de


salida, mdulo 6, o 6 estados, cdigo binario.
El diagrama general de bloques de un contador de modo simple es el
que se indica en la figura .
Como se puede observar el diagrama es parecido al de una maquina
clase C pero sin entradas externas en el decodificador de estado
siguiente.
Ejemplo 2.12: Haga el diagrama de estados de un contador de modo
simple, 3 bits de salida, modulo 5, contador binario.
Solucin: El diagrama de estados se muestra en la figura2.19. y el
diagrama de bloques general en la figura 2.18.

Decodificador del estado


siguiente

Elemento de Memoria
Flip-Flops
CLK
salidas

Figura 2.17. Diagrama de bloques de un contador de modo simple.

Contador
Clk
A

Figura 2.18. Diagrama de bloques general del contador.

You might also like