hi, ich habe ein Programmin VHDL geschrieben, dann habe ich ein Block erzeugt, der Programm läuft(LED blinkt). ich möchte gern ein PLL verwenden. dann habe ich ein PLL erzeugt, dann habe ich mit dem Block verbunden. das Problem es funktioniert nicht nach der Compilation bleibt Total PLLs 0/4 und bekomme ich der folgendes: Critical Warning: The following clock transfers have no clock uncertainty assignment. For more accurate results, apply clock uncertainty assignments or use the derive_clock_uncertainty command. Critical Warning: From c0 (Rise) to c0 (Rise) (setup and hold) kann mir jemand sagen, wasdas bedeutet; Danke
Altera Quartus ist da etwas pienzig mit den Warnungen und stuft Sachen als kritisch ein, die es in den meisten Designs nicht sind. Die Meldung kommt vom TimeQuest Timing Anlyzer und sagt aus, dass Du keine Angaben über die Unschärfe eines Taktes gemacht hast. Auch ein Quarzoszillator jittert etwas, und TimeQuest will wissen, wie arg. Aber wie gesagt kann man das in den meisten Fällen zunächst ignorieren, wenn du unterhalb 100 MHz bleibst.
Danke für dein Antwort, ich habe die DE0 Board , ich habe der Clock Eingang von PLL zu G21 angeschlossen, ist es richtig? http://www.terasic.com.tw/attachment/archive/364/DE0_User_manual_v1.1.pdf Warum wenn ich ein PLL verwende bleibt Total PLLs 0/4? Was sind die möglichen Fehlern? kann mir bitte jemand helfen
Ich kann jetzt gerade nicht prüfen, ob das der richtige Pin ist, aber wenn er es nicht wäre, dann würde Quartus schon meckern. Gehen wir also mal davon aus, dass das stimmt. Quartus optimiert alles weg, was nicht benötigt wird. Wenn Du eine PLL instanzierst und den Takteingang der PLL an einen Clockpin anschließt, dann wirft Quartus das trotzdem alles wieder weg, wenn kein Ausgangspin von einem der von der PLL erzeugten Takte abhängt. Also selbst wenn Du den Ausgangstakt der PLL in einer Logik verwendest aber kein Signal diese Logik an einem Ausgangspin herauskommt, dann wird das alles wegoptimiert und die Auslastung bleibt bei 0/4.
ich verwende der Ausgang von PLL, im Anhang ist der Programm. kann man der Fehler erkennen? warum inclk0 bei Assignment Editor nicht definiert ? danke
Hallo Harald, bezieht sich diese Warning auf den externen Quarztakt zur PLL ? Und wenn ja wird diese Warning erst kritisch wenn der externe 'Quarztakt' 100MHz beträgt ? wäre für Aufklärung dankbar. Gruss & schönen Sonntag Matze
Hallo Sabine, Du hast fast alles richtig gemacht. Die Bildschirmabzüge zeigen allerdings, dass Quartus nur einen Teil deiner Schaltung synthetisiert. Wahrscheinlich hast Du zuerst die Schaltung der Entity pll modelliert (also den rechten Block, der gar keine PLL enthält) und später die PLL und den Schaltplan dazugebaut. Quartus weiß das aber nicht, sondern kennt nur die Datei pll.vhd. Deswegen findet Du im Assignment Editor auch nicht die Pins des Top levels (block1) sondern die Ports der Entity pll. Du musst Quartus schon sagen, was der Top level der Synthese sein soll. Also klick mal in den block1, definiere das als Top level (Ctrl-Shift-J, glaube ich) und dann müsste es gehen, falls Quartus nicht noch die alte Einschränkung hat, dass der top level so heißen muss, wie das Projekt. @Matze: TimeQuest sagt ganz genau, was ihm nicht passt. Wie hieß das doch gleich? Critical Warning: The following clock transfers have no clock uncertainty assignment. For more accurate results, apply clock uncertainty assignments or use the derive_clock_uncertainty command. Critical Warning: From c0 (Rise) to c0 (Rise) (setup and hold) Aha, Clock c0 gefällt ihm nicht. Das ist der Takteingang der Entity rechts im Schaltplan. Wenn Sabine das mit dem top level korrigiert hat, dann wird TimeQuest außerdem noch über den Takt inclk0 meckern, also den Eingangstakt der PLL. Das mit den 100 MHz ist so eine Hausnummer. Eine Taktperiode ist da 10 ns lang und der Jitter eines Quarzoszillators liegt da um Größenordnungen darunter. Das geht im Rundungsfehler unter. Der richtige Weg wäre allerdings, eine entsprechende Angabe in die sdc-Datei zu schreiben, dann gibt TimeQuest Ruhe.
danke Harald Flügel es ist sehr nett von dir, ich habe das probiert und es funktioniert ganz gut. danke
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.