Paso 3: Atar juntos los componentes
Después de diseñar todos los módulos necesarios de VHDL, estos componentes deben conectarse entre sí. El diagrama de bloques anterior muestra cómo se conectan estos componentes.
Ahora vamos a discutir por qué estos componentes están conectados de la manera que son.
Parte 1: Incremento de frecuencia
Permite comenzar con 1 botón, que aumenta la frecuencia de tono actual. Primero esta entrada tiene que pasar por un debouncer, por lo que la señal sólo se activa una vez por cada pulsación. A continuación, la señal debounced es enviada al módulo generador de pulso. Esto asegura que el tono actual se le incrementa una vez y sólo una vez con cada pulsación. La salida del generador de impulsos va al contador, que almacena y aumenta el tono actual. La salida del contador va al módulo de sseg_dec, de modo que la frecuencia actual se muestra en display de siete segmentos del Consejo Nexys2. La salida se envía también a la entrada de cada flip-flop D, listo para ser "salvo" al ritmo correspondiente.
Parte 2: Conmutar reproducción y pausa
A continuación podemos examinar cómo el botón 3, que permite alternar entre reproducción y pausa, conecta al circuito. Primero la señal pasa a través de un debouncer para asegurar que el Estado sólo cambia una vez por cada pulsación. La salida de la debouncer conecta al circuito botón de alternar, que las transiciones entre alta y baja cada vez que la entrada va de bajo a alto (es decir, cada vez que se pulsa el botón). La toma de contador de 3 bits utiliza la salida de la palanca del botón como una señal de enable, así que cuando la palanca es alta, el contador se incrementará continuamente. En otras palabras, la salida de la palanca indica si el circuito está en estado de reproducción o pausa. El contador realiza un seguimiento de ritmo actual desempeñado por el sintetizador.
El contador está conectado a un divisor de frecuencia por lo que incrementa a una velocidad razonable. La velocidad a la que los incrementos de contador es también representante de los BPM (beats por minuto) del sintetizador. La salida del contador se conecta con el LED sobre los interruptores en el tablero Nexys2, dando una indicación fácil de que ritmo se está reproduciendo actualmente. La salida va también hacia la señal de selección del multiplexor. El propósito del multiplexor se explicará en la parte 4.
Parte 3: D flip-flop
Las chanclas D representan una parte fundamental del sintetizador. Cada flip-flop representa uno de los ocho ritmos diferentes. Cada flip-flop almacena tres bits que representan el tono juega en esa ceñida. Cada vez que la señal de enable es alta, el flip-flop actualizará su salida Q a todo lo que está conectado a su entrada D. En este circuito, la D está conectada a cualquier frecuencia es almacenado actualmente en el contador en la parte 1. La señal habilitadora está conectada a y puerta y, lo que significa la señal habilitadora será alta cuando ambas de las entradas relevantes son verdaderas. La primera entrada es el interruptor correspondiente a ese ritmo. La segunda entrada es el botón 2, el botón "Guardar". En otras palabras, para introducir una nueva frecuencia a un cierto ritmo, el usuario debe activar el interruptor correcto y luego presione guardar botón. Nota que el botón 2 no está conectado a un debouncer, puesto que no importa si el flip-flop D actualiza varias veces cuando el usuario presiona un botón.
El flip-flop tienen otra entrada, que es el clear o reset. Esta entrada está conectada al botón 4, por lo que cada vez se presiona el flip-flop volverá a una salida de 000(binary). Tenga en cuenta que este botón también no requiere a un debouncer, restablecer el circuito varias veces al botón da el mismo resultado que reiniciar una vez. Por último, las salidas de todos los flip-flop van hacia el multiplexor, cuya funcionalidad se explica en la siguiente sección.
Parte 4: El multiplexor y el altavoz
La parte final de este circuito es la salida del multiplexor y el altavoz. El propósito del multiplexor es elegir entre varias entradas diferentes para dar una salida. En este caso, una de ocho posibles tonos almacenados por cada uno de los ocho flip-flop debe seleccionarse para ser outputted al altavoz. El tono correcto es determinado por la señal de selección, que está conectada al contador que sigue la pista de ritmo. En otras palabras, mientras el circuito esté en el juego, la señal select se incrementa de 000(binary) a 111(binary), y la salida del multiplexor pasará por cada una de las salidas del flip-flop.
La salida del multiplexor está conectada a un generador de onda cuadrada. Basado en la entrada de 3 bits, el generador de onda cuadrada alterna su señal de salida para producir una onda cuadrada con una frecuencia determinada. Esta onda es enviada a los altavoces, que jugarán el tono correcto.