Xilinx constraint ADC

Gast #7087806
Lesenswert?

Ich habe einen 16 bit 80MSps ADC parallel am fpga. Das ist ein Pipelined 
ADC und wird mit ständiger clock aus der DCM versorgt. Welche constraint 
brauche ich nun um den 16bit bus, der vom ADC kommt mit dem clocksignal 
zu verknüpfen? Es gibt ja die offset in constraint aber die sind nach 
meinem Verständnis nur sinnvoll wenn die clock auch von extern kommt. 
Die wird bei mir ja aber intern generiert. Es geht um einen spartan 6.
#7087918
Lesenswert?

Ralph N. schrieb:
> 16 bit 80MSps ADC

Welcher genau? Die meisten ADC geben eine Echo-Clock wieder mit den 
Daten aus.

Ralph N. schrieb:
> Es gibt ja die offset in constraint aber die sind nach
> meinem Verständnis nur sinnvoll wenn die clock auch von extern kommt.

Das geht auch mit der internen Clock. Es gibt ja auch hier einen festen 
zeitlichen Zusammenhang zwischen einer Taktflanke der internen Clock und 
den eintreffenden Daten.
Beitrag #7088219 wurde von einem Moderator gelöscht.
Gast #7088871
Lesenswert?

Als Hinweis, Seite 26 vom Datenblatt, unter "Jitter Consideration" da 
ist eine Formel zu finden was an SNR bei welchem Jitter über bleibt.

Mal ins dunkle geraten... so ein DCM-Clk dürfte wohl den SNR deutlich 
reduzieren.

Mein Rat, einen guten Oszillator mit eigenem Rauscharmen LDO, mit diesem 
CLK zum ADC und vom ADC zum FPGA.

Gruß
Gast #7089425
Lesenswert?

Moin

Ralph N. schrieb:
> Christian R. schrieb:
>> Den ADC aus einem MMCM füttern ist denkbar schlecht für das SNR.
>
> Habe ich jetzt leider so gemacht weil die 40MHz aus 20MHz erzeugt werden
> und kein extra oscillator dafür vorgesehen war. Werde ich mir in der
> Revision mal zu Herzen nehmen.

Das vervielfachen macht die Sache noch mal deutlich schlechter was den 
Jitter betrifft, da bleiben am ende von 16Bits nicht mehr viel 
brauchbare Bits über.

Ich hatte vor längerer zeit mal mit dem Spektrumanalysator geschaut was 
da so raus kommt aus den FPGAs, Spartan-3/E/A, Spartan-6. Das Ergebnis 
war erschreckend! Die angaben in den Datenblättern kann man eventuell 
noch trauen wenn nichts weiter als der DCM + das notwendigste am laufen 
ist, kommt dann aber noch mal reichlich Logik dazu... wird es 
unvorhersehbar sehr dreckig.

So im Nachhinein leuchtet das Problem ja auch ein, schaut man sich mal 
an was für ein Aufwand getrieben wird um Rauscharme bzw. Jitterarme 
Oszillatoren und deren Stromversorgung zu frickeln, dann ist so eine DCM 
(oder wie immer sie genannt werden) in so einem FPGA am schlechtesten 
Ort, unsaubere Stromversorgung, rauschen aus dem Umfeld, Temperatur... 
das ist am ende in etwa so als ob man Beethovens Sinfonie neben einen 
laufenden Schiffsdiesel hören will.

Selbst ohne DCM, also nur rein/raus aus dem FPGA ist meiner Meinung nach 
für einen 16Bit ADC vollkommen unbrauchbar.

Gruß
Gast #7089438
Lesenswert?

Die Frage ist wie viel von 16bit bleiben. Wohl kaum nur noch 12bit. 
Denke bei der Revision spendiere ich den ADCs mal einen eigenen 
Oszillator mit clockbuffer. Die Idee war eben das im fpga zu machen, da 
ich triggern möchte und der trigger mit einem Zähler im delay variiert 
wird.
Gast #7089477
Lesenswert?

Ob 12Bit über bleiben... da würde ich jetzt keine aussage zu machen 
wollen, zu viele unbekannte im spiel.

In deinem Fall (bei einem neuen Design) würde ich dennoch die Daten vom 
ADC mit dem Dco-Clk an den FPGA IO-Register übernehmen, da ist man vom 
Timing her deutlich besser dran, dafür ist der Dco-Clk ja auch da.

Clockbuffer zusätzlich, klar kann man machen. Im FPGA noch mit DCM oder 
wie auch immer verwursteten, dann intern nach den Dco-Clk/Io-Registern 
synchronisieren, ab da hat man ja wieder alle Freiheitsgrade die man 
sich ausdenken kann.

Schauen würde ich noch das die IOs vom ADC alle an der selben Io-Bank 
liegen, ist zwar vom Timing jetzt nicht wirklich kritisch, verbraucht 
aber unnötig Clk-Netze wen es über mehrere Io-Bänke hinweg geht.

Gruß

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