Komplexe Schaltwerke - ASIC-Entwicklung

Inhaltsverzeichnis

1. Einleitung

2. Leistungsabschätzung

2.1. Einleitung

2.2. Ein einfaches Abschätzungsmodell

2.3. Abschätzen der Schaltaktivität

6. Zusammenfassung

7. Literaturverzeichnis

1. Einleitung

Der Leistungsverbrauch einer elektronischen Schaltung ist für viele Anwendungen ein wichtiges Thema. Die in den letzten Jahren stark zugenommene Nachfrage an portablen bzw. mobilen elektronischen Geräten, allen voran Mobiltelefone, Laptops und ähnliches, verlangen eine Optimierung der Leistungsentnahme. Ein weiterer wichtiger Grund für einen geringen Leistungsverbrauch in integrierten Schaltungen liegt darin, dass es ein großes Problem moderner Mikrochips ist, die Verlustleistung abzuführen um zu vermeiden, dass der Chip zu heiß wird.

In dieser Arbeit versuchen wir daher einige zentrale Aspekte dieses Themas zu beleuchten. Zuerst wird eine Einführung in die Abschätzung des Leistungsverbrauchs gegeben, die anderen Kapitel sind in dieser Veröffentlichung nicht vorhanden. Bei Interesse senden Sie bitte eine email an mich.

Im Folgenden soll nun ein kurzer Einblick in diese Thematik und eine einfache Vorstellung der oben genannten Verfahren gegeben werden.

2. Leistungsabschätzung

2.1. Einleitung

Das erste Kapitel dieser Arbeit behandelt die Abschätzung der verbrauchten Leistung in Digitalschaltungen. Man erkennt, dass unter wenigen, aber meist erfüllten Annahmen der Leistungsverbrauch grundlegend von der Schaltaktivität abhängt und diese daher untersucht werden muss.

2.2. Ein einfaches Abschätzungsmodell

Der Leistungsverbrauch in CMOS-Technologie hängt grundlegend von der Schaltaktivität ab.

Mit drei vereinfachenden Annahmen kann ein sehr einfacher Zusammenhang zwischen dem logischen Netzwerk und der verbrauchten Leistung hergestellt werden. Diese Annahmen lauten [MDG97]:

Die einzigen Kapazitäten die in der Schaltung auftreten befinden sich am Ausgang. Der Strom fließt nur von VDD in die Ausgangskapazität oder von der Ausgangskapazität zur Masse. Alle Änderungen der Ausgangsspannung sind Sprünge von VDD zur Masse oder umgekehrt.

Diese Voraussetzungen sind in der Regel bei gut konstruierten Schaltkreisen erfüllt und stellen somit keine große Beschränkung der Allgemeinheit dar. Es ergibt sich nun folgender, vereinfachter Zusammenhang [MDG97]:

(2.1)

wobei Pavg die mittlere Verlustleistung, Cload die Ausgangskapazität, VDD die Versorgungsspannung, Tcyc die globale Taktperiodendauer, N die Anzahl der Zustandsänderungen des Ausgangs pro Taktzyklus und IL die Leckströme darstellt. Alle Parameter außer N sind direkt durch die Technologie der Schaltung vorgegeben. N hängt sowohl von der logischen Schaltung als auch von der Sequenz der Zustände der Eingangsleitungen ab.

Wie man sieht hat der erste Term der rechten Seite quadratische Abhängigkeit von der Versorgungsspannung und ist somit für den Großteil der Verlustleistung verantwortlich. Der zweite Term macht den Einfluß von Leckströmen sichtbar, die aber nur bei Niedrigstleistungssystemen ins Gewicht fallen. Weiters nimmt mit steigender Taktfrequenz die verbrauchte Leistung zu und ist damit auch für eine wachsende Wärmeentwicklung verantwortlich [Wol94].

Um den Leistungsverbrauch abzuschätzen besteht die Aufgabe daher vor allem darin, N abzuschätzen.

2.3. Abschätzen der Schaltaktivität

So mancher, welcher sich mit diesem Thema noch nicht auseinandergesetzt hat, mag jetzt vielleicht meinen, dass N ja nur Null oder Eins sein kann, da ein mehrmaliges Schalten während eines Taktzyklus ja nicht möglich sei. Dem ist zu erwidern, dass es bei mehrstufigen Netzen aufgrund unterschiedlicher Gatterlaufzeiten zu einem oftmaligen Schalten des Ausgangs kommen kann (races).

Folgendes Beispiel soll dies erläutern:

Abbildung 2.1: einfache Logikschaltung Abbildung 2.2: Zeitdiagramm der Schaltung aus Abb. 2.1

Abbildung 2.1 zeigt eine einfache Digitalschaltung wobei das UND- und das ODER-Gatter eine doppelt so lange Gatterlaufzeit haben wie das NICHT-Gatter. Wie man in Abbildung 2.2 gut erkennen kann, kommt es aufgrund der unterschiedlichen Laufzeiten zu einem doppelten Schalten des Ausgangs, obwohl das allein aus der boolschen Funktion nicht erkennbar ist.

Bezeichnet man mit f1(t) den Ausgang des Netzwerkes f1 zur Zeit t, so findet ein Schaltvorgang e unter folgender Beschreibung statt [DKW90]:

e = f1(t) Ã… f1(t-1) (Ã… bezeichnet den logischen exklusiv-ODER Operator)

Das bedeutet, es findet ein Schaltvorgang statt, wenn ein Ãœbergang von logisch 1 auf 0 oder umgekehrt erfolgt.

Man kann nun jedes beliebige Netzwerk analysieren. Für die Schaltung aus Abbildung 2.1 ergibt sich unter der vereinfachenden Annahme dass alle Gatterlaufzeiten genau eine Zeiteinheit betragen:

