Forum: FPGA, VHDL & Co. MAX7000AE ersetzt MAX3000A und verbraucht 10x mehr!


von andi6510 (Gast)


Lesenswert?

Hallo Leute,

ich habe ein interessantes Problem:

Gegeben ein Design auf Basis eines Altera MAX3000A (EPM3032A-10N).
die MAX3000 sind obsolet. Es gibt einen pinkompatiblen Ersatztypen aus 
der MAX7000AE Reihe: EMP7032AE-10N
Also den MAX7000 aufs board geloetet und zunaechst einfach das binary 
vom MAX3000 drauf geflasht.
Ergebnis: Alles funktioniert wie vorher. :-)

Nun in Quartus das Projekt umgestellt auf den neuen Typen und ein neues 
binary generiert mit exakt den gleichen Sourcen.
Ergebnis: Das CPLD verbraucht nun nicht mehr 9mA sondern 90mA! Wird 
zudem knallheiss.

Was ist da los?

Ich habe einen Verdacht: Das MAX7000 ist zwar pinkompatibel, hat aber 
bei zwei Ground Pins des Max3000 zusaetzlich noch zwei IOs. Diese 
benoetige ich nicht und in meinem Design sind die auch nicht 
berueckstichtigt. Aber ich habe ein generelles Setting im Quartus 
gefunden, mit dem ich unbenutzte Pins entweder auf GND oder auf Input 
schalten kann. Zunaechst hatte ich sie auf GND stehen, dann testweise 
auf Input. Beides veraendert nichts am Fehlerbild! Dennoch habe ich den 
Verdacht, das diese Pins irgendwie high gegen GND treiben. Das 
Experiement, diese Pins auf dem board von GND zu trennen steht 
allerdings noch aus. waere sicher interessant, um meine Theorie zu 
stuetzen.

Ich bin wirklich am Verzweifeln, den das MAX7000 dauerhaft mit binaries, 
die fuers MAX3000 compiliert wurden zu versorgen scheint mir auch nicht 
richtig.

Kennt jemand so etwas? Wie wird man das los?

LG,
Andi

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

andi6510 schrieb:
> Zunaechst hatte ich sie auf GND stehen, dann testweise auf Input.
Und im Design auch tatsächlich verwendet?
Hast du noch anderen offene, floatende Pins in deinem Design?

Ich hatte sowas mal bei einem Xilinx CPLD: die unbenutzten Pins einfach 
ignoriert. Und im Endeffekt das selbe Problem wie du auch: hohe 
Stromaufnahme und Heizung. Letztlich habe ich alle freien Pins auf 
Ausgang geschaltet und einen Pegel ausgegeben.

von andi6510 (Gast)


Lesenswert?

Nein, die ueberzehligen Pins werden im Design nicht verwendet. Es gibt 
auch keine weiteren unbenutzten Pins.

Ich wollte vermeinden, die Pins im Design (Verilog code) explizit 
angeben zu muessen, da damit die Rueckwaertskompatibilitaet zum alten 
Max3000 code nicht gegeben ist.

Aber Du hast recht, wenn ich im Design die Pins explizit auf 0 setze, 
dann muesste es klappen.

von Duke Scarring (Gast)


Lesenswert?

Geht denn das alte Design jetzt noch mit 9mA oder hat sich die 
Stromaufnahmen schon dauerhaft verändert?

Duke

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

Die neuen Bausteine brauchen mitunter mehr Strom, weil/wenn sie 
schneller schalten sollen. Das hat technologische Gründe. Das sind aber 
Größenordnungen um +/- 30%.

Hier ist garantiert ein Pin-Fehler die Ursache. Ich empfehle immer, ALLE 
Pins in einem Design ausdrücklich zu beschreiben und gfs auf Input 
zusetzen, wenn Tristate nicht geht.

von andi6510 (Gast)


Lesenswert?

Das Spannende ist ja, dass das MAX7000 mit dem fuers MAX3000 gebauten 
binary tadelos funktioniert und dann auch der Stromverbrauch niedrig ist 
(9mA).
Nur mit dem extra fuers MAX7000 gebauten binary tritt der Fehler auf.

Ich werde schauen, wie ich die Pins dazu bringe die Fuesse hoch zu 
nehmen.

von Georg A. (georga)


Lesenswert?

Wenns an fehlenden Pullups liegt, sollte die Sromaufnahme doch stark 
schwanken, wenn man mal mit einem feuchten Finger um die Pins 
streicht...

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.