From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discussions au sujet des autres produits NI

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

erreur lors de la compilation de l'FPGA

bonjour, 

Voici l'erreur que j'obtiens quand je veux compiler mon programme FPGA

 

 

LabVIEW FPGA: La compilation a échoué à cause d'une erreur Xilinx.

Details:
ERROR:Pack:2310 - Too many comps of type "SLICE" found to fit this device.

Design Summary:
Number of errors: 1
Number of warnings: 89
Logic Utilization:
Number of Slice Flip Flops: 7,963 out of 10,240 77%
Number of 4 input LUTs: 10,607 out of 10,240 103% (OVERMAPPED)
Logic Distribution:
Number of occupied Slices: 5,523 out of 5,120 107% (OVERMAPPED)
Number of Slices containing only related logic: 4,143 out of 5,523 75%
Number of Slices containing unrelated logic: 1,380 out of 5,523 24%
*See NOTES below for an explanation of the effects of unrelated logic.
Total Number of 4 input LUTs: 11,028 out of 10,240 107% (OVERMAPPED)
Number used as logic: 10,454
Number used as a route-thru: 421
Number used as 16x1 RAMs: 70
Number used as Shift registers: 83
Number of bonded IOBs: 90 out of 324 27%
IOB Flip Flops: 97
Number of MULT18X18s: 38 out of 40 95%
Number of BUFGMUXs: 2 out of 16 12%

Peak Memory Usage: 359 MB
Total REAL time to MAP completion: 19 secs
Total CPU time to MAP completion: 19 

 

J'ai essayé de reduire mon programme le maximum mais l'erreur revien a chaque fois que j'ajoute une nouvelle variable

 

voici une capture ecran du programme 

merci d'avance 🙂

0 Compliments
Message 1 sur 5
4 995 Visites

"...

Number of occupied Slices: 5,523 out of 5,120 107% (OVERMAPPED)
...

Number of occupied Slices: 5,523 out of 5,120 107% (OVERMAPPED)

...

Total Number of 4 input LUTs: 11,028 out of 10,240 107% (OVERMAPPED)

..."

 

On dirait que tu essayes de faire rentrer trop chose dans ton FPGA...

Recherche ce qui te prends les input LUTs afin de cerner ton problème

Cordialement / Regards

Patrice NOUVEL
Project Leader
CLD
0 Compliments
Message 2 sur 5
4 980 Visites

Bonjour,

 

Quel est la cible FPGA que voous utilisez ?

Les multiplications sont très  gourmandes en DSP et en slices (ressources FPGA). Les points de coercition sont aussi une source d'utilisation inutile dees slices.

 

Le code est donc à revoir 🙂

 

Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.

0 Compliments
Message 3 sur 5
4 961 Visites

Bonjour,

 

Un rapide coup d'oeil au code en pièce jointe, pour deux remarques :

  • Tu utilises N fois une multiplication par 1000. Un moyen simple de limiter le nombre de multiplieurs utilisés sur le FPGA serait de mutualiser la ressource, typiquement en plaçant l'opération multiplier par 1000 dans une boucle, en construisant un tableau avec les entrées de mesure en entrée du tableau, et en éclatant ensuite en sortie de tableau (FPGA, pas d'allocation dynamique de la taille du tableau possible : attention à bien fixer la dimension du tableau).
    Cette astuce permet de réduire la quantité de multiplieurs requis, mais se fera au détriment du temps de boucle : en effet, on sérialise les opérations, plutôt que de les faire en parallèle, le temps de boucle s'en trouvera rallongé. A bencher et à ramener aux caractéristiques des modules d'acquisition, qui ont eux-même une période d'échantillonnage maximale (la question est qui, des multiplications ou de l'acquisition, limite le temps de boucle);
  • Je ne connais pas l'application, je n'ai pas la vue d'ensemble, mais quel est le besoin de faire la mise à l'échelle au niveau du FPGA? Je ne dis pas là qu'il ne faut pas le faire au niveau du FPGA, mais en fonction de l'application, de ce qui est déporté sur le FPGA d'une part et sur l'hôte (Windows ou RT) d'autre part, il n'est pas forcément nécessaire de réaliser la mise à l'échelle dans le FPGA;

Pour ce qui est du matériel utilisé, vu les valeurs des ressources disponibles dans le rapport, je miserai sur une cible basée sur le Virtex-II V1000 (7811R, 7830R, 7831R, cRIO-9101, cRIO-9102).

 

Cordialement,

0 Compliments
Message 4 sur 5
4 956 Visites

La première question que je me pose, c'est pourquoi passer de virgule fixe en double ?

Le FPGA est un composant numérique. Le format virgule fixe supporte la multiplication

 

Les réponses/questions des autres personnes t'ayant répondu sont également à se poser

 

A+


0 Compliments
Message 5 sur 5
4 885 Visites