Hallo zusammen, bin FPGA und VHDL Neuling. Kann ich die Onboard-Clocks auf einem ALTERA CYCLONE II (27 MHz,50MHz,24MHz über USB) manuell ein/ausschalten? Ich nehme mal an sie laufen sobald ich das Board an mache. Mein Ziel wäre es aber eine dieser Clocks erst einzuschalten wenn ich von der externen Clock die erste Flanke als Trigger benutze. Damit sollte der erste Puls der 50MHz Clock an die erste Flanke des Triggers "gelockt" sein (die PLL Megafunction kann ich nicht nutzen, da die externe Clock mit 5,1XX MHz zu langsam ist) Vielen Dank schon mal!
Was ist das denn für ein Board? Und warum die Clocks spät zuschalten? Womit soll konfiguriert werden?
Hallo Natan, das Board ist ein Cyclone II Starter Kit Board EP2C20F484C7. Es soll mit dem Conf.device EPCS4 konfiguriert werden (wenn Du das meinst). Wie schon beschrieben, die Idee ist es die externe CLK (5.1XX MHz) mit der internen 50 MHz-CLK zu synchronisieren - zumindeste den ersten Takt der beiden Frequenzen. Hätte ich es soweit, könnte ich nach z.B. 9 Takten (50 MHz) die interne CLK wieder ausmachen. Mit dem zweiten Takt der externen CLK würde ich die interne CLK wiederum einschalten, und das Spiel beginnt von vorn. Damit kann ich sicherstellen, dass z.B. Takt Nr 4 (50MHz) immer wieder den selben zeitlichen Abstand zu meinem 5,1XX MHz-Takt hat (wenn das so überhaupt realisierbar ist). Ich brauche dieses definierte Verhältnis um ein Signal/Ausgang X mit einem Takt der 50 MHz CLK auf 1 setzen zu können. Mit anderen Worten, ich muß das Signal X an einer definierten Stelle zwischen den 5.1XX MHz Takten auf 1 setzen. Das habe ich vorher ohne 50MHz CLK und mit einem VHDL-Prozess und der wait-Anweisung versucht umzusetzen, bis ich hier gelesen habe, dass "wait for X ns" nicht synthetisierbar ist (was meine Simulation mir auch gezeigt hat). Daher denke ich, dass ich das Problem mit einer internen CLK lösen kann. Wenn Du nen anderen Lösungsansatz hast, bin ich dem offen gebenüben. Angehängt ist ein Bild das zeigt wie ich mir die Ausgangssituation vorstelle: zwei CLKs verlaufen Asynchron zueinander. Viele Grüße
Du musst das Signal mit den 50 MHz erzeugen und mit der steigenden Flanke ds 5MHz raussynchronisieren. Das geht am einfachsten, wenn du die 5,1 eintaktest und entsprechend 8-9 Takte vergehen lässt. Dann bist Du genau etwas früher fertig und kannst das Signal ausgeben. die 5,1 kommen einfach ohne PLL,
Hallo zusammen, danke für die Antworten. Da ich die interne Clock wohl nicht manuell starten/stoppen kann wird dieser Lösungsansatz nicht funktionieren. Meine externe Clock kann ich ebenfalls nicht beliebig an/ausschalten. Das die Cyclone, Cyclone II Boards unterstützen in der ALTPLL Megafunction nur Input-Clocks ab 10 MHz. Will man eine Eingangsfrequenz darunter nutzen muß man mindestens auf Cyclone III Boards zurückgreifen.
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.