Sie sind auf Seite 1von 6

Verwendung von Mission Profiles im domänenübergreifenden

Constraint-basierten Entwurf
C. Katzschke1 , M. Olbrich1 , V. Meyer zu Bexten2 , M. Tristl2 , E. Barke1
1 Leibniz Universität Hannover, Institut für Mikroelektronische Systeme,

{carolin.katzschke, markus.olbrich, erich.barke}@ims.uni-hannover.de


2 Infineon Technologies AG, {volker.meyerzubexten, markus.tristl}@infineon.com

Kurzfassung
Mission Profiles beschreiben übergeordnete Stress-Informationen, die für den Entwurf integrierter Systeme eingesetzt
werden. Diese Profile werden verfeinert und zu Entwurfsconstraints transformiert. Wir präsentieren Methoden zur Pro-
pagierung von Constraints zwischen Entwurfsdomänen wie Package und Chip. Außerdem stellen wir unser zugehöriges
Constraint-Transformationssystem ConDUCT vor, in dem eine domänenübergreifende Methodik realisiert ist. Die vorge-
schlagenen Methoden werden auf Basis einer Analog/Mixed-Signal-Anwendung aus dem Automotive-Bereich demon-
striert.

1 Einleitung Regel-Management-System vorgestellt [6].

Mission Profiles enthalten spezifische Anforderungen an 1.1 Von Mission Profiles zu Entwurfs-
die zu entwerfenden Systeme. Letztlich werden aus Mis- constraints
sion Profiles Entwurfsconstraints abgeleitet, da die Missi-
on Profiles auf unterschiedlichen Ebenen des Entwurfs im- Eine Beispielanwendung für Mission Profiles stellt die
mer weiter verfeinert werden. Die abgeleiteten Constraints Beziehung zwischen Umgebungstemperatur und dem er-
müssen über das gesamte Entwurfssystem weitergegeben forderlichen Strom eines Auto-Fensterhebers dar. Nor-
werden. Für digitale Constraints (z.B. Timing) existieren malerweise reichen geringe Ströme aus, um das Fen-
zwar bereits Austauschmethoden für verschiedene EDA- ster zu bewegen. Wenn es allerdings eingefroren ist und
Werkzeuge. Im Gegensatz dazu existieren solche Metho- der Motor blockiert, werden Ströme benötigt, die um ei-
den aber noch nicht für analoge Schaltungen aufgrund ne Größenordnung höher liegen. Diese kritische Situation
verschiedener Herausforderungen, die mit analogen Cons- wird durch Strom-Belastungsprofile in Abhängigkeit von
traints verbunden sind. Ein Aspekt ist die Heterogenität der der Temperatur modelliert.
Constraint-Typen (z.B. Strom und IR-Drop, geometrische In der Spezifikation wird die erforderliche Lebens-
Abstände und Breiten). Daher muss eine größere Anzahl dauer des Motortreiber-ICs für einen Fensterheber defi-
von Beziehungen zwischen Constraints unterschiedlicher niert. Der Wert für die angestrebte Lebensdauer, sowie
Typen und Domänen modelliert und berücksichtigt wer- die Strom/Temperatur-Stress-Profile sind Parameter zur
den. Berechnung oder Abschätzung der Stromdichte in den
Eine weitere Herausforderung besteht darin, dass die Pins, den Transistoren und Verbindungsleitungen. Eine
Constraints in unterschiedlichen Tools oft zueinander Möglichkeit, Stromdichte-Constraints zu gewinnen, stellt
inkompatibel sind, insbesondere bei unterschiedlichen Black’s Law dar [2]. Es beschreibt die Beziehung zwischen
Domänen, wie PCB, Package und Chip. Zwar existieren Lebensdauer, Temperatur und Stromdichte.
proprietäre Constraint-Systeme einzelner EDA-Anbieter, Eine zu hohe Stromdichte verursacht Elektromigrati-
aber die Propagierung und Abbildung von Constraints von on, welche dazu führt, dass Leitungen durch diffundieren-
einer Domäne in eine andere ist nicht zufriedenstellend de Elektronen an einigen Stellen dünner werden. Abb. 1
gelöst. Dieser Beitrag bietet einen Überblick über Proble- zeigt Leitungen, die durch Elektromigration zerstört wur-
me, die in einem Designflow entstehen, bei dem Cons- den. Dies stellt ein Beispiel für Ausfall-Mechanismen dar
traints in mehreren Domänen verwendet werden. Die Ver- und wir werden es zur Demonstration unserer Methodik in
teilung von Constraints und ihre Modifikation innerhalb ei- den folgenden Abschnitten verwenden. Andere Mechanis-
nes Entwurfssystems mit mehreren EDA-Werkzeugen er- men können in entsprechender Weise behandelt werden.
fordert gut überlegte Strategien. Darüber hinaus wird eine Im Folgenden wird angenommen, dass Constraints be-
Methode benötigt, um Regeln zum Abbilden unterschiedli- reits in verschiedenen Entwurfswerkzeugen existieren, wo-
cher Constraint-Typen von einer Domäne in eine andere zu bei jedes Tool für eine eigene Entwurfsdomäne zuständig
organisieren. Als Lösungsansatz wird ein entsprechendes ist. Anhand des Fensterheber-Beispiels werden wir in Ab-
schnitt 4 demonstrieren, wie ein Strom-Constraint in ein
Dieser Beitrag wurde gefördert als Teil des Projekts ResCar 2.0 Breiten-Constraint transformiert werden kann und wie ei-
(Förderkennzeichen 01 M 3195) durch das Bundesministerium für Bil-
dung und Forschung (BMBF).
ne Transformationsregel dafür aufgebaut sein muss.
Dies erlaubt die Bewertung der Systemeigenschafts-
größen als Funktion von Eigenschaftsgrößen der Kompo-
nenten und stellt sicher, dass geeignete Werte für Entwurfs-
Constraints der Komponenten gewählt werden.
K RINKE ET AL . zeigen in [7] die Erzeugung hierarchi-
scher Constraints, indem Bottom-Up- und gemischte Top-
Down/Bottom-Up-Transformationen und -Propagierungen
definiert werden. Constraints können dabei innerhalb der
gesamten Entwurfshierarchie propagiert werden.
Sowohl A RSINTESCU, D HANWADA als auch K RIN -
Abbildung 1 Durch Elektromigration zerstörte Alumini- KE bieten Lösungen innerhalb der Entwurfshierarchie. Im
umleitung [3] Gegensatz dazu konzentrieren wir uns auf Herausforde-
rungen und Methoden, die es erlauben, die Constraints
über Domänengrenzen hinweg weiterzugeben. Wir ver-
1.2 Stand der Technik wenden Petri-Netze zur Modellierung von Abhängigkeiten
Gemäß [5] definieren wir: zwischen Constraint-Transformationen. Es gibt ähnliche
Ansätze auf dem Gebiet der Workflow-Analyse. S ALIMI -
Definition 1 Constraint-Propagierung ist die Ableitung ei- FARD ET AL . [10] und VAN DER A ALST [12] liefern eine
nes oder mehrerer neuer Constraints aus einer gegebenen allgemeine Beschreibung für das Workflow-Management:
Menge von vorhandenen Constraints. Entwurfsschritte werden dabei auf modifizierte Petri-Netze
abgebildet, welche in diesem Zusammenhang Workflow-
Constraint-Transformation definieren wir als den Pro- Netze (WF-Netze) genannt werden. Aufgaben werden auf
zess, der Constraints mithilfe von Transformationsre- Transitionen im Petri-Netz abgebildet. Pre- und Post-
geln konvertiert. Im Rahmen der Constraint-Transforma- Bedingungen werden als Stellen dargestellt. Der logische
tion können Domänengrenzen überwunden werden. Die Workflow wird durch Pfeile im WF-Netz modelliert. WF-
Herausforderungen beim Constraint-Management und bei Netze können dann zur Überprüfung und Analyse des mo-
den Transformationen wurden bereits in unterschiedlichen dellierten Workflows verwendet werden.
Ansätzen behandelt:
A RSINTESCU behandelt in [1] Constraint-Transforma-
tionen nur in einem rein hierarchischen Top-Down-Ansatz. 2 Herausforderungen im
Dabei werden zwei Klassen von Constraints unterschie-
den, die Spezifikations- und die Parameter-Constraints. domänenübergreifenden
Spezifikations-Constraints k sind Eingaben für Transfor- Designflow
mationen auf gleicher Ebene. Parameter-Constraints p sind
Ergebnisse von Transformationen auf der gleichen Ebe- 2.1 Konsistenz
ne. Im Gegensatz zu J ERKE ET AL . [5] definiert A RSIN -
TESCU Constraint-Transformation als Anwendung einer
Häufig arbeiten in einem Projekt mehrere Designer
Transformationsfunktion F, die Parameter-Constraints aus gleichzeitig in unterschiedlichen Domänen. Während eini-
Spezifikations-Constraints auf der gleichen Ebene erzeugt: ge die Chips entwerfen, arbeiten andere an der Package-
Integration und dem PCB. Außerdem befinden sich De-
p = F(k) signer oft an unterschiedlichen Standorten. In einem
domänenübergreifenden Designflow müssen diese Aspek-
Darüber hinaus werden erzeugte Parameter-Constraints te berücksichtigt werden. Für alle Domänen müssen die
in Mengen unterteilt und an niedrigere Ebenen weiterge- Constraint-Informationen konsistent sein, und die Daten-
geben. Diese Weitergabe wird bei A RSINTESCU Propagie- integrität muss – wie bei allen anderen Designdaten –
rung genannt. Während der Propagierung werden gege- gewährleistet sein. Es ist wichtig, dass jedem Designer
bene Parameter-Constraints zu Spezifikations-Constraints die Daten auf dem aktuellen Stand zugänglich sind. Je
auf der nächst niedrigeren Ebene und bilden Ausgangs- nach verwendeter Verfahrensweise zur Reihenfolge von
punkte für weitere Transformationen zu noch niedrigeren Lese- und Schreib-Operationen innerhalb des verteilten
Ebenen. Systems unterscheidet man verschiedene Konsistenzty-
D HANWADA ET AL . entwickeln in [4] eine Idee un- pen [11]. Zur Verteilung der Informationen können ent-
ter Verwendung genetischer Algorithmen, die die allge- sprechende ereignisgesteuerte Update-Mechanismen ein-
meine Constraint-Transformations-Funktion ersetzt. Dies gesetzt werden. Unser Ansatz verwendet eine zentrale
wird als hierarchischer Top-Down-Ansatz vorgeschlagen. Datenbank zur persistenten Speicherung der Constraints,
Auf System-Ebene bilden Eigenschaftsgrößen Zielwerte um durch den vorhandenen Transaktionsmechanismus die
für den genetischen Algorithmus. Eigenschaftsgrößen von Konsistenz sicherzustellen.
Komponenten auf der nächst niedrigeren Ebene sind die
Eingabe für den genetischen Algorithmus. Sie werden 2.2 Versionskontrollsysteme
während des Algorithmus variiert, um die gewünschten Ei-
Darüber hinaus müssen bereits verwendete Versions-
genschaftsgrößen auf der System-Ebene zu erzielen.
kontrollsysteme berücksichtigt werden, die oft nur inner-
halb einzelner Tools angewendet werden. Constraint- oder Bei der domänenübergreifenden Verwendung erfordert
Designänderungen sollen nur dann weitergegeben wer- der Constraint-Typ eine zusätzliche Information darüber,
den, wenn die aktuelle Designversion und ihre Constraints in welchem Tool das Original-Constraint definiert wurde.
gültig sind. Wenn die lokale Designversion nicht aktuell ist, Constraints selbst sind Instanzen von Constraint-Typen.
kann nicht garantiert werden, dass die Designobjekte in der Constraint-Typen definieren, auf welche Art von Design-
aktuellen Version überhaupt noch existieren. Eine Weiter- objekten sich die jeweiligen Constraints beziehen und wie
gabe der Constraints würde dann keinen Sinn ergeben, da die Verifikationsfunktion bewertet wird. Die Verifikati-
sie Bezüge auf ungültige Designobjekte enthielten. on der Constraint-Einhaltung wird dem jeweiligen Tool
Auf der anderen Seite sollen auch eingehende Update- überlassen.
Informationen nur dann verwendet werden, wenn die kor- In der vorgestellten Darstellung (1) kann man das Cons-
rekte Version in Bearbeitung ist. Das Listing 1 zeigt eine traint zum maximalen Strom des Fensterhebers nun wie
Lösung für dieses Problem bei eingehenden Änderungen. folgt interpretieren:
Analog kann für ausgehende Änderungen vorgegangen
werden. Die Strategie ist im Software-Engineering bekannt t(c) = currentChipType
und kann als get latest [design version] before check in / M(c) = ID der Leitung, die den Strom führt

