Laboratorio 5
Tema: FSM y Sincronizadores de Frecuencia
Materiales:
Control de SNES(lo puede comprar en san andresito la isla).
DE0-NANO.
Matlab.
Duración: 2 Semanas, desde el 21 de Marzo hasta miercoles 8 de Abril
Recuerde preguntar, no deje para ultimo momento!!!
Procedimiento:
El diseño para este laboratorio es el siguiente:
Como vio en el anterior diseño solo se deben diseñar dos FSM de las cuales
FSM_SNES_DECODER: debe generar una señal de latch y un clock para guardar bit a bit los datos que arroja el control del SNES, y ponelos a la salida State_buttons.
esta FSM funcionara con un reloj de 50MHz, y debe respetar los tiempos estipulados en el diagrama "SNES timing Diagram", que dice que el reloj generado debe ser de 12 us por captura. Practicamente, la FSM debe generar Latch, y clock para tomar lo que viene en el tiempo por data y concatenarlo en un registro hasta obtener el estado de cada uno de los botones del control de SNES.
Musical FSM: Esta maquna de estados debe recibe el estado de los botones UP, A, X; L; R; B;Y, Start y Select.
Cuando la FSM recibe un pulso de A, la FSM debe generar a la salida AUDIO[7:0] la siguiente cancion controlando la entrada de un divisor de frecuencia(El de entrada variable que vimos en clase), las notas de cada cancion con las frecuencias y los tiempos esta en el siguiente documento.
Cuando la FSM recibe un pulso de X, debe generar una escala de DO a la salida de audio, es decir, que si se oprime sonara, DO, RE, MI, FA,SOL, LA ,SI, DO2, con tiempos de separacion de 0.5 seg.
Cuando la FSM recibe un pulso de L, se debe sintetizar el sonido de una cuerda de una guitarra real(el sonido en el fret 1 nota high E), teniendo en cuenta el siguiente algoritmo en matlab, teniendo en cuenta que este sonido debe generarse a una velocidad de 44100 Hz. Para definir los parametros de la nota se debe usar esta tabla y esta imagen.
Cuando la FSM recibe un pulso de R, se debe sintetizar el sonido de una cuerda de una guitarra real(el sonido en el fret 1 nota B),
Cuando la FSM recibe un pulso de B, se debe sintetizar el sonido de una cuerda de una guitarra real(el sonido en el fret 1 nota G),
Cuando la FSM recibe un pulso de Y, se debe sintetizar el sonido de una cuerda de una guitarra real(el sonido en el fret 1 nota D),
Cuando la FSM recibe un pulso de Start, se debe sintetizar el sonido de una cuerda de una guitarra real(el sonido en el fret 1 nota A),
Cuando la FSM recibe un pulso de Select, se debe sintetizar el sonido de una cuerda de una guitarra real(el sonido en el fret 1 nota Low E),
Black_box: Utilice la que implemento en el Lab 4.