Вы находитесь на странице: 1из 41

Lógica Secuencial (2/2)

Luis Parraguez
Sección de Sistemas Digitales y Control
Departamento de Electricidad
Ingeniería, Anzoátegui, UDO

AD DE O
SID R
ER

I EN
UNIV

TE *
*

A
V

N
E

E Z U E
Contenido
Síntesis de la Lógica Secuencial
Ejemplo
Codificación de Estados
FSM Incompletamente Específicadas
Corrección de Estados

Minimización de Estados

Otros Ejemplos
Sumador Serial
Reconocedor de secuencias
Circuitos Segmentados

Síntesis de la lógica secuencial


Síntesis de la Lógica Secuencial
Contador ascendente módulo 3
Descripción Funcional:
I Diseñe un sistema secuencial que permita
realizar una cuenta ascendente módulo 3 (0..2).
I El Sistema debe poseer dos salidas S y S que
1 0
indicarán el valor de la cuenta.

Conceptualización: Diagrama de Estados:


Contador S1 a/00
Ascendente
Módulo 3 S0

b/01 c/10
clk
Codificación de Estados

I Un Sistema de p estados requiere r unidades de


memoria, dadas por:
r = ceil [log2 (p)]
I La cantidad de códigos posible es 2r
I El número de combinaciones, para codificar los p
estados es
2r

r! r!
p! = p!(22r −p)! p! = (2r2−p)!
p
Codificación de Estados (Ejemplo)

I Un sistema de 3 estados (p = 3) requiere, como


mínimo, de 2 biestables  
log10 3
r = ceil [log2 (p)] = ceil [log2 (3)] = ceil log10 2 =
   
log10 3 0,477121255
ceil log10 2 = ceil 0,301029996 = 2
I Dos biestables pueden codificar hasta 4 estados
(2r = 22 = 4).
I Existen 24 formas distintas para codificar los 3
estados.  
2r ! 22 !
(2r −p)!
= 2 = 24
(2 −3)!
Codificación de Estados (Ejemplo_)

Cod. a b c Cod. a b c
1 00 01 10 11 5 00 11 01 10
2 00 01 11 10 6 00 11 10 01
3 00 10 01 11 7 01 00 10 11
4 00 10 11 01 8 ... ... ... ...
¿Cúal es la mejor codificación?

I En un sentido estricto habría que evaluarlas todas


antes de tomar una decisión.
I Pensemos un poco.
I Imagine un sistema simple de 5 estados.

I Existen 6720 [8!/ (8 − 5)!] formas diferentes de

asignar una codificación.


I Debido a esta complejidad se adoptan algunos
criterios para simplificar esta etapa:
I Cambio mínimo de bits.

I Un bit por estado.

I Prioridad de adyacencia.

I Minimización de etapa de salida.


Cambio Mínimo de Bits
I Asigna códigos para que el número total de
cambios de bits, en todas las transiciones, sea
mínimo:

aa bb cc dd Peso: ?
22
11 22 11 Peso: 6
00 01 10
10 11
11 Peso: 6
00 01

11
11 11 11 Peso: 4
00 01 11
11 10
10 Peso: 4
00 01
Un bit por estado

I Asigna códigos de forma tal que cada estado


posee un bit activo diferente:

0001 0010 0100 1000

I Observaciones:
I No mínima.

I Poco práctica

I Con muchos estados.

I Diseño fácil.
Prioridad de Adyacencia

I Asigna códigos adyacentes a los estados que


tienen un destino, fuente o salida común, según
las prioridades siguientes:

1. Estados con el mismo E.F., para


la misma entrada.
2. Estados futuros de un estado.
3. Estados con salidas Mealy
iguales, para la misma entrada.
4. Un estado y su futuro.
Prioridad de Adyacencia (Ejemplo)

s1 0/0 s0 1/0 s2

0/0 0/1
x/1
s3

1. P1: (s1 , s2 ) tienen E.F. s3 , con i = 0.


