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


von Anfänger (Gast)


Angehängte Dateien:

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:
1
   
2
   Minimum period: 6.627ns (Maximum Frequency: 150.896MHz)
3
   Minimum input arrival time before clock: 5.182ns
4
   Maximum output required time after clock: 9.034ns
5
   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!!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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

von Christian R. (supachris)


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.

von Anfänger (Gast)


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!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.