16.01.2014 Aufrufe

Ein stochastisches Modell zur Beschreibung von Signalen in ...

Ein stochastisches Modell zur Beschreibung von Signalen in ...

Ein stochastisches Modell zur Beschreibung von Signalen in ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Adv. Radio Sci., 11, 213–218, 2013<br />

www.adv-radio-sci.net/11/213/2013/<br />

doi:10.5194/ars-11-213-2013<br />

© Author(s) 2013. CC Attribution 3.0 License.<br />

Advances <strong>in</strong><br />

Radio Science<br />

<strong>E<strong>in</strong></strong> <strong>stochastisches</strong> <strong>Modell</strong> <strong>zur</strong> <strong>Beschreibung</strong> <strong>von</strong> <strong>Signalen</strong> <strong>in</strong><br />

digitalen Schaltungen basierend auf quadratischer Optimierung<br />

V. B. Kleeberger, P. Maier, and U. Schlichtmann<br />

Lehrstuhl für Entwurfsautomatisierung, Technische Universität München, Germany<br />

Correspondence to: V. B. Kleeberger (kleeberger@tum.de)<br />

Zusammenfassung. Die kont<strong>in</strong>uierlich fortschreitende M<strong>in</strong>iaturisierung<br />

<strong>in</strong> <strong>in</strong>tegrierten Schaltungen führt zu e<strong>in</strong>em<br />

erhöhten <strong>Modell</strong>ierungsbedarf verschiedenster Effekte, wie<br />

z.B. Alterung oder Stromverbrauch. Diese hängen <strong>von</strong> den<br />

auftretenden <strong>Signalen</strong> <strong>in</strong>nerhalb der Schaltung ab, wodurch<br />

deren statistische <strong>Modell</strong>ierung e<strong>in</strong> zentrales Problem darstellt.<br />

Dieser Beitrag stellt e<strong>in</strong>e neue Methode <strong>zur</strong> stochastischen<br />

Signalmodellierung basierend auf quadratischer Optimierung<br />

vor. Die Methode wird mit Hilfe <strong>von</strong> realen Daten<br />

mit existierenden Ansätzen verglichen. Die Testergebnisse<br />

zeigen hierbei im vorgestellten <strong>Modell</strong> e<strong>in</strong>en Genauigkeitszuwachs<br />

<strong>von</strong> bis zu e<strong>in</strong>em Faktor 10 im Vergleich zu bereits<br />

existierenden <strong>Modell</strong>en.<br />

1 <strong>E<strong>in</strong></strong>leitung<br />

<strong>E<strong>in</strong></strong> zentrales Problem beim Entwurf und der Analyse <strong>von</strong><br />

<strong>in</strong>tegrierten Schaltungen ist die Berechnung <strong>von</strong> Signalwahrsche<strong>in</strong>lichkeiten<br />

<strong>in</strong>nerhalb der Schaltung. Signalwahrsche<strong>in</strong>lichkeit<br />

bezeichnet hierbei im Allgeme<strong>in</strong>en die Wahrsche<strong>in</strong>lichkeit,<br />

dass e<strong>in</strong> Signal <strong>in</strong>nerhalb der Schaltung e<strong>in</strong>e<br />

bestimmte Eigenschaft besitzt, z.B. die Wahrsche<strong>in</strong>lichkeit<br />

für den Signalwert (d.h. logisch <strong>E<strong>in</strong></strong>s oder Null) oder die<br />

Wahrsche<strong>in</strong>lichkeit für den Signalzustand (d.h. konstant oder<br />

schaltend <strong>in</strong>nerhalb e<strong>in</strong>es Taktzyklus).<br />

Der durchschnittliche Stromverbrauch e<strong>in</strong>er Logikzelle<br />

kann z.B. über P dyn = 0.5C L Vdd 2 f α abgeschätzt werden.<br />

Dabei ist C L die Lastkapazität der Zelle, V dd die Versorgungsspannung,<br />

f die Taktfrequenz der Schaltung und α<br />

die Wahrsche<strong>in</strong>lichkeit, dass das Signal am Zellenausgang<br />

<strong>in</strong>nerhalb e<strong>in</strong>es Taktzyklus schaltet (Schneider et al., 1996;<br />

Najm, 1994). Ausgehend vom Stromverbrauch können außerdem<br />

Temperaturunterschiede (Obermeier und Johannes,<br />

2004) und Spannungsabfälle <strong>in</strong>nerhalb der Schaltung (Nassif,<br />

2008) berechnet werden. Weitere Effekte, die <strong>von</strong> Signalwahrsche<strong>in</strong>lichkeiten<br />

abhängen, s<strong>in</strong>d die Degradation <strong>von</strong><br />

Transistorparametern durch Alterung (Lorenz et al., 2009;<br />

Najm, 1993), sowie die Maskierungswahrsche<strong>in</strong>lichkeit <strong>von</strong><br />

Fehlern (Chen und Tahoori, 2012).<br />

Da es mit steigender Integrationsdichte zunehmend kostspieliger<br />

wird diese Probleme alle<strong>in</strong> mit schaltungstechnischen<br />

Maßnahmen zu lösen, gew<strong>in</strong>nen zunehmend Algorithmen<br />

an Bedeutung die es erlauben verschiedene Abstraktionsebenen<br />

zu berücksichtigen. Hierzu werden <strong>zur</strong> Lösung oft<br />

zusätzlich Informationen aus der Systemebene berücksichtigt.<br />

Die Berechnungen dieser Algorithmen werden wiederum<br />

auf System-Ebene <strong>zur</strong> Verfügung gestellt, um die dort<br />

ausgeführten Analysen und Optimierungen genauer und effizienter<br />

zu machen. Vor allem im Bereich der Signalmodellierung<br />

spielt dies e<strong>in</strong>e entscheidende Rolle, da die anliegenden<br />

Signale und damit deren Wahrsche<strong>in</strong>lichkeiten oft wesentlich<br />

<strong>von</strong> der ausgeführten Software und den verarbeiteten Daten<br />

auf dem System abhängen.<br />

Die Berechnung <strong>von</strong> Signalwahrsche<strong>in</strong>lichkeiten stellt e<strong>in</strong><br />

