Le site de Steve

Accueil > Electronique > FPGA > Round-robin pour FPGA

Round-robin pour FPGA

dimanche 22 novembre 2009, par Steve

Introduction

La description qui suit permet de partager une ressource entre plusieurs processus dans une FPGA. Elle est basée sur deux décaleurs àbarillet et une pseudo-bascule RSC par processus.

La description

La description est paramétrable en nombre d’entrées donc de processus.

Le premier décaleur permet la réorganisation des candidats àl’accès de la ressource partagée en fonction du précédent élu. Dès que le précédent élu libère la ressource, elle sera affectée au prochain candidat. Cela permet d’éviter une appropriation par un seul des candidats.

Le second décaleur effectue l’opération inverse du premier afin que chaque allocation soit àassocier àla bonne requête.

La bascule RSC mémorise le processus élu. Lorsque le processus n’a plus besoin d’accéder àla ressource, il remet la cellule RSC àzéro afin de permettre àun autre processus d’avoir l’accès àla ressource.

Remarque

L’ordonnanceur tel qu’il est décrit permet d’effectuer une décision par coup d’horloge. Par exemple, un processus est prêt àrendre la main, au prochain coup d’horloge un autre processus est autorisé àaccéder àla ressource.

Conclusion

J’ai synthétisé la description sous plusieurs outils et pour plusieurs cibles.

Nombre d’entrées Outil de synthèse Cible Période minimum Niveau logique
4 ISE 11.3 XC3S400-5PQ208 6,213 ns 4
8 ISE 11.3 XC3S400-5PQ208 9,887 ns 7
4 Quartus 9.0sp2 EP3C40Q240C8 5,017 ns  ?
8 Quartus 9.0sp2 EP3C40Q240C8 9,943 ns  ?
4 Quartus 9.0sp2 EP3C16Q240C8 4,796 ns  ?
8 Quartus 9.0sp2 EP3C16Q240C8 11,011 ns  ?

Attention : Ces résultats ne sont donnés qu’àtitre indicatif. En effet, il n’y a pas de contraintes sur l’affectation des broches.

Un message, un commentaire ?

modération a priori

Ce forum est modéré a priori : votre contribution n’apparaîtra qu’après avoir été validée par un administrateur du site.

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.