Hallo! Beim z.B. Spartan gibt es ja diese Clock-Distribution-Network. Das man hier an die beschriebenen IO's die externen Clock-Signale entsprechend einspeist ist mir soweit klar. Wenn ich jetzt aber eine Clock erzeugen will, sind diese IO's dann auch zu verwenden? Oder kann ich einen Clock-Ausgang beliebig wählen?
> Oder kann ich einen Clock-Ausgang beliebig wählen? Einen Clock-Ausgang wofür? SPI, I²C? Das sind dann eigentlich keine "Takte" im Sinne des FPGA-Takts, sondern einfach irgendwelche Signale, die Clock heißen...
Ausgangs-Pins für Clocks sind prinzipiell egal. Wenn du allerdings einen Takt direkt aus dem internen Clock-Netzwerk nach außen geben willst (Clock Forwarding), dann empfiehlt Xilinx, dafür ein DDR-FlipFlop zu nutzen. Wenn du das nicht machst, muss dieser Takt über normale Verbindungen geroutet werden, was die maximale Geschwindigkeit des Designs herabsetzen kann.
Soll ein Takt für einen ADC sein. Max. 100Mhz. Das mit dem DDR-FlipFlop ist schonmal ein guter Ansatz! Vielen Dank!
100 MHz ist da aber evtl. schon nicht mehr so ganz intuitiv realisierbar. Nutzt du die DDR-FFs, dann musst du den Takt auf der fallenden Flanke ausgeben und mit der steigenden Flanke die ADC-Werte einlesen. Bedeutet in 5ns muss das Signal drin sein. Hierfür wirst du wahrscheinlich die IO-FFs benutzen müssen und je nach Design (bzw. Ziel der ADC Signale) muss dahinter evtl. noch ein FF um das Timing etwas zu entschärfen - ergibt aber einen Takt Verzögerung. Auf alle Fälle Timing Constraints (OFFSET OUT <= 5ns - je nach ADC spec.) setzen.
Ist das ein ADC, der DDR-Ausgänge hat? Bei 100MHz ist das eher unüblich. Das ODDR, was ich meine, dient nur zum Clock-Forwarding. Einlesen geht dann bei einem ADC ohne DDR ganz normal, über IFF wenn nötig.
Ach mist, ich war gerade gedanklich beim DAC, wenn du nur ADC Werte einliest ist das nicht so kritisch. (Mit 100 MHz Daten und Takt auszugeben ist da schon schwieriger.)
Wobei es ziemlich ungeschickt ist, den ADC Takt aus einem DCM zu generieren. Der Jitter bringt die jede Menge digitales Rauschen rein. Das macht man nicht, wenn man genau messen will. Gut, bei einem 8 Bit ADC machts nicht viel aus, aber bei höheren Auflösungen schon.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.