Warum führen zwei Xilinx-Skripte mit unterschiedlichen Bitgen-Optionen zu korrektem und falschem Verhalten?

Ich bin wirklich verwirrt über ein FPGA-Syntheseproblem auf Xilinx ISE.

Genau genommen habe ich eine lange Stunde gebraucht, um herauszufinden, warum ein gleiches RTL-Design (Satz von VHDL-Dateien) mit einem Syntheseskript wie ein Zauber auf einem Board funktioniert, während ein zweites kein korrektes Verhalten ergibt. Ich habe weder Fehlermeldungen noch differenzierende Warnungen gesehen.

Der Unterschied liegt in bitgen Optionen:

  • -g binär: Ja
  • -g DriveDone:ja -g StartupClk:Cclk

Nur die zweite Gruppe von Optionen funktioniert.

Können Sie mir mehr Einblick in diese beiden Linien geben?

Danke

Wie scheitert derjenige mit falschem Verhalten? Wenn die Konfiguration vollständig fehlschlägt (DONE wird nie hoch), dann ist die StartupClk-Option wahrscheinlich ein Übeltäter. Wenn es etwas anderes ist, möchten Sie vielleicht mehr Details darüber angeben, was schief gelaufen ist.
Können Sie bitte sagen, welchen genauen Fehler Sie beim zweiten Bild hatten?
Wenn Sie die Konfigurationsuhr als Startuhr angeben, müssen Sie nach dem Ende des Bitstroms zusätzliche Zyklen dieser Uhr bereitstellen, damit das FPGA die Einrichtung seines internen Zustands abschließen kann. Wenn Sie (oder einen Standardwert) eine andere Uhr angeben, muss diese existieren.
Diese Frage nähert sich dem Problem rückwärts. Diese Verhaltensweisen sind über Optionen einstellbar, genau weil sie die Korrektheit beeinflussen. Wenn sich das Verhalten nicht geändert hat, warum sollten dann die Optionen bestehen?
Es ist nicht ersichtlich, warum hier die Korrektheit beeinträchtigt werden sollte. Wo ist das dokumentiert?

Antworten (1)

Xilinx hat eine gute eingebaute Hilfe zu Synthese-, Karten-, P&R- und Bitgen-Optionen. Sie können sie öffnen, indem Sie Synthesen/Karte/P&R oder Bitgen-Eigenschaften öffnen und dann auf Hilfe klicken. Diese Hilfe gibt einen kurzen Überblick über jede auswählbare Option, ihre Werte und den Kommandozeilennamen.

Es gibt auch UG628 - Command Line User Tools, das die Bitgen-Optionen erklärt (siehe Seite 227 ..)

  • Binär: Ja -> Ich denke, dies könnte relevant sein, wenn Sie partielle Rekonfigurationstechniken verwenden
  • DriveDone: ja -> viele Boards verbinden eine LED für die Programmierung mit diesem Pin, die aktiv angesteuert und nicht von einem Widerstand hochgezogen wird - Impact verwendet diesen Pin, um den Programmierstatus für die GUI zurückzulesen
  • StartupClk:Cclk -> Xilinx FPGAs haben eine Startup-Komponente, auf die von der FPGA-Fabric aus zugegriffen werden kann, und dies sollte das ausgewählte interne Taktsignal sein. Weitere Einzelheiten finden Sie im Handbuch Ihrer Startup-Komponente