2. P2: (s1 , s2 ) son E.F’s de s0 .
3. P3: (s0 , s1 )tienen Sal = 0, con i = 0.
(s2 , s3 )tienen Sal = 1, con i = 0.
4. P4: (s0 , s1 ), (s0 , s2 ), (s1 , s3 ), (s2 , s3 ), (s3 , s0 )
E.P’s. y sus E.F’s.
Minimización de etapa de salida

I Asigna códigos de forma tal que cada estado se


corresponda con el valor de las posibles salidas:
Diagrama:
Codificación: Tabla:

Est. Cód. E.P. E.F. S1 S0 00/00


a 00 a 00 01 00
b 01 b 01 10 01
c 10 c 10 00 10 01/01 10/10
Ecuaciones de Salidas

E.P. E.F. Sali. S1 = ∑ (2) = Q1t Q0t


Q1t Q0t Q1t+1 Q0t+1 S1 S0
S0 = ∑ (1) = Q1t Q0t
0 0 0 1 00
0 1 1 0 01 S1 = Q1t
1 0 0 0 10 S0 = Q0t
t+1

Ecuaciones de excitación: Tipo D Q =D
E.P. E.F. Sali. E.P. E.F. Sali.
Q1t Q0t Q1t+1 Q0t+1 S1 S0 Q1t Q0t Q1t+1 Q0t+1 S1 S0
0 0 0 1 00 0 0 0 1 00
0 1 1 0 01 0 1 1 0 01
1 0 0 0 10 1 0 0 0 10
Q0t Q0t
0 1 0 1
D1 = Q1t Q0t D0 = Q1t Q0t
Q1t 0 0 1 Q1t 0 1 0
1 0 1 0
Diagrama Esquematico

D Q S1
1
Q’

D Q S0
0
Q’

S1 = Q1
S0 = Q0
D1 = Q1 Q0
D0 = Q1 Q0
Estados "No Importa"

E.P. E.F. S1 S0 00/00 11/xx


a 00 01 00
b 01 10 01
c 10 00 10
d 11 xx xx
01/01 10/10
Ecuaciones de Salidas

E.P. E.F. Sali.


Q1t Q0t Q1t+1 Q0t+1 S1 S0
0 0 0 1 00 S1 = ∑ (2, 3) = Q1t
0 1 1 0 01 S0 = ∑ (1, 3) = Q0t
1 0 0 0 10
1 1 x x xx
t+1

Ecuaciones de excitación: Tipo D Q =D
E.P. E.F. Sali. E.P. E.F. Sali.
Q1t Q0t Q1t+1 Q0t+1 S1 S0 Q1t Q0t Q1t+1 Q0t+1 S1 S0
0 0 0 1 00 0 0 0 1 00
0 1 1 0 01 0 1 1 0 01
1 0 0 0 10 1 0 0 0 10
1 1 x x xx 1 1 x x xx
Q0t Q0t
0 1 0 1
D1 = Q0t D0 = Q1t ⊕ Q0t
Q1t 0 0 1 Q1t 0 1 0
1 0 x 1 0 x
Resumen de ecuaciones

Anteriores: Actuales:

S1 = Q1 S1 = Q1
S0 = Q0 S0 = Q0
D1 = Q1Q0 D1 = Q0
D0 = Q1 Q0 D0 = Q1 ⊕ Q0
Corrección de Estados
I ¿Qué sucede en nuestro sistema contador, si por
causa de un error, el estado actual es el que no
se utiliza?

00/00 11/xx

01/01 10/10
Corrección de Estados (2)

Anteriores: Actuales:

S1 = Q1 S1 = Q1
S0 = Q0 S0 = Q0
D1 = Q1Q0 D1 = Q0
D0 = Q1 Q0 D0 = Q1 ⊕ Q0

E.P. E.F’s. E.P. E.F’s.


11 00 01 10 00 11 11 11 11 11
Minimización de estados

I Desde un punto de vista estrictamente funcional


la operación de un sistema importa esencialmente
por la relación entrada/salida; es decir, por su
función de transferencia.
I Así, dos o más sistemas serán funcionalmente
equivalentes siempre que para las mismas
entradas produzcan las mismas salidas,
independientemente de su estructura interna.
Dos máquinas

