Está en la página 1de 20

Mquinas de estado con VHDL

Ing. Diego Barragn Guerrero http://www.matpic.com

Introduccin
La seccin combinacional, tiene dos entradas:

pr_state estado presente! " la se#al de entrada e$terna input!.%dems posee dos salidas: n$_state estado siguiente! " salida e$terna.
La seccin secuencial tiene tres entradas: cloc&,

reset " n$_state " una salida: pr_state.


'i la salida de la m(uina depende no solo del

estado presente sino tambi)n de la entrada actual, se denomina m(uina de estado de *eal". 'i la m(uina depende solo del estado actual, se denomina m(uina de *oore.

1stilo de dise#o 2
Diseo de la seccin inferior (secuencial) Los ++ estn en la seccin in,erior, de tal ,orma (ue el relo- " reset se

conecta a ella.
'iendo la seccin in,erior secuencial, es necesario un .roceso, en el

cual se puede usar cual(uier sentencia secuencial.


/na plantilla t0pica de dise#o de la seccin in,erior se muestra a

continuacin.

3eset as0ncrono

3egistro s0ncrono

1stilo de dise#o 2
Diseo de la seccin superior

(Combinacional) cosas:

1l cdigo contiene dos


a! %signacin a la salida4 b! 1stablecimiento de

estado siguiente.
5bser6ar (ue no ha"

asignacin a se#al hecha en la transicin de otra se#al, de modo (ue no se in,ieren ++.

1stilo de dise#o 2: .lantilla


7ipo enumerado: contiene todos los estados.

'eccin secuencial. 'eccin 8ombinacio nal.

1-emplo 2: contador B8D.


/n contador es un e-emplo de una m(uina de *oore, "a (ue la

salida depende solo del estado presente.

1-emplo 9: +'* simple.

1-emplo 9: +'* simple.

$: a

D: 2

D: ;

1stilo de dise#o 9
1n 1n 1n

el primer estilo de dise#o, solo el estado presente estado_pr! es almacenado.

este caso, si se usa una m(uina de *eal" la salida depende de la entrada actual!, la salida cambia cuando la entrada cambia salida as0ncrona!. muchas aplicaciones, las se#ales deben ser s0ncronas, de modo (ue la salida debe actuali<arse solo cuando e$iste un pulso de relo-. hacer una m(uina de *eal" s0ncrona, la salida deber ser almacenada tambi)n.

.ara

1l estilo de dise#o 9, usa una se#al adicional para contener el 6alor de la salida en la seccin superior!, pero solo pasa este 6alor a la salida cuando un e6ento de relo- ocurre seccin

1stilo de dise#o 9: .lantilla


1l estilo de dise#o 9, usa una se#al adicional para contener el 6alor de la salida en la seccin superior!, pero solo pasa este 6alor a la salida cuando un e6ento de relo- ocurre seccin in,erior!.

La asignacin de la salida solo se e-ecuta al pulso de relo-.

1stilo de dise#o 9: +'* simple.

1stilo de dise#o 9: +'* simple.

8uando una se#al es almacenada, su 6alor permanece esttico entre

dos ,lancos de relo-. .or lo tanto, si la entrada a o b! cambia durante este inter6alo, el cambio no se obser6ar por el circuito.

1-emplo: Detector de secuencia.


1l circuito tiene como entrada una cadena serial de bits " su salida ser 2

cuando la secuencia =222= ocurra. 1n caso de solapamiento, esto es, una secuencia ;22222; suceda, la salida debe mantenerse acti6a por tres ciclos consecuti6os de relo-.

1-emplo: Detector de secuencia.

'olapamie nto, la salida sigue siendo 2.

1-emplo: Detector de secuencia 7B!.


In: ? 222?

5ut: ? ;;2?

>otar (ue la salida no depende de la entrada actual. 7odas las asignaciones a ( son incondicionales esto es, no dependen de d!. .or lo tanto, la salida es automticamente sincroni<ada.

1-emplo: controlador de sem,oro.

'e asume (ue la ,recuencia de relo- es @;A< tomada de la misma ,uente de poder!.

1-emplo: controlador de sem,oro.

1-emplo: controlador de sem,oro.

.ara 6isuali<ar la salida de ,orma ptima, se ha

modi,icado el 6alor de todas las contantes a B, e$cepto el 6alor de time7est, (ue 6ale 2. 'e espera (ue el sistema cambie de estado cada tres ciclos de relo- cuando est en modo de operacin regular, o cada ciclo de relo- si est en mode 7est.

1-emplo: generador de ,unciones.


'e

dise#ar dos m(uinas de estado, una (ue operar e$clusi6amente en la transicin positi6a del relo- " otra (ue operar e$clusi6amente en el ,lanco negati6o. 1sto generar la se#al alternati6a out 2 " out9 . 1stas se#ales sern tratadas con la operacin and para obtener la se#al deseada. (ue el circuito no posee entradas e$ternas e$cepto la se#al de relo-!, de modo (ue la salida cambiar solo cuando la se#al de relo- cambie salida s0ncrona!.

>otar

1-emplo: generador de ,unciones.

; 2

2 ;

2 2

También podría gustarte