-
Melina WANG authoredMelina WANG authored
- Compte rendu du TP Filtre audio
- Diagramme de la FSM
- Questions
- Question filtre 1 : Combien de processus sont utilisés et de quelles natures sont-ils ? Comment les différenciez-vous ?
- Question filtre 2 : La simulation vous permet-elle de valider votre description VHDL ? Justifiez.
- Question filtre 3 : Validez-vous la conception de l’unité de contrôle ?
- Question filtre 4 : Combien de processus sont utilisés et de quelles natures sont-ils ?
- 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
- Question filtre 6 : Validez-vous la conception de l’unité opérative ? Sinon, quel élément pose problème ? Comment pouvez-vous le corriger ?
Compte rendu du TP Filtre audio
Diagramme de la FSM
Questions
Question filtre 1 : Combien de processus sont utilisés et de quelles natures sont-ils ? Comment les différenciez-vous ?
Il y a deux processus dans le code : le premier est un processus synchrone qui change l'état du système à chaque montée d'horloge et le deuxième, est un processus combinatoire qui calcule l'état futur en fonction de l'état actuel. De plus, tandis que l'un change l'état actuel, (premier processus), l'autre ne change que l'état futur (deuxième processus).
Question filtre 2 : La simulation vous permet-elle de valider votre description VHDL ? Justifiez.
Après simulation, on obtient exactement la séquence attendue en sortie du filtre. Ainsi, on peut valider notre description VHDL.
Question filtre 3 : Validez-vous la conception de l’unité de contrôle ?
Oui
Question filtre 4 : Combien de processus sont utilisés et de quelles natures sont-ils ?
Il y a 4 processus séquentiels :
- Le processus shift est de nature séquentiel. Il s'agit d'un processus de registre à décalage. Il stocke les échantillons d'entrées dans un registre à décalage quand I_loadShift='1'
- Le processus incr_adress est aussi séquentiel. Il permet l'incrémentation de l'adresse des multiplexeurs.
- Le processus sum_acc est séquentiel. Il accumule la somme (convolution)
- Le processus store_result est également séquentiel. Il stocke le résultat final.
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
Après simulation, nous remarquons que la séquence de sortie correspond à celle attendue à une unité près. Par exemple, au lieu d'avoir la suite 317, 476, 925, 1589, ... nous avons la suite 316, 475, 924, 1588, ... La simulation ne nous permet donc pas de valider notre description VHDL. Le problème est due au fait qu'on n'arrondis pas lorsqu'on passe de 36 bits à 16 bits. En effet, dans notre description VHDL, on tronque toujours le résultat ce qui entraine un décalage vers le bas. Pour corriger ce problème, on pourrait regarder le bit 14 pour arrondir le résultat au supérieur si besoin. On obtient alors la séquence attendue.
Question filtre 6 : Validez-vous la conception de l’unité opérative ? Sinon, quel élément pose problème ? Comment pouvez-vous le corriger ?
Oui, nous validons la conception de l'unité opérative.