nichttriviales Problem beim Schaltungsentwurf dar. Die e<strong>in</strong>zelnen<br />

Signale an den Schaltungse<strong>in</strong>gängen weisen hierbei<br />

bereits <strong>in</strong> der Regel deutliche Korrelationen auf bed<strong>in</strong>gt<br />

durch die gegebenen <strong>E<strong>in</strong></strong>gangsdaten. Auch die Schaltungsstruktur<br />

selber führt zusätzliche Korrelationen durch ihre Topologie<br />

e<strong>in</strong>. Signalverzweigungen durch Fanouts die später<br />

an e<strong>in</strong>em Gatter wieder rekonvergieren führen zu Abhängigkeiten<br />

der Gattere<strong>in</strong>gänge, welches die Signalwahrsche<strong>in</strong>lichkeiten<br />

im Vergleich zu unabhängigen <strong>E<strong>in</strong></strong>gängen bee<strong>in</strong>flusst.<br />

Algorithmen <strong>zur</strong> Abschätzung <strong>von</strong> Signalwahrsche<strong>in</strong>lichkeiten<br />

können <strong>in</strong> zwei Kategorien unterteilt werden. Statistische<br />

Algorithmen legen verschiedene Signalwerte an den<br />

Schaltungse<strong>in</strong>gängen an und rechnen für jeden Vektor <strong>von</strong><br />

angelegten Signalwerten die Signalwerte an allen anderen<br />

Punkten der Schaltung aus. Mit Hilfe des Gesetzes der<br />

großen Zahlen können dann hiermit die Signalwahrsche<strong>in</strong>lichkeiten<br />

abgeschätzt werden. Solche Algorithmen können<br />

Published by Copernicus Publications on behalf of the URSI Landesausschuss <strong>in</strong> der Bundesrepublik Deutschland e.V.


214 V. B. Kleeberger et al.: Signalmodellierung <strong>in</strong> digitalen Schaltungen<br />

beliebige Verteilungen für die Signale am Schaltungse<strong>in</strong>gang<br />

modellieren, berücksichtigen strukturelle Korrelationen der<br />

Signale <strong>in</strong>nerhalb der Schaltung und s<strong>in</strong>d damit sehr genau.<br />

Da die Schaltung allerd<strong>in</strong>gs für e<strong>in</strong>e ausreichend große Zahl<br />

<strong>von</strong> <strong>E<strong>in</strong></strong>gangswerten simuliert werden muss um zuverlässige<br />

Abschätzungen zu bekommen, benötigen solche Algorithmen<br />

oft sehr lange Laufzeiten.<br />

Stochastische Algorithmen h<strong>in</strong>gegen benutzen analytische<br />

Gleichungen um Signalwahrsche<strong>in</strong>lichkeiten direkt zu berechnen.<br />

Solche Algorithmen können wiederum <strong>in</strong> zwei Unterklassen<br />

unterteilt werden. Algorithmen der ersten Unterklasse<br />

benutzen b<strong>in</strong>äre Entscheidungsdiagramme (englisch:<br />

b<strong>in</strong>ary decision diagram, BDD) um die funktionale<br />

Abhängigkeit zwischen <strong>Signalen</strong> <strong>in</strong>nerhalb der Schaltung<br />

und deren <strong>E<strong>in</strong></strong>gängen darzustellen (Schneider et al.,<br />

1996). Die Schaltungsdarstellung durch BDDs ist vor allem<br />

<strong>in</strong> großen Schaltungen e<strong>in</strong> Problem, da BDDs im schlimmsten<br />

Fall exponentiell mit der Zahl der Schaltungse<strong>in</strong>gänge<br />

wachsen. Dies verursacht oft Speicherprobleme bei der Erzeugung<br />

dieser BDDs.<br />

Die zweite Unterklasse verwendet Approximationsformeln<br />

um Signalwahrsche<strong>in</strong>lichkeiten iterativ durch die<br />

Schaltung zu propagieren (Ercolani et al., 1989; Marculescu<br />

et al., 1994; Parker und McCluskey, 1975). Diese Algorithmen<br />

weisen gute Laufzeit und akzeptablen Speicherverbrauch<br />

auf. Andererseits stellt die erreichbare Genauigkeit<br />

durch die verwendeten Approximationen oft e<strong>in</strong> Problem dar.<br />

Durch die bereits oben erwähnte Wichtigkeit hierarchieübergreifender<br />

Ansätze gew<strong>in</strong>nen Algorithmen zusätzlich<br />

an Bedeutung, die hierfür verwendet werden können.<br />

Grundlegend notwendige Eigenschaft für solche Ansätze ist<br />

vor allem e<strong>in</strong>e ausreichend schnelle Laufzeit um Eigenschaften<br />

aus der Schaltungsebene extrahieren und <strong>in</strong> Analysemethoden<br />

auf Systemebene verwenden zu können. Diese Arbeit<br />

stellt e<strong>in</strong>en solchen Ansatz vor der sich neben guter Laufzeit<br />

vor allem durch e<strong>in</strong>e hohe Genauigkeit auszeichnet.<br />

Im Weiteren führt das Kapitel 2 generelle Def<strong>in</strong>itionen<br />

und Eigenschaften <strong>von</strong> Signalwahrsche<strong>in</strong>lichkeiten e<strong>in</strong> die <strong>in</strong><br />

dieser Arbeit verwendet werden. Kapitel 3 stellt den Stand<br />

der Technik <strong>in</strong> diesem Bereich und die wesentlichen Neuerungen<br />

dieser Arbeit dar. Kapitel 4 erläutert den neuen Ansatz<br />

<strong>zur</strong> <strong>Modell</strong>ierung <strong>von</strong> Signalwahrsche<strong>in</strong>lichkeiten durch<br />

quadratische Optimierung. Anschließend werden <strong>in</strong> Kapitel<br />

5 experimentelle Ergebnisse dargestellt und mit existierenden<br />

Ansätzen verglichen, bevor im Kapitel 6 e<strong>in</strong>e kurze<br />

Zusammenfassung die Arbeit abschließt.<br />

2 Def<strong>in</strong>itionen<br />

