Forum: FPGA, VHDL & Co. CLK für externe AD-Wandleransteuerung


von Michael (Gast)


Lesenswert?

Hi @ all

Ich habe einen externen Quarz, der auf einen Clockeingang am FPGA geht.
Dieses Clock möchte ich jetzt auf einen Ausgangspin geben. Dies habe ich
auch gemacht, jedoch gibt es beim Routen eine Warnung. Wie kann ich das
ganze umgehen?

Gibt es eine Lösung oder muss ich den Clock per Hardware an den
AD-Wandler anbinden?

Grüsse

Michael

von Dirk (Gast)


Lesenswert?

IBUF , OBUF

von Michael (Gast)


Lesenswert?

Das mache ich ja. Das Clocksignal wird direkt auf den Ausgang gegebenen,
jedoch mekert er beim Routen.

von FPGA-User (Gast)


Lesenswert?

wenn der ADC mit der Quarzfreq. laufen soll, würde ich
den Takt direkt an den ADC legen. Dann haben FPGA und
ADC einen synchronen Takt.
Den Takt durchs FPGA zu ziehen halte ich für eine schlechte
Idee.

von FPGAküchle (Gast)


Lesenswert?

<Das mache ich ja. Das Clocksignal wird direkt auf den Ausgang
<gegebenen,
<jedoch mekert er beim Routen.

Wie meckert er (Bitte logdatei *.par anhängen).

von Michael (Gast)


Lesenswert?

Das PCB ist schon fertig. Deshalb kann ich nur eine Leitung anlöten,
aber das ist nur die absolute Notlösung.

Die Fehlermeldung lautet wie folgt:

WARNING:Route:447 - CLK Net:SCLK_ADC_int may have excessive skew
because
   1 NON-CLK pins failed to route using a CLK template.

Kann man etwas dagegen machen?

Grüsse

Michael

PS FPGA-küchle und FPGA-User sind aber aktive Helfer in diesem Forum.
Macht weiter so. Man kann ja mal einen Chatroom für FPGA-User
einrichten oder über Skype miteinander telefonieren. Noch besser wäre
ein Treffen der FPGA-Profis und alle die kommen wollen :-) Dann kann
man sich mal besser über Erfahrungen austauschen

von Klaus F. (kfalser)


Lesenswert?

Wenn dein FPGA über DDR (Double Data Rate) Ausgangsregister (z.B.
Spartan) verfügt, kannst Du Deinen Ausgangstakt auch damit spiegeln.
Im Prinzip schaltet man den Ausgang bei der Aufsteigenden Taktflanke
nach '1' und bei der abfallenden Flanke nach 0.

Dies wird von Xilinx auch empfohlen, wenn Datenausgänge genau synchron
mit dem Takt schalten will.

OFDDRRSE_inst : OFDDRRSE
     port map (
            Q  => Sdram_Clk,
            C0 => Clk50,                -- 0 degree clock input
            C1 => nClk50,               -- 180 degree clock input
            CE => '1',                  -- Clock enable input
            D0 => '1',                  -- Posedge data input
            D1 => '0',                  -- Negedge data input
            R  => '0',                  -- Synchronous reset input
            S  => '0'                   -- Synchronous preset input
            );

Aufgrund der von Dir gelieferten Warnung glaube ich aber dass Du irgend
etwas anderes falsch machst.

Poste doch mal die relevanten Teile deines Codes.

Grüße
Klaus

von Michael (Gast)


Lesenswert?

Aber wenn ich einen FlipFlop verwende, dann halbiere ich doch die
Frequenz.

Was ich bis jetzt mache ich Leite die Clock-Leitung vom InputBuffer
direkt auf den OutputBuffer.

von FPGAküchle (Gast)


Lesenswert?

#PS FPGA-küchle und FPGA-User sind aber aktive Helfer in diesem Forum.
#Macht weiter so. Man kann ja mal einen Chatroom für FPGA-User
#einrichten oder über Skype miteinander telefonieren. Noch besser wäre

#ein Treffen der FPGA-Profis und alle die kommen wollen :-) Dann kann
#man sich mal besser über Erfahrungen austauschen

Der chat läuft grad (diehe anderes Posting), Antwort kann aber dauern,
hab einen
Haufen fenster drüber liegen, die wollen erst weggeklickt sein.

mal schauen ob der chat sich hält, fände ich praktischer als Telefon,
da text
kann man gleich abspeichern und in die webseite pappen kann.

von FPGAküchle (Gast)


Lesenswert?

#WARNING:Route:447 - CLK Net:SCLK_ADC_int may have excessive skew
#because
#   1 NON-CLK pins failed to route using a CLK template.

#Kann man etwas dagegen machen?

Hm eventuell. Also du scheinst ein Signal zu haben das nicht nur als
clk genutzt wird, Also nicht nur mit BUFG oder CLK von Slices
(FF,SRL16) oder BRAMS verbunden ist. im PlaceandRoute report (ab 8.1.?)
steht auch der skew auf den
Taktnetzwerk. steht dort was kleiner 1.1 .. 1.5 ns wäre ich nicht
beunruhigt. Hast Du aber Timingerrors solltest du den grund für diese
warning beseitigen.

Zur analyse welche Pins an diesem clock hängt empfiehlt sich entweder
das EDIF
File (muss mit ngc2edif erzeugt werden) oder der FPGAeditor. Bei
FPGAeditor
suchst du nach diesem netzt (vorher unter main properties case
sensitive abwählen) und * verwenden. Das netz im linken fenster
anklicken und unter tools
delay auswählen. Dann zeigt er alle Pins am Netz. Am besten mal eine
Weile mit
FPGA editor rumspielen, läßt sich schlecht erklären.

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.