X1(t) = E1(t-1) Ù E2(t-1)

X2(t) = ØE3(t-1)

A1(t) = (E1(t-2) Ù E2(t-2)) Ú ØE3(t-2)

Die Schaltaktivität ergibt sich dann aus

eA1 = A1(t) Ã… A1(t-1)

eA1 = ((E1(t-2) Ù E2(t-2)) Ú ØE3(t-2)) Å ((E1(t-3) Ù E2(t-3)) Ú ØE3(t-3))

Es ist zu beachten, dass eine Zeiteinheit nicht einer Taktperiode entspricht.

Um die gesamte Anzahl der Zustandswechsel N während einer Taktperiode zu erhalten, muss die errechnete Funktion e über alle Zeiteinheiten während einer Taktperiode summiert werden.

Man kann dieses Modell auch recht einfach auf unterschiedliche Gatterlaufzeiten erweitern, indem man die Zeiteinheiten feiner wählt und jedem Gatter eine charakteristische Anzahl von Zeiteinheiten für dessen Verzögerung zuordnet [DKW90].

Um den konkreten Leistungsverbrauch einer Schaltung auszurechnen, kann man dieses Modell für eine gegebene Folge von Eingangsvektoren durchrechnen. Ist die Folge der Eingangsvektoren nicht bekannt, kann man für die einzelnen Zustände deren Wahrscheinlichkeiten verwenden (im einfachsten Fall für jede Eingangsleitung 0,5). Oft ist man jedoch auch an der Abschätzung der maximalen Verlustleistung interessiert, was dann zu einem Maximierungsproblem führt. Ich verweise dafür auf die weiterführende Literatur [DKW90], [MDG97].

6. Zusammenfassung

Das zentrale Thema der Leistungsreduktion in ICs gewinnt zunehmend an Bedeutung. Art und Effizienz der Optimierung hängen dabei stark von der Funktion der Teilschaltung und der jeweiligen Signalstatistik ab. Die hier präsentierten Methoden und Verfahren zeigen gut, welche vielfältigen Möglichkeiten auf diesem Gebiet bestehen. Doch eine singuläre Betrachtungsweise ist zu vermeiden. Nur eine Kombination verschiedenster Verfahren wird es in Zukunft möglich machen, eine Verringerung der Leistungsaufnahme soweit voranzutreiben, dass künftige Produkte der (Unterhaltungs-) Elektronik nur einen Bruchteil des heutigen Leistungsbedarfs benötigen, und das bei geringerem Platzbedarf und höherer Funktionalität.

7. Literaturverzeichnis

[AlM94] Alidina, M., Monteiro, J., Devadas, S.: Precomputation-Based Sequential Logic Optimization for Low Power.

IEEE Transactions on VLSI Systems, Vol.2, No.4, S. 426 - 435, Dec 1994

[BeM94] Benini, L., De Micheli, G.: Saving Power by Synthesizing Gated Clocks for Sequential Circuits.

IEEE Design & Test of Computers, Vol.11, No.1, S. 32 - 41, Spring 1994

[BeM95] Benini, L., De Micheli, G.: State Assignment for Low Power Dissipation.

IEEE Journal of Solid-state Circuits, Vol. 30, No. 3, S. 258 - 267, March 1995

[BeM96] Benini, L., De Micheli, G.: Automatic Synthesis of Low Power Gated-Clock Finite-State Machines.

IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 15, No. 6, S. 630 - 642, June 1996

[Cha95] Chandrakasan, A. P., et al.: Optimizing Power Using Transformations.

IEEE transactions on CAD of IC and systems, Vol. 14, No. 1, S. 12 - 31, 1995

[DKW90] Devadead, S., Keutzer, K., White, J.: Estimation of average switching activity in combinational and sequential circuits.

In proceedings of the custom integrated circuits conference, S. 19.7.1 - 19.7.6, May 1990

[Koe97] Koegst, M., Franke, G., Rülke, S., Feske, K.: Berücksichtigung der Leistungs-aufnahme bei der Synthese digitaler Automaten. Tagungsband Austrochip 1997,

Universitätsverlag Rudolf Trauner; S. 41 - 48, 1997

[MeB96] Meißner, E., Berthold, J.: Methoden zur Leistungsreduktion bei Low-Power-CMOS-Schaltungen am Beispiel einer Speicherarchitektur mit Adreßarithmetik.

ITG-Fachbericht Nr. 138, "Mikroelektronik"; VDE Verlag, S. 19 - 23, 1996

[MDG97] Monteiro, J., Devadas, S., Ghosh, A., Keutzer, K., White, J.: Estimation of average switching activity in combinational logic circuits using symbolic simulation.

In IEEE transactions on computer-aided design of integrated circuits and systems, vol. 16, S. 121 - 127, January 1997

[MoO98] Monteiro, J., Oliveira, A.: Finite state machine decomposition for low power.

In DAC '98. Proceedings of the 35th annual conference on Design automation conference, S. 758 - 763, 1998

[RoP93] Roy, K., Prasad, S. C.: Circuit Activity Based Logic Synthesis for Low Power Reliable Operations.

IEEE Transactions on very large scale integration Systems, Vol. 1, No. 4, S. 503 - 513, December 1993

[SSB96] Schumann, D., v. Schwerin, A., Berthold, J.: Minimierung der IC-Verlust-leistung durch CMOS-Prozeßoptimierung.

ITG-Fachbericht Nr. 138, "Mikro-elektronik"; VDE Verlag, S. 179 - 182, 1996

[Wol94] Wolf, W.: Modern VLSI Design - A systems approach. Prentice Hall International Editions, S. 108 - 112, 1994

1281 Worte in "deutsch"  als "hilfreich"  bewertet