2008-12-10 11 views
5

Ich benutze Altera Quartus 2, um einen benutzerdefinierten 8-Bit-Prozessor zu tun und es dauert ewig auf meinem Laptop zu kompilieren. Ich benutze nur Simulationen und mache meinen Prozessor in Schaltplan (Blockdiagramm) und VHDL. Momentan dauert es etwa 10 Minuten, um kompiliert zu werden, was ein Schmerz ist, da ich mich mehr in der Debugging-Phase des Projekts befinde, in der ich das interne Timing korrigieren und viele kleine Änderungen vornehmen muss, um zu sehen, was passiert.Wie mache ich Quartus II kompilieren schneller

Ich setze es eigentlich nicht auf einen FPGA, brauche ich also die Kompilierungsphasen von "fitter" und "assembler"?

Kann ich den Inhalt einer Speicherdatei von einem lpm_ram_dq ändern und es in der Simulation ohne Neukompilierung testen?

Zusammenfassend weiß jemand, wie man es kompilieren schneller machen?

Antwort

2

In der Reihenfolge des Abnehmens wichtig.

  • Mehr Speicher. 4 GB für ein 32-Bit-Betriebssystem. Einige Designs benötigen mehr als das und erfordern ein 64-Bit-Betriebssystem.
  • Den Entwurf nicht zu sehr einschränken.
  • Ändern Sie die Kompilierungsoptionen, um nicht als hart zu versuchen. Das ist unter Zuweisungen> Einstellungen> Fitter Einstellungen> Fast Fit (oder Auto Fit)
  • 8.1 unterstützt mehrere Kerne.
  • Hiearchical kompiliert Hilfe, besonders wenn Sie mehrere Instanzen desselben Blocks haben.

2 Minuten ist wirklich kurz, ich stimme dem vorherigen Plakat zu. Ein einzelnes Tor wird das lange dauern.

+0

1: Mein Laptop hat 2GB Speicher, es sollte genug für mein Projekt sein 2: Was meinst du? 3: Das hat nicht funktioniert, es dauert immer noch eine Menge Zeit in der Fitter 4: Wie mache ich das? Ich kann es nicht 100% meiner CPU verwenden 5: Ich habe viele Instanzen des gleichen Blocks, wie mache ich eine hiearchical Compilation? – Hoffmann

+0

Entschuldigung, mein Fehler. Die zweite Beobachtung hat funktioniert. Es halbierte die Fitterzeit, es ging von 8 min bis 4 min. Vielen Dank! – Hoffmann

2

Manches:

  • Wenn Sie es nicht auf einem FPGA setzen, warum mit Quartus kompilieren? Simuliere es einfach mit Modelsim oder ActiveHDL oder einem anderen Simulator, den du hast.
  • 2 Minuten ist ein sehr kurze Kompilierzeit. Wirklich :-)
  • Quartus Versuchen 8, es ist viel schneller als 7 und ältere
  • Um zu überprüfen, dass der Code korrekt und sehen Sie die Netzliste synthetisiert, Sie tatsächlich brauchen nicht den Monteur und Assembler Schritte
+0

1: Keine Option, ich mache eine College-Aufgabe und der Professor benötigt Quartus II Simulation. 2: Mein Projekt ist jetzt auf 10 min Kompilierzeit, ca. 6 min ist in der fitter Phase. 3: Ich benutze Quartus 8.1 4: Ich habe das nicht verstanden, kannst du es besser erklären? Ich bin ein Hardware-Designer Noob ... – Hoffmann

+1

Machen Sie nur ein paar iterative Simulationen mit der Altera-Version von ModelSim, dann führen Sie den Quartus-Simulator, sobald Sie denken, dass Sie Dinge funktionieren haben. Und wie bereits erwähnt, führen Sie nicht die vollständige Kompilierung durch, wenn Sie nicht auf einen FPGA abzielen, sondern tun Sie einfach den Analyse- und Synthese-Teil. –

2

Wenn Sie nur in Quartus simulieren müssen, müssen Sie keine vollständige Kompilierung ausführen. Wenn Sie Strg-K drücken, wird nur die Analyse und Ausarbeitung ausgeführt. Der Quartsimulator sollte das für Sie tun.

OTH wie erwähnt von mehreren anderen: 10 Minuten eine sehr kurze Kompilierungszeit. Bei echten Designs ist es nicht ungewöhnlich, dass es mindestens eine Stunde läuft.

2

Einige nützliche Flags, um Quartus schneller synthetisieren zu können, wenn es Ihnen nicht wichtig ist, Ihre Ergebnisse vollständig zu optimieren und nur eine pessimistische Schätzung zu erhalten oder Vergleiche anzustellen.

set_global_assignment -name PHYSICAL_SYNTHESIS_EFFORT FAST 

Gibt den Aufwand in Bezug auf die Kompilierung sollte die physikalische Synthese verwenden.Fast benötigt weniger Kompilierzeit, kann aber den Leistungsgewinn reduzieren, den die physikalische Synthese erreichen kann.

set_global_assignment -name FITTER_EFFORT    FAST_FIT 

Fast Fit verringert Optimierung Aufwand Kompilation Zeit zu reduzieren, die Designleistung verschlechtern.

Und statt execute_flow -compile, zu verwenden:

execute_flow -implement 

Option Zusammenstellung bis zu Strecke Bühne und das Überspringen aller Zeiten intensive Algorithmen nach auszuführen.

Bei einem Treffen mit Intel/Altera-Ingenieure, mit -implement war kugel geparkt etwa 20% schneller als -compile zu sein, und empfohlen kam, als auf Timing-Schließung Ergebnisse iterieren.

könnten Sie auch versuchen, die folgenden:

set_global_assignment -name SYNTHESIS_EFFORT   FAST 

Hinweis: Dies hat den Nachteil unten, obwohl ich dazu neigen, insgesamt schneller läuft in einigen Designs zu sehen.

Bei der Einstellung "Schnell" werden einige Schritte zur schnelleren Durchführung der Synthese ausgelassen. Es kann jedoch zu Leistungs- und Ressourcenkosten kommen. Altera empfiehlt, diese Option nur dann auf "Schnell" zu setzen, wenn eine frühe Zeitschätzung durchgeführt wird. Das Ausführen einer "schnellen" Synthese erzeugt eine Netzliste, die für den Fitter etwas schwieriger zu routen ist, wodurch der Gesamtanpassungsprozess langsamer wird, was irgendwelche Leistungssteigerungen annulliert, die als Ergebnis der "schnellen" Synthese erreicht werden.

+0

Ich denke, Sie bekommen das "Totengräber" Abzeichen für solche Dinge. Diese Frage ist 9 Jahre alt! Aber die QA sprach über Timing-Optimierungen. Sie können diese Optimierungen nicht vornehmen, wenn Sie die Einstellungen für den Syntheseaufwand ändern. Die Implementierung wird sich von der vollständigen Kompilation unterscheiden. – JHBonarius

+0

Das stimmt in dem Sinne, dass Sie Ihr kompiliertes Design nicht wirklich optimieren und reale Ergebnisse sehen werden, aber wenn Sie Timing-Closure-Änderungen durchführen und Ihren Fortschritt sehen möchten, können Sie diese Flags weiterhin für Äpfel verwenden -zu-Äpfel-Vergleiche, um zu sehen, ob Ihre Updates Fmax verbessern. –