Forum: FPGA, VHDL & Co. Zuverlässig FPGA-Stromaufnahme messen


von Michael E. (cuby)


Lesenswert?

Hallo allerseits,

für verschiedene Konfigurationen unserer Xilinx FPGA-basierten Hardware 
(mikroprozessor-basierte Single- oder Multicore-Systeme) würden wir 
gerne den Stromverbrauch des Systems mit relativ hoher zeitlicher 
Auflösung messen. Fragen, die uns hier interessieren sind etwa "wieviel 
Energie kostet ein Kontextwechsel oder ein Interrupt?" und "wie ändert 
sich die Energieaufnahme in Verhältnis zur Taktfrequenz der CPU?".

Die einschlägigen Xilinx Eval-Boards (Spartan 3S500E starter kit, Virtex 
IIpro XUP) bieten jeweils einen Jumper, um den Strom einer 
Spannungsschiene (z.B. die 1,2V Corespannung des 3S500E) zu messen. Da 
kann problemlos ein digitales Multimeter angeschlossen werden, das auch 
erste Schätzwerte für den Stromverbrauch ausgibt. Aktuell messe ich über 
einen 1 Ohm Shunt-Widerstand mit Hilfe eines digitalen Oszilloskops.

Dabei kommen aber erste seltsame Messungen - siehe z.B. 
http://multicores.org/3S500E_current.jpg - heraus (Stromaufnahme 
3S500E), bei denen ich mir die Peaks, die mit rund 30kHz auftreten und 
den Strom um den Faktor 3 hochtreiben, nicht erklären kann (verifiziert 
mit einem zweiten Oszilloskop). Das ganze unabhängig vom Takt der 
jeweiligen CPU-Komponenten und nicht mit konstanter Frequenz (Schwankung 
der Periodendauer von 25-35 uS). Bei Messung an unserem Virtex IIpro 
(XUP)-Board trat der Effekt nicht auf, bei Vergleichsmessung an einem 
identischen Spartan 3E-Board aber schon.

Daher nun meine Frage - was ist eurer Meinung nach die zuverlässigste 
Methode, den Strom mit relativ hoher zeitlicher (100ns-Bereich wäre 
klasse) und ausreichender Amplitudenauflösung über längere Zeiträume zu 
messen? Kosten spielen erstmal keine (wesentliche) Rolle :-), sprich, 
wenn es spezialisierte, gute Meßgeräte für die Anwendung gibt, wären die 
auch interessant. Genauso Literatur zu dem Thema - bei Xilinx habe ich 
bisher nur die PowerEstimator-Sachen gefunden.

Falls jemand eine Erklärung für den seltsamen Spartan-Strom-Effekt hat, 
wäre ich daran natürlich auch interessiert.

Viele Grüße,
   Michael

von Michael Sauron (Gast)


Lesenswert?

>30 khz

Das sieht nach einem Schalregler der Versorgubgsspannung aus.

Das Fluke verleitet dazu da einfach mal 2 normale Messspitzen 
reinzustecken.
Hast du denn einen ordentlichen Tastkopf und geschirmte Messleitung 
verwendet ?

von Michael E. (cuby)


Lesenswert?

Michael Sauron schrieb:
>>30 khz
>
> Das sieht nach einem Schalregler der Versorgubgsspannung aus.

Hm, das wäre eine Erklärung...

> Das Fluke verleitet dazu da einfach mal 2 normale Messspitzen
> reinzustecken.
> Hast du denn einen ordentlichen Tastkopf und geschirmte Messleitung
> verwendet ?

Das sind die - vermutlich - relativ billigen Messspitzen des Fluke 
gewesen, zur Vergleichsmessung hatte ich ein recht hochwertiges 
Tektronix-Scope da, da muss ich den Kollegen mal fragen, wie die Specs 
der Tastköpfe und Messleitungen aussehen. Die Spikes waren auf dem 
Tektronix-Scope genauso zu sehen.

Danke,
    Michael

von Jan M. (mueschel)


Lesenswert?

Durch den FPGA verursachte Stromspitzen mit 100ns Dauer wirst du so aber 
nicht sehen können. Alle Entkoppelungskondensatoren zusammen haben 
sicher mehr als 1µF. Zusammen mit deinem 1 Ohm Shunt ergibt das einen 
wunderschönen Tiefpass - dadurch wird unter 1/RC = 1µs so gut wie alles 
filtern.
Der Shunt müsste also deutlich kleiner dimensioniert werden, aber auch 
die Widerstände der Leiterbahnen spielen dann natürlich eine Rolle.

von Sebastian (Gast)


Lesenswert?

Das hängt aber alles sehr von der C ab, die ihr spendiert. Denn wenn 
mehr Ladung bereit steht, schaltet jeder Baustein besser, ansonsten 
knickt er etwas ein. Diese C (und Leitungs-L) entscheiden auch über die 
Ladungsverteilung und daher ist die gesamte Betrachtung ein wenig 
Definitionsfrage!

Wozu soll das dienen?

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.