[Geben Sie hier die Überschrift ein] - MPC
[Geben Sie hier die Überschrift ein] - MPC
[Geben Sie hier die Überschrift ein] - MPC
- TAGS
- mpc.belwue.de
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