Skip to main content

MCP Server for AI-powered RTL diagram generation from Verilog source

Project description

RTLViz - AI-Powered RTL Diagram Generator

Generate beautiful, interactive block diagrams from Verilog source files.

Python License

🚀 Quick Start

Step 1: Install

pip install rtlviz

Step 2: Setup (Auto-configures your IDE)

rtlviz setup

This auto-detects and configures:

  • ✅ Antigravity (Google DeepMind)
  • ✅ Claude Desktop
  • ✅ Cursor
  • ✅ VS Code Copilot
  • ✅ Windsurf

Step 3: Use

Option A: Ask your AI (after setup)

"Generate an RTL diagram for the Verilog files in ./src"

Option B: CLI command

rtlviz generate ./src -o diagram.html

📖 Commands

rtlviz generate

Generate a diagram directly:

rtlviz generate ./src -o diagram.html
rtlviz generate ./src -o diagram.html --llm    # With LLM enhancement
rtlviz generate ./src -o diagram.html --title "My CPU"

rtlviz setup

Configure MCP server for AI IDEs:

rtlviz setup                  # Auto-detect and configure all found IDEs
rtlviz setup --all            # Force configure all IDEs
rtlviz setup --antigravity    # Configure Antigravity only
rtlviz setup --claude         # Configure Claude Desktop only
rtlviz setup --cursor         # Configure Cursor only
rtlviz setup --vscode         # Configure VS Code Copilot only
rtlviz setup --windsurf       # Configure Windsurf only

✨ Features

  • 🔧 Automatic Parsing - Extracts modules, ports, and connections from Verilog
  • 📊 Pipeline Detection - Auto-identifies stages (IF, ID, EX, MEM, WB)
  • 🎨 Beautiful Diagrams - Orthogonal routing, color-coded clusters
  • 🤖 LLM Enhancement - Built-in GPT integration for semantic labels
  • 🌐 Interactive HTML - Pan, zoom, download SVG

🛠️ MCP Server (for AI IDEs)

After running rtlviz setup, your AI assistant can use these tools:

generate_rtl_diagram

{
  "source_dir": "/path/to/verilog",
  "output_path": "/path/to/output.html",
  "use_llm": true
}

render_diagram

{
  "dot_content": "digraph { ... }",
  "output_path": "/path/to/output.html"
}

📋 Requirements

  • Python 3.10+
  • Internet connection (for Viz.js CDN)

All dependencies installed automatically.


🔧 Troubleshooting

"Command not found: rtlviz"

pip install rtlviz

"No valid Verilog modules found"

  • Check directory contains .v files
  • Ensure files have module ... endmodule declarations

📄 License

MIT License

🔗 Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rtlviz-0.3.0.tar.gz (205.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rtlviz-0.3.0-py3-none-any.whl (27.4 kB view details)

Uploaded Python 3

File details

Details for the file rtlviz-0.3.0.tar.gz.

File metadata

  • Download URL: rtlviz-0.3.0.tar.gz
  • Upload date:
  • Size: 205.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for rtlviz-0.3.0.tar.gz
Algorithm Hash digest
SHA256 a832b9e151a53f0c335ada2ef54b3619054dd2955f068229031c4af9111c3849
MD5 fed731b54fa30982f5775558e0cbdb93
BLAKE2b-256 3f8f2533b43425106bb7b65a7d7da2273acef61b0edbff7ca68c98f4c6a9b4a2

See more details on using hashes here.

File details

Details for the file rtlviz-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: rtlviz-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 27.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for rtlviz-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 86909c09e53cbdeb249a731b147fcb0b2b87a349966b5327ba6305c47d8dcb90
MD5 cdb4e28e5106efff90a72dee6b56b79c
BLAKE2b-256 6b2c76c8b377c9d1dfc90eb4f9066977b301c78e1917890bae37ea6aa5d26450

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page