Forum: FPGA, VHDL & Co. CLK als normalen Input verwenden beim Cyclone IV


von Tobias (Gast)


Lesenswert?

Hallo,

ich erstelle gerade eine Platine mit einem Cyclone IV EP4CE22. Dieser 
soll Videosignale verarbeiten. Ich musste leider feststellen, dass von 
den erwarteten 79 I/Os 15 CLK Pins sind, welche als CLOCK IN dienen. Im 
den PinGuidelines habe ich nun gelesen, dass man diese Pins auch als 
normale Inputs benutzen kann. Nun habe ich zwei Fragen, auf die ich 
leider noch keine Antwort gefunden habe.

An welche oder wie viele der 15 CLK pinns muss ich den externen 
Oscillator anschließen und welche und wie viele kann ich als Input Pins 
benutzen?

Nun zur zweiten Frage. Da ich Videosignale über diese Eingägne in den 
FPGA bekomme müssen diese mit 50 Ohm abgeschlossen werden. Bei normalen 
IOs kann der FPGA das. Bei den CLK Pins welche ich als Input Pins 
benutzen möchte bin ich mir da nicht sicher da diese laut Handbook 
keinen IO Register support haben sondern nur LE-based Register.

Kann der FPGA diese Pins auch intern mit 50 Ohm abschließen?

Ich freue mich über antworten und Tipps.

Danke und viele Grüße!

von Ruediger (Gast)


Lesenswert?

Soweit mir das bekannt ist, hat der Cyclone IV keine 
Terminierungswiderstaende on-chip.
Siehe Handbuch S. 112: "Cyclone IV devices provide I/O driver on-chip 
impedance matching and RSOCT for single-ended outputs and bidirectional 
pins".

Ich verstehe das so dass nur die Treiberstaerke an die Leitung angepasst 
werden kann (und damit Rsoct 25 oder 50 Ohm hat). Von parallelen 
Terminierungswiderstaenden steht da nichts. D.h. die Leitungen muessten 
extern terminiert werden.

Ich kenne den genauen Aufbau der Cyclones nicht, aber ich vermute, dass 
bestimmte CLKin Pins auf bestimmte PLLs gehen.
Schau dir mal 
http://www.altera.com/literature/hb/cyclone-iv/cyiv-51005.pdf an, auf 
Seite 12 solltest du schon mal eine Idee bekommen was du verschalten 
kannst.

Falls du dir unsicher bist, erstell mit Quartus ein kleines Projekt das 
die Pins togglen laesst und die benoetigten PLLs und ggf. auch die 
Terminierungswiderstaende verwendet. Falls dann keine Fehler auftreten 
sollte dein Pinning weitestgehend korrekt sein.

von Jan (Gast)


Lesenswert?

Den C4 gibt esd doch auch als Transceiverversion. Da muss es doch 
Terminator-Rs geben.(?)

von Ruediger (Gast)


Lesenswert?

Transceiver haben nicht wirklich was mit normalen IOs gemeinsam. Die 
sind i.d.R. gesondert zu betrachten. Die Transceiver im CIVGX haben 
einen differentiellen 100 oder 150 Ohm Abschluss. Siehe S. 291 im 
Handbuch.

von Tobias (Gast)


Lesenswert?

Ruediger schrieb:
> Ich kenne den genauen Aufbau der Cyclones nicht, aber ich vermute, dass
> bestimmte CLKin Pins auf bestimmte PLLs gehen.
> Schau dir mal
> http://www.altera.com/literature/hb/cyclone-iv/cyi... an, auf
> Seite 12 solltest du schon mal eine Idee bekommen was du verschalten
> kannst.

PLLs brauche ich vermutlich gar nicht. Ob die Funktionieren ist 
irrelevant, da ich den Takt des externen Quarzoszillators nicht 
verändern brauche. Es geht mir wirklich nur um den Takt. Also einfach 
gesagt, wie viele und welche CLK Pins muss ich mit dem exteren 
Oszillator verbinen damit der FPGA (ohne PLLs läuft)?

von Marco L. (lehmi)


Lesenswert?

Ich kann jetzt gerade nur von Xilinx und Lattice FPGAs sprechen, aber da 
reicht ein Takteingang, damit der FPGA läuft. Die CLK Pins können direkt 
auf die internen Taktnetze geroutet werden, um die Taktphasendifferenz 
im Design klein zu halten.

von Ruediger (Gast)


Lesenswert?

Du solltest den Cyclone iv mit nur einem Taktsignal betreiben koennen; 
abhaengig von dem Eingangspin kannst du von dort aus auf verschiedene 
GCLK netzwerke gehen. (siehe obiges PDF)

Da die Pins i.d.R. sowieso mit den PLL Eingaengen zusammmenfallen bzw. 
diese bypassed wird, solltest du dennoch einen dieser Pins nehmen. 
Vielleicht benoetigst du spaeter ja doch einmal eine PLL und dann 
wuedest du dich aergern. Die PLL wie auch das GCLK Netzwerk selbst 
sollte man single ended anfahren koennen, d.h. du brauchst einen Pin der 
das Taktsignal fuer den ganzen Chip durchreicht.

Auch wenn du nicht notwendigerweise eine PLL benoetigst waere es dennoch 
nicht schlecht eine zu implementieren und einfach deinen Eingangstakt 
weiterzuleiten. Bei der Synthese optimiert Quartus ja die 
Gatterlaufzeiten usw. ... Wenn du ihm das Taktsignal nicht explizit 
vorgibst, kann es eventuell zu Setup- oder Holdviolations kommen. Die 
PLLs koennen auch die Taktphasendifferenz zwischen Eingangspin und 
interner Logik herausrechnen und so ein synchrones System ermoeglichen. 
Sicher kann man Quartus auch irgendwie mitteilen dass es sich bei deinem 
Clkin Pin um ein Taktsignal mit xx MHz handelt, vllt. ist es mit der PLL 
jedoch einfacher.

Du kannst dir ja mal die Schaltplaene und Layouts der Altera Demoboards 
fuer den Cyclone IV ansehen - da bekommst du sicher ein paar gute Ideen!

von Tobias (Gast)


Lesenswert?

Danke!

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.