Está en la página 1de 67

Sistemas

 Digitales  
Tema  4.  Circuitos  Lógicos  Secuenciales  
«Digital  Design  and  Computer  Architecture»  (Harris  &  Harris).  Chapter  3  (3.1  -­‐  3.5)  

Pablo  Abad  
Pablo  Prieto  Torralbo  
Departamento  de  Ingeniería  
Informá2ca  y  Electrónica  

Este  tema  se  publica  bajo  Licencia:  


Crea2ve  Commons  BY-­‐NC-­‐SA  4.0  
Índice  
•  Introducción:  
–  Definición  de  CLS.  
–  Necesidad  de  Memoria  y  Sincronización.  
•  Latches  y  Flip  Flops.  
•  Máquinas  de  Estados:  
–  Mealy.  
–  Moore.  
•  Análisis.  
•  Síntesis:  
–  Mínimo  número  de  biestables.  
–  1  biestable  por  estado.  
•  Timing.  

Tema  4  :  Circuitos  Lógicos  Secuenciales   2  


Introducción  
•  Circuito  Lógico  Secuencial  (CLS):  
–  Definición:  circuito  combinacional  cuya  salida  depende  de  los  valores  
actuales  y  pasados  de  las  señales  de  entrada.  
–  Se  trata  de  circuitos  en  los  que  aparecen  lazos  de  «feedback»  (salidas  
del  circuito  pueden  actuar  como  valores  de  entrada).  
–  Los  Componentes  de  un  CLS  son:  
•  Señales  de  entrada  y  Salida  (señales  binarias).  
•  Señal  de  Reloj  (señal  binaria  con  forma  periódica).  
•  Lógica  Combinacional  
 (determina  la  salida  y  el  próximo  estado).  
inputs   outputs  
•  Almacenamiento  (man2ene  información   n Lógica   n
Combinacional  
 sobre  el  estado  actual).   m
m

clock   Storage  

Tema  4  :  Circuitos  Lógicos  Secuenciales   3  


Introducción  
•  Ejemplo:  Circuito  contador  de  «unos»:  
–  La  salida  depende  del  valor  que  tengo  en  input  (valor  actual)  y  de  los  
«unos»  que  llevo  contados  hasta  el  momento  (valor  pasado).  

A  cargo  de  calcular  el  número  de  unos  en  


función  de  la  señal  de  entrada  y  de  los  que  
Input:  señal  binaria   hemos  contado  hasta  el  momento.  
con  valor  «1»  ó  «0».  
Output:  número  de  
«unos»  en  la  entrada  
Lógica   (satura  en  7).  
Combinacional  

Necesitamos  almacenar  el  número  de  


«unos»  contados  hasta  el  momento  
Storage   (Estado).(Necesidad  de  Memoria).  

Tema  4  :  Circuitos  Lógicos  Secuenciales   4  


Introducción  
•  Necesidad  de  Sincronización  (Reloj):  
–  Pregunta:  Con  la  siguiente  señal  de  entrada,  ¿Cuántos  unos  contaría  mi  CLS?  
input(t)  

Wme  
0   1   0   1   0   0   0   0   1   0  

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

–  Respuesta:  Nos  falta  información  para   input   outputs  


poder  considerar  una  respuesta  como   CLC   3

válida  (3?,  6?…).   3 3

clock   Storage  

Tema  4  :  Circuitos  Lógicos  Secuenciales   5  


input  

Introducción   3
CLC  
3
3

clock   Storage  

•  Necesidad  de  Sincronización  (Reloj):  


–  La  información  adicional  la  proporciona  la  señal  de  reloj,  que  marca  en  
qué  precisos  instantes  se  lee  la  señal  de  entrada.  
–  El  reloj  convierte  la  señal  de  entrada  en  una  señal  síncrona.  
input(t)  

Wme  
clock  

1   1   0   1  

Señal  Síncrona  (Dato  +  Clk)  =  secuencia  de  bits.  

Tema  4  :  Circuitos  Lógicos  Secuenciales   6  


Índice  
•  Introducción:  
–  Definición  de  CLS.  
–  Necesidad  de  Memoria  y  Sincronización.  
•  Latches  y  Flip  Flops.  
•  Máquinas  de  Estados:  
–  Mealy.  
–  Moore.  
•  Análisis.  
•  Síntesis:  
–  Mínimo  número  de  biestables.  
–  1  biestable  por  estado.  
•  Timing.  

Tema  4  :  Circuitos  Lógicos  Secuenciales   7  


Latches  y  Flip  Flops  
•  Un  CLS  debe  almacenar  información  que  se  uWlizará  en  el  
futuro  (estado),  nuevo  elemento:  Memoria.  
•  ¿Cómo  almacenamos  un  valor  con  lógica  combinacional?:  
–  Feedback  (realimentación):  la  salida  se  conecta  a  la  entrada  y  
conseguimos  que  la  señal  se  mantenga  en  el  2empo.    
¿Y  si  uWlizo  dos?  
¿Con  un  inversor?   (BIESTABLE)   Almaceno  un  1  
0   1  
out   out  

Almaceno  un  0  
1   0  

NO,  la  señal  de  salida  no  Wene  


un  valor  estable.  
Pero…  ¿cómo  cambio  el  valor  almacenado?  

Tema  4  :  Circuitos  Lógicos  Secuenciales   8  


Latches  y  Flip  Flops  
•  Cambio  del  valor  almacenado.  
RESET   RESET   ATENCIÓN  

SET   1   Q  

Q   0   1   Q   Q  
0   0  

Q   Q  
1  

RESET  
RESET  
¿Q  =  Q  ?    
Q  
Q  
No  es  un  biestable.  El  
valor  final  no  es  
Q   predecible.  
Q   R  =  S  =  1:  prohibido.  
SET  
¿Cómo  consigo  volver  de  0  a  1?  

Tema  4  :  Circuitos  Lógicos  Secuenciales   9  


