Forum: FPGA, VHDL & Co. LVDS - CMOS Ausgabe & interne Weiterverarbeitung


von Barni (Gast)


Lesenswert?

Guten Tag,

habe grade ein kleines Problem mit meinem ARRIA V GT Development Board.
Weiß nicht ob es nur ein Verständnis Problem ist oder ein 
grundsätzliches.
Ich habe einen SerDes realisiert. An meinem Ausgang des ALTLVDS_TX liegt 
nun ein LVDS Signal an, welches ich gerne an einem Oszilloskop 
betrachten würde.
Da ich leider keinen Differtial-Tastkopf habe, müsste ich das LVDS 
Signal wieder in ein SINGLE-ENDED Signal umwandeln.
Meine 2 Fragen nun:
1.) Gibt es eine Möglichkeit das direkt im FPGA zu realisieren oder 
benötige ich dafür einen externen LVDS Transceiver der das Siganl 
umwandelt?

2.) Ich möchte das Signal, welches aus dem ALTLVDS_TX rauskommt intern 
weiterverarbeiten, z.B. mit einem einfaches NOT-Gatter. Sobald ich das 
in Quartus verbinde bekomme ich bei der Synthese die Fehlermeldung das, 
dass Signal nicht routbar wäre. Mir ist klar das es daran liegt das, 
dass NOT-Gatter keine LVDS Signale verarbeiten kann. Aber wie kann ich 
das Problem lösen?

Vielen Dank schonmal für eure Hilfe

von Lattice User (Gast)


Lesenswert?

Barni schrieb:

> Ich habe einen SerDes realisiert. An meinem Ausgang des ALTLVDS_TX liegt
> nun ein LVDS Signal an, welches ich gerne an einem Oszilloskop
> betrachten würde.
> Da ich leider keinen Differtial-Tastkopf habe, müsste ich das LVDS
> Signal wieder in ein SINGLE-ENDED Signal umwandeln.

Nein, musst du nicht.
Im ersten Ansatz reicht es, das P Signal mit dem normalen Tastkopf 
anzuschauen. Zweiter Ansatz sind 2 Tastköpfe und im Osci die Differenz 
bilden. Viele Oscis können das schon in der Eingangskonfiguration.

Differentielle Tastköpfe brauchst du erst, wenn die Datenrate zu hoch 
ist für normale singled ended Tastköpfe. Dann kommst du aber mit einem 
extra LVDS - > LVCMOS nicht zum Ziel. Das Osci muss natürlich auch eine 
hoch genuge Bandbreite haben.

von Schlumpf (Gast)


Lesenswert?

Barni schrieb:
> Da ich leider keinen Differtial-Tastkopf habe, müsste ich das LVDS
> Signal wieder in ein SINGLE-ENDED Signal umwandeln.

Wenn es nur darum geht, das Signal zu betrachten, dann kannst du auch 
mit zwei Single-Ended Tastköpfen arbeiten un die Differenz im Oszi 
bilden. Oder einfach nur einen Tastkopf an den positiven Ausgang und 
gegen Masse messen.

Barni schrieb:
> Sobald ich das
> in Quartus verbinde bekomme ich bei der Synthese die Fehlermeldung das,
> dass Signal nicht routbar wäre.

Wenn die Synthese meldet, dass das Signal nicht routbar ist, dann könnte 
es auch daran liegen, dass es im Chip einfach keinen Pfad gibt, der es 
dir ermöglicht, das Signal wieder der internen Logik zuzuführen.
Sprich: Dann geht es einfach nicht, dass du das Signal intern noch 
weiterverarbeitest.
Eine etwas unschöne Lösung wäre, dass du das Signal extern auf zwei 
normale Eingangspins routest, welche als LVDS-IN konfiguriert sind und 
dann darüber das Signal wieder deiner Logik zugänglich machst.
Allerdings kann das Probleme mit der Terminierung geben. Aber dazu 
müsste man schauen, wie dein gesamter Aufbau ist.

von Barni (Gast)


Angehängte Dateien:

Lesenswert?

Danke, das mit den beiden SINGLE-ENDED Tastköpfen hat wunderbar 
funktioniert.

Bei der Lösung von der zweiten Fragen bin ich noch nicht wirklich 
hintergestiegen. Habe im Anhang mal ein Bild vom Schaltplan als auch von 
der Fehlermeldung gemacht.

von Schlumpf (Gast)


Lesenswert?

Barni schrieb:
> Bei der Lösung von der zweiten Fragen bin ich noch nicht wirklich
> hintergestiegen.

Ich habe es ja schon oben geschrieben. Ob das jetzt die Ursache ist, 
kann ich nicht 100%ig sagen, aber ich gehe mal davon aus.

Wenn mit deiner Beschreibung einen SERDES-Block instanziierst, der fest 
in Slizium "verdrahtet" ist, dann kann es gut sein, dass die Ausgänge 
dieses Blocks auch auf spezielle Pins fest verdrahtet ist, oder 
zumindest einfach nicht die Möglichkeit besteht, dieses Ausgangssignal 
wieder in die Logik zurückzulesen. Einfach deswegen, weil da keine 
Möglichkeit dafür auf dem Chip selber gegeben ist.

Ob das bei dir die Ursache ist, findest du raus, indem du deinen 
Synthese-Report liest und überprüfst, ob für deinen Serdes tatsächlich 
eine dedizierter SERDES-Block auf dem Silzium verwendet wurde und dann 
ins Datenblatt des Chips schaust, ob am Ausgang dieses Blocks überhaupt 
eine Möglichkeit besteht, das Signal wieder in den Chip zu routen oder 
ob nur die Möglichkeit besteht, das Signal auf einen Pin zu routen.

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.