Sie sind auf Seite 1von 5

INSTITUTO TECNOLÓGICO DE DURANGO

Práctica - Contador Gray


Diseño Digital con VHDL
Ing. Miguel Ángel Esparza Ávila

19 de Octubre del 2016


De la Rosa Flores
14040953
MAQUINAS DE ESTADO - CONTADOR GRAY

INTRODUCCION
Ésta práctica implementaremos por primera vez el uso de máqunas de estado en
código VHDL, por la naturaleza del diseño veremos que es escencial tener plasmado nuestro
diseño preferentemente en formato de diagrama de estados, para poder ver como utilizando
una cierta estructura la máquina de estados resulta correcta, debido al proceso que seguimos
al diseñarlo, no esperamos tener muchas complicaciones lógicas de su funcionamiento.

OBJETIVO

Como hemos mencionado, el objetivo de esta práctica es asimilar la estructura de


diseño que se sigue cuando se realiza una implementación secuencial, el formato de código
básico que tenemos que tener presente luego de asentar nuestro diseño, para poder
implementar una máquina de estados finita en código VHDL.

MARCO TEÓRICO

Como ya sabemos, una máquina de estados


Mealy, representa una en la cual su salida depende
del estado actual, Y de las entradas del sistema,
siendo un contador una máquina secuencial, nuestro
diagrama de estados es en su diseño una máquina
Moore, pues depende solamente del estado actual.

DE LA ROSA

DISEÑO

Podemos observar que nuestros estados son cada dígito del código Gray, y las salidas no
representan una diferencia pues el circuito solo tiene una entrada, que funciona para que
avance en ambos sentidos.

Como vemos aquí, se señalan todos los caminos que


salen y que van hacia UNO, y podemos ver que estando
en el, según sea X o X', avanzamos o retrocedemos
estado.

En el siguiente fragmento de código podemos observar dos elementos clave, el primero es el
bloque que acciona estado previo<->estado siguiente, esto se realiza mediante un proceso,
sensible a reset y a nuestra señal de reloj, en cada transición positiva, haremos que el que fue
nuestro estado siguiente, sea el estado previo.

La segunda sección de código es el


formato para poder realizar una
máquina de estados, observando la
estructura, vemos que como entero, es
un proceso, sensible a nuestra entrada
de dirección y a nuestro estado previo,
el cuál manipulamos continuamente en
el proceso anterior, con un selector
case, escogemos depende al estado en
el que estemos (estado previo), si
vamos a avanzar o a retroceder (con un
if), según tengamos nuestra entrada X.

Así, y ordenando los estados uno por


uno, el case se encarga de seleccionar
qué activamos en la salida según que
estado estemos, y cuales siguen según
el orden y nuestra entrada X.

CONCLUSION

Haciendo retrospectiva al formato del código, no es para nada complicado


realizar la estructura, pues es un cierto bloque que asigna los estados, y otro
bloque con las secciones que se repiten para establecer salida y estado siguiente
según estado actual, (repitiendo esta pequeña con cuantos estados tengamos),
pero llegar a esta lógica hubiera requerido de mucho tiempo muerto y errores de
lógica si no se asentaba primero, he aquí el verdadero peso de fragmentar
nuestro diseño en orden y verbalizar para poder tener una idea funcional
completamente bien estructurada antes de implementarlo.

Das könnte Ihnen auch gefallen