Für die im vorherigen Kapitel beschriebenen Problemstellung<br />

s<strong>in</strong>d <strong>in</strong> der Regel zwei Arten <strong>von</strong> Wahrsche<strong>in</strong>lichkeitsverteilungen<br />

entscheidend (Najm, 1994):<br />

Stationäre Wahrsche<strong>in</strong>lichkeit: Die stationäre Wahrsche<strong>in</strong>lichkeit<br />

P (x s ) e<strong>in</strong>es Signals x ist def<strong>in</strong>iert als der<br />

durchschnittliche Anteil <strong>von</strong> Taktzyklen <strong>in</strong> denen der Signalwert<br />

entweder logisch <strong>E<strong>in</strong></strong>s (P (x s = 1)) bzw. logisch Null<br />

(P (x s = 0)) ist. Damit ist x s Element der Menge {0,1}.<br />

Schaltwahrsche<strong>in</strong>lichkeit: Die Schaltwahrsche<strong>in</strong>lichkeit<br />

P (x t ) e<strong>in</strong>es Signals x ist def<strong>in</strong>iert als der durchschnittliche<br />

Anteil <strong>von</strong> Taktzyklen <strong>in</strong> denen das Signal se<strong>in</strong>en Wert ändert<br />

(P (x t = s)) oder konstant bleibt (P (x t = k)). Damit ist x t<br />

Element der Menge {s(chaltend),k(onstant)}.<br />

Im Weiteren wird folgende Notation für die <strong>Beschreibung</strong><br />

<strong>von</strong> Wahrsche<strong>in</strong>lichkeitsverteilungen verwendet:<br />

P (abc) := P (a ∩ b ∩ c) (1)<br />

P (â ˆbĉ) := P (a = â ∩ b = ˆb ∩ c = ĉ) (2)<br />

â, ˆb,ĉ ∈ {0,1,s,k} (3)<br />

Damit kennzeichnet P (abc) die allgeme<strong>in</strong>e Verteilung und<br />

P (â ˆbĉ) e<strong>in</strong>en expliziten Wert â ˆbĉ dieser Verteilung. Um die<br />

Begrenzung der Wertemenge auf e<strong>in</strong>e stationäre bzw. Schaltwahrsche<strong>in</strong>lichkeit<br />

zu kennzeichnen wird e<strong>in</strong> tiefergestelltes<br />

s bzw. t an die Variable angehängt:<br />

x s ∈ {0,1} x t ∈ {s,k} (4)<br />

Des Weiteren kann die gesamte Wahrsche<strong>in</strong>lichkeitsverteilung<br />

P (abc) auch als Vektor P(abc) aufgefasst werden<br />

⎡ ⎤<br />

P (â 0 ˆb 0 ĉ 0 )<br />

P (â 0 ˆb 0 ĉ 1 )<br />

P (abc) :=<br />

.<br />

⎢<br />

⎣ P (â i ˆb i ĉ i )<br />

⎥<br />

⎦<br />

.<br />

∀i (5)<br />

wobei a i ,b i ,c i jeweils das i-te Element der Variablenmenge<br />

(z.B. {0,1}) bezeichnet.<br />

Obwohl stationäre Wahrsche<strong>in</strong>lichkeit und Schaltwahrsche<strong>in</strong>lichkeit<br />

<strong>in</strong> der Regel als getrennte Wahrsche<strong>in</strong>lichkeiten<br />

angegeben werden s<strong>in</strong>d ihre Werte nicht unabhängig <strong>von</strong>e<strong>in</strong>ander.<br />

Für die Schaltwahrsche<strong>in</strong>lichkeiten e<strong>in</strong>es Signals<br />

lässt sich allgeme<strong>in</strong> zeigen, dass die Wahrsche<strong>in</strong>lichkeit e<strong>in</strong>es<br />

steigenden Flanke gleich der Wahrsche<strong>in</strong>lichkeit e<strong>in</strong>er<br />

fallenden Flanke ist (Najm, 1993):<br />

P (x t = s ∩ x s = 1) = P (x t = s ∩ x s = 0) (6)<br />

Nimmt man zusätzlich die Def<strong>in</strong>ition der Randwahrsche<strong>in</strong>lichkeiten<br />

für die Verbundverteilung aus stationärer Wahrsche<strong>in</strong>lichkeit<br />

und Schaltwahrsche<strong>in</strong>lichkeit:<br />

P (x t = s ∩ x s = 1) + P (x t = s ∩ x s = 0) = P (x t = s) (7)<br />

P (x t = k ∩ x s = 1) + P (x t = k ∩ x s = 0) = P (x t = k) (8)<br />

P (x t = s ∩ x s = 0) + P (x t = k ∩ x s = 0) = P (x s = 0) (9)<br />

Adv. Radio Sci., 11, 213–218, 2013<br />

www.adv-radio-sci.net/11/213/2013/


V. B. Kleeberger et al.: Signalmodellierung <strong>in</strong> digitalen Schaltungen 215<br />

P (x t = s ∩ x s = 1) + P (x t = k ∩ x s = 1) = P (x s = 1) (10)<br />

lässt sich durch Umformung mit Hilfe <strong>von</strong> (6) zeigen, dass<br />

P (x t = s) ≤ 2 · m<strong>in</strong>(P (x s = 1),P (x s = 0)) (11)<br />

gilt.<br />

Damit ist die Schaltwahrsche<strong>in</strong>lichkeit e<strong>in</strong>es Signals x<br />

durch dessen stationäre Wahrsche<strong>in</strong>lichkeiten begrenzt.<br />

3 Existierende Ansätze<br />

Der <strong>in</strong> dieser Arbeit vorgestellte Ansatz gehört <strong>zur</strong> zweiten<br />

Unterklasse der iterativen Algorithmen. Dementsprechend<br />

wird im Folgenden e<strong>in</strong> kurzer Überblick über bereits existierende<br />

Arbeiten auf diesem Gebiet gegeben:<br />

3.1 Ansätze <strong>zur</strong> stationären Wahrsche<strong>in</strong>lichkeit<br />

Parker und McCluskey (1975) verwenden <strong>zur</strong> Berechnungen<br />

