### Question filtre 1 : Combien de processus sont utilisés et de quelles natures sont-ils ? Comment les différenciez-vous ?
Il y a 5 processus utilisés : Wait, Store, Processing_loop, Output et Wait_end_sample.
Chaque processus réalise une certaine action. Certains processus sont séquentiels et d'autres combinatoires. Les deux processus wait sont séquentiels car ils dépendent du cycle d'horloge.
Il y a deux processus utilisés. Le premier est séquentiel car il dépend de I_clock. Il sert à faire passer l'état courrant SR_currentState au prochain état à chaque front montant de l'horloge.
Le deuxième processus est combinatoire et sert à déterminer quel sera le prochain état parmis les états Wait, Store, Processing_loop, Output et Wait_end_sample. Il ne dépend pas de l'horloge, mais uniquement des données en entrée. La condition if rising_edge(I_clock) n'est pas utilisée dans ce processus.
### Question filtre 2 : La simulation vous permet-elle de valider votre description VHDL ? Justifiez.
La simulation nous donne la séquence attendue d'entiers signés en sortie.
La simulation nous donne la séquence attendue d'entiers signés en sortie. Il s'agit des coefficients du filtre que l'on obtient avec la réponse impuslsionnelle. Comme nous avons les bons coefficients, nous avons donc obtenu le bon fonctionnement du filtre.
### Question filtre 3 : Validez-vous la conception de l’unité de contrôle ?
C'est un filtre passe-bas, les son aigus sont bien atténués. (Par exemple pour un signal sinusoïdal de 2000Hz le son est atténué).
C'est un filtre passe-bas, les son aigus sont bien atténués. Par exemple lors du test pour un signal sinusoïdal de 2000Hz le son est bien atténué. Nous validons bien la conception de l'unité de contrôle.
### Question filtre 4 : Combien de processus sont utilisés et de quelles natures sont-ils ?
Il y a 4 processus : shift, incr_address, sum_acc et store_result. Ce sont tous des processus séquentiels car ils dépendent tous de l'horloge I_clock. Les actions ne peuvent se réaliser qu'à un front montant de I_clock.
### Question filtre 5 : La simulation vous permet-elle de valider votre description VHDL ? Sinon, quel élément pose problème ? Comment pouvez-vous le corriger ? Justifiez
De nouveau nous obtenons la même séquence d'entiers signés que celle atendue et obtenue à la question 2. Nous avons obtenu des problèmes dûs à la virgule fixe car nous ne prenions pas la bonne séquence de bits en compte. Dans le dernier processus, nous attendions en sortie une séquence de 16 bits, mais les opérations réalisées sur la somme rendait un résultat en 36 bits. Les 15 derniers bits représentent la partie décimale du résultat (à cause de la multiplication) et les 4 premiers bits servent à l'amplification mais n'apportent pas de nouvelles informations. Nous devions donc prendre les bits intermédiaires.
### Question filtre 6 : Validez-vous la conception de l’unité opérative ? Sinon, quel élément pose problème ? Comment pouvez-vous le corriger ?