Forum général.général Combien de temps met un FPGA pour se reconfigurer ?

Posté par  (site web personnel) .
Étiquettes : aucune
0
10
avr.
2005
Dans ce document http://www.ece.cmu.edu/~ece796/seminar/10/seminar/FPGA.ppt(...)

Il est spécifié qu'il faut environ 3ms. Or ce doc date de 1999, j'imagine qu'en 6 ans ça s'est amélioré ?

Peut-on envisager dans le futur des logiciels s'appuyant sur un FPGA pour lui faire bouffer de gros calculs à la chaîne (3D, vidéo, etc...)
?
  • # ca dépend ...

    Posté par  . Évalué à 6.

    ... de ce qu'on entend par reconfiguration.

    Il y a plusieurs méthodes pour charger un FPGA, mais le plus souvent c'est à partir d'une flash série. Le temps pour acheminer les données de la Flash vers le FPGA dépend directement de la quantité de données et de la fréquence d'horloge de ce lien série.
    Ces deux paramètres suivent la loi de Moore ... donc le temps a dû rester sensiblement le même.
    Je compte environ 1s entre la mise sous tension de la carte et la fin de la configuration du FPGA (qq millions de portes), mais ca comprend aussi le temps de montée des alims, la tempo du reset, ...

    Le mieux est de regarder les datasheets des fabricants, c'est dispo sur leurs sites ouaibe.

    Il y a aussi la reconfiguration partielle, qui permet de ne recharger qu'une partie du FPGA, voire même de ne charger que le "diff" entre la version en cours d'utilisation et la nouvelle. Ca implique quand même pas mal de gymnastique au niveau du développement, pour mettre géograpiquement toutes les modifs dans la même zone.

    Une autre façon de voire les choses est de distinguer les traitements parallèles (bien adaptés au traitement par FPGA, avec une configuration donnée) et les traitements séquentiels (bien adaptés à un logiciel sur un processeur). Les fabricants de FPGA proposent ainsi des CPU embarqués dans leurs puces, soit en dur dans le silicium (ARM chez Altera, PowerPC chez Xilinx, Mips chez d'autres ...) soit sous la forme d'une macro VHDL (Nios chez Altera, MicroBlaze et PicoBlaze chez Xilinx, et plein d'autres sur le marché, notamment des designs libres comme LEON (http://www.gaisler.com(...) )). Dans ce cas on peut voir le FPGA comme un coprocesseur sur mesure pour le CPU ; ou au contraire, voir le CPU comme une partie séquentielle du FPGA, utilisée à diverses tâches au cours du temps.

    Quant au traitement vidéo par FPGA, c'est une des principales utilisations qui en est faite, en tout cas dans les industries n'ayant pas assez de volume de vente pour faire des ASICs : aéronautique, défense, broadcast ... Ca a toutefois tendance à se démocratiser, la preuve y'a même un Xilinx dans la FreeBox.
    L'avantage est de pouvoir paralléliser à volonté les opérations, dans la limite de la taille de la puce bien sûr, ce qui donne des performances énormes (des GFlops à en faire pâlir les fabricants de DSP) malgré une fréquence pas toujours énorme.
    Un FPGA à 66MHz saura traiter une vidéo qui mettrait à genoux un DSP à 500 MHz !

    Pour les processeurs enfouis dans les FPGA : http://www.fpgacpu.org(...)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.