Communitygithub.com

CATEular/skill

Erstellen oder Bearbeiten von Virtuoso-Layouts mit verifizierter Technologie, PCells, Pin-Geometrie, Schichten, Vias, Matching- und Routing-Einschränkungen; Export von GDS und Ausführung oder Interpretation von DRC-, LVS- und PEX-Prüfungen. Verwenden Sie dies für physikalisches Design und Layout-Verifikation; Verbindungsprobleme und die Erstellung von Schaltplänen-Testbenches verwenden die entsprechenden Schwester-Skills.

Was ist skill?

Dieser Skill ermöglicht die Erstellung und Bearbeitung von Virtuoso-Layouts unter Verwendung verifizierter Technologiebibliotheken, PCells (Parameterized Cells), Pin-Geometrie, Schichten, Vias sowie Matching- und Routing-Beschränkungen. Er unterstützt den Export von GDS-Dateien und die Ausführung oder Interpretation von DRC-, LVS- und PEX-Prüfungen (Design Rule Check, Layout vs. Schematic, Parasitic Extraction). Der Skill ist Teil eines modularen Systems: Während dieser Skill für das physikalische Layout und die Verifikation zuständig ist, werden Verbindungsprobleme und die Erstellung von Testbenches für die Schaltungssimulation durch spezielle Schwester-Skills abgedeckt. Die Funktionsweise basiert auf einer strukturierten Pipeline: Zunächst erfolgt eine Vorabprüfung der Plattform- und Umgebungskonfiguration, einschließlich der Verbindung zu gemeinsamen Ressourcen. Dann werden die Anforderungen wie Bibliothek/Cell/View, PDK (Process Design Kit), Technologie, Schema-Version, Ziel-Fläche/Matching/Strom/Parasiten festgelegt. Der Skill nutzt sowohl Python- als auch SKILL-APIs, wobei die tatsächlichen Funktionssignaturen zur Laufzeit überprüft werden, anstatt auf veraltete Dokumentation zu vertrauen. Er erstellt oder modifiziert Layouts standardmäßig durch `modify()` und verwendet `create()` nur für neue Ansichten, wobei PCells für komplexe Bauelemente bevorzugt werden. Abschließend werden die Ergebnisse durch Speichern, Rücklesen und visuelle Inspektion verifiziert, GDS exportiert, DRC/LVS/PEX-Logs überprüft und die Ergebnisse dokumentiert, einschließlich des Status ungelöster Probleme und der Post-Simulation-Ergebnisse.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/CATEular/skill/tree/HEAD/skills/virtuoso-workflow/virtuoso-layout

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

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

  1. 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.
  2. 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.
  3. Standardmäßig modify(), nur für neue Ansichten create() 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.
  4. 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.
  5. 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.
  6. 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.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

Verwandte Skills