Descripción: Publicado originalmente el 05/03/2012 en http://www.crecenegocios.com/el-estado-de-resultados
Guía de trabajo
Descripción completa
Descripción: estado de liquidacion
Unidad de estado sólidoDescripción completa
Ensayo Golpe de estado Chile
FonoaudiologiaDescripción completa
Violencias de Estado [Calveiro]Full description
Fisica
una imagenDescripción completa
Descripción completa
estados bancarios de cuentas
Maquinas de estado algorítmicas
Miguel Melgarejo
Facultad de Ingeniería Universidad Distrital Francisco José de Caldas
Documento entregado bajo licencia GPL
Contenido • Definiciones • Ejemplos • Modelado de Maquinas de estado algorítmicas • Modelo circuital y modo de operación • Implementación
Contenido • Definiciones • Ejemplos • Modelado de Maquinas de estado algorítmicas • Modelo circuital y modo de operación • Implementación
Definiciones Algoritmo Según el MW: Procedimiento que se ejecuta paso a paso para resolver un problema o lograr un fin determinado. Ej.: El algoritmo de Booth ( lección 2)
Clasificación de los algoritmos Según su funcionalidad:
Definiciones Maquina de estados Conjunto de estados, transiciones, entradas y salidas que permite modelar la dinámica de un fenómeno particular. Maquina de estados digital Maquina de estados que permite modelar la dinámica de un circuito digital.
Definiciones Maquina de estados algorítmica (Algorithmic State Machine, ASM) Maquina de estados que se emplea para modelar un algoritmo. En el contexto de este curso las ASMs emplearán maquinas de estado digitales.
Definiciones Diagrama ASM Modificación del diagrama de estados para representar apropiadamente un algoritmo. Se representan tres tipos de estado: 1.Estados de acción 2. Estados de decisión 3. Estados de acción – decisión.
Definiciones Estado de acción Estado en el cual se ejecuta una operación. Estado anterior Particularidades: C <= A + B Z <= X * Y
• Puede haber varias asignaciones Concurrentes • Las asignación tienen lugar en la transición de salida del estado.
S j Estado futuro
Definiciones Estado de decisión Estado en el cual se evalúa una condición que permite seleccionar : uno de dos estados futuros o una de dos posibles acciones. Estado anterior
S j
Particularidades: 1
0 A = 0
z <= x + y Ef (1)
• Tanto la condición como la asignación que tenga lugar se evalúan en la transición de salida del estado. z <= x - y Ef (2)
Definiciones Estado de acción-decisión S j
m <= k * n t <= p + r
Las asignaciones y las condiciones tienen lugar en la transición de salida del estado.
A = 0
z <= x + y
Particularidades:
z <= x - y
Definiciones Bloques Incorrectos !!!
s1
0 0
1
0
1
1 0
s2
s3
1
Ejemplos Contador de unos Algoritmo para obtener el numero de unos en una palabra de n-bits.
Inicio, iniciar con una señal de aviso { Capturar dato A, Repetir hasta que A sea igual a cero { si el bit más significativo en A es uno hacer cuenta = cuenta + 1 desplazar A hacia la izquierda } Mostrar cuenta Volver a inicio }
Ejemplos A <=0 C <=0 F <=0
ASM contador de unos 1. Si i = 0 entonces A=0, C=0, F=0,Ct =0 si no, 2. A <= dato 3. F <= A(3) 4. Si F =1 entonces C <= C + 1 si no, nada 5. A <= A << (desplazamiento izquierda) 6. Si A = 0, vaya al paso siete, si no vaya al paso tres, 7. Ct <= C, vaya al paso uno.
S0
i=0
1
0
A <= dato F <= A(3)
S1 S2 S3
F=1
C <= C+1
Nota: S4
Señales que provienen del exterior Dato e i . Ct <= C S6
A <= A <<
1
A=0
0
S5
Ejemplos Juego de ruleta T1
T2
TN
1. 2. 3.
La posición inicial se define aleatoriamente Luego se da una rotación a derecha La velocidad de rotación se hace cada vez más lenta hasta que la bola se detiene
Ejemplos Juego de ruleta begin --inicio pos = rand --generar posición ala azar rul(pos) = 1 --Cargar la posición con uno while dem < N -- bucle hasta que el retardo sea mayor a N { rotd(rul) -- rotar dato ( desplazar bit) while cont < dem -- bucle de retardo {cont++ } led = rul -- Se visualiza la ruleta cont = 0 --inicializo contador de retardo dem++ --incremento el retardo }
Ejemplos Pos = 0 Rul = 0 Dem =0 Cont =0
Juego de ruleta •
No
Pseudo-codigo:
•
begin
•
pos = rand S1
•
rul(pos) = 1 S2
•
S0
Si
i=0
s0
Cont < dem
Si cont = cont +1
No
while dem < N S3
•
s6
s1 Pos = rand
{ rotd(rul) S4
•
while cont < dem S5
•
{ cont++}S6
•
led = rul S7
•
cont = 0 S8
• •
s5
s2 rul(pos)=1
s3 Dem < N
dem++ S9
Led = rul
No
Cont = 0
s7
s8
} s4
Nota : • Señales que provienen del Exterior: rand e i
Rul = Rul(n-2..0)&Rul(n-1)
Dem = dem +1
s9
Modelado de ASMs Metodología para modelar ASMs: 1. Plantee un algoritmo estructurado 2. Para cada paso del algoritmo defina un estado. 3. Defina el diagrama ASM 4. Reduzca estados Punto crítico: (1)!!
Modelado de ASMs ASMs estructurados No hay transiciones entre bucles
Estructurado
No estructurado
Reducción de estados z <= a + b z <= a + b W <= p – q W <= p – q
Sentencias concurrentes
Las sentencias deben ser independientes en el sentido lógico
Reducción de estados s0
x=x +1
x <= x + 1
sj
s1 x=6
X=6
En este caso :
En este caso :
• (s0) Primero se incrementa X • (s1) Luego se pregunta si x es Igual a seis.
(sj) Se incrementa x y se pregunta si x está en seis ( valor antes del incremento)
Reducción de estados Estados tipo Moore
Estados tipo Mealy
s0 J=L
J=0
J=L
J=J+1 s1
Se dice que un ASM es Moore, Si todos sus estados de decisión son estados Moore
s2
J=0
J=J+1
Se dice que un ASM es Mealy, Si uno o más estados de decisión son estados Mealy.