Forum: FPGA, VHDL & Co. Normales Signal durch BUFG zu einem Clock machen


von Martin (Gast)


Lesenswert?

Hallo,

ich habe durch eine Logik in meinem FPGA ein Signal erzeugt, welches im 
Späteren Verlauf quasi ein Clock für weitere Daten ist. Meine Frage: 
kann ich mit einem BUFG ein "normales Siganl" aus der Fabric zu einen 
clock machen?

Danke

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Martin schrieb:
> ich habe durch eine Logik in meinem FPGA ein Signal erzeugt
Wie? Warum?

> Meine Frage: kann ich mit einem BUFG ein "normales Siganl" aus
> der Fabric zu einen clock machen?
Welches FPGA?

> Meine Frage: kann ich mit einem BUFG ein "normales Siganl" aus
> der Fabric zu einen clock machen?
Das mußt du heutzutage nicht mehr selber tun. Solange noch Ressourcen da 
sind, macht das die Toolchain ganz von sich aus. Allerdings warnt sie 
dich, dass diese Art der Takterzeugung ungünstig (Jitter, Rauschen...) 
ist.

von Martin (Gast)


Lesenswert?

Hallo,

es wäre ein VIRTEX V.

Aber wenn du sagst, dass die Toolchain ganz von sich aus macht ist das 
ok!

Vielen Dank

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Martin schrieb:
> Aber wenn du sagst, dass die Toolchain ganz von sich aus macht ist das
> ok!
Danke für den Vertrauensvorschuss  ;-)
aber du kannst das im Synthesereport ganz einfach selbst 
nachkontrollieren. Dort wird die Anzahl der verwendeten Taktnetze 
angegeben.

von Ingenieur (Gast)


Lesenswert?

liesse sich soetwas nutzen, um auch einen externen Takt zu erzeugen - 
z.B. +ber DDR-Zellen?

Ich denke da an eine EXOR-Schaltung, die sehr kurze Impulse und hohe 
Frequenzen erzeugen kann.

von Duke Scarring (Gast)


Lesenswert?

Ingenieur schrieb:
> liesse sich soetwas nutzen, um auch einen externen Takt zu erzeugen -
> z.B. +ber DDR-Zellen?
Ja, siehe hier:
http://forums.xilinx.com/t5/Virtex-Family-FPGAs/Clock-generation-for-external-devices/td-p/172306

> Ich denke da an eine EXOR-Schaltung, die sehr kurze Impulse und hohe
> Frequenzen erzeugen kann.
Davon würde ich die Finger lassen. Sowas ist Bastelei und funktioniert 
im Labor, aber bei Änderungen der Betriebsspannung und/oder der 
Temperatur dann möglicherweise nicht mehr.

Duke

von H. G. (Gast)


Lesenswert?

Ein normales Signale kann an einer DDR-Zelle wirklich als Takteingang 
arbeiten? Das muss doch aus einem Taktnetz kommen, dachte ich.

von Duke Scarring (Gast)


Lesenswert?

G. H. schrieb:
> Ein normales Signale kann an einer DDR-Zelle wirklich als Takteingang
> arbeiten?
Nein, ein normales nicht.

> Das muss doch aus einem Taktnetz kommen, dachte ich.
Richtig. Dafür kann man BUFGs verwenden.

In dem Beispiel-Link von mir, werden aber die Dateneingänge des DDR-FFs 
auf fixe Werte gesetzt. Der Takt (bzw. die Takte) wird (werden) "wie 
üblich" zugeführt.

Duke

von H. G. (Gast)


Lesenswert?

Das im Beispiel ist aber nicht das, was gefragt war, oder?

Also nochmal: Irgendein Signal auf BUFG und ab dann ins Taktnetz, 
richtig?

(das mit der fixen Belegung der DDR ist klar, muss ja so sein).

von Klaus F. (kfalser)


Lesenswert?

G. H. schrieb:
> Also nochmal: Irgendein Signal auf BUFG und ab dann ins Taktnetz,
> richtig?

Ja, wobei manchmal der VHDL Compiler (Synthese) dies automatisch macht, 
wenn er erkennt dass das Signal an einen Takt-Eingang eines FFs geht.

von H. G. (Gast)


Lesenswert?

Stimmt ja eigentlich, habe das ja bereits genutzt. Ich war jetzt auf den 
IBUFG abgehoben. Der BUFG ist der, der in die Taktnetze geht. Die 
Xilinx-Taktnetz-Geschichte muss ich mir noch mal ganz genau ansehen, 
glaube ich.

von M.K. (Gast)


Lesenswert?

Hat der buffer eigentlich eine Verzögerung oder eine S-H-Zeit?

Ich meine, wie lange muss ein Puls sein, damit er zu einem Takt wird?

von Fpgakuechle K. (Gast)


Lesenswert?

M.K. schrieb:
> Hat der buffer eigentlich eine Verzögerung oder eine S-H-Zeit?
>
> Ich meine, wie lange muss ein Puls sein, damit er zu einem Takt wird?

Meinst du BUFG? Für einen Setup/Holdzeit braucht's aber zwei eingänge 
und die hat er nicht. Eine Laufzeit dagegen schon.  Frequenz sollte 
durch die max. TOGGLErATE der getriebenen FF/BRAMS etc bestimmt werden. 
Steht im Datenblatt meist ganz vorn, ist abhängig vom SpeedgrAD.

BTW, ich wurde dergleichen nicht einem Synthesetool etc überlassen 
sondern Buffer direkt instanziieren und per Hand platzieren. Die tools 
machen da zuweilen groben Unfung (entgegengesetzte Ecke des FPGA's) was 
für den P&R zu unlösbaren Wirwar führt.

MfG

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.