<strong>von</strong> Signalwahrsche<strong>in</strong>lichkeiten die Annahme, dass Signale<br />

grundsätzlich unabhängig s<strong>in</strong>d. Damit lassen sich alle Signalabhängigkeiten<br />

auflösen und es gilt:<br />

P ( ˆx s ŷ s ) = P ( ˆx s )P (ŷ s ) (12)<br />

Ercolani et al. (1989) def<strong>in</strong>ieren die Korrelation zwischen<br />

zwei <strong>Signalen</strong> C:<br />

C( ˆx s ŷ s ) = P ( ˆx sŷ s )<br />

P ( ˆx s )P (ŷ s )<br />

(13)<br />

und benutzen diese <strong>zur</strong> Berechnung der Wahrsche<strong>in</strong>lichkeiten<br />

<strong>in</strong>nerhalb der Schaltung. Korrelationen höherer Ordnung<br />

werden durch<br />

C( ˆx s ŷ s ẑ s ) = C( ˆx s ŷ s ) · C( ˆx s ẑ s ) · C(ŷ s ẑ s ) (14)<br />

unter der Annahme<br />

P ( ˆx s ŷ s ẑ s ) = P ( ˆx sŷ s ) · P (ŷ s ẑ s ) · P ( ˆx s ẑ s )<br />

. (15)<br />

P ( ˆx s )P (ŷ s )P (ẑ s )<br />

approximiert.<br />

3.2 Ansätze <strong>zur</strong> Schaltwahrsche<strong>in</strong>lichkeit<br />

Um die Schaltwahrsche<strong>in</strong>lichkeit abzuschätzen existieren<br />

ebenfalls mehrere Ansätze. Die erste Möglichkeit ist temporale<br />

Unabhängigkeit der e<strong>in</strong>zelnen Signalzustände anzunehmen<br />

(Najm, 1994). Damit lässt sich die Schaltwahrsche<strong>in</strong>lichkeit<br />

durch die stationäre Wahrsche<strong>in</strong>lichkeit angeben:<br />

P (x t = s) = 2 · P (x s = 0) · P (x s = 1) (16)<br />

Unter der Annahme <strong>von</strong> temporaler Abhängigkeit e<strong>in</strong>es Signals<br />

zum vorherigen Taktzyklus wurde <strong>von</strong> Marculescu<br />

et al. (1994) die Def<strong>in</strong>ition <strong>von</strong> Ercolani et al. (1989) auf<br />

die <strong>Modell</strong>ierung <strong>von</strong> Schaltwahrsche<strong>in</strong>lichkeiten erweitert.<br />

Hierbei s<strong>in</strong>d die Variablen <strong>in</strong> (13) nicht mehr nur aus der<br />

Menge {0,1} sondern alle aus der Menge {0,1,s,k}. Höherdimensionale<br />

Wahrsche<strong>in</strong>lichkeiten werden wieder entsprechend<br />

mit (14) approximiert.<br />

4 <strong>Modell</strong>ierung <strong>von</strong> Signalwahrsche<strong>in</strong>lichkeiten durch<br />

quadratische Optimierung<br />

Das Signalmodell <strong>in</strong> dieser Arbeit geht <strong>von</strong> zweidimensionalen<br />

Wahrsche<strong>in</strong>lichkeiten P (xy) aus. Außerdem wird<br />

angenommen, dass Schaltwahrsche<strong>in</strong>lichkeit und stationäre<br />

Wahrsche<strong>in</strong>lichkeit unabhängig s<strong>in</strong>d. Damit unterteilt sich<br />

die Aufgabe <strong>zur</strong> Berechnung <strong>von</strong> Signalwahrsche<strong>in</strong>lichkeiten<br />

<strong>in</strong> die Approximation <strong>von</strong> dreidimensionalen Verbundwahrsche<strong>in</strong>lichkeiten<br />

auf Basis <strong>von</strong> bivariaten Verbundwahrsche<strong>in</strong>lichkeiten<br />

sowie Regeln für die iterative Berechnung.<br />

4.1 Signalmodell<br />

Aufgabe des Signalmodells ist es aus den bekannten Wahrsche<strong>in</strong>lichkeiten<br />

P ( ˆxŷ), P ( ˆxẑ) und P (ŷẑ) die Wahrsche<strong>in</strong>lichkeiten<br />

P ˜( ˆxŷẑ) e<strong>in</strong>er approximativen dreidimensionalen<br />

Verbundverteilung zu konstruieren. Nimmt man hierbei an,<br />

dass Signale nur paarweise abhängig s<strong>in</strong>d müssen folgende<br />

Gleichungen gelten:<br />

P ( ˆxŷẑ) = P ( ˆxŷ)P (ẑ) (17)<br />

P ( ˆxŷẑ) = P ( ˆxẑ)P (ŷ) (18)<br />

P ( ˆxŷẑ) = P (ŷẑ)P ( ˆx) (19)<br />

Da dies für beliebige Verbundverteilungen P (xy), P (yz)<br />

und P (xz) im Allgeme<strong>in</strong>en nicht gilt, wird die gesuchte Verteilung<br />

P (xyz) wie folgt durch P ˜(xyz) approximiert:<br />

L 1 ( ˆxŷẑ) = ˜ P ( ˆxŷẑ) − P ( ˆxŷ)P (ẑ) (20)<br />

L 2 ( ˆxŷẑ) = ˜ P ( ˆxŷẑ) − P ( ˆxẑ)P (ŷ) (21)<br />

L 3 ( ˆxŷẑ) = ˜ P ( ˆxŷẑ) − P (ŷẑ)P ( ˆx) (22)<br />

∑<br />

˜P(xyz) := m<strong>in</strong> 3i=1 ∑<br />

P ˜ (x,y,z) ( ˆxŷẑ)∈M 3(L i( ˆxŷẑ)) 2 (23)<br />

Hierbei geben (20) – (22) den Approximationsfehler der e<strong>in</strong>zelnen<br />

Werte der Verteilung P˜<br />

für die Annahmen (17) – (19)<br />

an. Gleichung 23 m<strong>in</strong>imiert dann den summierten quadratischen<br />

