Forum: FPGA, VHDL & Co. Mein erstes schnelles CPLD-Projekt


von Der T. (Gast)


Lesenswert?

Hallo!

Ich möcht einen digital einstellbaren Frequenzteiler, der mit 100MHz 
getaktet wird, mit einem CPLD realisieren. Im Prinzip nichts 
dragisches..

Meine Frage zum Quelltakt:
Reicht es, wenn ich diesen Takt von einem Quarzoszillator auf einem 
GlobalClock lege und diesen dann wie einen "normalen" I/O im 
Schematic-Editor mit den Zählern verschalte?

Oder muß ich noch irgendwo was einstellen? (z.B. sowas wie Fuses oder 
so?)

Gruß,
Techniker

von Uwe Bonnes (Gast)


Lesenswert?

Wie entwirfst Du? Mit HDL oder als Schematic? Bei HDL sollte es reichen, 
das Clock Signal als solches  zu verwenden. Pass auf, standardmaessig 
sind die Zellen bei den XC95XL Typen als LowPower und (relativ) 
Low-Speed geschaltet.
Entweder von von Hand auf schnell schalten, oder hoffen, dass die 
Werkzeugkette mit den entsprechenden Constraints das richtige tut.

von Christian R. (supachris)


Lesenswert?

Also bei den Xilinx CPLDs muss der Takt auf einen GCK Eingang gelegt 
werden, dann läuft er auf einem speziellen HighSpeed Pfad. Blöd wirds 
nur, wenn du den Takt dann noch erst invertieren musst oder irgendwie 
durch ein gatter jagen, dann verändert sich die Taktlage natürlich. Aber 
das sagt ja das Designtool nach dem Fitten.

von Der T. (Gast)


Lesenswert?

@Uwe:
Ich entwerfe die Schaltung als Schematic.
Wie kann ich die Zellen auf "HighPower" und "HighSpeed" stellen?

@Christian:
Also der Takt (100MHz) geht intern direkt auf ein paar Zähler. Der 
Zählerstand wird dann über einen Vergleicher mit einem vordefinierten 
Wert verglichen und dann bei Übereinstimmung ein Zähler-Reset ausgeführt 
sowie der Takt weiterverarbeitet..

Gruß,
Techniker

von Klaus F. (kfalser)


Lesenswert?

Du solltest den ISE Tools mittels Constraints angeben, daß Dein Takt 100 
MHz schnell ist.
Das macht man mit dem Constraints Editor, und du mußt 10 ns als 
Periodendauer angeben.

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Wieviel Bit hat der Teiler? Ist es vollständig ein Synchronzähler, oder 
hat er irgendwo ripple-clock. Die CPLDs machen oft 
Geschwindigkeitsprobleme, wenn es z.B. über 16 Bit hinausgeht, da muß 
man selbst eine Carrylogik basteln.

von Der T. (Gast)


Lesenswert?

Hallo Christoph!

Der Teiler ist ein 16Bitter: CB16RE

Gruß,
Techniker

von Christian R. (supachris)


Lesenswert?

Wenn der schnelle Takt nur an CLK Eingänge der Zähler oder FFs geht, 
hatte ich noch nie Probleme. Angeben kann man das auch, ja, dann 
optimiert der, bis es passt (oder die Interationsschritte abgelaufen 
sind).

von Der T. (Gast)


Lesenswert?

Ok, danke an alle für die Infos! :)

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.