Documentos de Académico
Documentos de Profesional
Documentos de Cultura
08 - Taller FSMD
08 - Taller FSMD
Departamento de Electrónica
System on Chip
Una manera de calcular fib(i) es construir una función iterativa, desde 0 hasta el i-ésimo
término deseado. Esta aproximación requiere dos registros temporales para almacenar dos
los números de Fibonacci más recientes (fib(i-1) y fib(i-2)), y un registro adicional que
almacena el índice i para llevar la cuenta del número de iteraciones. Construya un módulo
parametrizable para calcular una secuencia de Fibonacci de hasta seis dígitos utilizando una
máquina de estados finitos con camino de datos (FSMD). El parámetro recibido como
entrada será el número de iteraciones deseadas, con un máximo de 31 que corresponde al
número 832,040 (la siguiente iteración, i=32 corresponde al número 1,346,269). El módulo
recibirá una señal de disparo por un ciclo de reloj, que iniciará el cálculo. Verifique el
funcionamiento el módulo en simulación. La generación de los dígitos de Fibonacci
sucederá a la velocidad máxima posible.
2. Modifique el módulo anterior para generar una interfaz con el usuario. El módulo deberá
recibir de la tarjeta, además del reset asincrónico, una señal adicional de habilitación
mediante un botón, el cual disparará el cálculo de la secuencia cuando sea oprimido. El
sistema deberá recibir el número de iteraciones deseadas mediante los switches de la
tarjeta. El módulo deberá mostrar el número calculado utilizando los displays 7-segmentos
y permitir la visualización de cada uno de ellos por 1 segundo. Una vez se cumplan las
iteraciones deseadas, deberá encender un LED indicando fin de la operación, quedando en
modo stand-by, hasta recibir un nuevo número máximo de iteraciones y señal de disparo
del botón.