nicht verwendete pins auf 0 setzen (lattice ispLever7.2)

OP #1510395
Lesenswert?

hallo,

ich möchte wie oben schon erwähnt, nicht verwendete pins auf 0 setzen.
ich habe eine platine mit dem MachXO 2280 und habe gemerkt, dass die 
pins, die im design nicht verwendet werden alle auf 'high' sind.

wie kann ich das machen (mit dem ispLever7.2)?  im datasheet kann ich 
dazu nichts finden.

mfg

Andi
Gast #1510552
Lesenswert?

> Du definierst einen Vektor mit genausovielen Bits, wie du freie Pins
> hast:
> spare : out std_logic_vector(10 downto 0);

Und dann zieht Dir der MachXO über die standardmäfigen Pull-Ups die 
ganze Zeit Strom...

@Andi Z.:
Im DesignPlanner kannst Du pull-down einstellen...
Moderator (Firma: Titel) Persönliche Seite #1510689
Lesenswert?

> ich würde die als eingangspins schalten.
> oder wäre das eher schlecht??
Du darfst dann aber niemals vergessen, in der Toolchain implizit nicht 
verwendete Pins mit einem Pullup/-down zu versehen. Denn das Schlimmste, 
was passieren kann, ist ein hochohmiger Eingang. Der pegelt sich dann so 
etwa bei halber Versorgungsspannung ein und es leiten beide FETs der 
Eingangsstufe. Ergebnis: unnötig hoher Stromverbrauch und ein warmer 
Baustein.
OP #1510707
Lesenswert?

ok.

ich würde die pins dann doch lieber als ausgang setzen und diese dann 
mit 0 treiben.
die pins werden ja ansich schon als ausgang gesetzt, nur eben mit einer 
1. und das stört mich da ja noch andere ic's drauf sind die davon ja 
auch gesteuert werden.
deshalb will ich das generell einstellen das der die pins automatisch so 
setzt wie ich möchte. also als ausgang mit '0'.

mfg

Andi
Gast #1510715
Lesenswert?

Noch eine Bemerkung:

Falls Du Eingangspins hast, die Du nicht verwendest, solltest du 
unbedingt verhindern, dass Ausgänge (ohne Pin-Constraint) dort hingelegt 
werden.
Ich habe (schmerzlich) gelernt, dass man alle Ausgänge mit einem 
Pin-Constraint versehen werden, ansonsten übernimmt das der Mapper ;O)

Gruß,
SuperWilly
#1510916
Lesenswert?

> die pins werden ja ansich schon als ausgang gesetzt, nur eben mit einer
> 1. und das stört mich da ja noch andere ic's drauf sind die davon ja
> auch gesteuert werden.

Nein die werden nicht automatisch als Ausgang gesetzt, sondern sind 
standardmäßig Eingänge mit Pull-Up. Daher Du kannst da mit einem anderen 
Ausgang dran, ohne dass diese gegeneinander Treiben. Die Pull-Ups sind 
dafür da, dass beim Power Up ein definierter Pegel anliegt und dass die 
Eingänge nicht irgendwo flowten und damit, wie schon erörtert, unnötige 
Querströme Verursachen.

Allerdings, wenn Du schreibst, dass an diversen Pins noch andere ICs 
hängen, die davon getrieben werden, dann sind ja wohl die Pins am FPGA 
sowieso als Ausgang vorgesehen. Ich vermute, dass das Hardware-Einheiten 
sind, die Du erst später mit in Dein Design einbeziehen möchtest. Da 
würde ich Dir aber dringend empfehlen diese schon im Top-Level Deines 
Designs vorzusehen und diesen dann erst mal mit definierten Pegeln zu 
Belegen.

Du solltest auch darauf achten, dass beim Power-Up keine Bausteine 
gegeneinander treiben. Das kann schon mal vorkommen wenn z.B. zwei 
Highaktive Enable-Signale vom FPGA generiert werden sollen. Beim Power 
Up sind diese nämlich über die Pull-Ups aktiv. Da sollte man dann einen 
"stärkeren" Pull-Down auf der Leiterplatte vorsehen, der den Pull-Up 
überschreibt. Zum Glück sind solche Signale aber meist High-Aktiv und 
man kann sich das dann sparen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren