le 02-26-2015 06:43 AM
Bonjour à tous,
J'ai réalisé un programme FPGA composé de deux boucles, une pour l'acquisition des entrée et une pour l'édition des sorties. Cependant ma boucle d'édition à besoin d'un paramètres de la boucle d'acquisition.
Ma question est donc la suivante :
Quelle méthode est la plus rapide et la plus fiable pour transferer ce paramètre d'une boucle à l'autre ?
Cordialement
Nathan
Résolu ! Accéder à la solution.
02-26-2015 07:28 AM - modifié 02-26-2015 07:32 AM
Salut,
Je n'ai jamais eu l'occasion de travailler sur un FPGA et je ne sais pas si e ce que je vais te proposer est rélisable sous FPGA.
Une boucle Productrice/Consomatrice (File d'attente) ou une boucle Maître/esclave (Notificateur).
Les pros du FPGA peuvent dire si je suis à côté de la plaque
Edit: Voir les exemples Simple notificateur et Simple file d'attente
le 02-26-2015 09:03 AM
La programmation FPGA ne dispose pas des méthodes de notificateur et de file d'attente.
J'ai fais quelque tests avec les méthode de FIFO, Register, Memory, Handshake, ainsi que les variable locales.
Les méthodes FIFO, Register, Memory et Handshake sont fiable mais le probleme est que l'écriture des données ralentissent ma boucles d'acquisition, hors pour mon application j'ai besoin de garder une vitesse d'échantillonage la plus rapide possible... Avec ces méthode, j'arrive à une vitesse de 200kHz.
L'utilisation des variable locales me semblait la moins bonnes, mais malgré une petite latence dans le transfert des données entre les boucles, je parviens à garder une vitesse d'échantillonnage de 500kHz.
Pour le moment je reste donc avec la variable locale, mais je reste ouvert à toutes propositions.
Cordialement
Nathan
le 02-27-2015 02:59 AM
J'ai trouvé ce lien qui explique assez bien se que je cherche.
le 03-05-2015 09:34 AM
Salut,
Je vois que tu as déjà répondu par toi même à ta question 😄
Les variables et les FPGA registers sont tout indiqué pour cela
L'intérêt des FPGA registers sur les variables, et que tu peux choisir ou non d'utiliser les options d'arbitration pour les FPGA registers (et pas pour les variavbles, lesquelles ont selon ma compréhension l'option activée par défaut)
Mathieu