Gesamtfehler aller e<strong>in</strong>zelnen Werte der Verteilung P˜<br />

gegenüber diesen Annahmen. Die Menge M bezeichnet hierbei<br />

die Variablenmenge, d.h. {0,1} oder {s,k}.<br />

Um sicherzustellen, dass die Verteilung P ˜(xyz) e<strong>in</strong>e<br />

Wahrsche<strong>in</strong>lichkeitsverteilung darstellt, muss zusätzlich gelten:<br />

0 ≤ P ˜( ˆxŷẑ) ≤ 1 ∀ ˆxŷẑ ∈ M 3 (24)<br />

∑<br />

P ˜( ˆxŷẑ) = P (ŷẑ) ∀ŷẑ ∈ M 2 (25)<br />

ˆx∈M<br />

∑<br />

P ˜( ˆxŷẑ) = P ( ˆxẑ) ∀ ˆxẑ ∈ M 2 (26)<br />

ŷ∈M<br />

∑<br />

P ˜( ˆxŷẑ) = P ( ˆxŷ) ∀ ˆxŷ ∈ M 2 (27)<br />

ẑ∈M<br />

www.adv-radio-sci.net/11/213/2013/ Adv. Radio Sci., 11, 213–218, 2013


216 V. B. Kleeberger et al.: Signalmodellierung <strong>in</strong> digitalen Schaltungen<br />

x<br />

z<br />

y<br />

w<br />

w<br />

Abbildung 1. UND-Gatter mit abhängigem zusätzlichem Signal w<br />

x<br />

w<br />

Abbildung 2. Signalverzweigung <strong>in</strong> e<strong>in</strong>er komb<strong>in</strong>atorischen Schaltung<br />

y<br />

z<br />

w<br />

Da jede Variable ˆx, ŷ und ẑ aus e<strong>in</strong>er zweiwertigen Menge<br />

M (entweder {0,1} oder {s,k}) stammt geben die Gleichungen<br />

(25) – (27) <strong>in</strong>sgesamt 12 Gleichheitsnebenbed<strong>in</strong>gungen<br />

für das Optimierungsproblem aus (23). Hier<strong>von</strong> s<strong>in</strong>d 7 Bed<strong>in</strong>gungen<br />

l<strong>in</strong>ear unabhängig.<br />

Durch Wahl e<strong>in</strong>er bestimmten Wahrsche<strong>in</strong>lichkeit<br />

P ˜( ˆx 0 ŷ 0 ẑ 0 ) (z.B.: ˆx 0 ŷ 0 ẑ 0 = 000) lassen sich durch diese<br />

Nebenbed<strong>in</strong>gungen alle anderen Wahrsche<strong>in</strong>lichkeiten durch<br />

diese e<strong>in</strong>e ausdrücken. Damit gilt für alle Wahrsche<strong>in</strong>lichkeiten<br />

aus P ˜(xyz):<br />

P ˜( ˆxŷẑ) = a · P ˜( ˆx 0 ŷ 0 ẑ 0 ) + b ∀ ˆxŷẑ ∈ M 3 (28)<br />

Die Parameter a und b ergeben sich hierbei aus der Lösung<br />

des l<strong>in</strong>earen Gleichungssystems (25) – (27) und s<strong>in</strong>d für jede<br />

Wahrsche<strong>in</strong>lichkeit P ˜( ˆxŷẑ) <strong>in</strong>dividuell. Zum Beispiel lässt<br />

sich P ˜( ˆx 0 ŷ 0 ẑ 1 = 001) folgendermaßen ausdrücken, wie sich<br />

leicht anhand <strong>von</strong> Gleichung (27) nachvollziehen lässt:<br />

P ˜( ˆx 0 ŷ 0 ẑ 1 ) = P ( ˆx 0 ŷ 0 ) +(<br />

} {{ } }{{}<br />

−1 · P ˜( ˆx 0 ŷ 0 ẑ 0 )) (29)<br />

=b =a<br />

Mit Hilfe der sieben nicht-trivialen Gleichheitsbeziehungen<br />

aus (28) lässt sich das Optimierungsproblem <strong>in</strong> (23) <strong>in</strong> e<strong>in</strong><br />

e<strong>in</strong>dimensionales Optimierungsproblem transformieren. Genauso<br />

lassen sich neue Grenzen m und n für die noch unbekannte<br />

Wahrsche<strong>in</strong>lichkeit P ˜( ˆx 0 ŷ 0 ẑ 0 ) angeben durch <strong>E<strong>in</strong></strong>setzen<br />

<strong>von</strong> (28) <strong>in</strong> (24):<br />

m<strong>in</strong><br />

P ˜( ˆx 0 ,ŷ 0 ,ẑ 0 )<br />

(<br />

d ˜ P 2 ( ˆx 0 ŷ 0 ẑ 0 ) + e ˜ P ( ˆx 0 ŷ 0 ẑ 0 ) + f<br />

)<br />

(30)<br />

m ≤ ˜ P ( ˆx 0 ŷ 0 ẑ 0 ) ≤ n (31)<br />

Hierbei s<strong>in</strong>d die Parameter d, e, f , m und n wiederum feste<br />

Funktionen der bereits bekannten zweidimensionalen Wahrsche<strong>in</strong>lichkeiten<br />

P ( ˆxŷ), P (ŷẑ) und P ( ˆxẑ).<br />

Löst man nun das e<strong>in</strong>dimensionale Optimierungsproblem<br />

<strong>in</strong> (30) unter der Nebenbed<strong>in</strong>gung (31), so s<strong>in</strong>d alle vorher<br />

geforderten Nebenbed<strong>in</strong>gungen automatisch erfüllt und alle<br />

verbleibenden Wahrsche<strong>in</strong>lichkeiten lassen sich durch (28)<br />

berechnen.<br />

Die Lösung <strong>von</strong> (30) lässt sich direkt angeben zu:<br />

⎧<br />

⎨ −<br />

2d e , falls m ≤ − 2d e ≤ n<br />

P ( ˆx 0 ŷ 0 ẑ 0 ) = m , falls m > − e<br />

⎩<br />

2d<br />

