Étape 6: La conception
Ensuite, nous devons d’abord la conception même du compositeur. Le premier bloc de processus fonctionnera comme un diviseur de fréquence. Un exemple de déclaration de processus est comme sur la photo 3.
Nous allons maintenant faire usage de signal de l’horloge 50MHz pour cela. L’idée est d’incrémenter le compteur jusqu'à ce qu’il atteigne une valeur seuil et puis basculer temp_out chaque fois qu’il frappe cette valeur. Cela nous donnera une plus faible fréquence plus lente que représente la fréquence de la note. Par exemple, la note une est de 440Hz. Nous pouvons obtenir cette fréquence de l’horloge en divisant 50MHz par 440Hz. Nous prenons ensuite cette valeur et lorsque le compteur atteint cette valeur, on bascule temp_out, sinon nous tout simplement incrémenter le compteur.
Une fois que nous avons divisé la fréquence en chacune des notes donnés, nous devons vérifier pour voir si le commutateur correspondant une note est enfoncée. Cela se fait en vérifiant la valeur de la note. Si la note est « 000 », puis le commutateur pour remarque une est pressé. Si la note est « 010 », remarque C est pressé et ainsi de suite.
Enfin, il faut s’assurer que les notes ne peuvent être lu que sur le front montant d’horloge. Pour ce faire il être encastré dans un if qui vérifie un front montant. Il devrait ressembler à la figure 4.