Communitygithub.com

Virtuoso 參數優化與閉環校正

在 Virtuoso 或 Spectre 電路中進行順序閉環優化:分析每次量測結果,並使用當前 ChatGPT/Codex 代理、約束高斯過程貝葉斯優化或兩者結合來選擇下一組參數。適用於 W/L、偏壓、補償、尺寸和設計變數的最佳化,具有明確的邊界、指標、歷史證據和獨立驗證。

Virtuoso 參數優化與閉環校正 是什麼?

此技能用於對現有 Virtuoso 或 Spectre 電路進行參數調整、靈敏度分析和閉環優化。它預設在每次模擬後由當前 ChatGPT/Codex 代理分析結果,並據此決定下一組參數,而非生成所有參數組合的窮舉掃描。支援三種搜尋策略:預設的代理閉環、使用高斯過程的貝葉斯優化閉環,以及僅在需要曲線或窮舉探索時才使用的顯式掃描。所有策略共用一個適配器、真實模擬和日誌契約,並可隨時切換策略繼續同一歷史。技能會嚴格遵守用戶指定的模擬或時間預算,在預算耗盡或無法找到可行點時,交付當前最佳證據與瓶頸分析。最終交付物包括獨立重跑的驗證結果、原始與最佳參數、指標、配置、角點資訊,以及在原理圖上標註的「推薦(已驗證)」尺寸。此技能主要用於 Virtuoso 平台,依賴 virtuoso-connect 進行連接,並使用 ADE/OCEAN 測量定義。

相容平台✓Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/CATEular/skill/tree/HEAD/skills/virtuoso-workflow/virtuoso-params

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Virtuoso 參數

負責現有電路的參數修改、靈敏度分析和閉環優化。預設每輪模擬後由當前 ChatGPT/Codex 分析,再決定下一組參數;不預設生成 W1×W2×… 的全組合掃描。輸出「本次範圍與預算內已驗證的最佳可行參數」,不承諾全域最佳。電路拓樸設計與新測試平台建立不在此技能範圍內。

開始前

  1. 閱讀 平台約定,依 環境配置協議 讀取共享本機配置;需要連線時使用 virtuoso-connect。直譯器、工作範圍、PDK 和路徑均從配置取得。
  2. 明確 DUT/TB、量測定義、目標、約束、參數單位/上下界/合法步進、角點和評估預算。能從專案資料推斷就先整理;缺少會改變結果的目標或界限時向用戶詢問,同時讀取現有設計。
  3. 儲存原始參數和一輪基線結果。測試平台不完整時先交給 virtuoso-testbench,完成量測閉環後繼續優化。

參數與評估

  • 先用 ADE 變數或已有參數化網表,避免每個候選都重建電路。直接改 MOS CDF 時讀 parameter-editing.md。
  • 用同一配置和角點評估所有候選;每次儲存設定再執行,給本次 run 獨立目錄與標識;讀結果時顯式綁定 history、test、corner/point。
  • 用現有 ADE/OCEAN 量測定義,尤其相位邊際應來自適當的環路量測,不把任意輸出電壓的相位自動當作 PM。
  • 本機已驗證 SKILL/ADE 改變量與運行、獨立 OCEAN 子程序讀取具體 PSF、JSON 指標回填搜尋器;依 ocean-skill-flow.md 使用,保留全部運行標識和日誌。
  • 模擬失敗、缺指標、非有限數或結果歷史不匹配都是無效評估,不當作高分或零值。
  • 多角點要求依指標約定取最差值,未執行的角點標記為未驗證。約束可行性優先於效能提升;不能用平均值掩蓋違規點。

搜尋與停止

依 adaptive-loop.md 選擇策略:

  • 預設代理閉環:讀取電路和工作點、當前及歷史指標,診斷主要限制,說明下一組參數的假設與理由,再只運行這組。自帶 iterate_params.py 每次只執行一次評估,並將控制權交回代理;當前代理自行推理,不要求另建 Claude/Gemini/OpenAI API 客戶端。
  • 貝葉斯或混合閉環:自帶 bayes_suggest.py 用全部已完成的有效觀測重新擬合高斯過程,優先可行機率/約束期望改進,只建議一個新點。代理可檢查元件合法性、對稱性及電路假設後接受或修訂。預測不計作實測,少量初始試驗不是全組合掃參。
  • 顯式掃參/舊搜尋:用戶要求曲線、診斷局部靈敏度或窮舉極小離散域時才用;search_params.py 保留為相容入口,屬於網格/隨機局部探索,不稱為 AI 推理或貝葉斯最佳化。

兩種預設閉環共用 optimization.md 的專案 adapter、真實模擬和日誌契約。可以切換策略繼續同一歷史。BoTorch/TuRBO 等專業後端可在安裝並驗證後取代提案層;本套件當前沒有安裝或實測這些後端,不照搬舊 optimizer 的未校驗 Maestro 範例。

遵守用戶給定的模擬/時間預算;未指定時宣告一個適合任務的有限預算。重複配置錯誤先修正再搜尋;不靠無限重試推進。預算耗盡、無可行點或量測無法成立時,交付當前證據與瓶頸。

交付

獨立重跑候選並校驗約束,隨後給出原始/最佳參數、基線/重跑指標、量測配置、角點、評估次數和原始證據。不要把 optimizer 的代理預測當實測。用戶要求應用參數時依已授權寫入並讀回;僅探索時保留基線設計及候選記錄。

有可編輯原理圖時,將本次獨立複測通過的實際推薦尺寸永久標在電路旁邊,標題為 Recommended (verified),包括單位、關鍵條件/指標、日期和最終 history/test;依 繪圖與推薦標註規範 儲存並讀回。保留元件參數化表達式,推薦註釋不代替 ADE 變數。後續優化更新代理管理的同一標註;條件改變時明確舊記錄是歷史結果,不能誤稱已驗證當前設定。無可行點不標推薦。

用戶本人的工作流程預設要求可視化交付:將本次最佳可行參數寫回 ADE 並讀回,以這些參數獨立重跑;打開該輪 OUT 波形和 Maestro 的量測數值、設計變數,保留原理圖、Maestro 和 ViVA 視窗供用戶繼續修改。明確綁定最終 history,不能展示上一輪波形或代理預測。除非用戶明確要求只做探索或關閉視窗,不在結束時恢復基線、關閉最終工作階段。本機 ADE 會在執行時再次讀取全域 startup projectDir,不能在開啟工作階段後提前恢復。每輪運行前確認授權的結果目錄,運行後查詢實際位置;最終保留可編輯工作階段時保留適用於用戶繼續運行的目錄設定,並記錄原值。經校驗的工作階段專屬持久設定可優先使用。

測試平台運行與結果匯出使用 simulation-flow.md 和 Maestro API,不另維護一套模擬介面。

Individual skills in this repo

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

相關技能