(32)<br />

n , falls n < −<br />

2d<br />

e<br />

Hierdurch lässt sich die Approximation effizient durch<br />

explizite Formeln implementieren ohne die Notwendigkeit<br />

kostspieliger generischer Optimierungsverfahren.<br />

4.2 Iterative Berechnung<br />

Mit Hilfe der vorgestellten Approximation im vorherigen<br />

Absatz lassen sich Regeln <strong>zur</strong> iterativen Berechnung <strong>von</strong> Signalwahrsche<strong>in</strong>lichkeiten<br />

aufstellen.<br />

4.2.1 Stationäre Wahrsche<strong>in</strong>lichkeiten<br />

Für e<strong>in</strong>e Logikzelle mit 2 <strong>E<strong>in</strong></strong>gängen und e<strong>in</strong>em Ausgang<br />

lässt sich die stationäre Wahrsche<strong>in</strong>lichkeit an ihrem Ausgang<br />

auf Basis ihrer Logikfunktion berechnen (Parker und<br />

McCluskey, 1975). Abbildung 1 zeigt e<strong>in</strong> UND-Gatter mit<br />

den <strong>E<strong>in</strong></strong>gängen x und y, sowie e<strong>in</strong> drittes abhängiges Signal<br />

w. Aufgabe des Algorithmus ist es nun die Verbundwahrsche<strong>in</strong>lichkeit<br />

P (wz) auf Basis der bekannten Verbundwahrsche<strong>in</strong>lichkeiten<br />

P (xy), P (yw) und P (xw) zu berechnen.<br />

Diese Aufgabe lässt sich generell <strong>in</strong> zwei Teilaufgaben unterteilen:<br />

1. Approximation der Verbundverteilung ˜ P (xyw)<br />

2. Transformation <strong>von</strong> ˜ P (xyw) zu P (zw)<br />

Die Methode <strong>zur</strong> Approximation der Verbundverteilung<br />

P ˜(xyw) wurde bereits <strong>in</strong> Kapitel 4.1 vorgestellt. Mit Hilfe<br />

dieser Verbundverteilung kann die Verteilung P (zw) dann<br />

wie folgt berechnet werden:<br />

P (z = 0 ∩ w = ŵ) = P ˜(x = 0 ∩ y = 0 ∩ w = ŵ)<br />

+ P ˜(x = 0 ∩ y = 1 ∩ w = ŵ)<br />

+ P ˜(x = 1 ∩ y = 0 ∩ w = ŵ)<br />

P (z = 1 ∩ w = ŵ) =<br />

(33)<br />

˜ P (x = 1 ∩ y = 1 ∩ w = ŵ) (34)<br />

Für Zellen mit anderen Funktionen wie z.B. ODER,<br />

NICHT, XOR oder NAND lassen sich ebenso Regeln aufstellen.<br />

Jede Signalverzweigung <strong>in</strong> der Schaltung (siehe Abbildung<br />

2) bei der aus e<strong>in</strong>em Signal x zwei neue Signale y und z<br />

generiert werden führt e<strong>in</strong>e zusätzliche Verbundwahrsche<strong>in</strong>lichkeit<br />

P (yz), sowie entsprechende Verbundwahrsche<strong>in</strong>lichkeiten<br />

P (yw) und P (zw) zu weiteren abhängigen <strong>Signalen</strong>,<br />

e<strong>in</strong>:<br />

P (y = 0 ∩ z = 0) = P (x = 0) (35)<br />

P (y = 1 ∩ z = 1) = P (x = 1) (36)<br />

Adv. Radio Sci., 11, 213–218, 2013<br />

www.adv-radio-sci.net/11/213/2013/


V. B. Kleeberger et al.: Signalmodellierung <strong>in</strong> digitalen Schaltungen 217<br />

P (y = 0 ∩ z = 1) = P (y = 1 ∩ z = 0) = 0 (37)<br />

P (yw) = P (zw) = P (xw) (38)<br />

Hierdurch können durch iterative Verarbeitung alle stationären<br />

Signalwahrsche<strong>in</strong>lichkeiten <strong>in</strong>nerhalb der Schaltung<br />

aus den Verbundwahrsche<strong>in</strong>lichkeiten der <strong>E<strong>in</strong></strong>gänge berechnet<br />

werden. Zellen mit mehr als 2 <strong>E<strong>in</strong></strong>gängen können hierbei<br />

durch e<strong>in</strong>e Verkettung mehrerer zweistelliger Logikfunktionen<br />

<strong>in</strong>tegriert werden.<br />

4.2.2 Schaltwahrsche<strong>in</strong>lichkeiten<br />

Die Berechnung <strong>von</strong> Schaltwahrsche<strong>in</strong>lichkeiten folgt pr<strong>in</strong>zipiell<br />

den selben Regeln wie die <strong>von</strong> stationären Wahrsche<strong>in</strong>lichkeiten.<br />

Am Beispiel des UND-Gatters aus Abbildung<br />

1 lassen sich hier z.B. folgende Formeln aufstellen:<br />

P (z = s ∩ w = ŵ) = P ˜(x = s ∩ y = k ∩ w = ŵ) · P (y = 1)<br />

+ P ˜(x = k ∩ y = s ∩ w = ŵ) · P (x = 1)<br />

+ P ˜(x = s ∩ y = s ∩ w = ŵ) · P (x = y)<br />

(39)<br />

P (z = k ∩ w = ŵ) = P (w = ŵ) − P (z = s ∩ w = ŵ) (40)<br />

Wie sich <strong>in</strong> (39) erkennen lässt, gehen <strong>in</strong> die Berechnung der<br />

Schaltwahrsche<strong>in</strong>lichkeiten die stationären Wahrsche<strong>in</strong>lichkeiten<br />

e<strong>in</strong>, da die Signalwerte an den Gattere<strong>in</strong>gängen bestimmen<br />

ob sich e<strong>in</strong> schaltendes Signal zum Ausgang propagieren<br />

kann. In (39) stellen die ersten beiden Summanden<br />

die Wahrsche<strong>in</strong>lichkeiten dar, dass nur e<strong>in</strong>er der beiden<br />

