Bin gerade dabei, meine ersten kleinen Schritte in die Wunderwelt der FPGAs und deren Programmierung zu gehen. Immerhin hab ich schon irgendwo aufgeschnappt dass es zu den "Todsünden" der FPGA Programmierung gehört, wenn man sich den Takt für seine Schaltung selber mit einem Zähler bastelt. Stattdessen immer eine PLL für ein sauberes Taktsignal... Nun hab ich allerdings zwei Sonderfälle, wo mir die Antwort nicht ganz klar ist: 1) ich bin mit genau dem Takt zufrieden wie er vom externen Oszillator reinkommt. Bin ich dann auf der sicheren Seite, wenn ich trotzdem ganz vorne eine PLL dransetze, eben mit 1:1 Teilung, oder kann ich die in dem Fall weglassen? 2) ich brauch eine wesentlich niedrigere Taktfrequenz, als die PLL hergibt. Konkret Altera Cyclone II, ext. Oszi mit 50MHz, komme ich max. auf 12,5 MHz runter, ich möchte aber was um 2 MHz. Möchte einen altmodischen Prozessor nachbasteln. Ist das Kaskadieren zweier PLLs möglich bzw. empfehlenswert? Ausserdem hoffe ich, dass dann in den niedrigeren Frequenzbereichen eventuell doch ein Zähler gut genug ist?
Wenn du den Takt von Oszillator an einem der dedizierten Takteingänge des FPGA (die das gesamte Taktnetz erreichen) einspeist, ist das genauso gut, wie der Ausgang einer PLL, u.U. sogar besser, weil dann der Jitter nur vom Oszillator abhängt. Intern erzeugte bzw. vom externen Takt abgeleitete Takte sollte man nur mit den Clock Managern bereitstellen. Oder aber mit Clock Enable arbeiten.
Bei 2MHz muss Du entweder ohne PLL arbeiten, weil die meistens mehr sehen wollen (Xilinx um die 5MHz, Altera um die 10MHz), oder mit einem Takt um die 10-50MHz ins FPGA und dort eine PLL nutzen. Christian R. schrieb: > wie der Ausgang einer PLL, u.U. sogar besser, weil dann der Jitter > nur vom Oszillator abhängt. ... es aber ein Taktrevrveproblem (skwe) geben kann, dass die PLL mit SYSTEM_SYNCH Einstellung lösen kann. Interne PLLs in FPGAs sind heute erheblich besser, als früher, vor allem aber sind sie a) von ausreichender Güte für die Applikationen, weil sonst täte nichts funktionieren und b) berechenbar und einstellbar (s.o.) Ob es dann weniger jitter ist, als eingespeist, muss man sehen: Einen schlechten Takt von Aussen können PLLs auch glätten, wenn man sie träge stellt, was bei guten FPGAs geht. Den Takt von aussen nimmt man nur direkt, wenn er an weitere Daten gekoppelt ist und der Bezug durch die PLL verloren ginge wie bei guten AD-Wandlern mit eigener PLL.
Hallo Micha! Hast Du das Problem mit den Pinzuweisungen auf dem Alteraboard schon lösen können?! (Wenn nicht, dann mach hier nochmal einen neuen Beitrag auf.) Micha schrieb: > 1) ich bin mit genau dem Takt zufrieden wie er vom externen Oszillator > reinkommt. Bin ich dann auf der sicheren Seite, wenn ich trotzdem ganz > vorne eine PLL dransetze, eben mit 1:1 Teilung, oder kann ich die in dem > Fall weglassen? Du kannst den externen Takt auch direkt verwenden. > Ist das Kaskadieren zweier PLLs > möglich bzw. empfehlenswert? Ist möglich, aber die untere Grenzfrequenz dürfte trotzdem noch ein limitierender Faktor sein. > Ausserdem hoffe ich, dass dann in den > niedrigeren Frequenzbereichen eventuell doch ein Zähler gut genug ist? Zur Not geht das auch. Wenn Du Dein Design komplett im Griff hast, ist es günstiger das Design um ein clk_en erweitern. Da läuft dann das Design z.B. mit 10 MHz und alle 10 Takte geht das clk_en mal kurz auf '1' um den Takt von 1 MHz zu emulieren. Duke
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.