27.01.2013 Aufrufe

[Geben Sie hier die Überschrift ein] - MPC

[Geben Sie hier die Überschrift ein] - MPC

[Geben Sie hier die Überschrift ein] - MPC

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Abbildung 2: Auszug der Signalverknüpfung zu IO-Pads in der<br />

Top Level Entity.<br />

III. ENCOUNTER DESIGNFLOW<br />

Zunächst werden <strong>die</strong> prinzipiellen Arbeitsschritte in<br />

Encounter gezeigt und erläutert. Zu Beginn <strong>ein</strong>es jeden<br />

Designs sollten wichtige Eckpunkte geklärt werden.<br />

Hierzu gehören zum Beispiel <strong>die</strong> Technologiebibliothek,<br />

verwendete IP (Intellectual Property) sowie<br />

<strong>die</strong> Anordnung und Art der IO-Pads. Die IO-Pads<br />

der jeweiligen Technologiebibliothek müssen zunächst<br />

in der Top-Level Entity der Netzliste mit dem<br />

entsprechend zugehörigen Signal verknüpft werden.<br />

Ein Beispiel <strong>hier</strong>zu ist in Abbildung 2 zu sehen. In<br />

<strong>die</strong>sem Ausschnitt steht z.B. ICP für das genutzte IO-<br />

Pad der Technologiebibliothek. Jedem Pad wird <strong>ein</strong><br />

eigener Namen zugewiesen und <strong>die</strong> Kontakte werden<br />

definiert. Im Beispiel wird mit dem als Pad_3 benannten<br />

Pad das Signal clk nach außen geführt. Die Signalverknüpfungen<br />

des Pads werden in der Klammer<br />

definiert. Zudem bietet es sich an, <strong>ein</strong>e IO-Datei anzulegen,<br />

in welcher <strong>die</strong> Positionen der IO-Pads beschrieben<br />

werden. Ein Beispiel <strong>hier</strong>zu ist in Abbildung 3 gezeigt.<br />

Jedem Chipdesign liegt in Encounter der in Abbildung<br />

4 gezeigte Ablauf zugrunde. Daher können an<br />

<strong>die</strong>ser Stelle Skripte den weiteren Verlauf optimal unterstützen.<br />

So bietet <strong>ein</strong> Skript <strong>die</strong> Möglichkeit, <strong>die</strong><br />

verschiedenen Designparameter und weiteren Variablen<br />

<strong>ein</strong>es Designs in textueller Form <strong>ein</strong>zugeben. Die<br />

zum Designflow gehörenden Schritte werden anschließend<br />

vom Skript mit den zuvor bestimmten Designparametern<br />

und Variablen ausgeführt.<br />

Im ersten Schritt, dem Design Import, werden <strong>die</strong><br />

Pfade zu Netzlisten, Technologiebibliotheken, IO-<br />

Dateien und Timing-Dateien angegeben. Die globalen<br />

Versorgungsnetze werden definiert. Bei der Verwendung<br />

von Skripten bietet es sich an, <strong>ein</strong>e bei jedem<br />

54<br />

TCL-SKRIPT BASIERTES BACKEND<br />

DESIGN MIT CADENCE ENCOUNTER<br />

Abbildung 3: Auszug der IO-Datei zur Positionsdefinition der IO-<br />

Pads.<br />

Start von Encounter erzeugte Standardkonfiguration<br />

zu bearbeiten. Es werden also <strong>die</strong> im Kopf des Skripts<br />

definierten Pfade und Variablen in <strong>die</strong>se Standardkonfiguration<br />

geschrieben. Diese kann gespeichert und<br />

beliebig oft geladen werden. Dadurch wird <strong>ein</strong>e für<br />

jedes Design individuelle Konfigurationsdatei erzeugt.<br />

In Abbildung 5 wird gezeigt, wie im Skript <strong>die</strong>ser<br />

Schritt umgesetzt werden kann. Dort sind <strong>die</strong> verwendeten<br />

Befehle aufgeführt, mit welchen <strong>ein</strong>e Standardkonfiguration<br />

an <strong>ein</strong> neues Design angepasst wird und<br />

als Konfigurationsdatei für <strong>die</strong>ses Design gespeichert<br />

wird. Mit dem letzten Befehl (commitConfig) wird<br />

das Design importiert. Zu beachten ist <strong>hier</strong>bei, dass es<br />

sich bei z.B. $NETLIST_PATH um den im Skript angegebenen<br />

Pfad zur Netzliste handelt. Durch <strong>die</strong> Verwendung<br />

von im Skript global definierten Designparametern<br />

wird <strong>ein</strong> Skript wiederverwendbar.<br />

Der nächste Schritt, das Floorplanning, definiert das<br />

Layout des Chip. Hierzu gehören zum Beispiel Seitenverhältnis,<br />

Flächennutzung sowie Abstand zwischen<br />

Kern- und IO-Bereich, in welchem <strong>die</strong> später<br />

erzeugten Versorgungsstrukturen platziert werden.<br />

Wenn IP im Design verwendet wird, werden <strong>die</strong> IP-<br />

Blöcke ebenfalls in <strong>die</strong>sem Schritt platziert. Wichtig<br />

<strong>hier</strong>bei ist, dass k<strong>ein</strong>e Zellen oder Verbindungen <strong>die</strong><br />

vom IP-Block <strong>ein</strong>genommene Fläche nutzen dürfen.<br />

Im Schritt „Power Planning“ werden <strong>die</strong> Versorgungsstrukturen<br />

definiert und platziert. Hierzu gehören<br />

Ringe und Streifen. Bei der Definition müssen <strong>die</strong><br />

Verbindungen der globalen Versorgungsstrukturen zu<br />

den Power- und Ground-Anschlüssen der Zellen der<br />

Technologiebibliothek explizit angegeben werden.<br />

Die synthetisierte Netzliste enthält <strong>hier</strong>zu nämlich<br />

k<strong>ein</strong>e Informationen. Die Namen der Power- und<br />

Ground-Anschlüsse sind generell für alle Zellen <strong>ein</strong>er<br />

Technologiebibliothek <strong>die</strong>selben und können aus <strong>die</strong>ser<br />

entnommen werden. Nach der Definition können<br />

<strong>die</strong> elektrischen Verbindungen geroutet werden. In<br />

Abbildung 6 werden <strong>die</strong> Befehle gezeigt, <strong>die</strong> zur Definition<br />

verwendet werden können. Mit dem Befehl

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!