Virtuoso レイアウト
レイアウトの読み取り、デバイス配置、マッチングと配線、ピン/ビア、GDS および DRC/LVS/PEX を担当します。物理検証が完了したら、後シミュレーション測定は virtuoso-testbench に委ね、パラメータ最適化は virtuoso-params に委ねます。
事前チェック
まず プラットフォーム規約 と 環境設定プロトコル を読み、共有ローカル設定を読み取り、必要に応じて 接続 します。lib/cell/view、PDK、プロセスバインディング、回路図バージョン、ターゲット面積/マッチング/電流/寄生要件を明確にします。テクノロジバインディングはデータベースから取得し、過去のライブラリ状態は信頼しません。
layout-python-api.md と layout-skill-api.md を読み、実際のインストールシグネチャと照合します。テクノロジバインディングインターフェースは library-python-api.md を参照してください。
編集フロー
- 階層、実際のデバイスと端子形状、有効なレイヤー/パーパス、製造グリッド、viaDefs、および既存のレイアウトを読み取ります。スクリーンショットから接続座標を推測しないでください。
- 配置と配線戦略を策定し、必要な対称性、マッチング、同心、ガードリング、電源および敏感信号の制約を説明します。ルールは設定された実際の PDK から取得し、他のプロセスの数値をハードコードしないでください。
- デフォルトでは
modify()を使用し、新しいビューの場合のみcreate()を使用します。先に上書きの有無を確認します。確認済みの PCell とパラメータを使用してデバイスを生成し、複雑なプロセスデバイスを手動で描画する代替は避けます。 - Python 座標は tuple/list を使用し、SKILL 座標は API ビルダーが生成します。ラベル/ビア/PCell をスクリプトで作成できるかどうかは、実際の関数と現在のバージョンで検証し、「GUI 必須」という古いクックブックの結論を継承しません。
- プロセスルールに準拠した配線方向とグリッドを使用します。直角配線は一般的な出発点ですが、方向と角度は PDK が決定します。ピンラベルは正しいレイヤー/形状に配置し、ラベルは完全な電気端子を持つピンと自動的に等価になりません。
- 保存、形状とポートを読み戻し、スクリーンショットで確認します。ズームにより小さな形状が表示されない場合は、形状数と bbox を読み取り、重複作成を避けます。
検証とデリバリ
verification.md に従って、ストリームマップ/デッキ/トップセルを準備し、今回の GDS をエクスポートして現在の実行ログを確認します。DRC、LVS、PEX のステータスをそれぞれ報告し、ある項目のパスから他の項目のパスを推測しないでください。ツール、ライセンス、またはデッキがない場合は、レイアウトとチェック計画をデリバリし、ステータスを未実行と明確にします。
レイアウト変更後は関連する検証結果を再生成し、古い PEX を現在のレイアウト結果として使用しないでください。デリバリには、レイアウトの場所、GDS、現在の検証ログ、未解決項目、およびユーザーから要求された後シミュレーションステータスが含まれます。