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

Uploaded Python 3

File details

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

File metadata

  • Download URL: rtlviz-0.3.2.tar.gz
  • Upload date:
  • Size: 205.4 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.2.tar.gz
Algorithm Hash digest
SHA256 5c81100626aeace34ba11f53a9c25191d609c53a77c033dd04cc56af9368fecf
MD5 3306de339640560b94dcaa5dfa773f24
BLAKE2b-256 bb4e9789cd02aaf4ff28831a00430457351829708e44fcdd14821381167011e2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rtlviz-0.3.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4dc7f0d03bbf51606bdf3ffb73bd54a490818f71010835990a00be634c8c0402
MD5 f97e6332392249e39a917cf159c85086
BLAKE2b-256 d52291cba9fd3c391acf65a4c60007a2548af1357aec144e23717797f95b8e2d

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