Forum: FPGA, VHDL & Co. Schneller DAC an Spartan3E


von Kurt B. (kurt)


Lesenswert?

Hallo,

ein AD9742 soll mit 200MS/s angesteuert werden. Der FPGA bekommt vom 
Oszillator 50MHZ die per DCM auf 200MHz verfielfacht werden. Ist es 
jetzt schon möglich das richtige Clock Timing für den DAC zu erzeugen?

Oder müssen mit weiteren DCMs Phasenverschobene Takte erzeugt werden 
oder wie geht es richtig?


Mfg,
Kurt

von Christian R. (supachris)


Lesenswert?

Im Normalfall sollte das reichen. Im Einzelfall kann man auch den den 
CLK, der zum DAC geht auf einen 180° oder 90° verschobenen Takt legen. 
Ist aber eigentlich selten nötig. Kannst ja mal die OFFSET OUT 
Constraints angeben, und schauen, was da rauskommt.

von Kurt B. (kurt)


Lesenswert?

Hallo Christian,
mein Fehler war dass ich den 90°/180° verschoben Takt erst noch durch 
einen process jagen wollte anstatt ihn direkt wieder als WriteEnable 
auszugeben.

Nach den OFFSET OUT Constraints werde ich jetzt mal googlen. ;-)

Mfg,
Kurt

von Christian R. (supachris)


Lesenswert?

WriteEnable? Der DAC hat doch nur CLK Eingang und die Daten, wenn ich 
das jetzt nicht völlig falsch sehe im Datenblatt. Musst nur dafür 
sorgen, dass das Setup und Hold Timing am DAC eingehalten wird, also 
dass die Daten stabil anliegen, wenn die CLK Flanke kommt. Das klappt 
aber eigentlich immer schon, wenn du die Daten mit einem OFF ausgibts 
(bzw. das IOB=true für die Ausgangsregister setzt) und den Takt, mit dem 
die Register getaktet sind, über ein ODDR mit raus gibst. Dazu brauchst 
du natürlich den invertierten Takt noch.

von Kurt B. (kurt)


Lesenswert?

Du hast natürlich recht. Die Daten werden mit der steigenden Clock 
Flanke übernommen.

von Johann (Gast)


Lesenswert?

Ein 200MHz DAC mit einem Spartan 3E ist aber sehr sportlich. Erzeugt der 
DAC ein DDR-Datensignal oder kommen die Daten mit 200MHZ in den FPGA?

von Christian R. (supachris)


Lesenswert?

Bei einem DAC werden die Daten immer noch vom FPGA ausgegeben. 
Schwierigkeit ist da eher der BlockRAM, wo die DAten herkommen, 200MHz 
sollte aber gehen, wenn da keine Kombinatorik im Signalpfad ist. Den 
Ausgabe-CLK kann man mit dem DCM noch etwas verschieben, damit er zu den 
Daten passt.

von Johann (Gast)


Lesenswert?

Oh ja ich habe den DAC mit dem ADC verwechselt :-) Asche auf mein Haupt 
:-)

von Michael O. (mischu)


Lesenswert?

200 MHz ist auch vom Leiterplatten Layout etwas sportlich.
Solltest auf jeden Fall darauf achten, dass die Leitungen gleiche Längen 
haben.

von Kurt B. (kurt)


Lesenswert?

Das es es sportlich wird habe ich mir schon gedacht. Es soll nämlich ein 
DDS System werden. Das Internet ist voll von Leuten die sowas bauen 
wollen aber Ergebnisse findet man kaum...

Als FPGA Board dient der Openbench Logic Sniffer
http://dangerousprototypes.com/2010/02/25/prototype-open-logic-sniffer-logic-analyzer-2/ 
zusammen mit einen AD9742.

Natürlich sind die 200Mhz eine Herausforderung sowohl auf der Platine 
als auch im FPGA. Für den Einstieg würden mir auch schon 50MHz reichen. 
Danach kann man immernoch mit der Frequenz höher gehen, auch wenn es 
Layoutbedingt vieleicht nur im Simulator gehen wird.

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.