FPGA Logic Gate Count

8

Ich habe ein FPGA-Board gefunden, das mir gefallen hat. Es wird ein Xilinx Spartan 6 LX45 verwendet. Als ich zum Datenblatt für die Spartan 6-Serie ging , hieß es nur, dass es 43.661 Logikzellen gab. Wie viele Tore entspricht das? Oder wie würde ich die Anzahl der Gesamtgatter aus der Anzahl der Logikzellen ermitteln?

haneefmubarak
quelle

Antworten:

6

FPGA-Hersteller verwenden nicht mehr viel äquivalente Gate-Zählungen, selbst in den handgewelltesten Marketingmaterialien. Wie Codezeilen oder Megahertz der Prozessorgeschwindigkeit ist es eine sehr ungenaue Metrik zur Messung der Gerätefähigkeit, und auf den FPGA-Märkten waren die Kunden klug genug, um ihre Verwendung zu unterdrücken.

Um die Größe des benötigten Geräts abzuschätzen, müssen Sie sich die Zusammenfassung auf S. 22 ansehen. 2 des von Ihnen verknüpften Datenblattes. Normalerweise können Sie früh in Ihrem Entwurfsprozess eine anständige Vorstellung davon bekommen, wie viele Flip-Flops, wie viele E / A und wie viel RAM Ihr Entwurf benötigt. Die eine oder andere davon ist normalerweise die kritische Ressource, die die Größe des benötigten Teils bestimmt.

Wenn Sie nicht stark an die Kosten gebunden sind, verwenden Sie ein Gerät, das mindestens 2x größer ist als Sie denken. Dies gibt Ihnen Raum für Feature Creep in Ihrem Design und beschleunigt auch die Entwicklung, da die Design-Tools nicht so hart arbeiten müssen, um Ihr Design in die verfügbaren Ressourcen zu integrieren.

Bearbeiten , Dinge aus Kommentaren ziehen,

Sie haben erwähnt, dass Ihr Design größtenteils ungetaktet ist.

Das Problem dabei ist, dass FPGA-Design-Tools von der Taktung und den daraus resultierenden zeitlichen Einschränkungen abhängen, um die Optimierung des synthetisierten Designs voranzutreiben. Wenn Sie ungetaktetes Design in einem FPGA ausführen möchten, ist dies im Prinzip möglich, aber Sie werden nicht viel Hilfe von den Tools (oder Anbietern) erhalten, und Sie müssen wahrscheinlich eine spezialisierte Community finden, die solche Dinge tut Unterstützung bekommen.

In jedem Fall können Sie im Spartan 6 Configurable Logic Block-Benutzerhandbuch nachsehen , welche Ressourcen in den einzelnen Blöcken verfügbar sind. Ordnen Sie dann Ihr Design mental dieser Ressource zu, um zu sehen, wie viele Blöcke Sie benötigen. Das sollte ausreichen, damit Sie das Gerät mit der richtigen Größe auswählen können.

In diesem Dokument können Sie beispielsweise sehen, dass der LX45-Teil ungefähr 27.000 LUTs mit 6 Eingängen enthält. Jede LUT kann verwendet werden, um eine beliebige kombinatorische Logik mit bis zu 6 Eingängen zu implementieren. Wenn Sie Ihre Logik in Bezug auf dieses Grundelement ausdrücken können, können Sie abschätzen, ob Ihr Design in das Gerät passt.

Das Photon
quelle
Nun, das ist die Sache, ich habe noch nicht angefangen zu entwerfen (und mein Design ist direkt in der Logik), weil ich basierend auf meinen FPGAs-Sonderangeboten entwerfen wollte. Ich weiß, dass ich ungefähr> 2,5 Millionen Tore benötigen würde. Wie würde ich also etwas finden, das so viele Tore aufnehmen könnte?
Haneefmubarak
Wirklich keine Flip-Flops?
Das Photon
Nun, ich habe einige, aber einige sind nur SR und andere, anstelle von JK und D.
Haneefmubarak
1
Um eine gute Unterstützung durch FPGA-Synthesetools zu erhalten, sollten Sie Ihr Design anpassen, um D-Flip-Flops hervorzuheben. Ich nehme an, es gibt Möglichkeiten, in anderen Stilen zu entwerfen, aber die FPGA-Toolsets sind stark auf RTL-Design ausgerichtet, was viele bedeutet Dffs.
Das Photon
1
Es gibt sehr gute Gründe, warum FPGA-Tools für die Verwendung mit hauptsächlich getakteter Logik ausgelegt sind. Komplexe kombinatorische Schaltungen sind in einem FPGA sehr schwer zu entwerfen. Sie müssten wahrscheinlich jede Ressource von Hand platzieren, da die Routing-Verzögerungen zwischen den Syntheseläufen recht zufällig sein können, wenn die Taktung nicht spezifiziert ist. Wenn sich Ihr Design wirklich nicht um Ausbreitungsverzögerungen kümmert, haben Sie eine Chance ... aber wenn Sie sich überhaupt um diese Verzögerungen kümmern, werden Sie wahrscheinlich eine schmerzhafte und entmutigende Erfahrung machen.
Darron
4

