Nombre de portes logiques FPGA

8

J'ai trouvé une carte FPGA que j'aimais. Il utilise un Xilinx Spartan 6 LX45. Quand je suis allé à la fiche technique de la série Spartan 6 , il a seulement dit qu'il y avait 43 661 cellules logiques. À combien de portes cela correspond-il? Ou bien, comment pourrais-je déterminer le nombre total de portes à partir du nombre de cellules logiques?

haneefmubarak
la source

Réponses:

6

Les fabricants de FPGA n'utilisent plus beaucoup de portes équivalentes, même dans les supports marketing les plus ondulés. Comme les lignes de code ou les mégahertz de vitesse du processeur, c'est une métrique très imprécise pour mesurer la capacité de l'appareil, et sur les marchés FPGA, les clients sont suffisamment avertis pour supprimer son utilisation.

Pour estimer la taille de l'appareil dont vous avez besoin, vous devrez consulter le résumé de la p. 2 de la fiche technique que vous avez liée. Habituellement, vous pouvez vous faire une idée décente au début de votre processus de conception, du nombre de bascules, du nombre d'E / S et de la quantité de RAM dont votre conception a besoin. L'une ou l'autre d'entre elles sera généralement la ressource critique qui détermine la taille de la pièce dont vous avez besoin.

Si vous n'êtes pas très limité en termes de coûts, utilisez un appareil 2x ou plus grand que ce dont vous pensez avoir besoin. Cela vous donnera une marge de manœuvre pour les fonctionnalités de votre conception et accélérera également le développement car les outils de conception n'auront pas besoin de travailler si dur pour adapter votre conception aux ressources disponibles.

Modifier , en tirant des choses des commentaires,

Vous avez mentionné que votre conception n'est généralement pas synchronisée.

Le problème avec cela est que les outils de conception FPGA dépendent de la synchronisation et des contraintes de synchronisation qui en résultent pour stimuler l'optimisation de la conception synthétisée. Si vous voulez faire une conception non synchronisée dans un FPGA, c'est possible en principe, mais vous n'obtiendrez pas beaucoup d'aide des outils (ou des fournisseurs) et vous aurez probablement besoin de trouver une communauté spécialisée qui fait ce genre de chose pour obtenir de l'aide.

Dans tous les cas, vous pouvez consulter le Guide de l'utilisateur du bloc logique configurable Spartan 6 pour voir quelles ressources sont disponibles dans chaque bloc. Mappez ensuite mentalement votre conception à ces ressources pour voir le nombre de blocs dont vous avez besoin. Cela devrait être suffisant pour vous permettre de choisir le bon appareil.

Par exemple, vous pouvez voir dans ce document que la partie LX45 contient environ 27 000 LUT à 6 entrées. Chaque LUT peut être utilisée pour implémenter une logique combinatoire arbitraire avec jusqu'à 6 entrées. Si vous pouvez exprimer votre logique en fonction de cette primitive, vous pouvez estimer si votre conception s'intègre dans l'appareil.

Le photon
la source
Eh bien, c'est la chose, je n'ai pas encore commencé à concevoir (et ma conception est directement en logique), parce que j'allais concevoir en fonction des offres spéciales de mes FPGA. Je sais que j'aurais besoin d'environ> 2,5 millions de portes, alors comment pourrais-je trouver quelque chose qui pourrait contenir autant de portes?
haneefmubarak
Vraiment, pas de tongs?
Le Photon
Eh bien, j'en ai, mais beaucoup ne sont que SR et d'autres, au lieu de JK et D.
haneefmubarak
1
Pour obtenir un bon support des outils de synthèse FPGA, vous voudrez peut-être envisager d'ajuster votre conception pour mettre l'accent sur les bascules D --- Je suppose qu'il existe des moyens de concevoir dans d'autres styles, mais les ensembles d'outils FPGA sont fortement orientés vers la conception RTL, ce qui signifie beaucoup de Dff.
Le Photon
1
Il existe de très bonnes raisons pour lesquelles les outils FPGA sont conçus pour être utilisés avec une logique principalement cadencée. Les circuits combinatoires complexes sont très difficiles à concevoir dans un FPGA. Vous devrez probablement placer manuellement toutes les ressources, comme si le cadencement n'est pas spécifié, les retards de routage pourraient être assez aléatoires entre les exécutions de synthèse. Si votre conception ne se soucie vraiment pas des retards de propagation, vous avez une chance ... mais si vous vous souciez de ces retards, vous êtes probablement dans une expérience douloureuse et décourageante.
darron
4

Les FPGA sont plus que de simples portes (LUT, FF, Block RAM, multiplicateurs, etc.) et essayer de déterminer combien il y a est un exercice assez dénué de sens. Dans le passé, les services marketing des sociétés FPGA ont lancé des nombres comme des nombres de portes équivalents équivalant à 1,4 fois le nombre de cellules logiques, mais je pense qu'ils ont mis fin à cette pratique.

Si vous essayez de déterminer si une conception donnée s'intégrera dans un FPGA, il est préférable de faire quelques essais de synthèse sur votre HDL pour des FPGA de différentes tailles.

Amoch
la source
Eh bien, c'est la chose, je n'ai pas encore commencé à concevoir (et ma conception est directement en logique), parce que j'allais concevoir en fonction des offres spéciales de mes FPGA. Je sais que j'aurais besoin d'environ> 2,5 millions de portes, alors comment pourrais-je trouver quelque chose qui pourrait contenir autant de portes?
haneefmubarak
Comment savez-vous que vous avez besoin de portes 2,5M?
Amoch
J'ai commencé à fabriquer un module dans un petit simulateur, multiplié par le nombre de modules dont j'avais besoin, ajouté un peu d'espace et arrondi à deux sig figs.
haneefmubarak
Comment avez-vous obtenu un décompte des portes? Les outils FPGA vous donneront des numéros d'utilisation en termes de ressources, pas de nombre de portes.
Amoch
1
Comme l'a dit @The Photon, les FPGA et leurs outils sont fortement orientés vers les techniques de conception synchrone et vous obtiendrez de mauvais résultats en faisant autrement. À la fin de la journée, si vous souhaitez concevoir un FPGA, utilisez des outils FPGA, pas autre chose.
Amoch
2

Allez-y dans l'autre sens - cela semble provenir d'autres commentaires comme si vous aviez un module déjà trié. Donnez cela aux outils FPGA - même ceux sans frais vous donneront une estimation du nombre de LUT / BRAM / FF à partir de la synthèse. Multipliez cela par le nombre d'instances, ajoutez un peu de jeu et là vous avez un nombre de LUT utilisable pour dimensionner le FPGA.

Bien sûr, vous devrez peut-être le faire pour chaque type de FPGA que vous considérez, car ils ont chacun des architectures quelque peu différentes, en termes de nombre d'entrées des LUT et de la quantité d'autres circuits de support en termes de multiplexeurs, etc. les LUTS. Et si votre circuit peut en profiter ...

Martin Thompson
la source
Eh bien, je le ferais, si je pouvais trouver un outil FPGA gratuit qui me permet simplement de dessiner des portes logiques, puis de programmer un FPGA avec.
haneefmubarak
Si vous voulez une estimation sérieuse, vous voudrez peut-être prendre votre diagramme de portes et le transformer en HDL. Vous devrez le faire de toute façon pour effectuer un travail d'implémentation sérieux ces jours-ci. Est-ce un très grand design "spaghetti" ou structuré hiérarchiquement avec beaucoup de réutilisation?
Martin Thompson