Cet exemple de conception démontre comment recharger les coefficients à partir d’un fichier lors de l’utilisation de la fonction de compilateur IP MegaCore (FIR) de réponse à l’fir fini. Le compilateur FIR offre la flexibilité nécessaire pour modifier les coefficients au moment de l’exécution. Pendant que le compilateur FIR traite les données avec un ensemble de coefficients, vous pouvez recharger un autre jeu sans arrêter le traitement du cœur.
Pour optimiser l’efficacité du silicium, les coefficients ne sont pas stockés dans leur ordre naturel. Cet exemple explique les étapes de réordation des coefficients à l’aide du fichier coef_seq.exeprécompilable . Le filtre utilise quatre ensembles de coefficients : faible pass, high pass, band pass et filtres de rejet de bande. Les deux premiers sont paramétrés dans lebench IP . les deux derniers doivent être déchargés au moment de l’exécution et nécessitent une réamorçage à l’avance. Le testbench fourni montre comment configurer les commandes pour recharger les coefficients afin de répondre aux exigences de synchronisation.
Téléchargez les fichiers utilisés dans cet exemple :
- Télécharger le fichier de conception de l’exemple de chargement du coefficient FIR (Version 91)
- Télécharger le fichier README à coefficient FIR (Version 91)
L’utilisation de cette conception est régie par les conditions générales du contrat de licence Intel® Design Example.
Les fichiers téléchargés dans le fichier zip comprennent :
- fir91.v - Fichier du compilateur FIR
- coef_reload_tb.v - Fichier Testbench
- coef_reload_msim.tcl - Script Tcl pour exécuter une simulation fonctionnelle à l’aide de l’outil ModelSim*
- coef_seq.exe - Windows exécutable qui réorganise les coefficients
Tableau 1. Liste des ports du compilateur FIR
Nom du port |
Type |
Description |
---|---|---|
Clk |
Entrée |
Signal d’horloge |
reset_n |
Entrée |
Signal de réinitialisation active synchrone |
sink_data[15:0] |
Entrée |
Exemple de données d’entrée |
coef_set |
Entrée |
Sélectionnez quel coefficient est utilisé pour le calcul |
sink_valid |
Entrée |
Affirmation lorsque les données d’entrée sont valides |
source_ready |
Entrée |
Affirmation du module en aval s’il est capable d’accepter des données |
sink_error[1:0] |
Entrée |
Signal d’erreur indiquant Avalonviolations duprotocole ®-ST du côté du lavabo |
coef_set_in |
Entrée |
Sélectionne quel coefficient doit être téléchargé |
coef_we |
Entrée |
Signal actif d’activation de l’écriture élevée |
coef_in[18:0] |
Entrée |
Valeur du coefficient d’entrée lors du coefficient de rechargement |
source_data[37:0] |
Sortie |
Sortie de filtre |
sink_ready |
Sortie |
Affirmation du filtre FIR lorsqu’elle est capable d’accepter les données |
source_valid |
Sortie |
Affirmation du filtre FIR lorsqu’il y a des données valides à produire |
source_error[1:0] |
Sortie |
Signal d’erreur indiquant Avalonviolations duprotocole ® -ST du côté source |
Tableau 2. Paramètres du compilateur FIR
Paramètres FIR |
Valeurs |
---|---|
Taux de filtre |
Seul |
Nb. de canaux d’entrée |
1 |
Entrée Bitwidth |
16 |
Sortie Bitwidth |
38 (résolution complète) |
Coefficient Bitwidth |
16 |
Nb. de jeu de coefficients |
2 |
Nb. de coefficient dans chaque jeu |
37 |
Famille d’appareils |
Stratix® IV |
Structure |
DA : filtre entièrement parallèle |
Niveau du pipeline |
1 |
Stockage des données |
Cellules logiques |
Stockage à coefficient |
M512 |
Boîte de chargement à coefficient |
Vérifié |
Utiliser une boîte à horloge unique |
Vérifié |