TEMA 5. Sistemas Secuenciales Síncronos

Anuncio
TEMA 5.
Sistemas Secuenciales Síncronos
1. Introducción. (2-5)
1.1 Definición de sistema secuencial. Concepto de estado (6-10)
1.2 Esquema general de un sistema secuencial. (11)
1 3 Máquina de estados finitos.
1.3
finitos Autómata.
Autómata (12-13)
(12 13)
2. Autómatas de Mealy y Moore. (14-15)
y ((16))
2.1 Modelo de Mealy.
2.2 Modelo de Moore. (17)
3. Especificación y etapas en el diseño de sistemas secuenciales. (18-20)
3 1 Tablas y diagramas de transición entre estados.
3.1
estados (21-24)
(21 24)
3.2 Ejemplos de sistemas secuenciales (25-39 )
p
Canónica de sistemas secuenciales ((40-41))
4. Implementación
4.1 Ejemplos de implementación (42-43)
5. Especificación de SS mediante Diagramas ASM. (44- 45)
5 1 Ejemplos de implementación (46-53)
5.1
(46 53)
6. Modelado VHDL de máquinas de estados finitos (FSM) (46-61)
j p
de modelado VHDL ((62-67))
6.1 Ejemplos
7. Análisis y Síntesis de Sistemas Secuenciales (68-70)
1
1.. INTRODUCCIÓN (I)
D
Dentro
de los sistemas
m
secuenciales,, los SISTEMAS
EM
SECUENCIALES SÍNCRONOS es el caso más habitual
y más sencillo, en el diseño p
práctico de dichos sistemas
digitales
• Sistemas síncronos:
í
aquellos
ll en los
l que existe all menos
una señal de reloj que va marcando en que momento se
pueden
d producir
d i los
l cambios
bi en las
l salidas
lid del
d l circuito.
i
it
• Disparo de reloj por flanco.
flanco
2
1.. INTRODUCCIÓN (II)
EJEMPLO: Circuito que no es combinacional: generador de bit de paridad
Constrúyase un circuito que nos indique, si el número
total de 1´s presentados en su entrada, hasta un
instante determinado,
determinado es par o impar.
impar
x
z
El sistema se puede especificar utilizando un tabla de
verdad, en la q
que se reflejen
j
las variables q
que
intervienen en el sistema: entrada, x; salida, z;
“situación del sistema en un instante”
3
1. INTRODUCCIÓN (III)
EJEMPLO: Circuito que no es combinacional:
Generador de bit de paridad
TABLA DE VERDAD
ENTRADA
SALIDA
X(t)
Z(t)
Nº par de 1
N
1´ss
0
1
par
impar
Nº impar de 1´ss
N
0
1
impar
par
Situación hasta el
instante “t”
4
1.. INTRODUCCIÓN (IV)
Será
á un sistema que tendrá:
á
1. Una única entrada para la llegada de datos en serie (X)
2 Una única salida que será el bit de paridad par,
2.
par de la
secuencia de bits llegados al sistema hasta el momento t (Z)
sta os internos,
nt rnos, pu
puesto
sto qu
que to
toda
a la
a h
historia
stor a pasa
pasada
a
3.. Dos estados
puede reducirse a dos situaciones:
‰ PAR (P) sii ell número
ú
d “1” llegados
de
ll
d hasta
h
ell instante
i
t es PAR
‰ IMPAR (I) si el número de “1” llegados hasta el instante t es IMPAR
→
Será necesaria 1 variable de estado y una función f que
relacione el estado presente, con el estado anterior y la entrada
presente de acuerdo con el esquema:
X = 0
PAR
IMPAR
X = 1
PAR
IMPAR
IMPAR
MP R
P R
PAR
5
1.1 DEFINICIÓN DE UN SISTEMA SECUENCIAL (I)
Un sistema es secuencial si la salida en cada
instante t,
t depende tanto del valor de las
entradas presentes en ese instante, como de la
“historia”
historia del sistema,
sistema estado esta determinada,
determinada
por el estado del sistema en el instante que
comienza a operar y por los valores de las
entradas en ese momento inicial.
Un sistema secuencial depende de su “historia”,
pues de acuerdo de ella, el sistema estará en
cada instante en un estado determinado
6
1.1 DEFINICIÓN DE UN SISTEMA SECUENCIAL (II)
1.
D p
Dependen
del tiempo:
mp p
para una m
misma
m combinación
m
de
entradas pueden obtenerse salidas diferentes; de
esto, se deduce, q
que estas dependen
p
del momento en
que se presentan las distintas combinaciones de
entrada.
2.
Debe existir realimentación de la salida a la entrada:
para que ell estado
t d del
d l circuito
i
it repercuta
t en ell valor
l
de la salida, dicho estado ha de almacenarse y
presentarse al circuito,
circuito como un “tipo
tipo de variable de
entrada”.
7
1.1 DEFINICIÓN DE UN SISTEMA SECUENCIAL (III)
En los sistemas secuenciales síncronos con disparo por flanco del
reloj está garantizado que:
reloj,
1.
Transcurrido un tiempo suficiente desde el flanco del reloj, los
valores actualizados (nuevos valores) de las señales de entrada a la
memoria del sistema (biestables) se propagarán a lo largo del mismo
y éste adqu
adquirirá
r rá una conf
configuración
gurac ón estable.
Las entradas al sistema deben ser estables y no deben existir
lazos de realimentación puramente combinacionales (es decir sin
que atraviesen una célula de almacenamiento, un biestable).
2
2.
No sucederán cambios en el sistema hasta el nuevo flanco del reloj,
reloj
pues las realimentaciones quedan cortadas en los biestables.
8
1.1 DEFINICIÓN DE UN SISTEMA SECUENCIAL (IV)
VARIABLES
El número de variables independientes
p
es el conjunto
j
de:
Entradas al sistema.
z Salidas
S lid de
d los
l biestables.
bi
bl
El estado interno del circuito:
z
•
Es igual
E
i
l a la
l combinación
bi
ió de
d valores
l
que tengan
t
l
los
biestables.
Ap
partir de las entradas al sistema
m y el estado interno se
generarán:
z
•
z
z
Las salidas del circuito.
Las propias entradas a los elementos de memoria
(biestables).
9
1.1 DEFINICIÓN DE UN SISTEMA SECUENCIAL (V)
Variables: entrada xi, i=1…n,
salida zj, j=1…m
estado siguiente Yk, k=1…p,
k=1 p
estado actual yl, l=1…q,
Ecuaciones:
Zj(t) = f1 (x1(t) x2(t)….. xn(t), Y1(t) Y2(t)….Yp(t))
Yl(t) = f2 (x1(t) x2(t)….. xn(t), y1(t) y2(t)….yp(t))
yk(t+1) = f3 (Y1(t) Y2(t)….Y
(t) Yq(t))
10
1.2 ESQUEMA GENERAL DE UN SISTEMA SECUENCIAL
ENTRADAS
CIRCUITO
COMBINACIONAL
SALIDAS
MEMORIA
(Bi
(Biestables)
bl )
Estado actual
Estado futuro
Reloj
11
1.3 MÁQUINA DE ESTADOS FINITOS. AUTÓMATA
El modelo g
general de la máquina
q
síncrona
que estamos presentando es una “Máquina
de Estados Finitos
Finitos” o FSM (Finite State
Machine), dado que el número de
combinaciones de los valores de los
biestables; es decir, en nuestro caso los
estados
t d internos
i t
d l sistema,
del
i t
es finito.
fi it
12
1.3 MÁQUINA DE ESTADOS FINITOS. AUTÓMATA
La teoría de circuitos secuenciales se le
denomina también teoría de autómatas,
autómatas ya que
estos ante una sucesión de valores de entrada
que se presentan a lo largo del tiempo,
tiempo
proporcionan en cada instante una salida que
depende de toda la secuencia de entradas
llegadas hasta ese momento.
Entrada/salida
Estado
13
2. AUTÓMATAS DE MEALY Y DE MOORE (I)
‰ Autómata de MEALY
‰ Las salidas dependen
p
de las entradas y de las variables de
estado.
‰ Autómata de MOORE
‰ Las salidas no dependen directamente de las entradas, sino
que éstas primeramente han de producir un cambio de
estado; este cambio de estado determinará el nuevo valor
de las salidas.
z
z
z
lla salida
l d está
á vinculada
l d all estado,
d cambiando
b d sincrónicamente
ó
con el reloj.
Las salidas no se modifican en las transiciones (arcos).
(arcos)
Cada cambio de la entrada, produce una modificación de las
variables de excitación, que producirán con el reloj, un nuevo
estado.
d Las
L salidas
lid dependerán
d
d á de
d este estado.
d
14
2. AUTÓMATAS DE MEALY Y DE MOORE (II)
‰ Las máquinas de Moore,
Moore al cambiar las salidas de
forma síncrona con el reloj, son en general, más
estables q
que las máquinas
q
de Mealy,
y y
ya q
que cualquier
q
ruido transitorio que pudiera traer la entrada queda
eliminado en las salidas.
‰ Las máquinas de Moore constituyen un caso particular
de las máquinas de Mealy.
15
2.1 MODELO DE MEALY
ENTRADAS
Estado actual
CIRCUITO
COMBINACIONAL
MEMORIA
(Biestables)
SALIDAS
Estado futuro
RELOJ
16
2.2 MODELO DE MOORE
CIRCUITO
COMBINACIONAL
ENTRADAS
SALIDAS
CIRCUITO
COMBINACIONAL
MEMORIA
(
(Biestables)
)
Estado actual
Estado futuro
Reloj
17
3. ESPECIFICACIÓN Y ETAPAS DE DISEÑO DE
SISTEMAS SECUENCIALES (I)
El diseño de un sistema secuencial constará de
dos etapas:
1. Determinación del número de estados necesarios, o lo
que es equivalente, del número de biestables, N
z El número de estados P deberá cumplir:
P ≤ 2N.
2 Construcción de la red combinacional,
2.
combinacional tal que para
cada combinación del estado interno y las entradas
proporcione las salidas requeridas y los valores que
han de atacar a los biestables →
z Estos últimos darán lugar,
lugar en el próximo ciclo de reloj,
reloj
al nuevo estado.
18
DISEÑO DE LA MEMORIA:
ƒ Elección del tipo de autómata (Mealy o Moore)
ƒ Determinación
D t
i
ió del
d l número
ú
d estados
de
t d internos,
i t
P
P.
ƒ Codificación de los estados
ƒ Descripción formal del problema (Tabla de estados,
Di
Diagrama
d
de
t
transiciones,
i i
t bl
tabla
d
de
t
transiciones,
i i
diagramas ASM,…..)
ƒ Elección del tipo de biestable.
ƒ Determinación
D t
i
ió del
d l número
ú
d biestables,
de
bi t bl
N
N.
P ≤ 2N
19
DISEÑO DEL SISTEMA (RED) COMBINACIONAL
ƒ Identificación de variables: entrada, salida, estado y
excitación.
ƒ R
Realización
li
ió de
d la
l tabla
t bl de
d transiciones
t
i i
entre
t estados
t d y la
l
tabla de salida.
ƒ Obtención de las funciones lógicas de salida y de entradas
a los biestables.
ƒ Realización física mediante elementos combinacionales
(
(puertas
t s lógicas,
ló i s muxe´ss, …….))
20
3.1 TABLAS Y DIAGRAMAS DE TRANSICIÓN ENTRE
ESTADOS (I)
La tabla de transición entre estados es directamente la
especificación de la parte combinacional del sistema
secuencial
E la tabla de transición entre estados,, p
En
para cada estado y
para combinación de las entradas se recoge cuál va a ser el
próximo estado y qué valor van a tomar las señales de
salida.
1.
Se nombran los estados.
2.
Se codifican los estados:
1..
Se cu
S
cuenta
nta el núm
número
ro de estados
sta os distintos.
st ntos.
2.
Se escoge el número adecuado de biestables.
3
3.
Se asigna un código (una combinación de variables)
distinto a cada estado.
21
3.1 TABLAS Y DIAGRAMAS DE TRANSICIÓN ENTRE
ESTADOS ((II))
Un diagrama de transición de estados, diagramas de flujo,
autómata es una representación que muestra las transiciones
entre los estados, de acuerdo con las condiciones de conmutación. Se representa utilizando los siguientes símbolos:
‰ Círculos.
z Indican un estado. Dentro del círculo aparecerá
p
una etiqueta
q
del
tipo:
codificación del estado. (MEALY)
codificación del estado/salida del estado.
estado (MOORE)
‰ Arcos.
z Indican la transición de un estado origen
g a un estado destino p
por
medio de una ocurrencia en alguna de sus entradas. El arco se
acompaña de una etiqueta del tipo:
entrada o entradas.
entradas (MOORE)
entrada o entradas/salida o salidas. (MEALY)
22
3.1 TABLAS Y DIAGRAMAS DE TRANSICIÓN ENTRE
ESTADOS ((III))
AUTÓMATA DE MEALY
AUTÓMATA DE MOORE
Entrada/salida
Entrada
Estado
Estado
Salida
Entrada/salida
Entrada
Estado
Estado
•0
salida
23
3.1 TABLAS Y DIAGRAMAS DE TRANSICIÓN ENTRE
ESTADOS (IV)
EJEMPLOS:
EJEMPLOS
Autómatas de MEALY
0
1/1
0/1
0
Autómatas de MOORE
1/0
1
0/0
1
0/0
2
1
1/0
0
0/1
0
1/11
0
1/10
1
0/10
2
0/00
1
1
1/01
0
2/11
1
1/01
0/11
2/1
1
1/1
0/00
0
0
24
3.2 EJEMPLOS DE CIRCUITOS SECUENCIALES (I)
1. Diséñese un detector de secuencia, que detecte la
secuencia
i 101 y que una vez detectada
d t t d permanezca en
esa situación hasta que se inicialice. Impleméntese con
p D disparados
p
por f
p
flanco de bajada,
j
, con
biestables tipo
señal CLEAR, y puertas lógicas necesarias para la red
combinacional.
1.
2.
3.
4.
5.
Realícese mediante un autómata de Mealy.
Realícese mediante un autómata de Moore.
Implementación canónica del detector
Descripción mediante diagramas ASM
Modelado VHDL en los tres estilos de descripción
25
3.21 DETECTOR DE SECUENCIA “101” (II)
Autómata de MOORE
0
1
0/0
1
1/0
x
0
2/0
1
Tabla de transición
entre estados
3/1
Estado
actual (t)
0
Diagrama de transición entre
j )
estados ((flujo)
Entradas: E (una entrada)
Salidas: S (una salida)
Estados: 4 estados 4 = 2P Î p=2
Nª Biestables: 2
Q1
0
0
0
0
1
1
1
1
Q0
0
0
1
1
0
0
1
1
Ent
(t)
E
0
1
0
1
0
1
0
1
Estado
sig.(t+1)
D1
0
0
1
0
0
1
1
1
Sal
(t)
D0
0
1
0
1
0
1
1
1
S
0
0
0
0
0
0
1
1
26
3.21 DETECTOR DE SECUENCIA “101” (III)
D1
E
D0
E
Q1 Q0
0
1
Q1 Q0
0
1
00
0
0
00
0
1
01
1
0
01
0
1
11
1
1
11
1
1
10
0
1
10
0
1
D0 = E + Q 1 Q 0
S = Q 1Q 0
D1= EQ
E 0 + EQ
E 1
27
3.21 DETECTOR DE SECUENCIA “101” (IV)
Implementación con biestables tipo D y puertas lógicas
E
D0 = E + Q 1 Q 0
D1= EQ0 + EQ1
S = Q 1Q 0
S
D1
CLK CLR
Q1
D0
Q1
CLK CLR
Q0
Q0
CLK
RESET
28
3.21 DETECTOR DE SECUENCIA “101” (V)
Autómata de MEALY
0/0
1/0
0
1/0
1
X/1
0/0
2
1/1
Tabla de transición
entre estados
3
Q1
0
0
0
0
1
1
1
1
0/0
Diagrama de transición entre
estados (flujo)
Entradas: E (una entrada)
Salidas: S (una salida)
Estados: 4 estados 4 = 2P Î p=2
Nª Biestables: 2
Q0
0
0
1
1
0
0
1
1
E
0
1
0
1
0
1
0
1
D1
0
0
1
0
0
1
1
1
D0
0
1
0
1
0
1
1
1
S
0
0
0
0
0
1
1
1
29
3.21 DETECTOR DE SECUENCIA “101” (VI)
S
E
Q1 Q0
0
1
D0 = E + Q 1 Q 0
00
0
0
D1= EQ0 + EQ1
01
0
0
S = Q 1E + Q 1Q 0
11
1
1
10
0
1
30
3.21 DETECTOR DE SECUENCIA “101” (VII)
Implementación con biestables tipo D y puertas lógicas
E
D0 = E + Q 1 Q 0
D1= EQ0 + EQ1
S = Q 1E + Q 1Q 0
D1
CLK CLR
D0
Q1
Q0
Q1
CLK CLR
Q0
CLK
S
RESET
31
3.22 EJEMPLOS DE CIRCUITOS SECUENCIALES (II)
2. Diséñese un contador hasta 10 (módulo 10) síncrono, mediante
un autómata de Moore,
Moore e impleméntese con biestables tipo D
disparados por flanco de bajada, con señal CLEAR, y puertas
lógicas para la red combinacional.
0
9
Autómata de Moore:
Entradas: no tiene entradas
1
8
2
7
3
f
con
Estados: hasta 10 se codifica
4 bits → 4 biestables
10 estados; 10
≤ 2P Î p=4
6
4
5
Nº Biestables
N
Biestables: 4
Salidas: es el estado
Diagrama de flujo
32
3.22 Contador módulo 10 (II)
ESTADO ACTUAL
ESTADO PRÓXIMO
Q3
Q2
Q1
Q0
D3
D2
D1
D0
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
0
0
0
1
1
0
x
x
x
x
x
x
0
0
0
1
1
1
1
0
0
0
x
x
x
x
x
x
0
1
1
0
0
1
1
0
0
0
x
x
x
x
x
x
1
0
1
0
1
0
1
0
1
0
x
x
x
x
x
x
33
3.22 Contador módulo 10 (III)
D0
Q1Q0
D1
Q1Q0
Q3Q2
00
01
11
10
Q3Q2
00
01
11
10
00
1
0
0
1
00
0
1
0
1
01
1
0
0
0
01
0
1
0
1
11
X
X
X
X
11
X
X
X
X
10
1
0
X
X
10
0
0
X
X
D0= Q0
D1= Q1Q0+ Q3Q1Q0
D2
Q1Q0
Q3Q2
00
01
11
10
00
0
0
1
0
01
1
1
0
1
11
X
X
X
X
10
0
0
X
X
D3
Q1Q0
Q3Q
00
01
11
10
00
0
0
0
0
01
0
0
1
0
11
X
X
X
X
10
1
0
X
X
2
D2= Q2Q1+ Q2Q0+ Q2Q1Q0
D3= Q3Q0+ Q2Q1Q0
34
3.22. Contador módulo 10 (IV)
Implementación: puertas lógicas y biestables tipo D disparados por flanco de bajada
D3
CLK CLR
Q3
D2
Q3
CLK CLR
Q2
Q2
D1
CLK CLR
D0
Q1
Q1
CLK CLR
Q0
Q0
CLK
RESET
35
3.23,4,5 EJEMPLOS DE CIRCUITOS SECUENCIALES (III)
3. Una máquina expendedora de billetes de transporte, admite
billetes de 5€ y 20€. El precio del billete unitario es de 15€. La
máquina debe admitir billetes hasta que se alcance o se supere
el precio del billete, en ese momento lo expende y da el cámbio,
si fuese preciso. Diséñese un autómata de Mealy y otro de
M
Moore,
que permita
it construir
st i una máquina
á i de
d estas
st s característ ís
tícas, con el menor número de estados posible.
4. Diséñese una red con salida alta, que detecte si el número de
unos incluido en una secuencia de tres bits es impar.
Constrúyase el sistema utilizando biestables tipo D disparados
por flanco de bajada y puertas lógicas básicas
5 Diséñese un sistema secuencial síncrono utilizando biestables
5.
tipo D disparados por flanco de bajada de la señal de reloj, que
genere en su salida reversiblemente y a voluntad la secuencia
d los
de
l números
ú
pares codificados
difi d con tres
t
bit
bits
36
3.23 MÁQUINA EXPENDEDORA (I)
EJ 3 Autómata de Mealy
Autómata de Moore
ai,bi
ai,bi /ci+1si
ai,bi /ci+1si
ai,bi
Estado/
cisi
ci
20
20
20/15 billlete 5/0
20
0/5
billete
0/10
billete
0/15
billete
0 20
5/0 billete 20/0 billete
5 20
5
5
20/15 billete 10
5/0 0/0
5/0
5
5
10/0
37
3.24 RED DE DETECCIÓN DE NÚMERO DE 1´S (I)
EJ4 Variables
EJ4:
V i bl :
0
0/0
1
0/0
3
0/0
entrada
t d w
salida z
estados: 5 estados; 5 ≤ 2P Î p=3
estado QA QB QC
excitación DA DB DC
1/0 1/0
1/1
0
3 biestables tipo D
1/0
0/1
1/0
2
0/0
4
38
3.24 RED DE DETECCIÓN DE NÚMERO DE 1´S (II)
Estado actual (t)
Entrada (t)
Estado próximo Qi(t+1)=Di
Salida (t)
QA
QB
QC
W
DA
DB
DC
Z
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
39
4. IMPLEMENTACIÓN CANÓNICA DE SS: CONSTRUCCIÓN
CON BIESTABLES,, MUX´ES Y DECODIFICADORES ((I))
Utilización de circuitos que presenten regularidad en su
estructura: multiplexores y decodificadores.
decodificadores
Consideraciones para la implementación del sistema combinacional:
‰
‰
Decodificación
D
difi
ió de
d estados:
t d
l
las
variables
i bl
de estado
d
t d se
toman como entradas a un decodificador → las salidas
serán los estados
Realización del secuenciamiento de los estados mediante
multiplexores → el valor de las variables que determinan el
estado siguiente, variables de excitación, solamente
depende de las entradas al sistema. Esto supone la
utilización de un mux,
mux por cada biestableÎ
–
–
Las entradas de control de los mux´es: variables de estado
Las entradas de los mu
mu´es:
es: funciones combinacionales de las
entradas del sistema
40
4.IMPLEMENTACIÓN CANÓNICA DE SS: CONSTRUCCIÓN
CON BIESTABLES,, MUX´ES Y DECODIFICADORES ((II))
DIAGRAMA DE BLOQUES
Entrada
cc
0
1
2
3
D1
MUX
Q1
Q1
CLK
C1 C0
2
3
D0
MUX
CLK
C1 C0
CLK
…
…
cc
…
0
1
C1
DEC
C0
0
1
2
3
…
Q0
SAL2
Q0
cc
SAL1
…….
41
4.1 EJEMPLOS DE IMPLEMENTACIÓN (I)
1. Diséñese un detector de secuencia, que detecte la
secuencia
i 101 y que una vez detectada
d t t d permanezca en
esa situación hasta que se inicialice. Impleméntese con
p D disparados
p
por f
p
flanco de bajada,
j
, con
biestables tipo
señal CLEAR, y puertas lógicas necesarias para la red
combinacional.
1.
2.
3.
4.
5.
Realícese mediante un autómata de Mealy.
Realícese mediante un autómata de Moore.
Implementación canónica del detector.
Descripción mediante diagramas ASM
Modelado VHDL en los tres estilos de descripción
42
4.11 Detector de secuencia 101 (VIII)
D0= E + Q1Q0
D1= EQ
Q0 + EQ
Q1
SMoore = Q1Q0
SMealy = Q1E + Q1Q0
43
5. ESPECIFICACIÓN DE SS MEDIANTE DIAGRAMAS
ASM (I)
o Los diagramas de flujo son muy útiles para
especificar sistemas secuenciales simples.
o Hasta
H t una docena
d
d estados
de
t d aproximadamente.
i d
t
o Por este motivo,
motivo vamos a presentar otro método
de especificación de sistemas secuenciales: los
diagramas de maquinas de estado algorítmicas o
ASM (“Algorithmic State Machine”).
o Nos
N describen
d
ib
d forma
de
f
sistemática
i t áti y estructurat
t
da el algoritmo de una máquina secuencial
44
5. ESPECIFICACIÓN de SS MEDIANTE DIAGRAMAS
ASM (II)
‰ Estos diagramas expresan detalladamente el algo
algoritmo que se debe de seguir para resolver un
determinado
t rm na o pro
problema.
ma.
‰ Indican:
n
o
p
Los estados por los que puede atravesar el sistema.
Las condiciones
L
di i
que producen
d
transiciones
i i
entre
estados. Entre dos estados hay un ciclo de reloj.
Las señales de salida que se deben producir en cada
estado.
45
5. ESPECIFICACIÓN de SS MEDIANTE DIAGRAMAS
ASM
M (III)
(
)
Un diagrama ASM consta de los siguientes símbolos:
‰ Rectángulos (disponen de un pequeño círculo en el ángulo superior izquierdo, para incluir el nombre).
zIdentifican los estados.
zDentro del rectángulo se especifican aquellas salidas que
se activan siempre que nos encontremos en dicho estado,
estado
con independencia de los valores que tomen las entradas.
‰ Rombos o hexágonos.
g
zPermiten expresar bifurcaciones en el flujo de control.
‰ Óvalos.
Óvalos
zIndican las salidas condicionales.
– Siempre se presentan a continuación de una bifurcación.
bifurcación
46
5. ESPECIFICACIÓN de SS MEDIANTE DIAGRAMAS
ASM (IV)
1.
Secuenciamiento
de estados.
2.
X
X
Y
Si
Z
3.
Bifurcaciones en el flujo de
g
m .
control del algoritmo.
No
¿A=1?
¿A
1?
Z
Y
Salidas condicionales.
X
Si
No
¿A=1?
Z
B:= 1
Y
47
5. ESPECIFICACIÓN de SS MEDIANTE DIAGRAMAS
ASM (V)
Ejemplo
INIC
Si
SAL1:= 1
No
¿Entrada=1?
U
SAL2:=
S
L
1
SAL2:= 1
SAL2
V
48
5. ESPECIFICACIÓN de SS MEDIANTE DIAGRAMAS
ASM (VI)
COMENTARIOS:
1.
Dado que hay salidas condicionales el autómata es de Mealy.
2 Tenemos 3 estados → necesitamos 2 biestables.
2.
biestables
3. Variables:
entrada E
salidas
l d Sall1 Sall2
estados inic,, u,, v
4. Utilizaremos implementación canónica y biestables tipo D
disparados
p
por flanco de bajada.
p
j
49
5. ESPECIFICACIÓN de SS MEDIANTE DIAGRAMAS
ASM (VII)
Tabla de transición entre estados y de salida
Estado actual
Nombre
Q1
INIC:
0
INIC:
0
U:
0
V:
1
Q0
0
0
1
0
Entradas
Entrada
0
1
x
x
Estado siguiente
D1
D0
U:
0
1
V:
1
0
INIC:
0
0
INIC:
0
0
Salidas
Sal1
Sal2
1
0
1
1
0
1
0
0
D0= INIC•E= Q1Q0E
D1= INIC•E= Q1Q0E
Sal1= INIC= Q1Q0
Sal2= INIC•E+ U= Q1Q0E+ Q1Q0
50
5. ESPECIFICACIÓN de SS MEDIANTE DIAGRAMAS
ASM (VIII)
Implementación canónica del ejemplo
Entrada
00
01
10
11
D1
MUX
4:1
CLK
C1 C0
Q1
Q1
C1
DEC
C0
00
01
10
11
D0
MUX
4:1
CLK
C1 C0
00
01
10
11
Q0
SAL2
Q0
CLK
SAL1
51
5.11 DETECTOR DE SECUENCIA “101” (IX)
1. Diséñese un detector de secuencia, que detecte la
secuencia
i 101 y que una vez detectada
d t t d permanezca en
esa situación hasta que se inicialice. Impleméntese con
p D disparados
p
por f
p
flanco de bajada,
j
, con
biestables tipo
señal CLEAR, y puertas lógicas necesarias para la red
combinacional.
1.
2.
3.
4.
5.
Realícese mediante un autómata de Mealy.
Realícese mediante un autómata de Moore.
Implementación canónica del detector.
Descripción mediante diagramas ASM
Modelado VHDL en los tres estilos de descripción
52
5.11 DETECTOR DE SECUENCIA “101” (X)
Autómata de MEALY
0/0
Autómata de MOORE
1/0
0
1/0
1
X/1
0/0
2
1/1
3
0
0/0
0/0
1
1
1/0
x
0
2/0
1
3/1
0
53
6. MODELADO VHDL DE MÁQUINAS DE ESTADOS
FINITOS ((FSM)) ((I))
• Modelos de Moore y Mealy
• Metodología de diseño de FSM
- Modelo Comportamiento (Algorítmico)
- Señales de Reset
- Varios PROCESS
- Modelo Flujo de datos (Transferencia entre registros)
- Modelo
M d l estructural
t
t
l
54
4. METODOLOGÍA DE DISEÑO DE (FSM´S) (II)
Niveles de Descripción
asociados con los HDLs
1) Diagrama o Tabla de estados, diagrama
ASM
Entrada
Entrada
}
Entrada/salida
Estado
Estado
Salida
lida
Moore
Entrada/salida
Comportam ento o
Comportamiento
algorítmico
Estado
Estado
Mealy
2) Ecuaciones del estado futuro y salidas
D1(t+1) = C1(t) A(t) + C0(t) A(t)’+ ......
D0(t+1) = C1(t) B(t) + C0(t) B(t)’+ ......
X(t) = ........
Y(t) = ................
3) Implementación del circuito: instanciación de
componentes y conexionado
Dispositivos lógicos (puertas: NOT, AND... MUX, DECODERS, .....)
Elementos de memoria ((biestables))
}
Flujo de datos o
Transferencia entre
registros
i
}
Estructural
55
4. MODELO ALGORÍTMICO DE UNA FSM (III)
• Consideraciones Generales:
ƒ
ƒ
ƒ
ƒ
El estilo del código tiene que ser independiente de
la máquina de estados que se diseñe.
Diferentes formas de modelar la misma máquina:
ƒ
Número de procesos PROCESS
ƒ
Sentencias IF o CASE
ƒ
Uso de señales o de variables
ƒ
El uso de la sentencia WAIT o lista de sensibilidad
¿Debe
¿D
b ser
s
i i i li d la
inicializada
l máquina
má i
en un estado
st d
válido? ¿Hay que utilizar señal de reset?
Portabilidad del código
56
4. MODELO ALGORÍTMICO DE UNA FSM (IV)
• MODELO DE MEALY
•
DOS PROCESOS: uno para la generación del estado futuro y
de la salida y otro para la actualización de la memoria
S lid futuro:
Salida,
f t
PROCESS (entrada,
( t d e_actual)
t l)
salida <=
ENTRADAS
SALIDAS
CIRCUITO
COMBINACIONAL
e_futuro <=
Actual: PROCESS (reset,
(reset clok)
Estado actual
MEMORIA
(Biestables)
Estado futuro
RELOJ
e_actual
t l <=
57
4. MODELO ALGORÍTMICO DE UNA FSM (V)
• MODELO DE MOORE
•
TRES PROCESOS
PROCESOS: uno para la generación del estado futuro
otro para la generación de la salida y el tercero para la
actualización de la memoria
CIRCUITO
COMBINACIONAL
Salida: PROCESS (e_actual)
salida <=
ENTRADAS
Futuro: PROCESS (entrada, e_actual)
Futuro
e actual)
e_futuro <=
Actual: PROCESS (reset,
(reset clok)
e_actual <=
SALIDAS
CIRCUITO
COMBINACIONAL
MEMORIA
(Biestables)
Estado actual
Estado futuro
Reloj
58
4. MODELADO ALGORÍTMICO DE UNA FSM (VI)
•
Uso de señales o de variables: los estados deben definirse con un
tipo de datos enumerado y deben ser señales para que puedan
comunicar procesos
•
Sentencias IF o CASE: los estados deben modelarse con sentencia
CASE y las transiciones con sentencias IF
•
¿Debe ser inicializada la máquina en un estado válido?: es
recomendable que se inicialice en un estado inicial
•
¿Hay que utilizar señal de reset?: es recomendable
•
La señales q
que activan PROCESS deben ir en la lista de
sensibilidad o en WAIT:
‰
‰
En la generación de las salidas y/o el estado futuro, deben
incluirse
l
todas
d las
l señales
l que entran en ell bloque
bl
En el bloque de memoria se incluirá siempre el reloj y la señal
reset si es asíncrona
reset,
asíncr na
59
4. MODELADO EN FLUJO DE DATOS DE UNA FSM (VII)
• Se parte de las ecuaciones lógicas
• Se utilizan sentencias de asignación concurrente de
señal
• ¿Hay que utilizar señal de reset?: es recomendable
• La señales que activan PROCESS deben ir en la lista de
sensibilidad o en WAIT
WAIT:
– Generación de las salidas y/o del estado futuro
((entradas a los biestables))
– Di <=
– Si <=
– Generación del estado actual (reloj y reset)
– Qi <= ( ….reset, rrising
s ng_edge,
edge, fall
fallinf
nf_edge…..)
edge…..)
60
4. MODELADO ESTRUCTURAL DE UNA FSM (VIII)
•
Se debe disponer, en la librería WORK,
de los
componentes necesarios para la implementación.
implementación
• Se instacian y se conectan con las señales adecuadas
• Biestables,
Biestables puertas,
puertas muxe
muxe´ss, decoder
decoder´ss ,…..
– POR MAP
61
6.1 EJEMPLOS DE MODELADO VHDL (XI)
1. Diséñese un detector de secuencia, que detecte la
secuencia
i 101 y que una vez detectada
d t t d permanezca en
esa situación hasta que se inicialice. Impleméntese con
p D disparados
p
por f
p
flanco de bajada,
j
, con
biestables tipo
señal CLEAR, y puertas lógicas necesarias para la red
combinacional.
1.
2.
3.
4.
5.
Realícese mediante un autómata de Mealy.
Realícese mediante un autómata de Moore.
Implementación canónica del detector
Descripción mediante diagramas ASM
Modelado VHDL en los tres estilos de descripción
62
6.11 DETECTOR DE SECUENCIA “101” (XII)
AUTÓMATA DE MEALY
0/0
1/0
0
1/0
X/1
0/0
1
2
1/1
3
0/0
AUTÓMATA DE MOORE
0
0/0
1
1
1/0
x
0
2/0
1
3/1
0
63
6.11 Detector de secuencia “101” (XIII)
•RESET
•RESET
64
6.11 Detector de secuencia “101” (XIV)
•RESET
•RESET
65
6.11 Detector de secuencia “101” (XV)
•and2_1
d
•and2_2
d
AUTÓMATA DE MEALY
0/0
1/0
0
1/0
/
X/1
0/0
/
1
•and2_3
2
1/1
/
3
0/0
AUTÓMATA DE MOORE
0
0/0
1
1
1/0
x
0
2/0
1
•or2 1
•or2_1
3/1
•aux
1
•aux
•and2_2
2
•aux
2
•aux
3
0
•or2_3
•or2_2
66
6.11 Detector de secuencia “101” (XVI)
67
7.ANÁLISIS Y SÍNTESIS DE SISTEMAS SECUENCIALES (I)
Dos formas contrapuestas de abordar el estudios de los
sistemas secuenciales:
a. Síntesis o construcción de sistemas secuenciales: partiendo de
una especificación encontrar el sistema cuya implementación
cumpla los requerimientos exigidos.
b Análisis de sistemas secuenciales: a la vista
b.
implementación, indicar la operación que realiza
de
una
68
7.ANÁLISIS Y SÍNTESIS DE SISTEMAS SECUENCIALES (II)
EJEMPLOS de ANÁLISIS
VDD
P
P
D0
Q0
T1
CLK
Q1
CLK
Q0
C
C
Q1
reset
CLK
VDD
69
7.ANÁLISIS Y SÍNTESIS DE SISTEMAS SECUENCIALES (III)
EJEMPLOS de ANÁLISIS (II)
•x*y
•00
•x*y
•01 MUX
•x
•10
•x
•11
•QA
•0
•00
•x
•01 MUX
•x
•10
•x
•D
•○
•0
•00
•1
•01 MUX
•0
•10
•1
•11
•QA
•CLK
•QB
•QB
•D
DB
•D
•○
•QB
•CLK
CLK
•11
•QA
•QA
•D
DA
•QB
•Z
Z
70
Descargar