<strong>E<strong>in</strong></strong>gänge schaltet, und der dritte Summand, dass beide<br />

<strong>E<strong>in</strong></strong>gänge gleichzeitig schalten.<br />

Da bei der Berechnung der Schaltwahrsche<strong>in</strong>lichkeit angenommen<br />

wurde, dass diese <strong>von</strong> den stationären Wahrsche<strong>in</strong>lichkeiten<br />

unabhängig ist, muss anschließend die berechnete<br />

Verbundwahrsche<strong>in</strong>lichkeit P (zw) mit Gleichung 11 begrenzt<br />

werden.<br />

5 Experimentelle Ergebnisse<br />

5.1 Kostenfunktionen <strong>zur</strong> Bewertung der Approximationsgüte<br />

Um die vorgestellte Methode zu bewerten wird e<strong>in</strong>e Funktion<br />

benötigt, welche die Approximationsqualität bewertet. Für<br />

e<strong>in</strong>e approximierte Verteilung P ˜(xyz) kann für jedes Belegungstupel<br />

ˆxŷẑ der approximierte Wert dem Wert der realen<br />

Verteilung P (xyz) gegenübergestellt werden. Da die Wahrsche<strong>in</strong>lichkeitsverteilung<br />

P (xyz) auch als Vektor P (xyz)<br />

aufgefasst werden kann (siehe Gl. 5) lässt sich die Approximationsgüte<br />

durch die Distanz der beiden Vektoren P ˜ (xyz)<br />

und P (xyz) abschätzen.<br />

Hierbei bietet sich <strong>in</strong>sbesondere die Tschebyscheff-<br />

Distanz d ∞ an:<br />

∣<br />

d ∞ = max∣P (xyz) − P ˜<br />

(xyz) ∣ (41)<br />

Die Tschebyscheff-Distanz gibt somit denjenigen <strong>E<strong>in</strong></strong>zelwert<br />

der Verteilung an, für den der größte Approximationsfehler<br />

gemacht wird. Da die Vektoren Wahrsche<strong>in</strong>lichkeitsverteilungen<br />

darstellen, liegt die Tschebyscheff-Distanz zwischen<br />

0 und 1, wobei 0 e<strong>in</strong>e perfekte Approximation und 1 dementsprechend<br />

die schlechtest mögliche Approximation darstellt.<br />

0 ≤ d ∞ ≤ 1 (42)<br />

Da diese Approximation im Zuge der Berechnung über mehrere<br />

verschiedene Signale gemacht werden muss, ergibt sich<br />

für jedes Signaltripel x (i) y (i) z (i) e<strong>in</strong> Distanzwert d ∞ (i) . Somit<br />

muss <strong>zur</strong> globalen Bewertung aus diesen <strong>E<strong>in</strong></strong>zelwerten<br />

wieder e<strong>in</strong> Gesamtwert gebildet werden. Hierbei werden <strong>in</strong><br />

dieser Arbeit der Mittelwert sowie das Maximum über alle<br />

ausgerechneten Distanzen genommen. Dies gibt dementsprechend<br />

den mittleren Approximationsfehler, sowie den maximalen<br />

Approximationsfehler, über alle Signale an.<br />

5.2 Test anhand e<strong>in</strong>es Mikroprozessors<br />

Zum Test des vorgestellten <strong>Modell</strong>s und zum Vergleich<br />

mit existierenden Ansätzen wurden verschiedene Programme<br />

auf e<strong>in</strong>em Instruktionssatzsimulator für e<strong>in</strong>en 16 Bit Mikroprozessor<br />

ausgeführt und auftretende Signale für jeweils<br />

2 000 000 Taktzyklen extrahiert. Hieraus wurden dann entsprechend<br />

die realen stationären Wahrsche<strong>in</strong>lichkeiten und<br />

Schaltwahrsche<strong>in</strong>lichkeiten der Signale berechnet. Abbildung<br />

3 stellt hierbei die Approximationsgüte des vorgestellten<br />

Ansatzes denen existierender Ansätze für verschiedene<br />

Programme gegenüber.<br />

Wie zu sehen ist, stellt die vorgestellte Methode e<strong>in</strong>en<br />

wesentlichen Genauigkeitszuwachs bei Verwendung realistischer<br />

Signalwahrsche<strong>in</strong>lichkeiten dar. Dies ist vor allem auf<br />

die Herleitung der Approximation basierend auf den Annahmen<br />

(17) – (19) <strong>zur</strong>ückzuführen.<br />

Um die Laufzeiteigenschaften des Algorithmus zu testen<br />

und denen existierender Ansätze gegenüberzustellen, wurden<br />

zusätzlich Schaltungen der ISCAS (Brglez, 1985) und ITC<br />

(Davidson, 1999) Benchmarksammlungen verwendet. Abbildung<br />

4 zeigt die entsprechenden Laufzeiten im Vergleich<br />

mit anderen Algorithmen über der Zahl der <strong>in</strong> der Schaltung<br />

enthaltenen Gatter.<br />

Die Laufzeit ist hierbei nicht nur <strong>von</strong> der Gatteranzahl<br />

funktional abhängig, sondern im Wesentlichen auch <strong>von</strong> der<br />

Schaltungstopologie bestimmt. Im Vergleich mit dem Ansatz<br />

nach Ercolani et al. (1989) hat der vorgestellte Ansatz ähnliche<br />

Laufzeiten.<br />

www.adv-radio-sci.net/11/213/2013/ Adv. Radio Sci., 11, 213–218, 2013


218 V. B. Kleeberger et al.: Signalmodellierung <strong>in</strong> digitalen Schaltungen<br />

Mittlerer Fehler<br />

0.1<br />

0<br />

1 2 3<br />

Programm Nummer<br />

Ansatz nach Parker und McCluskey (1975)<br />

Ansatz nach Ercolani u.a. (1989)<br />

Ansatz mit quadratischem <strong>Modell</strong> (Neu)<br />

(a) Mittlerer Fehler (stationäre<br />

Wahrsche<strong>in</strong>lichkeit)<br />

Mittlerer Fehler<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

1 2 3<br />

Program Nummer<br />

