www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Maximum combinational path delay: No path found


Autor: Anfänger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin gerade dabei einen Algorithmus für den Spartan3 mit Hilfe von 
Xilinx ISE 11 zu entwickeln. Dieser Algorithmus basiert u.a. auf einer 
Rückkopplungsstruktur dessen Aufbau in der angehängten Bilddatei 
verdeutlicht ist.

Sehe ich es richtig das ISE dafür sorgt, dass der Takt (CLK) des 
taktsynchronen Registers so angepasst wird, dass der kritische Pfad der 
Komponente (Component) nicht unterschritten wird? Also zu Beginn einer 
neuen steigenden Taktflanke am Register der korrekte Ergebniswert der 
Komponente am Registereingang auch tatsächlich anliegt.
Oder wird dafür (ungewollter Weise) der Standard 50MHz Takt des Spartan3 
verwendet?

Das eigentlich Problem ist nämlich, dass das Timing Summary anzeigt, 
dass kein kritischer Pfad gefunden wird:
   
   Minimum period: 6.627ns (Maximum Frequency: 150.896MHz)
   Minimum input arrival time before clock: 5.182ns
   Maximum output required time after clock: 9.034ns
   Maximum combinational path delay: No path found <--------------

Liege ich also damit richtig, dass somit auch nicht die Taktfrequenz 
passend eingestellt werden kann, damit die Rückkopplung richtig 
funktionert?
Muss ich daher bspw. auf einen DCM zurückgreifen und mir einen passenden 
Takt erzeugen?

Hoffe doch, dass klar geworden ist worum es geht und ich nicht etwas 
vollkommen falsch verstanden habe :)

Danke!!

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> dass der Takt (CLK) des taktsynchronen Registers so angepasst wird,
Nein, den Takt legst ja du aussen an  :-o
Du mußt mit einem Constraint wünschen, mit welchem Takt das Design noch 
laufen soll. Die Tools werden dann versuchen, diesen Takt zuerreichen. 
Wenns nicht klappt gibts einen Fehler.

> Oder wird dafür (ungewollter Weise) der Standard 50MHz Takt des Spartan3
> verwendet?
Der Spartan3 hat keinen Takt. Der hat nur Takteingänge. Es kann sein, 
dass an einen von denen ein 50MHz-Signal angeschlossen ist. Aber in 
deinem Design wird genau der Takt verwendet, den du (mit dem 
LOC-Constraint) beschrieben hast.

> Minimum period: 6.627ns (Maximum Frequency: 150.896MHz)
Das heißt (nach der Synthese):
Dein Design hat das Zeug dazu, mit 160 MHz funktionieren zu können.

> Maximum combinational path delay: No path found
Das heißt nur, dass es keinen direkten kombinatorischen Pfad vom Eingang 
zum Ausgang gibt. Das entspricht genau deinem Bild.

> Muss ich daher bspw. auf einen DCM zurückgreifen und mir einen passenden
> Takt erzeugen?
Du kannst, wenn du keinen passenden Takt hast, diesen von dir 
gewünschten Takt z.B. über einen DCM generieren.

EDIT
Dein Design ist eigentlich sinnlos: Es hat keine Ausgänge...   :-o

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lothar Miller schrieb:

>> Muss ich daher bspw. auf einen DCM zurückgreifen und mir einen passenden
>> Takt erzeugen?
> Du kannst, wenn du keinen passenden Takt hast, diesen von dir
> gewünschten Takt z.B. über einen DCM generieren.

Wobei für den Anfänger noch anzumerken ist, dass der DCM natürlich auch 
einen Eingangstakt benötigt. Beispielsweise eben die 50MHz die das 
Starter-Board zur Verfügung stellt. Daraus kannst du dann andere Takte 
erzeugen, auch mit Phasenverschiebungen usw.
Intern gibts beim Spartan keine Taktsignale, außer das für das Booten 
aus dem Flash, aber das kann man nicht benutzen.

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lothar Miller schrieb:
> Dein Design ist eigentlich sinnlos: Es hat keine Ausgänge...   :-o

Da hast du natürlich recht :)
Habe vergessen den Ausgang ein zu zeichnen. Nach einer gewissen Anzahl 
von Taktzyklen wird die Registerbelegung abgegriffen und 
weiterverarbeitet.

Lothar Miller schrieb:
>> Minimum period: 6.627ns (Maximum Frequency: 150.896MHz)
> Das heißt (nach der Synthese):
> Dein Design hat das Zeug dazu, mit 160 MHz funktionieren zu können.

Ich bemerke gerade, das ich die Werte aus dem Timing Summary falsch 
interpretiert habe.
Unter http://www.xilinx.com/support/answers/4313.htm lässt sich 
nachlesen: (leider zu spät entdeckt)

Minimum Period:
The MAXIMUM delay from any synchronous element to another.

DANKE Euch beiden!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.