0x 0x 0x 0x
a/1 10 b/0 10
c/0 10 10
r/1
11 11 11
10 10 10 11
11 10
11
11 d/0 e/1 f/0 s/0 t/0
11 11 10
0x 0x 0x 0x
0x
E.P. a a b c f e d r r s t s r t
Ent. 00 10 10 11 11 11 10 00 10 10 11 11 11 10
Sal. 1 1 0 0 0 1 0 1 1 0 0 0 1 0
E.F. a b c f e d a r s t s r t r
Equivalencia de estados

Dos o más estados son equivalentes y , por tanto,


reducibles, si para las mismas entradas:
1. Tienen salidas iguales; Y
2. Tienen estados futuros equivalentes o iguales.
h i h i
s1 ≡ s2 ⇐⇒ h(s1 ,i) = h(s2 ,i) ∧ f(s1 ,i) ≡ f(s2 ,i)
Clases de Estado (Grupos)
0x 0x 0x E.P. E.F. Sal
0x
00 01 11 10
a/1 10 b/0 10 c/0 10 a 10 a r/1
a d b 1
11 11 11 b b b e c 0
10 10 10 c c c 11f a 010
11 11
11 d/0 e/1 f/0 s/0de de de df ab t/001
11 11 10
0x 0x 0x f 0x
0x f f e c 0
1.- Crear Clases de Estado (Grupos) que
tengan la misma salida, para igual
combinación de entrada y E.P.
C1 = {a, e} C2 = {b, c, d, f }
Clase del estado Futuro

2.- Determinar la Clase a la que pertenece el


Estado Futuro correspondiente a cada
Estado Presente.

E.P. E.F. Sal E.P. E.F. Sal


00 01 11 10 00 01 11 10
a(C1 ) a a d b 1 a(C1 ) C1 C1 C2 C2 1
b(C2 ) b b e c 0 b(C2 ) C2 C2 C1 C2 0
c(C2 ) c c f a 0 c(C2 ) C2 C2 C2 C1 0
d(C2 ) d d f a 0 d(C2 ) C2 C2 C2 C1 0
e(C1 ) e e d b 1 e(C1 ) C1 C1 C2 C2 1
f(C2 ) f f e c 0 f(C2 ) C2 C2 C1 C2 0
Las primeras equivalencias
Tabla reordenando por Clases.
E.P. E.F. Sal
00 01 11 10 Ent. C1 C2
a(C1 ) C1 C1 C2 C2 1 a e b c d f
b(C2 ) C2 C2 C1 C2 0 00 C1 C1 C2 C2 C2 C2
c(C2 ) C2 C2 C2 C1 0 01 C1 C1 C2 C2 C2 C2
d(C2 ) C2 C2 C2 C1 0 10 C2 C2 C2 C1 C1 C2
e(C1 ) C1 C1 C2 C2 1 11 C2 C2 C1 C2 C2 C1
f(C2 ) C2 C2 C1 C2 0
I Se aprecia que los E.F., para las mismas entradas
y miembros del grupo C1 , pertenecen a las
mismas Clases y por tanto son equivalentes
a≡e
Nueva partición de clases
I Esto no ocurre en la Clase C2 , lo que nos obliga a
realizar una nueva partición de Clase.
Ent. C2 Ent. C21 C22
b c d f b f c d
00 C2 C2 C2 C2 00 C2 C2 C2 C2
01 C2 C2 C2 C2 01 C2 C2 C2 C2
10 C2 C1 C1 C2 10 C2 C2 C1 C1
11 C1 C2 C2 C1 11 C1 C1 C2 C2
I De donde se desprende que:

b≡f
c≡d
Substitución de estados equivalentes

I Como: a ≡ e, b ≡ f y c ≡ d, cada aparición de e, f


y d serán substituidas por sus equivalentes a, b y
c, respectivamente. Entonces,
E.P. E.F. Sal E.P. E.F. Sal
00 01 11 10 00 01 11 10
a a a d b 1 a a a c b 1
b b b e c 0 b b b a c 0
c c c f a 0 c c c b a 0
d d d f a 0 c c c b a 0
e e e d b 1 a a a c b 1
f f f e c 0 b b b a c 0
Eliminación de filas repetidas

