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.1.tar.gz (205.3 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.1-py3-none-any.whl (27.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rtlviz-0.3.1.tar.gz
  • Upload date:
  • Size: 205.3 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.1.tar.gz
Algorithm Hash digest
SHA256 e95c43db6c80e06ec784ef9ff0e02aa0a4d8fb8a4ab83f430d3d59b6040b2747
MD5 839759a791215a263fd5cc59af59e15b
BLAKE2b-256 5ef7ac3eecd1e46fa9cfbfeb1bb3ffe07dec6c90d036d12abef93a1770c867d5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rtlviz-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 27.8 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 65bc4660cebdc98db415c6c11a2f9c33faf5f83efa3b9d857963ea32b1b1e359
MD5 1d315a94ce65ccf79149d0527b47e086
BLAKE2b-256 5c229acf51d0da55d3ce8d6c684fba9815a61fe3a44bc97b5acb19749962574f

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