RAMs und andere Makros
Als weitere wichtige logische Bauelemente eines ASICs möchte ich zunächst an dieser Stelle RAMs, ROMs, Interface und andere Controller unter dem gemeinsamen Begriff Makro zusammenfassend beschreiben. Auf dieser Seite sollen passend
zum Thema "Aufbau eines Chips" zunächst nur die allgemeinen Eigenschaften eines Hardmakros aufgeführt werden. Dieser Begriff wird im weiteren der Kürze wegen und im Gegensatz zu
den so genannten Softmakros (s.u.) mit dem Begriff Makro gleichgestellt.
Unter einem Makro versteht man funktionalen Block, der gegenüber der übergeordneten Schaltung eine gewisse Selbständigkeit besitzt und daher in verschiedenen ASIC-Designs unverändert (!) eingesetzt
werden kann. Das Makro ist auf einer definierten Fläche implementiert und ist nach außen hin über seine Geometrie (Macro Shape) abgegrenzt. Entlang dieser Grenze sind die Positionen seiner Ein- und
Ausgänge fest vorgegeben, über die das Makro an die Logik der benachbarten bzw. übergeordneten ASIC-Hirarchie elektrisch angeschlossen wird. Diese Vorgabe beinhaltet neben den Flächenkoordinaten
(x, y) auch eine fest definierte Metalllage als so gesehen dritte Dimension eines Anschlußpunktes. Innerhalb des Makros befindet sich je nach Funktion und Implementation eine Schaltung, die neben
möglichen Mischformen eine von 3 möglichen Basistypen zugeordnet werden kann:
Cell Based / Softmakros Digitale Schaltungen, die mit Mitteln der ASIC-Entwicklung erstellt werden und auf so genannten Standardzell-Bibliotheken (Standard Cell oder cell-based) aufsetzen, die auch bei der
Entwicklung von ASICs selbst benutzt werden. Hier werden über die Technologie-Bibliothek verschiedene funktionale Basiselemente mit definiertem zeitlichen und physikalischem Verhalten zu
Verfügung gestellt, mit denen die digitale Schaltung des Makros aufgebaut wird. Die Standardzellen, die auch die Maskenstrukturen der Zellen definieren, werden dabei im Gegensatz zu Full Custom Designs (s.u.) unverändert übernommen.
Full Custom Makros Digitale Schaltungen, die quasi manuell unter der Hilfestellung entsprechender Werkzeuge erstellt werden. Bei diesen Makros spricht man auch von Full Custom Macros, die unter den
Gesichtspunkten effektivster Flächennutzung (z.B. RAMs) oder bezogen auf die jeweilige Zieltechnologie für extrem hohe Geschwindigkeiten (z.B. serielle Schnittstellen) entwickelt werden.
Bei diesem Typ schließt der Entwicklungsprozeß auch die Entwicklung von angepaßten Basismasken für optimale Transistorstrukturen mit ein.
Analoge Makros
Analoge Schaltungen, die auf Transistorebene mit analogen Entwicklungsverfahren erstellt werden.
Ein Beispiel eines analogen Makros (mit einigen digitalen Bestandteilen wie z.B. Zählern) ist eine PLL (Phase Locked Loop).
In dieser Internetpräsenz wird nur auf den ersten der drei Typen näher eingegangen. Auf Ebene der Spezifikation erhalten Makros aufgrund ihrer Komplexität im Allgemeinen eine ausführliche
Dokumentation, die das Makro in allen Einzelheiten wie seiner Funktion, verschiedene Betriebsmodi, Protokolle der Datensignale, sein Timing, die benötigte Chipfläche, sein Leistungsverbrauch und weitere
Merkmale beschreiben. Makros, die wie PLLs über IO-Slots mit der Außenwelt verbunden sind, benötigen u.U. weitere Informationen über die Anforderungen von externen Beschaltungen, Signalpegeln
und Spannungsversorgungen. Parameter und Datenbasen, die für die physikalische Implementation benötigt werden, werden i.A. über Werkzeugspezifische Libraries zu Verfügung gestellt (z.B. für die Logiksynthese oder das Layout).
Softmakros Softmakros unterscheiden sich gegenüber Hardmakros durch die Eigenschaft, daß Softmakros lediglich
in einer synthetisierten Netzliste vorliegen. Sie sind daher im weiteren Entwicklungsprozeß nicht als ein einzelnes Element anzusehen und müssen im Layout wie eine ganz normale Teilnetzliste betrachtet und
entsprechend behandelt werden. Je nach Layout-Strategie wird das Softmakro in der Gesamtschaltung des ASICs aufgelöst (flaches Layout) oder es wird innerhalb einer definierten Fläche (Macro Shape) eigenständig behandelt
(hierarchisches Layout). Letztere Strategie stellt eine bessere Wiederverwendbarkeit für andere ASIC-Projekte dar sofern bestimmte Maßnahmen für das Timing Closure (z.B. Flipflops an den
Grenzen des Softmakros für alle Datenein- und -ausgänge, ausreichendes Buffering für Clock-Eingänge, ...) getroffen und das Layout des Softmakros an keine speziellen Grenzsituationen angepaßt worden ist,
wie z.B. an spezielle Pinout-Strukturen am Rand oder einer Ecke des Chips. Häufig werden Softmakros auch als IP-Block (Intellectual Property) bezeichnet, die von einer so
genannten 3rd Party entweder als synthetisierbaren RTL-Code, als technologieunabhängige Netzliste oder teilweise auch als Hardmakro entwickelt oder eingekauft bzw. lizensiert werden (IP Licensing).
Es folgen detaillierte Beschreibungen der wichtigsten auf ASICs häufig eingesetzter Makros:
Weiter zum Aufbau der Chipverdrahtung
|
|