Latches  y  Flip  Flops  
•  Latch  SR:    
–  Elemento  de  memoria  más  simple  en  el  diseño  de  sistemas  digitales.  

R Biestable:  el  circuito  almacena  el  valor  previa-­‐


Q  
mente  introducido  (memoria).  Q(next)  =  Q.  

Set/Reset:  se  graba  un  nuevo  valor  de  Q.  


Q   Q(next)  puede  ser  dis2nto  a  Q.  
S  

Don´t  Care:  el  valor  de  entrada  no  influye  en  


S   R   Q   Q(next)   Q(next)   la  salida  (me  da  igual  que  sea  un  1  o  un  0.  
0   0   0   0   1  
0   0   1   1   0  
Prohibido:  valor  final  no  biestable.    
0   1   X   0   1  
1   0   X   1   0  
1   1   X   0   0  

Tema  4  :  Circuitos  Lógicos  Secuenciales   10  


Latches  y  Flip  Flops  
•  Gated  D-­‐Latch:    
–  Eliminamos  la  posibilidad  de  alcanzar  el  estado  prohibido.  
–  Sigue  funcionando  como  elemento  de  memoria.  

D  
R   Q   C   D   Q   Q(next)   Q(next)  
0   X   0   0   1  
Hold  
C   0   X   1   1   0  
1   0   X   0   1  
S   Q   Set/Reset  
1   1   X   1   0  

C   D   R   S  
0   0   0   0   Funcionamiento:  
0   1   0   0   C  =  0:  mantengo  el  valor  previamente  almacenado.  
1   0   1   0   C  =  1:  Copio  el  valor  de  D  al  interior  del  lazo.  
1   1   0   1   nunca  1,1  

Tema  4  :  Circuitos  Lógicos  Secuenciales   11  


Latches  y  Flip  Flops  
•  Ejemplo  de  Funcionamiento:   D  
R   Q  
1  ciclo  
C  
C  (clock)  

S   Q  
D  (data)  

Hold   S/R  

Ciclo   n   n+1   n+2   n+3   n+4   n+5   El  valor  a  la  entrada  en  el  ciclo  n  
Bits  (D)   1   0   0   1   0   0   (presente)  aparece  en  la  salida  en  
Bits  (Q)   0   1   0   0   1   0   el  ciclo  n+1  (futuro).  

Tema  4  :  Circuitos  Lógicos  Secuenciales   12  


Latches  y  Flip  Flops  
•  Problema:  
–  El  comportamiento  deseado  (Diaposi2va  anterior)  solamente  se  cumple  
si  la  señal  de  entrada  no  cambia  durante  la  fase  de  Set/Reset  (clk  =  1).  

ciclo  n   ciclo  n+1   ciclo  n+2   D  


R   Q  
C  (clock)  

C  
S   Q  
D  (data)  

Ciclo   n   n+1   n+2  


Bits  (D)   1   0   0  
Bits  (Q)   0   0   1  

Hold   S/R  
¿SOLUCIÓN?  

Tema  4  :  Circuitos  Lógicos  Secuenciales   13  


Latches  y  Flip  Flops  
•  Biestable  D  acWvado  por  flanco  (Flip  Flop):  

Master  Latch   Slave  Latch  

R   Q   R   Q  

S   Q   S   Q  

Segunda  fase  del  ciclo  (clk  =  0):   Primera  Fase  del  ciclo  (clk  =  1):  
el  siguiente  estado,  en  la  entrada   el  estado  previamente  calculado  
del  circuito,  es  almacenado  en  el   se  convierte  en  el  estado  actual,  y  
Master  Latch.   es  enviado  a  la  salida.    

Tema  4  :  Circuitos  Lógicos  Secuenciales   14  


Latches  y  Flip  Flops  
•  Biestable  D  acWvado  por  flanco  (Flip  Flop):  
ciclo  n   ciclo  n+1   ciclo  n+2  

D   D   Qm   D   Qs   Q  
C  (clock)  

C   C  
D  (data)  

Clk  

Hold   Hold   Hold  

Ciclo   n   n+1   n+2  


Qm  

Bits  (D)   1   0   0  
Bits  (Q)   0   1   0  
Q  

¡¡CORRECTO!!  

Tema  4  :  Circuitos  Lógicos  Secuenciales   15  


Latches  y  Flip  Flops  
•  Biestable  D  acWvado  por  flanco  (Flip  Flop):   q  
d   D   Q  
–  Elemento  básico  de  memorización  (1  bit).  
–  Ecuación  caracterís2ca:    q+  =  d  
•  q+:  estado  siguiente  (ciclo  actual+1).  
Clk  
•  d:  valor  de  entrada  actual.  

C  (clock)  
El  valor  presente  en  d  cuando  el  reloj  
hace  un  flanco  ascendente  se  copia  en  

d(data)  
el  Flip  Flop,  y  se  manWene  hasta  el  si-­‐
guiente  flanco  ascendente  (indepen-­‐
dientemente  de  lo  que  haga  la  señal   q(salida)  
de  entrada).  

Tema  4  :  Circuitos  Lógicos  Secuenciales   16  


Latches  y  Flip  Flops  
•  Registro:   d0   D   Q   q0  
–  Elemento  de  memorización  de  n  bits.  
–  Formado  por  n  Flip  Flops  conectados  en  paralelo.  
d1   D   Q  
q1  

REG
n n
D Q

qn-­‐2  
dn-­‐2   D   Q  
Clk
D = dn-1, dn-2, … d1, d0
Q = qn-1, qn-2, … q1, q0 Q+ = D qn-­‐1  
dn-­‐1   D   Q  

Tema  4  :  Circuitos  Lógicos  Secuenciales   17  


Latches  y  Flip  Flops  
•  Ejercicio  1:  
–  Dadas  las  señales  de  reloj  y  de  entrada  del  cronograma  inferior,  completa  
la  forma  de  la  señal  de  salida  si  el  elemento  de  memoria  u2lizado  es    un  
latch-­‐D.  El  2empo  de  propagación  de  dicho  elemento  es  10  u.t.  
–  Repite  el  proceso  anterior  para  un  Flip  Flop  con  el  mismo  2empo  de  
propagación.  
–  ¿Cómo  cambia  la  señal  de  salida  si  tp  =  0?  
C  (clock)  
D  (data)  

50   100   150   200  

Tema  4  :  Circuitos  Lógicos  Secuenciales   18  


Latches  y  Flip  Flops  
•  Ejercicio  2:  
–  Dadas  los  CLS  de  las  figuras  inferiores  y  el  cronograma  de  la  señal  de  
entrada,  completa  la  forma  de  la  señal  de  salida  en  ambos  casos  (delay  
NOT:  10  u.t.,  delay  Flip  Flop:  20  u.t.).  

input   d   input   d  
D   Q   D   Q  

Clk   Clk  
input  

50   100   150   200  

Tema  4  :  Circuitos  Lógicos  Secuenciales   19  


Índice  
•  Introducción:  
–  Definición  de  CLS.  
–  Necesidad  de  Memoria  y  Sincronización.  
•  Latches  y  Flip  Flops.  
•  Máquinas  de  Estados:  
–  Mealy.  
–  Moore.  
•  Análisis.  
•  Síntesis:  
–  Mínimo  número  de  biestables.  
–  1  biestable  por  estado.  
•  Timing.  

Tema  4  :  Circuitos  Lógicos  Secuenciales   20  


Máquinas  de  Estados  
•  Circuito  Secuencial  Síncrono:  
–  Red  de  combinacionales  y  biestables  conectados  entre  sí.  
–  Puede  haber  caminos  cíclicos,  pero  2enen  que  atravesar  al  menos  un  
biestable.  
–  Todos  los  biestables  u2lizan  la  misma  señal  de  reloj.  
–  Las  señales  de  entrada  se  sincronizan  con  el  mismo  reloj.  

D Q

CLC2 D Q CLC3
w0

x CLC1 D Q
w1

Clk

Tema  4  :  Circuitos  Lógicos  Secuenciales   21  


Máquinas  de  Estados  
•  Circuito  Secuencial  Síncrono:  Tiempo  de  ciclo.   clk
X

Tc > 140

D Q
Clk
t y

40
x CLC

D Q
y

100 W

z 40
Tp(FF) = 40 u.t.
Tp(CLC) = 100 u.t.
w
Tc ≥ Tp(FF) + Tp(CLC)

Tema  4  :  Circuitos  Lógicos  Secuenciales   22  


Máquinas  de  Estados  
•  Máquinas  de  Estados  (FSM):  
–  Cualquier  CLS  se  puede  representar  con  un  esquema  como  el  de  la  figura  
inferior  (Modelo  de  Mealy):  
•  Agrupando  todos  los  circuitos  combinacionales  en  un  único  CLC  y  todos  los  biestables    
(Flip  Flops)  en  un  único  REG.  
–  Se  denomina  FSM  porque  un  circuito  con  K  registros  solo  puede  estar  en  
un  número  finito  (2K)  de  estados.  

Modelo  de  Mealy:  


n m
X H   W
       W  =  H(X,Q)          
CLC  Ec.  de  salida  
Entrada

k k Salida
REG

G  
Q+ Q        Q+=  G(X,Q)          
 Ec.  estado  siguiente  
Clk

Tema  4  :  Circuitos  Lógicos  Secuenciales   23  


Máquinas  de  Estados  
•  Representación  alternaWva  del  CLS  de  Mealy:  
–  Separando  las  funciones  H  y  G.  
Modelo  de  Mealy:  
n m
X H   W        W  =  H(X,Q)          
CLC  Ec.  de  salida  
Entrada

Salida
k
REG

G  
+
Q Q        Q+=  G(X,Q)          
Clk  Ec.  estado  siguiente  

n m
X CLC W
n
k k H  
Entrada

CLC

Salida
REG

k
G   Q+ Q

Clk

Tema  4  :  Circuitos  Lógicos  Secuenciales   24  


Máquinas  de  Estados  
•  Especificación  de  un  CLS:  
–  Qué  datos  necesitamos  para  caracterizar  el  circuito:  
•  número  de  entradas:  X=(xn-­‐1,  xn-­‐2,…,x1,x0).  
•  número  de  salidas:  W=(wm-­‐1,  wm-­‐2,…,w1,w0).  
•  número  de  estados:  Q=(qk-­‐1,  qk-­‐2,…,q1,q0).  
•  Tabla  de  verdad  de  W:  CLC  H.  
•  Tabla  de  verdad  de  Q+:  CLC  G.  
•  Estado  inicial:  Valor  inicial  de  Q.  

n m
X CLC W
n
H  
Entrada

k k

Salida
CLC
REG

k
G   Q+ Q

Clk

Tema  4  :  Circuitos  Lógicos  Secuenciales   25  


Máquinas  de  Estados  
•  Ejemplo  de  Especificación  de  un  CLS:   Clk Entrada
X

–  X=(x0),  W=(w1,w0),  Q=(q1,q0),  Estado  inicial  (0,0).   n


k

-­‐  Tabla  de  verdad  de  W   -­‐  Tabla  de  verdad  de  Q+   CLC

G  
q1   q0   x0   w1   w0   q1   q0   x0   q1+   q0+  
0   0   0     0   0   0   0   0     0   0   Q+ k

0   0   1     0   1   0   0   1     0   1  
REG
0   1   0   1   0   0   1   0   1   0  
Q k n
0   1   1   1   1   0   1   1   0   1  
1   0   0   0   1   1   0   0   0   1  
1   0   1   0   0   1   0   1   0   0   CLC
H  
1   1   0   0   0   1   1   0   x   x  
1   1   1   1   0   1   1   1   x   x   m

Salida
Tabla  de   Tabla  de  Transición  
W
Salida   (estado  siguiente)  

Tema  4  :  Circuitos  Lógicos  Secuenciales   26  


Máquinas  de  Estados  
•  Ejercicio  1:  
–  Dada  la  especificación  de  un  CLC  de  la  diaposi2va  anterior,  implementar  
el  circuito  con  los  siguientes  componentes:  puertas  NOT,  AND  y  OR  de  3  
entradas  y  Biestables  D  ac2vados  por  flanco.  

Tema  4  :  Circuitos  Lógicos  Secuenciales   27  


Máquinas  de  Estados  
•  Ejercicio  1:  
–  Dada  la  especificación  de  un  CLC  de  la  diaposi2va  anterior,  implementar  
el  circuito  con  los  siguientes  componentes:  puertas  NOT,  AND  y  OR  de  3  
entradas  y  Biestables  D  ac2vados  por  flanco.  
x0  

q0  
q0+  
D   Q   w0  

q1+   q1  
D   Q  

q0   q1  
w1  

clk  

Tema  4  :  Circuitos  Lógicos  Secuenciales   28  


Máquinas  de  Estados  
•  Ejercicio  2:  
–  Dada  la  especificación  de  un  CLC  de  la  diaposi2va  anterior,  rellena  la  
siguiente  tabla  con  los  valores  de  las  señales  de  salida  en  cada  ciclo  
de  reloj.  

Ciclo   n   n+1   n+2   n+3   n+4   n+5  


x0   0   1   1   0   1   1  
w0  
w1  

Tema  4  :  Circuitos  Lógicos  Secuenciales   29  


Máquinas  de  Estados  
•  El  Grafo  de  Estados:  
–  Representación  alterna2va  de  la  Tabla  de  Transición.  
–  q1+(ciclo  n)=  q1(ciclo  n+1).  
–  Facilita  el  proceso  de  síntesis:  a  par2r  de  una  descripción  textual  es  
más  fácil  inferir  el  grafo  que  la  T.V.  

Formato:  
Entradas  (x1,x0)  

Estado     Estado  
ciclo  n   ciclo  n+1  
(q1,q0)   (q1+,q0+)  

Tema  4  :  Circuitos  Lógicos  Secuenciales   30  


Máquinas  de  Estados  
•  De  la  T.V.  al  Grafo  de  Estados:   0 Clk Entrada
X

k n

Tabla  de  Transición  


CLC
00
q1   q0   x0   q1+   q0+   G  

0   0   0     0   0   0 1
Q+ k
0   0   1     0   1  
REG
0   1   0   1   0  
Q
0   1   1   0   1   1
k n

1
1   0   0   0   1  
11 01
1   0   1   1   1   CLC
H  
1   1   0   0   0   0
1   1   1   0   1   m

1 Salida
0
W

10

Tema  4  :  Circuitos  Lógicos  Secuenciales   31  


Máquinas  de  Estados  
•  Ejemplo  de  Especificación  de  un  CLS:   X
Clk
Entrada
–  X  =  (x0),  W  =  (w1,w0),  Q  =  (q1,q0),  Estado  inicial  (0,0).  
k n

-­‐  Tabla  de  verdad  de  W   -­‐  Tabla  de  verdad  de  Q+  
CLC

G  
q1   q0   x0   w1   w0   q1   q0   x0   q1+   q0+  
0   0   0     0   0   0   0   0     0   0   Q+ k
0   0   1     0   1   0   0   1     0   0  
0   1   0   1   0   0   1   0   1   0   REG

0   1   1   1   1   0   1   1   0   1   Q k n

1   0   0   0   1   1   0   0   1   0  
1   0   1   0   0   1   0   1   1   0   CLC

1   1   0   0   0   1   1   0   x   x   H  

1   1   1   1   0   1   1   1   x   x  
m

Tabla  de   Tabla  de  Transición  


Salida
Salida   (estado  siguiente)  
W

Tema  4  :  Circuitos  Lógicos  Secuenciales   32  


Máquinas  de  Estados  
•  Ejemplo  de  Especificación  de  un  CLS:   X
Clk
Entrada
–  X  =  (x0),  W  =  (w1,w0),  Q  =  (q1,q0),  Estado  inicial  (0,0).  
k n

-­‐  Tabla  de  verdad  de  W   -­‐  Tabla  de  verdad  de  Q+  
CLC
0
G  
q1   q0   x0   w1   w0  
0   0   0     0   0   00
Q+ k
0   0   1     0   1   0 1
REG
0   1   0   1   0  
Q
0   1   1   1   1   1
1 k n

1   0   0   0   1   11 01

1   0   1   0   0   0 CLC

1   1   0   0   0   1
0
H  

1   1   1   1   0   m
10
Tabla  de  
Salida
Salida   Grafo  de  Estados  
W

Tema  4  :  Circuitos  Lógicos  Secuenciales   33  


Máquinas  de  Estados  
•  Ejercicio:  
–  Dada  la  siguiente  Tabla  de  Transición  de  un  CLS,  dibuja  su  grafo  de  estados.  
q1 q0 x1 x0 q 1+ q 0+

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

Tema  4  :  Circuitos  Lógicos  Secuenciales   34  


Máquinas  de  Estados  
•  Ejercicio:  
–  Dada  la  siguiente  Tabla  de  Transición  de  un  CLS,  dibuja  su  grafo  de  estados.  
q1 q0 x1 x0 q 1+ q 0+
00
0 0 0 0 0 0
0 0 0 1 0 1
0 0 1 0 1 0 00
0 0 1 1 0 1 10
0 1 0 0 0 0
0 1 0 1 0 1 01
0 1 1 0 1 0 11
10
0 1 1 1 0 1 00
00
1 0 0 0 0 0 11
1 0 0 1 0 1
01 10 10
1 0 1 0 1 0 01
1 0 1 1 1 0
1 1 0 0 0 0 01
1 1 0 1 0 0 11
1 1 1 0 0 0
1 1 1 1 0 0

Tema  4  :  Circuitos  Lógicos  Secuenciales   35  


Máquinas  de  Estados  
•  Máquinas  de  Estados,  Modelo  de  Moore:  
–  CLS  en  el  que  los  valores  de  salida  únicamente  dependen  del  estado,  
no  de  la  señal  de  entrada.  
MEALEY   n
Modelo  de  Mealy:  
m
X CLC W
n
H  
       W  =  H(X,Q)          
Entrada

Salida
k
CLC  Ec.  de  salida  
REG

k
G   Q+ Q
       Q+=  G(X,Q)          
Clk  Ec.  estado  siguiente  

MOORE   Modelo  de  Moore:  


n
X k        W  =  H(Q)          
CLC k CLC m
 Ec.  de  salida  
REG

W
k
G  
Q+
Q H  
Salida

       Q+=  G(X,Q)          
Clk  Ec.  estado  siguiente  

Tema  4  :  Circuitos  Lógicos  Secuenciales   36  


Máquinas  de  Estados  
•  Especificación  de  un  CLS  Wpo  MOORE:   Clk X

–  X  =  (x0),  W  =  (w1,w0),  Q  =  (q1,q0),  Estado  inicial  (0,0).   k n

-­‐  Tabla  de  verdad  de  Q+   -­‐  Tabla  de  verdad  de  W   CLC

G  
q1   q0   x0   q1+   q0+   q1   q0   w1   w0  
0   0   0     0   0   0   0   0   0   Q+ k
0   0   1     0   1   0   1   0   1  
0   1   0   1   0   1   0   0   0   REG

0   1   1   0   1   1   1   1   0   Q k
1   0   0   0   1  
1   0   1   1   1  
CLC
1   1   0   0   0  
H  
1   1   1   0   1  
m
Tabla  de  Transición   Tabla  de  
Salida
(estado  siguiente)   Salida  
W

Tema  4  :  Circuitos  Lógicos  Secuenciales   37  


Máquinas  de  Estados  
•  Especificación  de  un  CLS  Wpo  MOORE:   Clk X

–  X  =  (x0),  W  =  (w1,w0),  Q  =  (q1,q0),  Estado  inicial  (0,0).   k n

-­‐  Tabla  de  verdad  de  Q+   -­‐  Tabla  de  verdad  de  W   CLC

G  
0
q1   q0   w1   w0  
00
0   0   0   0   Q+ k
0   1   0   1  
1 REG
0
1   0   0   0  
1
1   1   1   0   Q k
1
11 01

0 Igual  que  en  Mealy,  la  Tabla  de   CLC

1
Transiciones  se  puede  susWtuir   H  
0
por  el  Grafo  de  Estados.  
m
10
Tabla  de  
Salida
Grafo  de  Estados   Salida  
W

Tema  4  :  Circuitos  Lógicos  Secuenciales   38  


Máquinas  de  Estados  
•  Especificación  de  un  CLS  Wpo  MOORE:   Clk X

–  X  =  (x0),  W  =  (w1,w0),  Q  =  (q1,q0),  Estado  inicial  (0,0).   k n

0 CLC
q1   q0   w1  w0   Grafo  de  
Estados   G  
0   0   0   0  
0   1   0   1   00
Q+ k
00
1   0   0   0  
0 1
1   1   1   0   REG

Q k

1 01
Como  los  valores  de   11
salida  solo  dependen   10 01 CLC
1
del  estado,  se  pueden   0 H  
incluir  en  el  Grafo  de   1
m
Estados,  que  susWtuye   0

ambas  T.V.  en  la  espe-­‐ 10 Salida


cificación.   00
W

Tema  4  :  Circuitos  Lógicos  Secuenciales   39  


Índice  
•  Introducción:  
–  Definición  de  CLS.  
–  Necesidad  de  Memoria  y  Sincronización.  
•  Latches  y  Flip  Flops.  
•  Máquinas  de  Estados:  
–  Mealy.  
–  Moore.  
•  Análisis.  
•  Síntesis:  
–  Mínimo  número  de  biestables.  
–  1  biestable  por  estado.  
•  Timing.  

Tema  4  :  Circuitos  Lógicos  Secuenciales   40  


Análisis  
•  Análisis  Lógico:  Dado  el  esquema  lógico  de  un  CLS  obtener  el  
grafo  de  estados:  
–  PASO  1:  obtener  las  Tablas  de  Verdad  (transición  y  salida).  
–  PASO  2:  obtener  el  Grafo  (a  par2r  de  las  tablas).  
x   clk  

q1   q0   x0   q1+   q0+  
q0+  
0   0   0     0   1  
D   Q  
0   0   1     0   1  
0   1   0   1   0  
0   1   1   1   1   D   Q  
q1+  
1   0   0   0   1  
1   0   1   0   0   q1  
1   1   0   0   0  
q0  
1   1   1   0   0  
Tabla  de  Transición   w  

Tema  4  :  Circuitos  Lógicos  Secuenciales   41  


Análisis  
•  Análisis  Lógico:  Dado  el  esquema  lógico  de  un  CLS  obtener  el  
grafo  de  estados:  
–  PASO  1:  obtener  las  Tablas  de  Verdad  (transición  y  salida).  
–  PASO  2:  obtener  el  Grafo  (a  par2r  de  las  tablas).  

q1   q0   x0   q1+   q0+   00  
1   0  
0   0   0     0   1   1  
0  
0   0   1     0   1  
0   1   0   1   0   1  
0   1   1   1   1   01  
11  
1   0   0   0   1  
1   0  
1   0   1   0   0  
1   1   0   0   0  
1   1   1   0   0   0  
10  
Tabla  de  Transición  

Tema  4  :  Circuitos  Lógicos  Secuenciales   42  


Análisis  
•  Análisis  Lógico:  Dado  el  esquema  lógico  de  un  CLS  obtener  el  
grafo  de  estados:  
–  PASO  1:  obtener  las  Tablas  de  Verdad  (transición  y  salida).  
–  PASO  2:  obtener  el  Grafo  (a  par2r  de  las  tablas).  
x   clk  

q1   q0   w   q0+  
0   0   0   D   Q  

0   1   1  
1   0   1   D   Q  
q1+  
1   1   0  
q1  
Tabla  de  Salida  
q0  

w  

Tema  4  :  Circuitos  Lógicos  Secuenciales   43  


Análisis  
•  Análisis  Lógico:  Dado  el  esquema  lógico  de  un  CLS  obtener  el  
grafo  de  estados:  
–  PASO  1:  obtener  las  Tablas  de  Verdad  (transición  y  salida).  
–  PASO  2:  obtener  el  Grafo  (a  par2r  de  las  tablas).  

00  
q1   q0   w   1   0  
0  
0   0   0   0   1  

0   1   1   1  
1   0   1   11  
01  
1   1   0   0   1   0  
1  

Tabla  de  Salida  


0  
10  
1  

Tema  4  :  Circuitos  Lógicos  Secuenciales   44  


Índice  
•  Introducción:  
–  Definición  de  CLS.  
–  Necesidad  de  Memoria  y  Sincronización.  
•  Latches  y  Flip  Flops.  
•  Máquinas  de  Estados:  
–  Mealy.  
–  Moore.  
•  Análisis.  
•  Síntesis:  
–  Mínimo  número  de  biestables.  
–  1  biestable  por  estado.  
•  Timing.  

Tema  4  :  Circuitos  Lógicos  Secuenciales   45  


Timing  
•  Análisis  Temporal:  Dado  el  esquema  lógico  de  un  CLS,  los  2empos  de  
propagación  de  los  disposi2vos  y  los  2empos  de  estabilización  de  las  
entradas  y  las  salidas,  obtener  el  2empo  de  ciclo  mínimo.  
•  Camino  críWco:  En  un  CLS  Síncrono,  los  caminos  a  evaluar  son  diferen-­‐
tes,  y  corresponden  a  los  siguientes  2pos:  
–  Camino  de  Biestable  a  Biestable  (B-­‐B).  
–  Camino  de  Entrada  a  Biestable  (E-­‐B).  
–  Camino  de  Biestable  a  Salida  (B-­‐S).  
Tiempo  de  estabilización  
de  salida  

CLC n
REG

k k (B-­‐S)  
CLC
H   CLC
REG

Q X
H  

REG
k m CLC
G   +
Q Q W
Tiempo  de  estabilización   Q+
G  
de  entrada  

(B-­‐B)  

Tema  4  :  Circuitos  Lógicos  Secuenciales   46  


Timing  
•  Ejemplo:  Obtener  el  T.C.  mínimo  del  circuito.  Tiempos:  
–  Puertas:  OR:  30  u.t.    AND:  30  u.t.    NOT:  20  u.t.  
–  Biestables:  FF1:  100  u.t.    FF2:  150  u.t.  
–  Estabilización:  Entrada:  110  u.t.    Salida:  20  u.t.  
x   clk  

N1   A1   q0+  
N2   O1   D   Q  
N3  
A2   FF1  

A3   D   Q  
q1+  
FF2  
q1  

q0  
A4  
N5   O2   w  
N4  
A5  

Tema  4  :  Circuitos  Lógicos  Secuenciales   47  


Índice  
•  Introducción:  
–  Definición  de  CLS.  
–  Necesidad  de  Memoria  y  Sincronización.  
•  Latches  y  Flip  Flops.  
•  Máquinas  de  Estados:  
–  Mealy.  
–  Moore.  
•  Análisis.  
•  Síntesis:  
–  Mínimo  número  de  biestables.  
–  1  biestable  por  estado.  
•  Timing.  

Tema  4  :  Circuitos  Lógicos  Secuenciales   48  


Síntesis  
•  A  parWr  de  una  descripción  textual,  obtener  el  Circuito  
Secuencial:  
–  El  primer  paso  es  obtener  el  Grafo  de  Estados.  
–  Una  vez  completado  el  grafo,  procedemos  a  la  implementación  rsica.  
•  Ejemplo:  Circuito  reconocedor  de  secuencias:  
–  Obtener  la  implementación  de  un  circuito  de  una  entrada  y  una  salida  
que  reconoce  la  secuencia  011  de  valores  en  la  señal  de  entrada.  La  se-­‐
ñal  de  salida  toma  valor  1  cada  vez  que  la  secuencia  a  detectar  aparece.  
y 1 1 1 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0

y CLS w

w 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0

Tema  4  :  Circuitos  Lógicos  Secuenciales   49  


Síntesis   y
CLS
w

•  Grafo  de  Estados:  Circuito  reconocedor  de  secuencias  (011).  


•  Paso  1:  obtener  el  estado  inicial:  
•  E0  (estado  inicial):  no  ha  llegado  ningún  bit  de  la  secuencia  a  reconocer.  
•  Salida  (para  este  estado)  w:  0.  

E0
0

Tema  4  :  Circuitos  Lógicos  Secuenciales   50  


Síntesis   y
CLS
w

•  Grafo  de  Estados:  Circuito  reconocedor  de  secuencias  (011).  


•  Paso  1:  obtener  el  estado  inicial:  
•  E0  (estado  inicial):  no  ha  llegado  ningún  bit  de  la  secuencia  a  reconocer.  
•  Salida  (para  este  estado)  w:  0.  
•  Paso  2:  comienzo  a  construir  el  grafo:  
•  Si  me  encuentro  en  el  estado  inicial,  ¿qué  ocurre  para  cada  posible  valor  
de  entrada  del  CLS?:  
•  Llega  un  1:  sigue  sin  llegar  un  bit  de  la  secuencia  (me  quedo  en  E0).  
•  Llega  un  0:  llega  el  1er  bit  de  la  secuencia  (nuevo  estado  E1).  

0
E0 E1
1
0 0

Tema  4  :  Circuitos  Lógicos  Secuenciales   51  


Síntesis   y
CLS
w

•  Grafo  de  Estados:  Circuito  reconocedor  de  secuencias  (011).  


•  Paso  3:  repe2mos  el  procedimiento  del  paso  anterior:  
–  Lo  hacemos  así  hasta  tener  completo  el  grafo.  
0

0 1 1
E0 E1 E2 E3
1
0 0 0 1
0

0
1
E0:  ningún  bit  de  la  secuencia.  
E1:  ha  llegado  1  bit  de  la  secuencia  (0).  
E2:  han  llegado  2  bits  de  la  secuencia  (01).  
E3:  han  llegado  los  3  bits  de  la  secuencia  (011)  -­‐>  Salida  =  1.    

Tema  4  :  Circuitos  Lógicos  Secuenciales   52  


Síntesis  
•  Ejercicio  1:  
–  Obtener  el  grafo  de  estados  de  un  contador  up/down  módulo  7.  El  
contador  2ene  dos  entradas:  count  Enable  (E)  y  count  Direc2on  (D).  
Cuando  E  =  1  el  contador  cuenta  en  la  dirección  especificada  por  D,  
y  termina  cuando  E  =  0.  El  contador  cuenta  hacia  arriba  si  D  =  0  y  
hacia  abajo  si  D  =  1.  El  contador  2ene  una  salida  Y  que  toma  valor  1  
cuando  el  contador  alcanza  el  valor  7  o  el  valor  0.  

Tema  4  :  Circuitos  Lógicos  Secuenciales   53  


Síntesis  
•  Ejercicio  2:  
–  Obtener   el   grafo   de   estados   de   una   puerta   con   cerradura   de   apertura  
por  secuencia  de  dígitos.  El  display  2ene  los  botones  mostrados  en  la  fi-­‐
gura   inferior.   Cada   vez   que   pulsamos   una   tecla   la   señal   Push   se   ac2va,   y  
las  señales  numi  indican  la  tecla  que  se  pulsó  (valor  en  binario).  La  señal  
de  Reset  sirve  para  reiniciar  la  introducción  del  código  de  apertura.  
–  El   circuito   2ene   dos   señales   de   Salida:   Open   y   Block.   Para   que   la   señal  
Open  se  ac2ve  y  la  puerta  se  abra,  debemos  introducir:  0-­‐3-­‐2.  Si  intro-­‐
ducimos  una  secuencia  de  tres  dígitos  incorrecta,  la  puerta  se  bloquea  
(ac2vamos  señal  Block).  
num   2   Open  
0   1  
Push  
R   CLS   Block  
2   3  
Reset  
clk  

Tema  4  :  Circuitos  Lógicos  Secuenciales   54  


Síntesis  
•  Ejercicio  3:  
–  Marge  quiere  instalar  un  sistema  de  alarma  que  la  indique  las  per-­‐
sonas  que  se  encuentran  en  la  cocina  en  todo  momento.  Para  ello,  
se  instalan  dos  sensores  en  el  marco  de  la  puerta  tal  y  como  mues-­‐
tra  la  figura.  Estos  sensores  toman  valor  1  si  su  flujo  es  interrumpi-­‐
do,   siendo   0   el   resto   del   2empo.   Sabiendo   que   Bart   y   Homer   no   ca-­‐
ben  por  la  puerta  si  intentan  entrar  a  la  vez,  Determina  el  grafo  de  
estados  del  circuito  que  avisará  a  Marge.  

S1  

S0  

Tema  4  :  Circuitos  Lógicos  Secuenciales   55  


Síntesis  
•  Del  Grafo  de  Estados  a  la  Implementación  del  Circuito:  
–  El  Grafo  de  Estados  nos  proporciona  las  tablas  de  verdad.  
–  Codificaremos  los  estados  (binario)  con  el  número  mínimo  de  biestables:  
•  Suponiendo  n  estados:  número  de  biestables=  int(log2n).  
–  Conocidas  las  tablas,  la  síntesis  u2liza  las  mismas  técnicas  vistas  para  CLCs.  

•  Implementación  de  los  CLCs  de  estado  siguiente  y  salida:  


–  Con  Not,  And  y  Or  en  suma  de  minterms.  
–  Con  decodificadores  y  puertas  Or.  
–  Con  ROMs:    
•  Dos  ROMs.  
•  Una  ROM.    
•  Una  ROM  y  un  Mul2plexor  de  buses.  

Tema  4  :  Circuitos  Lógicos  Secuenciales   56  


Síntesis  
•  Determinación  de  las  Tablas  de  Verdad:  
–  Grafo  de  Estados:  Circuito  reconocedor  de  secuencias  (011).  
0
0 1 1
E0 E1 E2 E3
1
0 0 0 1
0

0
1 Tabla  de  Transición  
q1   q0   x0   q1+   q0+  
0   0   0     0   1  
Codif.  de  Estado   Tabla  de  Salida   0   0   1     0   0  
0   1   0   0   1  
Estado   Codif.   q1   q0   w1  
0   1   1   1   0  
E0   00   0   0   0  
1   0   0   0   1  
E1   01   0   1   0   1   0   1   1   1  
E2   10   1   0   0   1   1   0   0   1  
E3   11   1   1   1   1   1   1   0   0  

Tema  4  :  Circuitos  Lógicos  Secuenciales   57  


Síntesis  
•  Implementación  con  Dos  ROMs:  
–  Grafo  de  Estados:  Circuito  reconocedor  de  secuencias  (011).  
Est.   Cod.   q1   q0   w  
Tabla  de  Salida  
Codif.  Estado  

E0   00   0   0   0   X 2
E1   01   CLC 2 CLC

REG
0   1   0   W
E2   10   2 G   H  
Q+ Q

Salida
E3   11   1   0   0  
1   1   1  
Clk

q1   q0   x   q1+   q0+   0  

Dec  
1  
Tabla  de  Transición  

0   0   0     0   1   2   0  
x   0  
q0  
0   0   1     0   0   3   0   1  
q0   1   4   2  
0   1   0   0   1   5  
q1   1  
3  
q1   2  
0   1   1   1   0   6  

1   0   0   0   1   7  
ROM  
1   0   1   1   1   ROM  
1   1   0   0   1   w  

1   1   1   0   0   q1+   q0+  

Tema  4  :  Circuitos  Lógicos  Secuenciales   58  


Síntesis  
•  Implementación  con  Una  ROM  (Mealy):  
–  Grafo  de  Estados:  Circuito  reconocedor  de  secuencias  (011).  
Codif.  Estado  

Est.   Cod.  
E0   00   X H   W
E1   01   CLC

Entrada
2 2

Salida
REG
E2   10  
G  
E3   11   +
Q Q
Clk
Tabla  de  Transición/Salida  

q1   q0   x   q1+   q0+   w   0  

Dec  
0   0   0     0   1   0   1  
2  
0   0   1     0   0   0   x   0  
3  
0   1   0   0   1   0   q0   1   4  
0   1   1   1   0   0   q1   2   5  
6  
1   0   0   0   1   0   7  
1   0   1   1   1   0  
ROM  
1   1   0   0   1   1  
1   1   1   0   0   1   q1+   q0+   w  

Tema  4  :  Circuitos  Lógicos  Secuenciales   59  


Síntesis  
•  Implementación  con  Una  ROM  y  MulWplexor.  
Tabla  de  Transición/Salida  

q1   q0   x   q1+   q0+   w  
0   0   0     0   1   0  

Tabla  de  Transición/


0   0   1     0   0   0   X=1   X=0  
0   1   0   0   1   0   q1   q0   q1+   q0+   q1+   q0+   w  

Salida  
0   1   1   1   0   0   0   0   0   0   0   1   0  
1   0   0   0   1   0   0   1   1   0   0   1   0  
1   0   1   1   1   0   1   0   1   1   0   1   0  
1   1   0   0   0   1   1  
1   1   0   0   1   1  
1   1   1   0   0   1  

q1
H   W

REG
CLC
 
X H W q0 Gx=0   Gx=1  

Salida
CLC
Entrada

2 2
REG

Clk
G   Q+
Q +
Q X
q1+ q0+
Clk

Tema  4  :  Circuitos  Lógicos  Secuenciales   60  


Síntesis  
•  Ejercicio:  
–  Dado  el  grafo  de  estados  inferior,  implementar  su  circuito  correspondien-­‐
te  u2lizando  el  número  mínimo  de  biestables  y:  
•  Dos  ROM  del  tamaño  que  consideres  necesario.  
•  Una  SoIa  ROM.  
•  Una  Sola  ROM  y  un  Mul2plexor.   00
Grafo  de  Estados  

00
10 00 01
11

00 00

01 01
10 10 01
11
11 11 01

10

Tema  4  :  Circuitos  Lógicos  Secuenciales   61  


Síntesis  
•  Implementación  con  un  Biestable  por  estado,  DemulWplexores  
y  puertas  OR:  
–  A  par2r  del  Grafo  de  Estados  del  circuito.  
1 PASO  1:  asignamos  un  biestable  a  cada  estado.  

E0
01

E0   E1  
1 0
D   Q   D   Q  

E1

10

Tema  4  :  Circuitos  Lógicos  Secuenciales   62  


Síntesis  
•  Implementación  con  un  Biestable  por  estado,  DemulWplexores  
y  puertas  OR:  
–  A  par2r  del  Grafo  de  Estados  del  circuito.  
PASO  2:  se  conecta  la  salida  de  una  puerta  OR  a  la  entrada  D  de  cada  
1 biestable.  El  número  de  entradas  de  la  OR  será  igual  al  número  de  
E0 arcos  que  llegan  al  Nodo  (biestable).  
01

E0   E1  
1 0 D   Q   D   Q  

E1

10 2  arcos  -­‐>  2  entradas   2  arcos  -­‐>  2  entradas  

0
Tema  4  :  Circuitos  Lógicos  Secuenciales   63  
Síntesis  
•  Implementación  con  un  Biestable  por  estado,  DemulWplexores  
y  puertas  OR:  
–  A  par2r  del  Grafo  de  Estados  del  circuito.  
1 PASO  3:  en  la  salida  de  cada  Biestable  se  conecta  un  demul2plexor.  
Tendrá  tantas  señales  de  selección  como  señales  de  entrada  2ene  el  
E0 circuito.  Se  conectan  las  entradas  del  circuito  a  las  señales  de  selec-­‐
01 ción  de  cada  mul2plexor.  

E0   E1  
1 0 0   0  
D   Q   D   Q  
1   1  

E1
x   x  
10

Tema  4  :  Circuitos  Lógicos  Secuenciales   64  


Síntesis  
•  Implementación  con  un  Biestable  por  estado,  DemulWplexores  
y  puertas  OR:  
–  A  par2r  del  Grafo  de  Estados  del  circuito.  
1 PASO  4:  se  conectan  las  salidas  de  los  demul2plexores  con  las  entradas  
de  las  OR,  de  acuerdo  con  el  grafo.  
E0
01

E0   E1  
1 0 0   0  
D   Q   D   Q  
1   1  

E1
x   x  
10

Tema  4  :  Circuitos  Lógicos  Secuenciales   65  


Síntesis  
•  Implementación  con  un  Biestable  por  estado,  DemulWplexores  
y  puertas  OR:  
–  A  par2r  del  Grafo  de  Estados  del  circuito.  
1 PASO  5:  cada  señal  de  salida  se  forma  con  la  OR  de  las  salidas  de  los  
biestables  de  los  estados  en  que  vale  1  esa  salida.  
E0
01

E0   E1  
1 0 0   0  
D   Q   D   Q  
1   1  

E1

10

0
w0   w1  

Tema  4  :  Circuitos  Lógicos  Secuenciales   66  


Síntesis  
•  Ejercicio:  
–  Dado  el  grafo  de  estados  inferior,  implementar  su  circuito  
correspondiente  u2lizando  un  biestable  por  estado.  

00
Grafo  de  Estados  

E0
01
11
00
10

00 00

10
E1 E2 10
01
11
11 01 11

01

Tema  4  :  Circuitos  Lógicos  Secuenciales   67  

También podría gustarte