Temporale Unabhängigkeit (Najm 1994)<br />

Ansatz nach Marculescu u.a. (1994)<br />

Ansatz mit quadratischem <strong>Modell</strong> (Neu)<br />

(c) Mittlerer Fehler<br />

(Schaltwahrsche<strong>in</strong>lichkeit)<br />

Maximaler Fehler<br />

0.4<br />

0.2<br />

0<br />

1 2 3<br />

Programm Nummer<br />

Ansatz nach Parker und McCluskey (1975)<br />

Ansatz nach Ercolani u.a. (1989)<br />

Ansatz mit quadratischem <strong>Modell</strong> (Neu)<br />

(b) Max. Fehler (stationäre<br />

Wahrsche<strong>in</strong>lichkeit)<br />

Maximaler Fehler<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

1 2 3<br />

Program Nummer<br />

Temporale Unabhängigkeit (Najm 1994)<br />

Ansatz nach Marculescu u.a. (1994)<br />

Ansatz mit quadratischem <strong>Modell</strong> (Neu)<br />

(d) Max. Fehler (Schaltwahrsche<strong>in</strong>lichkeit)<br />

Abbildung 3. Vergleich der Approximationsgüte<br />

Laufzeit (s)<br />

150<br />

100<br />

50<br />

0<br />

0 500 1,000 1,500 2,000 2,500<br />

Gatteranzahl<br />

Ansatz nach Parker und McCluskey (1975)<br />

Ansatz nach Ercolani u.a. (1989)<br />

Ansatz mit quadratischem <strong>Modell</strong> (Neu)<br />

Abbildung 4. Laufzeit der Algorithmen <strong>in</strong> Abhängigkeit der Gatterzahl<br />

Danksagung. Diese Arbeit wurde <strong>von</strong> der Deutschen Forschungsgeme<strong>in</strong>schaft<br />

(DFG) im Rahmen des Schwerpunktprogramms “Entwurf<br />

und Architekturen verlässlicher e<strong>in</strong>gebetteter Systeme” unterstützt<br />

(SPP 1500 – spp1500.itec.kit.edu).<br />

Literatur<br />

Brglez, F.: Neutral netlist of ten comb<strong>in</strong>ational benchmark circuits<br />

and a target translator <strong>in</strong> FORTRAN, <strong>in</strong>: IEEE International<br />

Symposium on Circuits and Systems (ISCAS), 1985.<br />

Chen, L. und Tahoori, M. B.: An efficient probability framework<br />

for error propagation and correlation estimation, <strong>in</strong>: IEEE International<br />

On-L<strong>in</strong>e Test<strong>in</strong>g Symposium (IOLTS), 2012.<br />

Davidson, S.: ITC’99 Benchmark Circuits – Prelim<strong>in</strong>ary Results,<br />

<strong>in</strong>: IEEE International Test Conference (ITC), 1999.<br />

Ercolani, S., Favalli, M., Damiani, M., Olivo, P. und Ricco, B.: Estimate<br />

of signal probability <strong>in</strong> comb<strong>in</strong>ational logic networks, <strong>in</strong>:<br />

IEEE European Test Conference (ETC), 1989.<br />

Lorenz, D., Georgakos, G. und Schlichtmann, U.: Ag<strong>in</strong>g analysis of<br />

circuit tim<strong>in</strong>g consider<strong>in</strong>g NBTI and HCI, <strong>in</strong>: IEEE International<br />

On-L<strong>in</strong>e Test<strong>in</strong>g Symposium (IOLTS), 2009.<br />

Marculescu, R., Marculescu, D. und Pedram, M.: Switch<strong>in</strong>g activity<br />

analysis consider<strong>in</strong>g spatiotemporal correlations, <strong>in</strong>: IEEE<br />

International Conference on Computer-Aided Design (ICCAD),<br />

1994.<br />

Najm, F. N.: Transition density: a new measure of activity <strong>in</strong> digital<br />

circuits, IEEE Transactions on Computer-Aided Design of<br />

Integrated Circuits and Systems (TCAD), 12, 310–323, 1993.<br />

Najm, F. N.: A survey of power estimation techniques <strong>in</strong> VLSI circuits,<br />

IEEE Transactions on Very Large Scale Integration (VLSI)<br />

Systems, 2, 446–455, 1994.<br />

Nassif, S. R.: Power Grid Analysis Benchmarks, <strong>in</strong>: IEEE Asia and<br />

South Pacific Design Automation Conference (ASPDAC), 2008.<br />

Obermeier, B. und Johannes, F.: Temperature-aware global placement,<br />

<strong>in</strong>: IEEE Asia and South Pacific Design Automation Conference<br />

(ASPDAC), 143–148, 2004.<br />

Parker, K. und McCluskey, E.: Probabilistic treatment of general<br />

comb<strong>in</strong>ational networks, IEEE Transactions on Computers, 100,<br />

668–670, 1975.<br />

Schneider, P., Schlichtmann, U. und Wurth, B.: Fast power estimation<br />

of large circuits, IEEE Design & Test of Computers, 13, 70–<br />

78, 1996.<br />

6 Diskussion<br />

In dieser Arbeit wurde e<strong>in</strong> neuer Ansatz <strong>zur</strong> <strong>Modell</strong>ierung<br />

<strong>von</strong> Signalwahrsche<strong>in</strong>lichkeiten vorgestellt. Der Ansatz basiert<br />

auf der Approximation <strong>von</strong> Signalwahrsche<strong>in</strong>lichkeiten<br />

auf Basis e<strong>in</strong>es quadratischen <strong>Modell</strong>s. Das quadratische<br />

Problem lässt sich analytisch lösen und somit effizient implementieren.<br />

Beim Vergleich mit anderen Ansätzen zeigt sich e<strong>in</strong> deutlicher<br />

Genauigkeitszuwachs bei der Verwendung <strong>von</strong> realistischen<br />

Signalwahrsche<strong>in</strong>lichkeiten. Die Laufzeit ist ähnlich<br />

der existierender Ansätze gleicher Komplexität.<br />

Adv. Radio Sci., 11, 213–218, 2013<br />

www.adv-radio-sci.net/11/213/2013/

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!