Ein paar Takte zuviel.

OP #2035207
Lesenswert?

Hallo,
folgendes Problem: In meiner Schaltung nutze ich unterschiedliche 
Clocksignale. Jetzt kann ich die verschiedenen Takte auf PLLs geben und 
mir die diversen Teiler davon abgreifen. Leider bietet Altera aber für 
jede PLL nur ein Clock Enable.
Deshalb die Frage: wenn ich anzwischen den PLL-Ausgang und den 
Takteingang eine Logic in der Art

clock_eingang <= clock AND enable;

setze mache ich mir doch die Vorteile der stabilen PLL größtenteils 
wieder zunichte?
Moderator (Firma: Titel) Persönliche Seite #2035226
Lesenswert?

Stefan R. schrieb:
> setze mache ich mir doch die Vorteile der stabilen PLL größtenteils
> wieder zunichte?
Du erzeugst dir einen "Gated Clock" und die Xilinx Tools würden sagen: 
"this is no good design practice"... :-o
Hauptsächlich deshalb, weil du dann mit dem Takt erst mal in die 
Logikverdrahtung und dann zurück auf ein Taktnetz mußt.

Ganz arg schlimm wird es dann aber, wenn dieser Enable asynchron zum 
gegateten Clock kommt. Dann kann dir schlicht und einfach alles 
passieren...

BTW:
> In meiner Schaltung nutze ich unterschiedliche Clocksignale.
Warum? Wieviele? Und warum willst du die noch Enablen/Sperren?
OP #2035267
Lesenswert?

Ich habe eine VGA Zeile mit 800 sichtbaren Pixeln. Dazu habe ich 720 
Y-Werte. Diese werden mit 100MHz paarweise aus dem SDRAM in ein FiFo 
gelesen. Bildfrequenz sind 72Hz = 50MHz "Pixelfrequenz". Vor den 800 
sichtbaren Pixeln liegen 165 Pixel Austastlücke. D.h. beim ersten 
sichtbaren Punkt muss mein Fifo 2 Takte Vorlauf bekommen haben um dann 
mit 25MHz jeweils ein Päarchen Y-Werte auszuspucken.
Gast #2038633
Lesenswert?

Ich denke, da gibt es ein Missverständnis zum Thema clock enable. clock 
enable bedeutet NICHT, dass Takt und enable signal "und" verknüpft 
werden und so im FPGA verteilt wird.
Die clock wird - as is - verteilt und die Register werden mittels clock 
enable auf aktiv oder inaktiv geschalten.
Gast #2039281
Lesenswert?

Lothar Miller schrieb:
> Sym schrieb:
>> clock enable bedeutet NICHT, dass Takt und enable signal "und" verknüpft
>> werden und so im FPGA verteilt wird.
> Diese logische Verknüpfung ist der bereits angeführte "Gated Clock".

Absolut richtig. Und gated clocks sollte man tunlichst vermeiden, es sei 
denn man weiß ganz genau was man tut.
OP #2041029
Lesenswert?

Ich denke mitlerweile auch, dass der Begriff "Clock Enable" von Altera 
hier irreführend ist. Eigentlich sollte es eher "PLL Enable" lauten.

Das Problem habe ich auf andere Weise gelöst. Ursprünglich war der 
Fehler, dass ich eine Art Übersprechen auf dem Ausgang meiner Fifos 
hatte, da während des Auslesens gleichzeitig Daten am Eingang anlagen, 
die ich aber verwerfen wollte. Probehalber habe ich also ein UND auf den 
Takt gelegt und ihn während des Auslesens ausgeblendet. Das hat so auch 
funktioniert, war aber nicht wirklich gut gelöst. Mitlerweile läuft die 
Schaltung, indem ich den Dateneingang über einen Multiplexer laufen 
lasse und nur noch dann Freigebe, wenn ich wirklich einlesen will.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren