Professional Documents
Culture Documents
Miguel Melgarejo
Contenido
! Definiciones ! Ejemplos ! Modelado de Maquinas de estado algortmicas ! Modelo circuital y modo de operacin ! Implementacin
Definiciones
Algoritmo Segn el MW: Procedimiento que se ejecuta paso a paso para resolver un problema o lograr un fin determinado. Ej.: El algoritmo de Booth ( leccin 2)
Definiciones
Maquina de estados Conjunto de estados, transiciones, entradas y salidas que permite modelar la dinmica de un fenmeno particular. Maquina de estados digital Maquina de estados que permite modelar la dinmica de un circuito digital.
Definiciones
Maquina de estados algortmica (Algorithmic State Machine, ASM) Maquina de estados que se emplea para modelar un algoritmo. En el contexto de este curso las ASMs emplearn maquinas de estado digitales.
Definiciones
Diagrama ASM Modificacin del diagrama de estados para representar apropiadamente un algoritmo. Se representan tres tipos de estado: 1.Estados de accin 2. Estados de decisin 3. Estados de accin decisin.
Definiciones
Estado de accin Estado en el cual se ejecuta una operacin.
Estado anterior Particularidades: C <= A + B Z <= X * Y ! Puede haber varias asignaciones Concurrentes ! Las asignacin tienen lugar en la transicin de salida del estado. Estado futuro
Sj
Definiciones
Estado de decisin
Estado en el cual se evala una condicin que permite seleccionar : uno de dos estados futuros o una de dos posibles acciones.
Estado anterior
Sj
Particularidades: 1 A=0 0 ! Tanto la condicin como la asignacin que tenga lugar se evalan en la transicin de salida del estado.
z <= x + y Ef (1)
z <= x - y Ef (2)
Definiciones
Estado de accin-decisin
Sj
m <= k * n t <= p + r
Particularidades: Las asignaciones y las condiciones tienen lugar en la transicin de salida del estado.
A=0
z <= x + y
z <= x - y
Definiciones
Bloques Incorrectos !!!
s1 0 0 1 0 1 0 1 1
s2
s3
Ejemplos
Contador de unos Algoritmo para obtener el numero de unos en una palabra de n-bits.
Inicio, iniciar con una seal de aviso { Capturar dato A, Repetir hasta que A sea igual a cero { si el bit ms significativo en A es uno hacer cuenta = cuenta + 1 desplazar A hacia la izquierda } Mostrar cuenta Volver a inicio }
Ejemplos
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. Nota:
S4 S0
0 A <=0 C <=0 F <=0
i=0
S1 S2 S3
C <= C+1
A <= A <<
1
A=0
S5
T2
TN
La posicin inicial se define aleatoriamente Luego se da una rotacin a derecha La velocidad de rotacin se hace cada vez ms lenta hasta que la bola se detiene
Ejemplos
Juego de ruleta
begin --inicio pos = rand --generar posicin ala azar rul(pos) = 1 --Cargar la posicin 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
Juego de ruleta
! ! ! ! ! ! ! ! ! ! ! ! Pseudo-codigo: begin S0 pos = rand S1 rul(pos) = 1 S2 while dem < N S3 { rotd(rul) S4 while cont < dem S5 { cont++}S6 led = rul S7 cont = 0 S8 dem++ S9 } s4 Nota : ! Seales que provienen del Exterior: rand e i
Pos = 0 Rul = 0 Dem =0 Cont =0
s5 No s0
Cont < dem
Si
i=0 No
Si cont = cont +1 s6
Led = rul
s7 s8
No
Cont = 0
Rul = Rul(n-2..0)&Rul(n-1)
Dem = dem +1 s9
Modelado de ASMs
Metodologa 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 crtico: (1)!!
Modelado de ASMs
ASMs estructurados No hay transiciones entre bucles
Estructurado
No estructurado
Reduccin de estados
z <= a + b z <= a + b W <= p q W <= p q Sentencias concurrentes
Reduccin de estados
s0 x <= x + 1 sj
x=6
X=6
x=x +1
s1
En este caso : ! (s0) Primero se incrementa X ! (s1) Luego se pregunta si x es Igual a seis.
En este caso : (sj) Se incrementa x y se pregunta si x est en seis ( valor antes del incremento)
Reduccin de estados
Estados tipo Moore s0
J=L J=L
J=0 s1
J=J+1
s2
J=0
J=J+1
Se dice que un ASM es Moore, Si todos sus estados de decisin son estados Moore
Se dice que un ASM es Mealy, Si uno o ms estados de decisin son estados Mealy.
Camino de datos
realimentacin
Salidas de control
Ejemplo
ASM para calcular la funcin: y=x2+1
x=0 p1=0 y=0 i=1 s0
s1
s0
s1 x = ent
s2
0 D 1
e clk rst
Ent
CEF
Q
clk rst
CS
s2
0 ^2
e1
0 D 1
e clk rst
clk Reset
p1 0 +1
0 D 1
e clk rst
e2
Modo de operacin
clk rst s0 i=1 s1 0 s2 ^2
e1
0 D 1
e clk rst
0 Ent 0
0 D 1
e clk rst
0 s3 0 +1 0
p1
clk
0 D 1
e clk rst
Modo de operacin
clk rst s0 i=1 s1 e = 001 s = 001 ^2
e1
i=0
0 Ent 1
0 D 1
e clk rst
Ent
Q
0 D 1 Q
s2
e clk rst
p1
s3
clk
0 +1 0
0 D 1
e clk rst
Modo de operacin
clk rst s0 i=1 s1 0 s2 e = 010 s= 010 ^2
e1
0 D 1
e clk rst
i=0
0 Ent 0
0 D 1
e clk rst
Ent
Q
Ent^2
Q
1 0 +1 0
p1
s3
clk
0 D 1 Q
e clk rst
Modo de operacin
clk rst s0 i=1 s1 0 s2 ^2
e1
0 D 1 Q
i=0 clk
0 Ent 0
0 D 1
e clk rst
e clk rst
p1
s3
e = 100 s = 100
0 +1 1
0 D 1
e clk rst
(Ent^2)+1 y
Modo de operacin
Referencias
Esta leccin se basa en las siguientes obras de referencia: !D. Gajski, Principios de diseo digital, Prentice Hall, 1999, Cap 8, sec 8.1-8.4 !S. Brown, Fundamentos de lgica digital con diseo VHDL, McGraw Gil, 2006, Cap 10, sec 10.2