Verdi Bridge について
Verdi Bridgeは、AIエージェントを稼働中のSynopsys Verdiに接続し、RTLデバッグを支援します。波形確認とRTL移動のためのツールを提供し、分析はエージェントに委ねます。利用にはライセンス済みVerdiが必要です。
主な機能
- 01シミュレーション信号の検索と表示
- 02シミュレーション時刻とエラー範囲の移動
- 03波形値と遷移の確認
- 04長い時間範囲の変化の要約
- 05信号のドライバーからRTLソースへの追跡
活用シーン
- 01シミュレーション失敗前後の信号調査
- 02ハンドシェイクのタイミングと遷移の確認
- 03波形値から駆動元のRTLを追跡
- 04GUIの応答性を保ちながら大規模FSDBを確認
MCP 対応
Synopsys Verdiで波形を観察しRTLを移動するための、18個の型付きMCPツールを提供します。既存のライセンス済みVerdi環境にローカルまたはSSH経由で接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx verdi-bridgeVERDI_BRIDGE_DIRPrivate bridge directory on the Verdi host; omit to use the default ~/.verdi-bridge/session.VERDI_BRIDGE_HOSTSSH user@host; omit for a local Verdi GUI.VERDI_BRIDGE_CONTROL_PATHOptional existing SSH ControlMaster socket path.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
18掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
使い始める · ツールリファレンス · アーキテクチャ · 中文
RTL デバッグエージェントに波形を見せる
AI エージェントをライブの Synopsys Verdiに接続します。信号の検索、遷移の確認、シミュレーション時間の移動、駆動元の RTL の表示を、デバッグに使うのと同じ GUI 上で行えます。
「FIFO の読み書きポインターを追加し、エラーの 20 サイクル前に移動して、full が High のままだった理由を調べてください。」
「BVALID はいつ Low になりましたか? ハンドシェイク信号と、それを駆動するコードを表示してください。」
Verdi Bridge は、こうしたリクエストをシミュレーションからの観察結果と、nWave および nTrace での目に見える操作に変換します。エージェントが推論し、ブリッジが観察します。型付きの MCP ツール 18 個が、ローカルでも既存の Verdi 環境を使った SSH 経由でも動作します。
動画での解説
エージェントにバグの調査を依頼し、信号の選択、ライブ波形の確認、RTL の移動を行う様子をご覧ください。1 分 38 秒の無音デモです。英語のプロンプトとエージェントの元の英語の応答を、同期した Verdi のキャプチャと並べて表示しています。これは翻訳ではなく、別途実行した英語でのデモです。ツール呼び出しはエージェントが選択しており、再生スクリプトによるものではありません。
https://github.com/user-attachments/assets/b041c1bd-4be5-4040-b281-2f15001b1e35
クイックスタート
pip install verdi-bridge
チェックアウトせずに uv で実行することもできます。
uvx verdi-bridge tcl-path
これにより、同梱の Tcl アダプターのパスが表示されます。Verdi に読み込んで MCP クライアントを接続し、stdio サーバーとして uvx verdi-bridge serve を実行してください。
ライセンス取得済みの Verdi インストールが必要です。クライアント側には Python 3.11 以降、リモートホストには Python 3.6 以降と Verdi の Tcl 8.6 が必要です。ベンダーソフトウェアは同梱されていません。
実行できること
| ワークフロー | ツール |
|---|---|
| 信号を検索して表示する | find_signals, browse_scope, add_signals |
| エラー発生時の時間範囲を移動する | set_cursor, set_time_window, jump_before_error |
| 実際の波形値を調べる | find_transitions, get_value_changes, sample_signals |
| 長い時間範囲を要約する | count_changes, sample_on_clock |
| エラー時刻とクロックを特定する | read_log, measure_clock |
| ドライバーをたどって RTL を確認する | trace_driver, read_source, read_source_file, goto_source |
波形クエリでは X/Z の値が保持されます。大きな FSDB の長い時間範囲は、GUI の外で Verdi の NPI リーダーを介して処理できるため、GUI の応答性が保たれます。時間引数には単位が明示されます。 同じインターフェースを異なる RTL 設計で使用できます。ブリッジには FIFO 固有のロジックは組み込まれていません。Python および CLI の例をご覧ください。
実際のデバッグセッションを見る
ライセンス版 VCS/Verdi のセッションで、UART TX、AXI-Lite、FIFO、アービタの RTL を使ってテストしています。 エージェントは、関連する信号を画面に表示し、その変化を調べ、ソースへ移動できます。作業の様子を確認しながら利用できます。

実際の RTL の例 · ブラインドデバッグの試行 · 検証結果と制限事項
プロジェクトの状況
実験的な v0.3.3 です。ライブチェックは Linux 上の Verdi T-2022.06-SP2-1 で実施し、v0.3.2~v0.3.3 の SSH、セッション、大規模 FSDB に関する変更も含めて検証しました(最大 2.7 GB の FSDB)。 新規セッションの起動は検証済みですが、任意の既存 GUI への接続はまだ個別に検証していません。ブリッジは RTL のコンパイル、編集、修復を自動的には行いません。
コントリビューション · 信頼境界 · 検証上の制限 · 問題を報告
virtuoso-bridge-lite のエージェントと EDA ツールのワークフローに着想を得ています。 これは独立した実装です。MIT ライセンスです。詳しくはサードパーティに関する通知をご覧ください。 Synopsys とは提携していません。Verdi は Synopsys の商標です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。