Forum: FPGA, VHDL & Co. Spartan 6 I/O Ports Konfiguration


von Ernst H. (wirbersturm)


Lesenswert?

Hallo,

ich habe eine allgemeine Frage. Ich habe bei einem Spartan 6 FPGA eine 
Bank mit 3V3 versorgt und muss einen Port die Schaltschwelle auf 1,5V 
(LVCMOS1V5) herabsetzen, damit die Logikzustände eindeutig erkannt 
werden.

Die Einstellugen mit Plan Ahead durchegführt und es funktioniert 
einwandfrei.

Gibt es einen Grund, dass diese Einstellung in den Constraints irgend 
etwas negatives bewirkt (das z.B. die Stromaufnahme steigt)?

Danke für eure Hilfe im Voraus

Gruß
Ernst

von Eine Nachfrage (Gast)


Lesenswert?

Geht das überhaupt so einfach? Ich nehme an, die Bank ist eine 3V3-Bank. 
Wie hast du dann VREF angewendet?

von Duke Scarring (Gast)


Lesenswert?

Ernst Heini schrieb:
> eine
> Bank mit 3V3 versorgt und muss einen Port die Schaltschwelle auf 1,5V
> (LVCMOS1V5
Was verstehst Du unter Schaltschwelle?

Außerdem empfehle ich die Lektüre von UG381, speziell Tabelle 1-5:
Spartan-6 FPGA Single-Ended I/O Standard Bank Compatibility

Duke

von Ernst H. (wirbersturm)


Lesenswert?

Hallo,

die Bank 1 wird mit 3V3 versorgt. Der Port ist als Eingang deklariert 
und kann laut Tabelle 1-5 auf LVCMOS15 gesetzt werden.

Mein externes device liefert maximal 1.2V als high-Pegel an den Port. 
Wenn ich den Port als LVCMOS33 betreibe, wird der Pegel nicht erkannt.

Der Hinweis mit dem Datenblatt war der richtige Hinweis.

Danke
Ernst

von Duke Scarring (Gast)


Lesenswert?

Ernst Heini schrieb:
> Mein externes device liefert maximal 1.2V als high-Pegel an den Port.
Hmm. Warum verwendest Du dann nicht LVCMOS12 als IO-Standard?

Ich seh grad, laut DS162, Tabelle 9, Seite 10 macht es auch keinen 
Unterschied mehr in der Schaltschwelle...

Duke

von Klaus F. (kfalser)


Lesenswert?

Ernst Heini schrieb:
> die Bank 1 wird mit 3V3 versorgt. Der Port ist als Eingang deklariert
> und kann laut Tabelle 1-5 auf LVCMOS15 gesetzt werden.
>
> Mein externes device liefert maximal 1.2V als high-Pegel an den Port.
> Wenn ich den Port als LVCMOS33 betreibe, wird der Pegel nicht erkannt.

Ich kann mir nicht ganz vorstellen dass es funktioniert.
Erstens ist es meines Wissens nicht erlaubt, einen einzelne Port der 
Bank unterschiedlich zu den anderen zu konfigurieren.
Man darf meiner Meinung nach nicht alle Pins der Bank mit LVCMOS33 und 
einen davon mit LVCMOS15 konfigurieren. Da sollte die Xilinx Tool 
schreien.

Zweitens hat die Konfiguration mit LVCMOS15 keine Auswirkungen auf die 
Schaltschwelle, diese liegt für alle LVCMOSxx Modi immer bei 0,75 * VCCO 
(siehe DS162) und 75% von 3.3 V sind 2.47 V.

von Ernst H. (wirbersturm)


Lesenswert?

Hallo,

war mir anfangs unsicher, ob ein reduzierter Schaltpegel am FPGA einen 
erhöhten Strombedarf mitbringen würde.

Gruß
Ernst

von Klaus F. (kfalser)


Lesenswert?

Ernst Heini schrieb:
> war mir anfangs unsicher, ob ein reduzierter Schaltpegel am FPGA einen
> erhöhten Strombedarf mitbringen würde.

Wie gesagt.
Glaube nicht, dass der Schaltpegel überhaupt reduziert wird.
Dazu müsste die Tools/das FPGA wissen, dass die Bank mit 3.3 V versorgt 
wird weil es ja für jede Kombination LVCMOSxx und 1,2V, 1,5V, 2,5V usw 
unterschiedliche Schaltschwellen benötigt werden.
Weder die Tools, noch das FPGA wissen aber, dass Du die Bank mit 3.3 V 
versorgst.

von Duke Scarring (Gast)


Lesenswert?

Klaus Falser schrieb:
> Ich kann mir nicht ganz vorstellen dass es funktioniert.
Ich bin mir auch unsicher. UG381, Tabelle 1-5, sagt: an einer 3.3V Bank 
ist LCCMOS15 als Input zulässig.
Die Frage ist trotzdem, wo liegt die Schaltschwelle.

Im Zweifelsfall verwendet man einen Levelshifter. In diesem Fall dürfte 
ein Vorwiderstand + Transistor + interner Pull-Up reichen.

Vielleicht kann die Signalquelle als Open-Collector betrieben werden. 
Dann reicht der Pull-Up.

Duke

von Rudolph (Gast)


Lesenswert?

Duke Scarring schrieb:
> Ich bin mir auch unsicher. UG381, Tabelle 1-5, sagt: an einer 3.3V Bank
> ist LCCMOS15 als Input zulässig.
> Die Frage ist trotzdem, wo liegt die Schaltschwelle.

Bei 0.38 V Vilmax bzw. 0.8 V Vihmin. Da ist DS162 eigentlich eindeutig.

Siehe auch 
http://forums.xilinx.com/t5/Spartan-Family-FPGAs/Spartan-6-IO-Bank-Voltage-and-IOStandard-in-UCF/m-p/188704/highlight/true#M14088

Ich meine mich dunkel zu erinnern, dass im IO tatsächlich Thresholds 
anhand des IOSTANDARD umgestellt werden.

von Ernst H. (wirbersturm)


Lesenswert?

Klaus Falser schrieb:
> Zweitens hat die Konfiguration mit LVCMOS15 keine Auswirkungen auf die
> Schaltschwelle, diese liegt für alle LVCMOSxx Modi immer bei 0,75 * VCCO
> (siehe DS162) und 75% von 3.3 V sind 2.47 V.

Dieses gilt nur, wenn der Port als Ausgang definiert ist. Als Eingang 
gelten die niedrigeren Pegel (Tabelle 9; DS162), deshalb funktioniert es 
auch.

Gruß
Ernst

von Klaus F. (kfalser)


Lesenswert?

Ernst Heini schrieb:
> Als Eingang
> gelten die niedrigeren Pegel (Tabelle 9; DS162), deshalb funktioniert es
> auch.

Stimmt, das habe ich übersehen.
Und dort liegt auch der Unterschied zwischen LVCMOS15 und 
LVCMOS15_JEDEC.
Bei letzter hängen die Schaltschwellen von der VCCO Spannung ab, bei 
ersterer nicht.

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.