I Finalmente, eliminando las filas repetidas,


E.P. E.F. Sal
00 01 11 10
E.P. E.F. Sal
a a a c b 1
00 01 11 10
b b b a c 0
a a a c b 1
c c c b a 0
b b b a c 0
c c c b a 0
c c c b a 0
a a a c b 1
b b b a c 0
Conclusión
I Esta máquina es equivalente con nuestra primera
propuesta,
E.P. E.F. Sal E.P. E.F. Sal
00 01 11 10 00 01 11 10
a a a c b 1 r r r t s 1
b b b a c 0 s s s r t 0
c c c b a 0 t t t s r 0

a≡r
b≡s
c≡t
Informalidades

I Una forma más directa de minimización de


estados (aunque no siempre exitosa) es el
método de Eliminación de Filas,
E.P. E.F. Sal
00 01 11 10
E.P. E.F. Sal
a a a d b 1
00 01 11 10
b b b e c 0
a a a c b 1
c c c f a 0
b b b a c 0
d d d f a 0
c c c b a 0
e e e d b 1
f f f e c 0
Sumador Serial

01,10/1 11/0 01,10/0


0 1

00/0 00/1 11/1

Estados : Acarreo
Entradas/Salida : XY/Suma
Sumador Serial con reposición
0 01, 0 10/1 0 11/0 0 01, 0 10/0
1 xx/0
0 1

X 00/0 0 00/1 0 11/1

E.F./S
RXY
E.P. 000 001 010 011 100 101 110 111
0 0/0 0/1 0/1 1/0 0/0 0/0 0/0 0/0
1 0/1 1/0 1/0 1/1 0/0 0/0 0/0 0/0
Sumador Serial (Funciones)
E.F./S
RXY
E.P. 000 001 010 011 100 101 110 111
0 0/0 0/1 0/1 1/0 0/0 0/0 0/0 0/0
1 0/1 1/0 1/0 1/1 0/0 0/0 0/0 0/0
S = ∑ (1, 2, 8, 11)
Q t+1= ∑ (3, 9, 10, 11)
E.F./S S = R ∗ ∑ (1, 2, 4, 7)
XY Q t+1 = R ∗ ∑ (3, 5, 6, 7)
E.P. 00 01 10 11
0 0/0 0/1 0/1 1/0
1 0/1 1/0 1/0 1/1
Reconocedor de secuencias

101001 Sistema 000001


Secuencial
reloj

0 0,1
1 b/0 0 c/0 0 d/0 1 e/1
a/0
1 1 0
Reconocedor de secuencias (2)
0 0,1
1 b/0 0 c/0 0 d/0 1 e/1
a/0
1 1 0

E.F. Q2t+1 = Σ (6,10,14)


E.P. I=0 I=1 S
Q1t+1 = Σ (1,3,6,10,14)
a 000 a 000 b 001 0
b 001 c 011 a 000 0 Q0t+1 = Σ (1,8)
c 011 d 010 a 000 0 S = Σ (6,14)
d 010 a 000 e 110 0
e 110 e 110 e 110 1
Circuitos Segmentados

Comparador
1001
S

Datos D Q D Q D Q

Q’ Q’ Q’

reloj
Síntesis de la lógica secuencial (1/2)

I Planteamiento del Problema : Descripción de un


conjunto de especificaciones de diseño para un
circuito requerido.
I Conceptualización: Translación de las
especificaciones de diseño a diagramas y tablas
de estado.
Síntesis de la lógica secuencial (2/2

I Solución / Simplificación:
I Minimización.
I Asignación óptima.
I Mapas de estado futuro.
I Ecuaciones de excitación a partir de mapas y/o ecuaciones
características.
I Determinación de las ecuaciones de salida.
I Simulación Realización: Obtener un diagrama
esquemático, simular, construir y someter a
verificación.

Вам также может понравиться