Virtuoso-Layout
Zuständig für Layout-Lesen, Bauelemente-Platzierung, Matching und Routing, Pins/Vias, GDS und DRC/LVS/PEX. Nach Abschluss der physikalischen Verifikation wird die Post-Simulation-Messung an virtuoso-testbench und die Parameteroptimierung an virtuoso-params übergeben.
Vorabprüfung
Lesen Sie zuerst die Plattform-Konventionen und das Umgebungskonfigurationsprotokoll. Lesen Sie die gemeinsame lokale Konfiguration und stellen Sie bei Bedarf eine Verbindung her. Legen Sie lib/cell/view, PDK, Technologie-Bindung, Schema-Version, Ziel-Fläche/Matching/Strom/Parasitenanforderungen fest. Die Technologie-Bindung wird aus der Datenbank abgefragt, verlassen Sie sich nicht auf den Historienbibliotheksstatus.
Lesen Sie layout-python-api.md und layout-skill-api.md und überprüfen Sie die tatsächlichen installierten Signaturen. Siehe library-python-api.md für die Technologie-Bindungs-Schnittstelle.
Bearbeitungsablauf
- Lesen Sie die Hierarchie, die tatsächlichen Bauelemente und die Terminal-Geometrie, die gültigen Layer/Purpose, das Fertigungsraster, die viaDefs und das bestehende Layout. Erraten Sie keine Verbindungskoordinaten anhand von Screenshots.
- Entwickeln Sie eine Platzierungs- und Routing-Strategie, die die erforderlichen Symmetrie-, Matching-, Konzentrizitäts-, Guard-Ring-, Power- und empfindlichen Signal-Einschränkungen spezifiziert. Die Regeln stammen aus dem ausgewählten tatsächlichen PDK der Konfiguration, schreiben Sie keine Werte anderer Prozesse fest.
- Standardmäßig
modify(), nur für neue Ansichtencreate()verwenden; überprüfen Sie zuerst, ob eine Überschreibung erfolgt. Generieren Sie Bauelemente mit bestätigten PCells und Parametern, vermeiden Sie das manuelle Zeichnen als Ersatz für komplexe Prozess-Bauelemente. - Python-Koordinaten als tuple/list, SKILL-Koordinaten werden vom API-Builder generiert. Ob Labels/Vias/PCells per Skript erstellt werden können, wird durch die tatsächlichen Funktionen und die aktuelle Version verifiziert, übernehmen Sie nicht die Schlussfolgerung "muss GUI" aus alten Kochbüchern.
- Verwenden Sie prozesskonforme Routing-Richtungen und Raster; rechtwinkliges Routing ist ein üblicher Ausgangspunkt, aber die Richtung und Winkel werden vom PDK bestimmt. Pin-Labels auf der korrekten Layer/Form platzieren, Labels entsprechen nicht automatisch einem Pin mit vollständigem elektrischen Terminal.
- Speichern, Geometrie und Ports zurücklesen und per Screenshot prüfen; falls Zoom zu Tiny Shapes führt, die nicht angezeigt werden, zuerst die Anzahl der Shapes und den Bounding-Box lesen, nicht erneut erstellen.
Verifikation und Übergabe
Bereiten Sie gemäß verification.md Stream-Map/Deck/Top-Cell vor, exportieren Sie die neue GDS dieser Sitzung und überprüfen Sie das aktuelle Laufprotokoll. Berichten Sie den Status von DRC, LVS und PEX separat; das Bestehen eines Tests darf nicht auf das Bestehen anderer Tests schließen lassen. Wenn kein Tool, keine Lizenz oder kein Deck vorhanden ist, können Sie das Layout und den Prüfplan übergeben, wobei der Status explizit als "nicht ausgeführt" gekennzeichnet ist.
Nach Layout-Änderungen die zugehörigen Verifikationsergebnisse neu generieren, es ist verboten, alte PEX als Ergebnis des aktuellen Layouts auszugeben. Die Übergabe umfasst den Layout-Speicherort, die GDS, die aktuellen Verifikationsprotokolle, ungelöste Probleme und den vom Benutzer angeforderten Post-Simulation-Status.