check out“ bezeichnet werden. P(c) = Wert in Ampere
C(c) = 0/
startIncomingUpdate ( server , design ,
constrChanges ) {
Eine Zuordnung auf das zugehörige Designelement bzw.
chosenConstr = selectConstr ( constrChanges ); Constraint-Member ist durch die Designtools selbst be-
localVersion = getCurrentVersion ( local , reits vorgenommen worden, wenn Constraints innerhalb
design ) ; der Tools Referenzen auf die Elemente speichern, auf
serverVersion = getCurrentVersion ( server ,
design ) ; die sie angewendet werden. Wenn Constraints außerhalb
der Tools neu generiert werden, können die assoziierten
if ( localVersion < serverVersion ) { Constraint-Member entweder durch vereinbarte Namens-
message (" Please update design first .") ; konventionen automatisiert ermittelt werden, wenn sie aus
abort () ;
} anderen Constraints entstehen, oder eine Zuordnung der
Constraint-Member muss manuell durchgeführt werden. In
importAndApplyUpdate ( server , design , unserem Beispiel besitzt das Strom-Constraint keine Kind-
chosenConstr );
Constraints, da es sich nicht um ein zusammengesetztes
}
Constraint handelt.
Listing 1 Schritte beim Import von Constraint-Updates Es muss sichergestellt werden, dass Constraints in der
Datenbank mit dem zugehörigen Designtool synchroni-
siert werden können. Zwischen verschiedenen Tools un-
3 Domänenübergreifendes terscheiden sich die Constraint-Modelle. Daher verwenden
wir ein erweitertes verallgemeinertes Constraint-Modell,
Constraint-Tool in dem sich Constraints aus anderen Constraints zusam-
mensetzen können. In den meisten Fällen ist allerdings die
ConDUCT steht für Constraint Delivering and Updating
” zugehörige Rekursionstiefe Eins oder Null. Das bedeutet,
Cross-domain Tool“. Constraints aus den Tools verschie-
dass ein Constraint nur direkte Kind-Constraints oder gar
dener Entwurfsdomänen können darin in einem Projekt
keine weiteren enthält. Solche zusammengesetzten Cons-
zusammengefasst werden. Es verwendet eine Datenbank,
traints werden auch Constraint-Sets genannt. Sie werden
welche ein eigenes Constraint-Modell implementiert. Die-
verwendet, um einfach Constraint-Sets gegen andere zu er-
ses Constraint-Modell ähnelt dem in [7] vorgestellten Mo-
setzen, um unterschiedliche Constraint-Sets zu testen oder
dell von K RINKE. Allerdings muss es zur Beschreibung
Technologie-Konfigurationen gegeneinander austauschen
von Domänenaspekten in folgender Weise erweitert wer-
zu können.
den:

c = (t(c), M(c), P(c),C(c)) (1)


4 Constraint-Transformation über
C(c) = {c1 , .., cn } (2)
Domänengrenzen hinweg
mit
ConDUCT ermöglicht den Transfer von Constraints von
t(c) = Constraint-Typ = (type, originTool) einer Domäne in eine andere. Im Gegensatz zu rein hier-
M(c) = Member; Menge von Designobjekten, archischer Transformation werden Constraints für Design-
objekte in einer Domäne an Designobjekte in einer anderen
auf die sich c bezieht
Domäne weitergereicht.
P(c) = Parameter; Menge von Parameterwerten, Wir definieren ein Constraint mit dem Constraint-Typ t
die zur Verifikation verwendet werden als ct . Ein Constraint-Typ t besteht aus dem Tupel
C(c) = Constraints; Menge von Kind-Constraints
t = (typeInTool, originTool).
Ein Beispiel ist folgendes:

currentChipType = ( “current” , “virtuoso”)

Dabei wird das zuvor erwähnte Strom-Constraint imax


aus unserem Fensterheber-Beispiel in der eingeführten
Form dargestellt. Als Typ ist “current” (Strom) angege-
ben und als Domäne des Constraints wird das Chip-Design
Tool “virtuoso” definiert.
Eine Transformationsregel φ zur Transformation von
Constraint-Typ ctsource zu Constraint-Typ cttarget1 , . . . , cttargetn
wird folgendermaßen dargestellt:

φ tsource →ttarget1 ,...,ttargetn : ctsource → {cttarget1 , . . . , cttargetn } (3)

Transformationsregeln werden global zur Verfügung ge-


stellt und können in jedem neuen Designprojekt wiederver-
wendet werden. In ConDUCT werden Transformationsre-
geln von einem Benutzer als Python-Skript formuliert. Da-
bei bleibt es dem Benutzer überlassen, wie allgemeingültig
seine Regel ist. So kann die Einschränkung für eine Trans-
formation unseres Strom-Constraints lauten, dass sie nur
mit Strom-Constraints ausgeführt werden darf, die sich auf
Leitungen beziehen.
Der Flow von Constraint-Transformationen in Con-
DUCT (Abb. 2) beginnt, wenn ein Benutzer eine Trans-
formation interaktiv über das User-Interface startet. Abbildung 2 Transformationsfluss in ConDUCT
Der Controller leitet eine Transformationsanforderung
an den Constraint-Transformer weiter. Die Komponen-
[1, 4, 7]) müssen erst erweitert werden, um die Zuordnung
te erhält das Constraintobjekt vom ConDUCT-Constraint-
von Transformatiosregeln zu Kanten abzubilden und Cons-
Modell, das in Abschnitt 3 beschrieben wurde. Zunächst
traint-Typ-Knoten zu identifizieren, die durch die gleiche
wird der Constraint-Typ ermittelt. Jede zu einem gegebe-
Transformation erzeugt werden. Petri-Netze [8] sind bipar-
nen Quell-Constraint-Typ passende Regel wird zur Trans-
tite Graphen, die als n-Tupel (P, T, F,W, M0 ) definiert sind:
formation ausgewählt. Der Constraint-Transformer erhält
alle gewählten Transformationsregeln vom Rule-Manager. • P ist eine Menge von Plätzen (Stellen)
Zuletzt, wenn keine weitere passende Regel existiert, gibt
der Rule-Manager alle bisher gefundenen Transformati- • T steht für eine Menge von Transitionen
onsregeln zurück. Anschließend gibt der Constraint-Trans-
• F enthält eine Menge von Fluss-Beziehungen (Pfeile)
former die Constraintobjekte und die Transformationsre-
geln and den Rule-Interpreter weiter, der die Transforma- • W ist eine Gewichtsfunktion für Pfeile
tionen ausführt.
• M0 definiert Start-Markierungen (Token) der Plätze

