.1 CIRCUITOS SECUENCIALES E l en en a Va l d e r r a m a Universidad Autónoma de Barcelona
5 .1
Motivación Los circuitos combinacionales no nos permiten hacer cosas como éstas …
“quiero que cuando se detecte un valor determinado en las entradas del circuito se inicie una ser e e acc ones que 1 enc enc en an una uz uz ver e, a cont nuac n a ran a puerta e acceso al garaje, (3) y luego, si pasados 2 min no he recibido una cierta señal de entrada, se active una alarma sonora”
“
“avisa cuando llegue una secuencia 1000”
qu ero que e c rcu to me genere una se a
”
e sa
a gu a a
ca a
segun os
…
CIRCUITOS SECUENCIALES 2
5 .1
1. Sistemas secuenciales Circuitos digitales con capacidad de memoria:
La salida en un instante t depende de las entradas en t , t-1, t-2, etc. .
Circuito secuencial …
Circuito combinacional
…
x
Circuito secuencial
y
3
5 .1
1. Sistemas secuenciales Circuitos digitales con capacidad de memoria: ¿CÓMO?
…
… Circuito combinacional
4
5 .1
1. Sistemas secuenciales Circuitos digitales con capacidad de memoria: ¿CÓMO?
…
… Circuito combinacional
…
…
5
1. Sistemas secuenciales: Concepto de ESTADO
…
5 .1
… Circuito combinacional
…
ESTADO ACTUAL
ESTADO SIGUIENTE …
6
5 .1
1. Sistemas secuenciales
CIRCUITO SECUENCIAL …
ENTRADAS EXTERNAS
… Circuito combinacional
SALIDAS EXTERNAS
…
ESTADO ACTUAL
ESTADO SIGUIENTE …
7
2. Sincronización: Circuitos secuenciales síncronos
5 .1
¿Qué significa t, t-1, t-2,… etc.? ¿Significa t-1 el instante de tiempo t menos 1 segundo?, ¿o menos 1 minuto?... Voltaje (valor lógico ) 1 0 tiempo
8
2. Sincronización: Circuitos secuenciales síncronos
5 .1
¿Qué significa t, t-1, t-2,… etc.? ¿Significa t-1 el instante de tiempo t menos 1 segundo?, ¿o menos 1 minuto?... Voltaje (valor lógico ) 1 0 tiempo
t-2
t-1
t
t+1
…
9
2. Sincronización: Circuitos secuenciales síncronos
5 .1
¿Qué significa t, t-1, t-2,… etc.? ¿Significa t-1 el instante de tiempo t menos 1 segundo?, ¿o menos 1 minuto?... Voltaje (valor lógico ) 1 0 tiempo
Flanco de subida
ciclo
Periodo=T recuenc a=
Pulso positivo
Pulso negativo
10
2. Sincronización: Circuitos secuenciales síncronos Periodo
Frecuencia -3
1 msec (milisegundo) = 10 sec. = . -9 1 nsec (nanosegundo) = 10 sec. 1 psec (picosegundo) = 10-12 sec. …
Flanco de subida
5 .1
1Hz = 1 ciclo/sec = . 6 1 MHz (megaHertzio) = 10 Hz. 1 GHz (gigaHertzio) = 109 Hz. 1 THz (teraHertzio g) = 1012 Hz. …
ciclo
Periodo=T recuenc a=
Pulso positivo
Pulso negativo
11
5 .1 Pregunta ¿Cual es el periodo de una señal de reloj de 20 GHz? . 2. 3. 4. 5. 6.
50 msec 20 microsec 50 microsec 20 psec 50 psec
12
5 .1
3. Circuito secuencial CIRCUITO SECUENCIAL
…
… Circuito combinacional
ENTRADAS
SALIDAS EXTERNAS
…
EXTERNAS ACTUAL
…
Memoria
∆
SIGUIENTE
∆
CK
13
RESUMEN 1.
5 .1
Necesidad de otro tipo de circuitos además de los combinacionales.
2. Circuitos secuenciales. . 4.
Concepto e esta o e c rcu to memor a . Concepto de sincronización. Señal de reloj CK.
14
.
DESCRIPCIÓN FUNCIONAL EXPLÍCITA DE CIRCUITOS SECUENCIALES E l en a Va l d e r r a m a Universidad Autónoma de Barcelona
1. Grafos de comportamiento
5 .2
Un grafo de comportamiento es un conjunto de nodos y arcos tales que los nodos representan los estados de un circuito secuencial y los arcos representan los cambios de es a o.
16
5 .2
1. Grafos de comportamiento
Un grafo de comportamiento es un conjunto de nodos y arcos tales que los nodos representan los estados de un circuito secuencial y los arcos representan los cambios de es a o. X=1
…
Q 0
… Circuito combinacional
X=1, X=2 o X=3 X=3
…
X=2
Q 1
…
Memoria
∆
Q 2
X=1 o X=2
∆
X=0
17
5 .2
2. Máquinas de Moore y de Mealy ¿Qué pasa con las salidas Y del circuito?: Dos posibilidades…
X=1
X=1, Y=1
Q 0 Y=1
Q 0 ,
, X=3, Y=0
X=3 X=2
Q Y=1 X=0
X=1 o X=2
X=2, Y=0
Q 1 Y=0 2
Q 1
X=1 o X=2; Y=1
X=0, Y=0
18
Ejemplo
5 .2
OBJETIVO: Describir el funcionamiento de un circuito secuencial capaz de controlar el movimiento de un robot-escoba (simplificado) ro o ene un sensor que, cuan o e ec a un o s cu o e an e e él, genera una señal OB=1. El robot es capaz de avanzar recto o de girar 90º a derecha o izquierda . El sistema que queremos describir debe decidir, en función de la entrada OB, si el robot debe avanzar, girar a la derecha o girar a la
Cuando el robot detecta un obstáculo va girando a la derecha hasta que deja de detectar dicho obstáculo, momento en el que comienza a avanzar en línea recta. La siguiente vez que , , decir, si antes giró a la derecha ahora girará a la izquierda y viceversa. 19
5 .2
Ejemplo Circuito combinacional
…
…
Memoria
∆
∆
OB=1 : Detectado obstáculo RR : Girar a la derecha (Rotate Right ) RL : Girar a la izquierda (Rotate Left )
20
5 .2
Ejemplo Circuito combinacional
,
…
…
Memoria
AL,
AR, RR, RL
∆
∆
Circuito combinacional OB=1 : Detectado obstáculo RR : Girar a la derecha (Rotate Right ) RL : Girar a la izquierda (Rotate Left )
4 estados (SAR, SAL, SRR, SRL)
21
Circuito combinacional
…
…
Memoria
22
5 .2
Ejemplo Circuito combinacional
…
…
4 estados (SAR, , ,
∆
∆
23
5 .2
Ejemplo Circuito combinacional
OB=0
…
S AR RR=RL=0
…
4 estados (SAR, , ,
∆
∆
OB=1
OB=1
OB=0
SRL
OB=1 SRR
RR,RL=01
RR,RL=10
OB=0 OB=1 S AL
OB=0
RR=RL=0
24
(EJERCICIO)
5 .2
DETECTOR DE PARIDAD IMPAR: Construir el grafo de comportamiento de un circuito secuencial con una entrada X por la , el número de 1s que le ha llegado por la entrada es un número impar
25
5 .2
(SOLUCIÓN DEL EJERCICIO) DETECTOR DE PARIDAD IMPAR:
Construir el grafo de comportamiento de un circuito secuencial con una entrada X por la , el número de 1s que le ha llegado por la entrada es un número impar. Cuántos ESTADOS?: S
S
X=0
→ 1 fli flo SPAR Y=0 = SIMPAR Y=1
26
5 .2
3. Tablas de estado y de salida Todo grafo de comportamiento puede representarse por dos tablas: La tabla de estados y la tabla de salidas.
La tabla de estados refleja cómo evolucionan los estados del circuito: Estado siguiente en función del estado actual y de las entradas. La tabla de salidas especifica el valor toman las salidas en cada momento.
…
… Circuito combinacional
…
…
Memoria
∆
∆
MOORE: Salidas en función del estado actual MEALY: Salidas en función del estado actual y de las entradas.
27
3. Tablas de estado y de salida
5 .2
OB=0 AR
RR=RL=0
OB=1
OB=1
OB=0
OB=1
SRL
SRR
RR,RL=01
RR,RL=10
OB=0 OB=1 S AL OB=0
RR=RL=0
28
5 .2
3. Tablas de estado y de salida TABLA DE ESTADOS OB=0
Estado actual
Entradas:
Estado si uiente
SAR
0
SAR
SAR
1
SRL
AR
RR=RL=0
OB=1
OB=1
OB=0
SRL
Estado actual
SRR
RR,RL=01
RR,RL=10
OB=0 OB=1
S AL OB=0
OB=1
TABLA DE SALIDAS Salidas: RR RL
AR
SRR
1
SRR
SRR
1 0
SAL
0
SAL
SAL
0 0
RR
RL
RR=RL=0 AL
SRL
0
SAL
SRL
1
SRL
(Las tablas de estado y de salidas nos permitirán, más adelante, implementar el circuito secuencial con componentes del catálogo) 29
5 .2
Pregunta Marca las afirmaciones correctas referentes al grafo siguiente:
X=1, Y=1
. 2. 3. 4.
, El grafo refleja un circuito con 3 estados, 2 entradas y 2 salidas Es una máquina de Moore Es una máquina de Mealy
Q 0 X=0, X=1; Y=0 X=0, Y=0
Q 1 Q 2
X=1; Y=1
X=0, Y=0
30
5 .2
Pregunta Construye la tablas de estados y de salidas y marca las afirmaciones correctas 1. 2. 3. 4.
X=1, Y=1
La tabla de estados tiene 3 filas y 3 columnas La tabla de estados tiene 6 filas y 3 columnas La tabla de salidas tiene 3 filas y 2 columnas La tabla de salidas tiene 6 filas y 3 columnas
Q 0 X=0, X=1; Y=0 X=0, Y=0
Q 1 Q 2
X=1; Y=1
X=0, Y=0
31
5 .2 X=1, Y=1
Q 0 X=0, X=1; Y=0 X=0, Y=0
Q 1 Q 2 X=0, Y=0
X=1; Y=1
Entrada
Salida
Actual
X
Y
Estado Siguiente
Q 0
0
0
Q 2
Q 0
1
1
Q 0
Q 1
0
0
Q 0
Q 1
1
0
Q 0
Q 2
0
0
Q 2
Q 2
1
1
Q 1
32
5 .2
RESUMEN 1.
Representación funcional exhaustiva de máquinas secuenciales.
2. Grafos de comportamiento. . 4.
qu nas e
oo e y e
ea y.
Tablas de estados y tablas de salidas.
33
5 .2
34
.
COMPONENTES : BIESTABLES E l en a Va l d e r r a m a Universidad Autónoma de Barcelona
1. Componentes del catálogo
Componentes capaces de almacenar un bit de información
Nombre genérico : Biestables o Elementos de Memoria
5 .3
36
5 .3
1. Componentes del catálogo
Componentes capaces de almacenar un bit de información
Nombre genérico : Biestables o Elementos de Memoria
Punto de memoria
1 1
0
ESTADO 0
ESTADO 1
37
5 .3
1. Componentes del catálogo 0
1
1
2 ESTADO 0
D
b1
1
b2
Load
ESTADO 1
Q
2
Q 38
5 .3
1.a Biestable D D
b1
1
b2
Load
Q
2
Q
D
Q
Load
Q
BIESTABLE D
39
5 .3
1.a Biestable D D
b1
1
Q
2
b2
Load
Q
D
Q
Load
Q
BIESTABLE D
Load
D
Q
Q∆
1
0
x
0
1
1
x
1
Ecuación característica : Estado siguiente cuando Load =1
Q
∆
= f (Q , D ) = D
40
5 .3
1.b Otros biestables Biestable
Ecuación característica
S=R=1 prohibit
41
5 .3
2. Latches y flip-flops
Dependiendo del momento en el que el dispositivo puede cambiar de estado, los biestables se clasifican en LATCHES o FLIP-FLOPS.
señal de sincronización está a 1.
Flip-flop: El biestable puede cambiar de valor durante los flancos de subida de la señal de sincronización.
H C T A Load L
Q
F F Load
Q
42
5 .3
2. Latches y flip-flops H C T
Load
L
D
Q
Q
F F Load
D
Q
Q
Load
43
5 .3
2. Latches y flip-flops H C T
Load
L
Load
D
Q
Q
F F Load
D
Q
Q
Load
44
5 .3
2. Latches y flip-flops H C T
Load
L
Load
D
Q
Q
F F Load
D
Q
Q
Load
45
5 .3
Pregunta El latch de la figura nunca puede cambiar de estado si: . 2.
La señal ENABLE está a 0
3.
La entrada D está a 0
D ENABLE
D
Q Q
4. En todos los casos anteriores
46
3. Entradas asíncronas de Set y Reset
5 .3
Entradas cuyas señales tiene efecto inmediato sobre el estado del biestable, independientemente de la señal de sincronización:
eset : Fuerza e esta o e
esta e a
Set : Fuerza el estado del biestable a 1
Set
Reset Set
D CK
Q
CK Q
D Reset
Q 47
3. Entradas asíncronas de Set y Reset
5 .3
Entradas cuyas señales tiene efecto inmediato sobre el estado del biestable, independientemente de la señal de sincronización:
eset : Fuerza e esta o e
esta e a
Set : Fuerza el estado del biestable a 0
Set
Reset Set
D CK
Q
CK Q
D Reset
CRONOGRAMA Los cronogramas reflejan el comportamiento del circuito a lo largo del tiempo.
Q 48
Ejercicio
5 .3
Completa (sobre papel) el siguiente cronograma:
Reset X Q0 Q1 Y 49
Solución del Ejercicio
5 .3
Completa (sobre papel) el siguiente cronograma:
Reset X Q0 Q1 Y 50
RESUMEN 1.
Qué son los biestables. Biestable de tipo D.
2.
Latches y flip-flops: Comportamiento del latch D y del flip-flop D
.
5 .3
Cronogramas e t empo.
51
5 .3
52
.
SÍNTESIS A PARTIR DE TABLAS E l en a Va l d e r r a m a Universidad Autónoma de Barcelona
5 .4
Recapitulando …
OB=0
CIRCUITO SECUENCIAL S AR RR=RL=0
OB=1
… Circuito combinacional
ENTRADAS
SALIDAS
ESTADO
RL
…
Memoria
∆
OB=1 RR
RR,RL=10
OB=0 OB=1
ESTADO
ACTUAL
OB=0
RR,RL=01
EXTERNAS
…
EXTERNAS
OB=1
…
S AL
SIGUIENTE
OB=0
RR=RL=0
∆
TABLA DE ESTADOS
CK
Estado actual
Entradas: OB
Estado siguiente
SAR
0
SAR
AR
RL
TABLA DE SALIDAS
Estado actual
Salidas: RR RL
SRR
0
SAR
SAR
0
SRR
1
SRR
SRR
1 0
SAL
0
SAL
SAL
0 0
SAL
1
SRR
SRL
0 1
SRL
0
SAL
SRL
1
SRL
0
54
5 .4
1. ¿Flip-flops o latches?
Los latches son más sencillos de construir a nivel transistor (latches: 8 transistores si se utiliza lógica CMOS complementaria, flip-flops: el doble)
entrada (flip-flops: sólo “ven” las entradas en el flanco de CK, latches: “ven” la salida durante todo CK=1)
Set
Ecuación característica : D CK
Q Q
Estado siguiente cuando CK =1
Q
∆
= f (Q , D ) = D
eset
55
5 .4
2. Planteamiento del problema …
…
… combinacional
…
1) ¿Cuántos flip-flops? Q
D
∆
i
Q Q
D
∆
i
∆
Q
… ∆
Q
D
∆
Q
El problema se ha reducido a la síntesis de un circuito combinacional 56
5 .4
3. Síntesis OB=0
S AR RR=RL=0
OB=1
OB=1
OB=0
RL
OB=1 RR
RR,RL=01
RR,RL=10
OB=0 OB=1
S AL OB=0
TABLA DE ESTADOS
RR=RL=0
Estado actual
Entradas: OB
Estado siguiente
SAR
0
SAR
SAR
1
SRL
SRR
1
SRR
SRR
1 0
SAL
0
SAL
SAL
0 0
SAL
1
SRR
SRL
0 1
SRL
0
SAL
SRL
1
SRL
RR
AR
1) ¿Cuántos flip-flops? Hemos de distinguir 4 estados distintos necesitamos 2 flip-flops para poder definir 4 estados globales del circuito (q1, q0)
TABLA DE SALIDAS
Estado actual
SAR
Salidas:
Q
∆
D
∆
Q
RR RL
0
D
∆
0
Q
∆ Q
57
5 .4
3.1 Síntesis: ASIGNACIÓN DE ESTADOS OB=0 Q
S AR OB=1
D
∆
RR=RL=0
OB=1
OB=0
OB=1
Q RL
D
∆
RR
RR,RL=01
∆
Q
RR,RL=10
Q
OB=0 OB=1
S AL OB=0
TABLA DE ESTADOS
RR=RL=0
Codificación con 0s y 1s de los estados globales del circuito
Estado actual
Entradas: OB
Estado siguiente
SAR
0
SAR
SAR
1
SRL AR
SAR
0
0
AR
SRR
1
SRR
SRR
1 0
SAL
0
SAL
SAL
0 0
SAL
1
SRR
SRL
0 1
SRR SAL SRL
SRL
0
SAL
SRL
1
SRL
RR
TABLA DE SALIDAS Estado actual
Salidas: RR RL
estado
q1
q0
58
5 .4
3.1 Síntesis: ASIGNACIÓN DE ESTADOS OB=0 Q
S AR OB=1
D
∆
RR=RL=0
OB=1
OB=0
OB=1
Q RL
D
∆
RR
RR,RL=01
∆
Q
RR,RL=10
Q
OB=0 OB=1
S AL OB=0
TABLA DE ESTADOS
RR=RL=0
Codificación con 0s y 1s de los estados globales del circuito
Estado actual
Entradas: OB
Estado siguiente
SAR
0
SAR
SAR
1
SRL AR
SAR
0
0
AR
SRR
1
SRR
SRR
1 0
SAL
0
SAL
SAL
0 0
SAL
1
SRR
SRL
0 1
SRR SAL SRL
SRL
0
SAL
SRL
1
SRL
RR
TABLA DE SALIDAS Estado actual
Salidas: RR RL
estado
q1
q0
0 1 1
1 0 1
59
5 .4
3.2 Síntesis: Sustitución de códigos en las tablas TABLA DE ESTADOS Estado actual
Entradas: OB
Estado siguiente
SAR
0
SAR
SAR
1
SRL
Esta o actual
SRR
0
SAR
SAR
0
0
SRR
1
SRR
SRR
1 0
S
0
S
SAL
1
SRR
SRL
0
SAL
SRL
1
SRL
TABLA DE ESTADOS
TABLA DE SALIDAS a
as:
AL
SRL
estado
q1
q0
SAR SRR SAL SRL
0 0 1 1
0 1 0 1
q1
q0
OB
SAR
0
0
0
SAR
0
0
1
RR RL
q 0∆
q1
q0 RR RL
SAR
0
0
SRR
0
1
1
1
AL
RR
0 1
q 1∆
TABLA DE SALIDAS
SRR
0
1
1
SAL
1
0
0
SAL
1
0
1
SRL
1
1
0
SRL
1
1
1
SRL
60
3.3 Síntesis: Diseño del circuito
5 .4
TABLA DE ESTADOS
q1
q0
OB
q1∆
q0∆
0
0
0
0
0
SRR
0
1
0
0
0
SRR
0
1
1
0
1
SAL
1
0
0
1
0
SRL
1
1
0
1
0
SRL
1
1
1
1
1
SAR AR
TABLA DE SALIDAS
q1
q0 RR RL
SAR
0
0
0
0
SRR
0
1
1
0
SAL
1
0
0
0
SRL
1
1
0
1
61
3.3 Síntesis: Diseño del circuito
5 .4
62
5 .4
4. Comentarios (1): Mealy
a=0 / z=0
S0 a=1 / z=0 a=1 / z=1
S1 a=x z=
S2
Estado
a
Estado
z
S0
0
S0
0
S0
1
S1
0
S1
0
S2
1
S1
1
S2
1
S2
0
S2
0
S2
1
S0
1
∆
a=0 z=0
63
4. Comentarios (2): Reset
5 .4
Es conveniente añadir una señal de Reset que permita inicializar el circuito a un valor conocido en caso necesario.
64
Pregunta 1
5 .4
¿Cuántos estados lógicos tiene este circuito?
1. 1 . 3. 4 4. Depende del valor que tomen A y B
65
5 .4
Pregunta 2 ¿Qué tabla representa el comportamiento del circuito de la figura? . 2. 3. 4.
2 Ambas Ninguna
66
RESUMEN
5 .4
67
5 .4
68
.
UN EJEMPLO DE SÍNTESIS E l en a Va l d e r r a m a Universidad Autónoma de Barcelona
5 .5
Planteamiento
Se desea diseñar un circuito capaz de sumar dos números de n bits A y B que le llegan por dos entradas serie in A e in B a razón de un bit por ciclo de reloj, como muestra el esquema:
0, an-1 , an-2 , …, a1 , a0
in
0, bn-1 , bn-2 , …, b1 , b0
in B
CK
Sumador serie
S
sn , sn-1 , …, s1 , s0
>
Nota: Es necesario añadir un 0 en la posición más significativa de A y B debido a que el resultado de la suma es un número de n+1 bits. 70
5 .5
Pregunta 1
El primer paso consiste en construir el grafo que comportamiento que describa correctamente los cálculos que debe hacer el circuito. Para ello lo primero que nos preguntamos es … ¿qué debería “recordar” el circuito para ser capaz de realizar la operación deseada? an-1 , an-2 , …, a1 , a0 o
El valor de n
o
La suma de la última pareja
b
-
b
-
in A
… b b CK
B
Sumador serie
S
sn , sn-1 , …, s1 , s0
>
ai+bi realizada la última pareja ai+bi o
Nada, el sumador serie se puede mp emen ar con un c rcu o combinacional 71
5 .5
Pregunta 2
En efecto, la respuesta correcta era “El acarreo generado en la suma de la última pareja ai+bi “. Por lo tanto, ¿cuántos estados necesitará nuestro circuito para poder realizar la operación deseada y, en consecuencia, cuantos flip flops necesitaremos para implementarlo?:
o
1 estado, 1 flip-flop
an-1 , an-2 , …, a1 , a0
in A
o
2 estados, 1 flip-flop
bn-1 , bn-2 , …, b1 , b0
in B
o
2 estados, 2 flip-flops
o
es a os,
CK
Sumador serie
S
sn , sn-1 , …, s1 , s0
>
p ops
72
Pregunta 3
5 .5
En efecto, efecto, la respuesta respuesta correcta correcta era “2 estados, 1 flip flop “ (un estado estado para “recordar” que el acarreo es 0 y un estado para “recordar “recordar”” que el acarreo a carreo es 1). Supongamos que llamamos C0 al estado que “recuerda” que el acarreo generado en la última suma era 0, y C1 al que recuerda que el último acarreo era 1. ¿Cuál de los siguientes grafos grafos describe el funcionamiento del circuito?
o
(1)
o
(2)
o
(3)
o
Ninguno
73
Pregunta 4
5 .5
Tal como hemos definido el grafo grafo de comportamiento, ¿Es una máquina de Moore o de Mealy?
o o
Moore Mealy
74
Pregunta 5
5 .5
Hemos decidido que el grafo que se muestra en la figura es el correcto, y que asignamos el valor 0 al estado C0 y 1 al estado C1. ¿Cuál ¿Cuál de las siguientes tablas tablas de transiciones y sali salida dass corr corres es onde onden n a dich dicho o rafo? afo? es el est estado ado del del único único fli fli flo flo nece necesa sari rio o
o
Tabla 1
o
a a
o
Ambas
o
Ninguna
75
Pregunta 6
5 .5
La respuesta correcta era la tabla 2. Construye, a partir de dicha tabla, las funciones booleanas correspondientes a la entrada D del flip-flop y a la salida S del circuito. Indica qué conjunto de ecuaciones es el correcto:
o
o
o
7 6
Pregunta 7
5 .5
Finalmente, dibuja el circuito resultante y marca cuál es el correcto:
o
(1)
o
(2)
o
(3)
77