FPGAs sind mehr als nur Gates (LUTs, FFs, Block RAM, Multiplikatoren usw.). Der Versuch herauszufinden, wie viele es gibt, ist eine ziemlich bedeutungslose Übung. Die Marketingabteilungen der FPGA-Unternehmen haben in der Vergangenheit Zahlen wie äquivalente Gate-Zählungen ausgegeben, die dem 1,4-fachen der Anzahl der Logikzellen entsprechen, aber ich glaube, dass sie diese Praxis gestoppt haben.

Wenn Sie feststellen möchten, ob ein bestimmtes Design in ein FPGA passt, sollten Sie einige Testsyntheseläufe auf Ihrem HDL für FPGAs verschiedener Größe durchführen.

Amoch
quelle
Nun, das ist die Sache, ich habe noch nicht angefangen zu entwerfen (und mein Design ist direkt in der Logik), weil ich basierend auf meinen FPGAs-Sonderangeboten entwerfen wollte. Ich weiß, dass ich ungefähr> 2,5 Millionen Tore benötigen würde. Wie würde ich also etwas finden, das so viele Tore aufnehmen könnte?
Haneefmubarak
Woher weißt du, dass du 2,5 Millionen Tore brauchst?
Amoch
Ich fing an, ein Modul in einem kleinen Simulator zu erstellen, multipliziert mit der Anzahl der benötigten Module, fügte etwas Platz hinzu und rundete es auf zwei Sig-Feigen auf.
Haneefmubarak
Wie hast du eine Torzählung bekommen? Die FPGA-Tools geben Ihnen Nutzungsnummern in Bezug auf ihre Ressourcen an, nicht in Bezug auf die Anzahl der Gates.
Amoch
1
Wie @The Photon sagte, sind FPGAs und ihre Tools stark auf synchrone Designtechniken ausgerichtet, und Sie werden sonst schlechte Ergebnisse erzielen. Wenn Sie jedoch für ein FPGA entwerfen möchten, verwenden Sie am Ende des Tages FPGA-Tools, nicht etwas anderes.
Amoch
2

Kommen Sie anders herum - es klingt aus anderen Kommentaren, als hätten Sie ein Modul bereits aussortiert. Geben Sie dies an die FPGA-Tools weiter - selbst die kostenlosen Tools geben Ihnen eine Schätzung der LUT / BRAM / FF-Anzahl aus der Synthese. Multiplizieren Sie dies mit Ihrer Instanzanzahl, fügen Sie etwas Spiel hinzu, und dort haben Sie eine verwendbare LUT-Anzahl für die Dimensionierung des FPGA.

Natürlich müssen Sie dies möglicherweise für jeden FPGA-Typ tun, den Sie in Betracht ziehen, da sie jeweils etwas unterschiedliche Architekturen aufweisen, was die Anzahl der Eingänge der LUTs und die Anzahl der anderen unterstützenden Schaltkreise in Bezug auf Muxes usw. betrifft die LUTS. Und ob Ihre Schaltung davon profitieren kann ...

Martin Thompson
quelle
Nun, ich würde, wenn ich ein kostenloses FPGA-Tool finden könnte, mit dem ich einfach Logikgatter zeichnen und dann ein FPGA damit programmieren kann.
Haneefmubarak
Wenn Sie eine ernsthafte Schätzung wünschen, können Sie Ihr Gates-Diagramm in HDL umwandeln. Sie müssen das sowieso tun, um heutzutage ernsthafte Implementierungsarbeiten durchzuführen. Ist es ein sehr großes "Spaghetti" -Design oder hierarchisch strukturiert mit viel Wiederverwendung?
Martin Thompson