5 Petri-Netz-Analyse Wir verwenden die Petri-Netz-Definition zur Darstel-


lung der Transformationsregeln und der Constraints in ei-
Transformationsregeln bieten die Möglichkeit, eine ge- nem Design-Projekt in folgender Weise:
gebene Menge von domänenübergreifenden Constraint- • P ist eine Menge von Constraint-Typen
Transformationen zu analysieren. Dadurch können Aussa-
gen gewonnen werden, wie die, welche neuen Constraints • T steht für eine Menge von Transformationsregeln
innerhalb eines gewählten Entwurfsprojekts erzeugt wer-
den können und welche nicht. In diesem Abschnitt zeigen • F enthält eine Menge von Fluss-Beziehungen (Pfeile)
wir, dass die Erreichbarkeitsanalyse in Petri-Netzen hierfür von Quell-Constraint-Typen zu zugehörigen Trans-
verwendet werden kann. Darüber hinaus können mit Hilfe formationsregeln und von Transformationsregeln zu
von Backtracking-Algorithmen fehlende Constraints und Ziel-Constraint-Typen
Transformationsregeln identifiziert werden, die zur Ablei- • W ist eine Gewichtsfunktion, die jedem Pfeil den Wert
tung von vorgegebenen Ziel-Constraints benötigt werden. 1 zuordnet
Der Vorteil des Ansatzes besteht darin, dass es eine bi-
jektive Abbildung von Transformationsregel-Mengen zu • M0 definiert die zu existierenden Start-Constraints
Petri-Netzen gibt. Die Beziehung zwischen Constraint-Ty- gehörenden markierten Constraint-Typen
pen und -Transformationen kann aus dem Petri-Netz ex-
trahiert werden und umgekehrt. Einfache Graphen (wie in

tsource φ ttarget M

pcb
Abbildung 3 Constraint-Transformation als Petri-Netz sip
chip

Wir verwenden die Menge von Transformationsregeln PSU imax


und die Menge der Constraints eines aktiven Projekts, um
daraus ein Petri-Netz zu bilden. Constraint-Typen wer-
den dabei als Plätze P modelliert. Dabei ist zu beachten, Up
dass beispielsweise ein Constraint-Typ symmetry in einem Down MCU / Motor
sensors / Driver IC
System-In-Package-(SiP)-Tool ein anderer als der gleich- clk
namige Constraint-Typ in einem Chip-Designtool ist. Wir reset
enable
machen diese Unterscheidung, da die Constraints auf un-
terschiedliche Arten verifiziert und dabei unterschiedliche
Parameter verwendet werden. Die Transformationsregeln
werden als Transitionen T dargestellt. Die Menge F enthält
Informationen darüber, welche Plätze mit welchen Transi-
tionen und umgekehrt verbunden sind. Wenn es mindestens
Abbildung 4 Fensterheber-Beispiel
ein Constraint eines Typs gibt, wird der zugehörige Platz
mit einem Token markiert. Die Gewichtsfunktion W ordnet
jedem Pfeil in F den Wert 1 zu, da hiermit nur die Existenz sourceType =[(" current " ," cdnsip ") ]
targetType =[(" wirewidth " ," cdnsip ") ]
von Constraints modelliert wird und nicht ihre Anzahl. Da-
her kann ein Platz entweder ein oder kein Token enthal- def transform ( source ):
ten. Die Abbildung M0 gibt an, welche Constraint-Typen # get parameters from source constraint
im Projekt enthalten sind, bevor eine Transformation statt- and calculate
current = source . getParameter (" current ") .
gefunden hat. Sie werden mit einem Token markiert. getValue2 () [0]
Abb. 3 zeigt eine Transformation von Constraint-Typ width =( current * dict [" L "]) /( dict [" U "]* dict
tsource zu Constraint-Typ ttarget für die Transformations- [" h "]* dict [" sigma "])
Transition φ . Wir ergänzen das Token zum tsource -Platz, # create new instance of the target
da eine oder mehrere Instanzen von Constraints mit constraint type
Constraint-Typ tsource existieren. target = conDict . getInstance (" wirewidth ")
Um die Reihenfolge zu bestimmen, in welcher die Cons- target . setName ( source . getName () +" _t ")
target . getParameter (" width ") . setValue (
traints transformiert werden, führen wir eine topologische width )
Sortierung durch [9]. Der Constraint-Typ mit der niedrig-
sten Anzahl von Abhängigkeiten wird als erstes durch- # returning transformed Constraint
geführt. Petri-Netze erlauben eine effiziente Suche par- return target
alleler Pfade im Transformationsprozess. Falls es keine Listing 2 Transformationsregel φ2
Abhängigkeiten zwischen parallelen Pfaden gibt, können
die zugehörigen Transformationen parallel ausgeführt wer-
den.
Rule-Manager von ConDUCT gespeichert:

6 Ergebnisse φ1 : ccurrentChipType → {ccurrentSipType }


φ2 : ccurrentSipType → {cwidthSipType } (4)
Abb. 4 zeigt als Beispielapplikation einen Fensterheber. φ3 : ccurrentSipType → {cimpedanceSipType }
Er besteht aus einem Mikrocontroller, einem Motortrei-
ber, einer H-Brücken-Schaltung und dem Motor selbst. In In Listing 2 ist φ2 als Beispiel für eine Transformations-
Abb. 4 sind die Domänengrenzen gestrichelt (Chip), ge- regel in Python genauer dargestellt, die auch für das Bei-
punktet (SiP) und dünn liniert (PCB) dargestellt. Der Mo- spiel mit dem Fensterheber eingesetzt werden kann. Die
tortreiber und die H-Brücke sind hier auf einem Chip in- Transformationsregeln der Menge Φ werden nur ein Mal
tegriert. Das SiP enthält diesen Chip sowie den Mikrocon- deklariert und können dann für mehrere Transformationen
troller. Zusätzlich zum SiP befindet sich auf dem PCB noch verwendet werden. Es wird angenommen, dass das Wissen
eine Power-Supply-Unit (PSU). Der Motor befindet sich über die Verbindungselemente, also welche Designobjek-
nicht auf der Platine. Das Gesamtsystem wird in jeder der te identisch sind, vom Entwurfstool kommen muss. Eine
drei Domänen mit einem eigenen Tool entworfen. Methode, diese Zuordnung durchzuführen, ist die Verwen-
Nehmen wir an, dass im Chip-Designtool ein Strom- dung eines geeigneten Namensschemas.
Constraint imax für einen Leitungspfad gesetzt ist. Dann Sei eine Menge von Transformationsregeln gegeben
wird folgende Menge Φ von Transformationsregeln im (4), dann kann das entsprechende Petri-Netz daraus ab-
geleitet werden (s. Abb. 5). Zusätzlich wird automati-
siert eine Transition φc eingeführt, um das Token zu ko-
currentSip′ widthSip
Informationen über parallelisierbare Transformationen zu
gewinnen oder Constraints zu identifizieren, die zur Erzeu-
φ2 gung anderer Constraints benötigt werden.
φ1 φc Weitergehende Anwendungen sind möglich, z. B. die
• Verwendung von Constraints in anderen Entwurfsschritten
currentChip currentSip wie Floorplanning, Platzierung oder Routing. Außerdem
sind die Erzeugung von Simulator-Stimuli oder Assertions
φ3
aus den Constraints denkbar.
Unsere domänenübergreifende Methodik erlaubt es, aus
currentSip′′ impedanceSip Stress-Profilen abgeleitete Constraints im Design weiter zu
verarbeiten. Sie ermöglicht einen vollständigen Flow von
Abbildung 5 Beispiel für Constraint-Transformation Mission-Profiles bis zum IC-Entwurf.

100000
φ1
8 Literatur
010000 [1] B. Arsintescu, Constraint Management and Trans-
φc formation, Doktorarbeit, Technical University Delft,
001100 1998.
φ2 φ3 [2] J. R. Black, Mass Transport of Aluminum by Momen-
tum Exchange with Conducting Electrons, In: Relia-
bility Physics Symposium, 1967. Sixth Annual, S.
000110 001001
148–159, 1967.
φ3 φ2 [3] J. R. Black, Electromigration Failure Modes in Alu-
minum Metallization for Semiconductor Devices,
000011 Proceedings of the IEEE, 57(9):1587–1594, 1969.
Abbildung 6 Erreichbarkeitsgraph für das Petri-Netz aus [4] N. Dhanwada, A. Doboli, A. Nunez-Aldana, R. Ve-
Abb. 5 muri, Hierarchical Constraint Transformation Based
on Genetic Optimization for Analog System Synthe-
sis, Integr. VLSI J., 39(3):267–290, Juni 2006.
pieren und die Transformationen φ2 and φ3 gleichzei- [5] G. Jerke, J. Lienig, J. Freuer, Constraint-Driven De-
tig zu ermöglichen. Mit einem gegebenen Strom-Cons- sign Methodology: A Path to Analog Design Automa-
traint imax erhalten wir die initiale Markierung des entspre- tion, In: H. E. Graeb, Hg., Analog Layout Synthesis,
chenden Constraint-Typs in der Chip-Domäne (Abb. 5). S. 269–297, Springer US, 2011.
Nun kann der zugehörige Erreichbarkeitsgraph erzeugt
[6] C. Katzschke, M.-P. Sohn, M. Olbrich, V. M. zu Bex-
werden (Abb. 6). Erhält ein Platz während der Trans-
ten, M. Tristl, E. Barke, Application of Mission Pro-
formationen ein Token, so bedeutet dies, dass ein Cons-
files to Enable Cross-Domain Constraint-Driven De-
traint erzeugt und zur Constraintmenge der entsprechenden
sign, In: Proceedings DATE, 2014.
Domäne hinzugefügt wird. Es werden im Beispiel die SiP-
Constraints mit den Typen currentSipType, widthSipType [7] A. Krinke, M. Mittag, G. Jerke, J. Lienig, Exten-
und impedanceSipType erzeugt. ded Constraint Management for Analog and Mixed-
Signal IC Design, In: European Conference on Cir-
cuit Theory and Design (ECCTD), S. 1–4, 2013.
7 Zusammenfassung [8] T. Murata, Petri Nets: Properties, Analysis and Ap-
plications, Proceedings of the IEEE, 77(4):541–580,
Domänenübergreifende Constraint-Transformationen er- 1989.
lauben die Erzeugung neuer Constraints. Dadurch können
[9] D. J. Pearce, P. H. J. Kelly, A Dynamic Topological
sie an alle Entwurfsdomänen weitergegeben werden, was
Sort Algorithm for Directed Acyclic Graphs, J. Exp.
die Sicherstellung aller Constraints ermöglicht. Proble-
Algorithmics, 11, Februar 2007.
me, wie Datenkonsistenz, die Verwendung von Versions-
kontrollsystemen innerhalb der Designtools und die Ab- [10] K. Salimifard, M. Wright, Petri Net-Based Modelling
bildung von Constraint-Objekten von einer zur anderen of Workflow Systems: An Overview, European Journal
Domäne müssen in einer domänenübergreifenden Metho- of Operational Research, 134(3):664 – 676, 2001.
dik berücksichtigt werden. [11] A. S. Tanenbaum, M. v. Steen, Distributed Systems:
Als Lösung stellen wir unser Tool ConDUCT vor, Principles and Paradigms (2nd Edition), Prentice-
das ein vereinheitlichtes Constraint-Modell verwendet und Hall, Inc., Upper Saddle River, NJ, USA, 2006.
regelbasierte Transformationen ermöglicht. Darüber hin- [12] W. M. van der Aalst, The Application of Petri Nets to
aus können Mengen von Transformationsregeln analysiert Workflow Management, Journal of Circuits, Systems
werden. Dazu werden spezielle Petri-Netze verwendet, um and Computers, 8(01):21–66, 1998.

Das könnte Ihnen auch gefallen