Il y a deux processus, le premier est séquentiel et sert de registre en mettant à jour l’état actuel de la machine à chaque front montant de l’horloge quand le reset n’est pas activé. Tandis que le second est combinatoire, il permet de faire marcher la logique du système en définissant les changements d’états et leurs conditions. On les différencie pour le fait que le premier dépend de l’horloge alors que le second non.
Nous avons effectué un test fonctionnel dans
le cas d’une séquence normale qui s’est révélé concluant. Néanmoins,
nous n’avons pas testé les cas limites de notre description VHDL.
La conception de l’unité de contrôle est validée, en effet elle répond bien aux spécifications fonctionnelles attendues. Elle a été testée avec succès sur la carte Nexys VIDEO.
Il y a 4 processus séquentiels et 5 processus combinatoires. Les 4 processus synchrones sont shift, incr_adress, sum_acc et store_result.
La simulation nous permet de valider dans une certaine mesure le bon fonctionement du module. En effet, nous retrouvons bien les valeurs données dans l’énoncé. Cependant, la simulation valide seulement partiellement la description VHDL du filtre d’un point de vue logique et calculatoire. De plus, l’usage de troncatures dans les calculs peut induire des erreurs numériques non négligeables, notamment une perte de précision ou un bruit de quantification accru. Cela peut compromettre la fidélité du filtre. Pour corriger cela, il conviendrait d’augmenter la précision des signaux intermédiaires ou d’utiliser un arrondi contrôlé. Une comparaison avec un modèle en virgule flottante (type MATLAB) peut aider à évaluer l’impact exact de ces troncatures.
Le design de l’unité opérative a été correctement synthétisé et le bitstream a été généré sans erreur.