mcpField
V
Verilog MCP Server

Verilog MCP Server

ローカル
github.com/kaiwenyu147369開発ツール124 週間前に更新

Verilog MCP Server について

Verilog MCP Server は Claude Code を使うハードウェア設計者向けの Verilog/SystemVerilog 開発ツールです。テストベンチや UVM のひな型生成と、ヒューリスティックな RTL lint を行います。

主な機能

  1. 01テストベンチのひな型を生成
  2. 02ヒューリスティックな RTL lint
  3. 03UVM 検証環境を生成
  4. 04クロックとリセットのポートを検出
  5. 05ラッチや幅の一般的なリスクを報告

活用シーン

  1. 01モジュール宣言からテストベンチを作成
  2. 02シミュレーション前に RTL の一般的な問題を確認
  3. 03UVM 検証環境を構築

MCP 対応

この MCP サーバーは、テストベンチ生成、RTL lint、UVM 環境生成の 3 つのツールを Claude Code に提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Verilog MCP サーバー

デモ

Claude Code 向けの AI 搭載 Verilog / SystemVerilog 開発ツールです。テストベンチの生成、RTL コードのリント、UVM 検証環境のひな形作成を、すべてエディター内で行えます。

ステータス: v0.3.0 — 3 つのツールを Claude Code でエンドツーエンド検証済みです。

理由

チップ設計の EDA ツールは数十年前から使われています。AI 支援によるハードウェア開発は、まだ開拓されていない分野です。この MCP サーバーは、Verilog / SystemVerilog のコード生成とリントを Claude Code に直接提供するため、次のことができます。

  • モジュール宣言からテストベンチのボイラープレートを数秒で生成できます
  • シミュレーション前に、よくある RTL のバグ(リセットの欠落、ラッチの推論、default のない case)を検出できます
  • 適切なクロッキングブロック、シーケンサー、スコアボードを備えた完全な UVM 検証環境のひな形を作成できます

ツール

ツール説明
generate_testbenchモジュール定義から Verilog テストベンチのスケルトンを生成します
check_lint静的リントチェック:リセットの欠落、case-default、ラッチのリスク、幅の不一致
generate_uvm_env10 個のコンポーネントからなる UVM 検証環境を生成します
generate_testbench

入力:Verilog モジュール。出力:クロック生成、リセットシーケンス、DUT インスタンス化、$dumpfile / $dumpvars、カスタムテスト刺激用の TODO プレースホルダーを含む完全なテストベンチです。

  • クロックポートとリセットポートを自動検出します
  • アクティブローのリセット(rst_n 接尾辞)に対応します
  • 新しいスタイル(input clk, input rst_n)と古いスタイル(input clk, rst_n)の両方のポート宣言に対応します
  • デフォルトのクロックは 100MHz(周期 10ns)です
check_lint

4 種類のチェックを行います。

  1. リセットのないシーケンシャル always ブロック — 警告
  2. default のない case/casez/casex — 問題(ラッチ/X 状態)
  3. 組み合わせ always ブロック内の不完全な if 代入 — 警告(ラッチ推論のリスク)
  4. 幅の不一致に関するヒューリスティック — 情報
generate_uvm_env

// ===== FILE: filename.sv ===== マーカーで区切られた 10 個の UVM コンポーネントファイルを生成します。

interface → transaction → sequence → driver → monitor → agent → scoreboard → environment → test → top

  • 適切な drv_cb(出力のみのクロッキングブロック)と mon_cb(入力のみ)の設計
  • monitor から scoreboard への通信に uvm_analysis_port を使用します
  • アクティブ/パッシブのエージェントモードに対応します
  • scoreboard と制約に TODO プレースホルダーを含みます

インストール

# 1. Clone
git clone https://github.com/kaiwenyu147369/verilog-mcp-server.git
cd verilog-mcp-server

# 2. Create virtual environment
python -m venv venv

# 3. Activate & install
# Windows:
venv\Scripts\activate
# macOS / Linux:
source venv/bin/activate

pip install mcp

Claude Code での使用方法

ワークスペースの .mcp.json に追加します。

{
  "mcpServers": {
    "verilog-mcp-server": {
      "command": "C:\\path\\to\\venv\\Scripts\\python.exe",
      "args": ["C:\\path\\to\\verilog-mcp-server\\server.py"]
    }
  }
}

次に、Claude Code の設定(~/.claude/settings.json)に追加します。

{
  "enableAllProjectMcpServers": true,
  "enabledMcpjsonServers": ["verilog-mcp-server"]
}

VSCode を再起動すると、ツールが Claude Code に表示されます。

クイックテスト

# Activate venv first, then:
python test_uvm.py
python test_v2.py

技術スタック

  • Python MCP SDK 1.27.1 — @server.list_tools() + @server.call_tool()(2 デコレーター API)
  • stdio JSON-RPC — Claude Code は stdin/stdout 経由で通信します
  • 正規表現ベースの解析 — SystemVerilog コンパイラーへの依存はありません

既知の制限事項

  • ポートパーサーは完全な SystemVerilog トークナイザーではなく、正規表現を使用しています。複雑なパラメーター化ポート内の深くネストされた括弧は、正しく解析できない場合があります
  • UVM Scoreboard の比較ロジックは TODO プレースホルダーです
  • リントチェックはヒューリスティックであり、完全なエラボレーションや型システムは備えていません
  • ポート解析では interface / struct / modport をサポートしていません

ロードマップ

  • v0.4.0 — 4 つ目のツール(generate_assertions または analyze_waveform)
  • ポートパーサーをシンプルなトークナイザーにアップグレード
  • リントルールの追加(ブロッキング/ノンブロッキング代入チェック、符号付き/符号なしの警告)
  • UVM Scoreboard の自動比較ロジック
  • マルチファイルプロジェクトのサポート

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。