Vivado MCP

by mapleleavessssssss-wq• 167•• Scanned•Claim this listing•Request removal
Coding Agentsaiclaudecodexedafpga

Vivado MCP server — 让 Claude Code / Cursor / Codex 驱动本地 FPGA 全流程。30 个精选工具、8 个证据驱动 Prompt、doctor 环境自检、GUI/Tcl/attach 会话,以及时序和 CRITICAL WARNING 中文诊断。

Vivado MCP is an open-source mcp server by mapleleavessssssss-wq, written mainly in Python, with 167 GitHub stars and the Apache-2.0 license. Its code was last updated Oct 31, 2026.

Scan summary: scanned Nov 5, 2026 at commit b975924. Seen able to connect to databases. Scan policy

What Vivado MCP can touch

  • Run shell commandsNot seen in this scan
  • Run dynamic codeNot seen in this scan
  • Read or write filesNot seen in this scan
  • Read environment and secretsNot seen in this scan
  • Control a web browserNot seen in this scan
  • Connect to databasesListed as a tool: query_waveform
  • Read or send messagesNot seen in this scan
  • Touch money or tradingNot seen in this scan
  • Connect to the internetNo connections seen while running

"Not seen" means our checks did not find it, and the tool may still do it. Covers commit b975924, Nov 5, 2026. See the scan policy.

Before you install Vivado MCP

AgenticMart scanned Vivado MCP on Nov 5, 2026 with automated checks for hidden code, known-malicious packages, leaked secrets and vulnerable dependencies. The result covers one commit under our scan policy, so review what access you give it and check any advisories shown here.

What it can access

  • An MCP server is a program your AI app starts and talks to. A local one runs with your user's permissions: it can see the files, environment variables and network your account can.

Before you install

  1. Pin the version you reviewed instead of always installing the latest release.
  2. Read the tool list or scripts before the first run, and keep approval prompts on for actions that write, send or delete.
  • Maintained by mapleleavessssssss-wq on GitHub, 167 stars and 39 forks. Popularity is not proof of safety.
  • Last code change: Oct 31, 2026.
  • Open-source license: Apache-2.0.

Tools Vivado MCP exposes (32)

Listed by the server itself during our scan of commit b975924.

  • get_cdc_report

    解析 CDC 报告,按时钟对、严重级别和规则计数并返回有界明细 JSON。 现场执行 report_cdc -details -return_string;离线读取原始 UTF-8 报告。 计数单位为报告检查项,摘要与明细不重复累加,不能当总线位/端点数。 未验证完整时钟/IO 约束覆盖,默认报告可能隐藏豁免;signoff 始终 false, 空结果或 All paths are Safely Timed 不代表 CDC clean。本工具不修改约束。 Args: session_id: 现场查询会话 ID。 rep

  • get_critical_warnings

    提取并分类 CRITICAL WARNING / ERROR / 非标错误,统一失败诊断入口。 解析指定 run 的 runme.log,按 warning ID 聚合分类,返回中文诊断报告。 包含已知 warning 的分类标签和修复建议。 **三种诊断模式根据 run_name 自动选择**: 1. ``synth_*`` / ``impl_*`` 等综合实现 run:走原流程(``runme.log`` 解析 ERROR/CRITICAL WARNING)。**额外**:errors=0 且 cw=0 但 STATUS 含 ERROR

  • verify_io_placement_tool

    验证 IO 引脚分配:比对 XDC 约束与实际布局。 自动读取项目 XDC 文件中的 PACKAGE_PIN 约束(**支持 -dict 和传统两种语法**), 与 report_io 的实际分配结果对比,发现 GT 引脚交叉等严重错误。 GT 端口不匹配标记为 CRITICAL,GPIO 端口标记为 WARNING。 Args: session_id: 目标会话 ID。

  • xdc_lint

    对 XDC 约束文件做静态检查(pure Python,不依赖 Vivado 综合)。 综合前就能捕到这些常见错误,省掉 30+ 秒的跑综合等待: - PIN_CONFLICT:同一物理引脚被多个 port 占用 - MISSING_IOSTANDARD:有 PACKAGE_PIN 却没配 IOSTANDARD(NSTD-1 / BIVC-1 隐患) - DUPLICATE_PORT:同 port 被多次约束不同引脚(后者覆盖) - CLOCK_NO_PERIOD:create_clock 缺 -period - PIN_CONFLICT_CR

  • xdc_auto_fix

    自动修复 XDC 文件中能安全自修的问题(MISSING_IOSTANDARD / CLOCK_NO_PERIOD)。 默认 dry_run=True 只预览补丁,确认无误后调用 dry_run=False 实际写回。 写回前会为每个被修改文件生成同名 .bak 备份;注意 **.bak 只保留最近一次 修改前的版本**(再次写回会覆盖上一次的 .bak,与 ``sed -i.bak`` 同语义)。 **只修**这两类问题(其他需要人工判断): - MISSING_IOSTANDARD —— 在 PACKAGE_PIN 行之后插入 IOSTANDAR

  • verilog_compile_check

    用 iverilog / verilator 做 Verilog 语法 + 连接性检查(比 Vivado 综合快 50 倍)。 典型用途:写完或改完 RTL 想在几秒内确认"能不能过综合",不用等 30-60s Vivado。 需要机器上装 iverilog 或 verilator: Windows: scoop install iverilog / choco install verilator Linux: apt install iverilog / apt install verilator macOS: bre

  • run_synthesis

    启动综合;默认等待完成,也可异步提交后查询状态。 不调用 Tcl wait_on_run(会阻塞 Vivado event loop,GUI 模式冻住界面); wait=True 时 Python 每 2 秒查一次状态并上报进度;wait=False 时立即 返回 job_id,随后用 get_run_progress 查询。 Args: run_name: 综合 run 名称,默认 "synth_1"。 jobs: 并行任务数,默认 4。 timeout_minutes: 超时分钟数,默认 30。

  • run_implementation

    启动实现(布局布线);默认等待完成,也可异步提交。 不调用 Tcl wait_on_run(会阻塞 Vivado event loop,GUI 模式冻住界面); wait=True 时 Python 每 2 秒查一次 STATUS/PROGRESS;wait=False 时立即 返回 job_id,随后用 get_run_progress 查询。 Args: run_name: 实现 run 名称,默认 "impl_1"。 jobs: 并行任务数,默认 4。 timeout_minutes: 超时分钟数,默认

  • generate_bitstream

    生成比特流文件。在实现完成后执行。 默认启用前置安全检查:检测 CRITICAL WARNING 后阻止生成, 需确认无风险后使用 force=True 跳过检查。 Args: impl_run: 实现 run 名称,默认 "impl_1"。 jobs: 并行任务数,默认 4。 timeout_minutes: 超时分钟数,默认 30。 force: 跳过 CRITICAL WARNING 安全检查,默认 False。 session_id: 目标会话 ID。

  • program_device

    编程 FPGA 设备。封装 open_hw_manager → connect → program 多步操作。 只烧 .bit 进 FPGA(掉电即丢)。要掉电自启动须烧 SPI flash,见下面配方。 **烧 flash 配方(2019.1,run_tcl 逐步执行)**: 1. 查 flash 型号: ``get_cfgmem_parts -of [lindex [get_hw_devices] 0]`` (或按板上 flash 用 -filter 选,如 mt25ql128-spi-x1_x2_x4) 2. 生成 .mcs: ``wri

  • parse_xpr

    离线解析 Vivado 工程文件(.xpr),无需启动 Vivado。 秒级摸底陌生工程 / CI 门禁:不启 Vivado(避开 120s GUI 冷启 + 中文路径 TclStackFree 崩),纯 Python 读 .xpr 拿 part / 顶层 / 源文件(按 fileset 分组, 含 .v/.mem/.xci IP)/ XDC 约束 / synth+impl runs 及 Strategy。 对照 get_project_info(需先 start_session + open_project),本工具完全离线。 Args:

  • parse_bit_header

    离线解析 .bit 比特流文件头部,无需启动 Vivado。 只读文件头(不读 payload):提取设计名 / 目标 part(原始 + 规整)/ 构建日期时间 / 文件 SHA256。用于烧录前防错板(part 比对)、交付/返修对账(确认孤立 .bit 是不是 声称的那版)。Vivado 无任何 Tcl 命令读离线 .bit。 注意:.bit 里 part 去 'xc' 前缀 + 去速度等级(如 7k325tffg900);规整字段补回 'xc' 但速度等级无法还原,与 .xpr 的 part 比对时只能比到 package 级。 Ar

  • parse_ltx

    离线解析 ILA 调试探针文件(.ltx),无需连板 / 启动 Vivado。 连板 ILA 抓波前先离线拿清单:每个 hw_ila 挂哪些 probe、probe 名、位宽、映射的 net。辅助在写 set_property TRIGGER_COMPARE_VALUE eq<位宽>'h.. [get_hw_probes <probe>] 之前确认正确的 probe 名和宽度。get_hw_probes 需板子在手 + 活 hw session,本工具完全离线。Vivado 2019.1 的 .ltx 是 JSON 格式。 Args:

  • compare_xci

    对比两个 XCI 文件的 IP 配置差异。 无需 Vivado 会话,直接读取 XML 文件对比参数。 适用于版本对比、不同板卡间配置迁移验证、调试 IP 参数差异。 Args: file_a: 第一个 XCI 文件路径(如基准/正常配置)。 file_b: 第二个 XCI 文件路径(如待检查/异常配置)。 show_all: 是否显示所有参数(默认仅显示差异)。

  • inspect_ip_params

    查询 IP 实例的所有配置参数(含 GUI 中隐藏的参数)。 通过 Vivado Tcl API 获取指定 IP 的所有 CONFIG.* 属性及其当前值。 支持按关键词过滤(如 "gt"、"loc"、"lane"),不区分大小写。 Args: ip_name: IP 实例名称(如 "xdma_0")。 filter_keyword: 可选过滤关键词(如 "gt"、"loc"、"lane"),不区分大小写。 session_id: 目标会话 ID。

  • get_io_report

    获取结构化 IO 引脚报告(JSON)。 执行 report_io 并解析为结构化数据,包含: - 每个端口的引脚、站点、方向、IO 标准、Bank - GT / GPIO 类型自动判定 - 汇总统计(总数、GT 数、GPIO 数、未分配数) Args: session_id: 目标会话 ID。

  • get_timing_report

    获取结构化时序报告。 执行 report_timing_summary 并解析为结构化摘要 + 关键路径详情。 默认返回中文摘要;JSON 模式返回可保存的版本化证据。report_file 可离线 读取 UTF-8 Vivado 原始报告,无需会话。基线比较只给上下文匹配的观察差值, 不证明约束等价或完整签核;本工具不写文件。 Args: session_id: 目标会话 ID。 output_format: text(默认)或 json;json 模式错误也返回 JSON。 report_file:

  • check_bitstream_readiness

    检查比特流生成前的实现状态、时序摘要和严重警告。 这个工具是"发车前的最后一瞥":在你打算 generate_bitstream 或 program_device 之前,一次性给出 PASS/BLOCK/WARN 的综合结论,避免烧板后才发现问题。 检查维度: - impl_1 run 是否已到达 route_design Complete(没布线 = 无法生成比特流) - route 后的 CRITICAL WARNING 数量(> 0 通常意味着潜在功能风险) - 时序是否收敛(WNS/WHS 是否 met) 返回结论:

  • get_utilization_report

    获取资源占用摘要(LUT/FF/BRAM/DSP/IO)。 执行 ``report_utilization -return_string`` 并从多个表格里抽取核心资源行, 高亮超过 90% 占用的 [CRITICAL] 项和 70-90% 的 [WARN] 项。 典型用途: - 综合后检查"LUT 够不够 / BRAM 够不够" - 时序收敛困难时先看资源是否超限(> 90% 会导致拥塞) - detail=True 进一步看 BRAM 由 RAMB36 还是 RAMB18 组成(优化位宽/级联时用) Args:

  • get_project_info

    获取当前 Vivado 项目的综合信息(项目名 / part / 顶层 / 文件列表 / IP / run 状态)。 一次查询完成"摸底":AI 接手陌生项目时的起点。包含: - 项目名称、目录、Part 型号、顶层模块 - 所有源文件(按类型分组) - XDC 约束文件列表 - IP 实例列表(含 VLNV) - synth_1 / impl_1 的当前状态 Args: session_id: 目标会话 ID。

  • get_run_progress

    查看 run 的运行进度(适合长任务等待时看"走到哪一步")。 综合或实现常跑 10-30 分钟,这个工具让你不用开 GUI 就能看到: - 当前状态(running / complete / error)与 PROGRESS 百分比 - runme.log 里最近若干条 Phase 行(Phase 1 → Phase 2.1 → Phase 3 ...) - 日志尾部 N 行(含最新 WARNING / CRITICAL WARNING 原文) - 日志最后更新时间(判断 Vivado 是否还在活跃) Args: run_n

  • get_next_suggestion

    根据当前项目状态推断下一步应该做什么。 适合新手、刚打开老项目、或者不知道从哪下手的场景。规则: - 没项目 → 建议 open_project / create_project - 有项目没源文件 → 建议 add_files - 没顶层 → 建议 set_property TOP - 没 XDC → 建议添加约束 - 有 testbench 且没跑过行为仿真 → 先 launch_simulation - 可综合 → xdc_lint + run_synthesis - 综合完成 → run_implementation

  • get_ip_status

    检查项目中所有 IP 的版本状态(哪个需要升级、哪个已锁定)。 老项目打开后 Vivado 常提示"N 个 IP 需要升级"。这个工具一次性列出: - 需要升级的 IP(Vivado 更新了更好的版本) - 已锁定的 IP(IS_LOCKED 属性为 TRUE,改动需先解锁) - 已最新的 IP 附带升级建议(单个升级 / 全部升级 / 升级后验证)。 Args: session_id: 目标会话 ID。

  • get_pre_commit_summary

    生成一段可以贴进 git commit body 的工程摘要(时序/资源/CW)。 典型用途:做完 RTL 改动、跑完 impl 之后,想把关键数字写进 commit body, 避免 "改了 UART 模块" 这种无信息量的 commit。本工具一次性采样: - 项目 + part + 顶层 - 时序摘要(WNS / WHS / 失败端点数) - 资源占用(LUT / FF / BRAM / DSP / IOB 百分比) - CW / ERROR 计数(若有 impl_run) - 综合生成 READY/WARN/FAIL 门禁标签

  • start_session

    启动一个新的 Vivado 会话。 三种模式: - ``"gui"`` (默认) — MCP 自动 spawn ``vivado -mode gui``,你能看到 Vivado 图标 并实时观察 Tcl Console / Block Design / 波形等 GUI 内容。首次使用会自动 通过 ``-source`` 注入 TCP server,或先运行一次 ``vivado-mcp install`` 持久化。 - ``"tcl"`` — ``vivado -mode tcl`` 无头子进程(无 GUI,适合 CI / 批处理)。

  • stop_session

    关闭指定的 Vivado 会话。 Args: session_id: 要关闭的会话标识符。

  • list_sessions

    列出所有活跃的 Vivado 会话及其状态。

  • run_tcl

    执行任意 Vivado Tcl 命令。支持所有 Vivado Tcl API。 这是最通用的工具,可以执行任何 Vivado Tcl 命令,包括: - 项目: ``create_project``, ``open_project``, ``add_files``, ``set_property top`` - 约束: ``create_clock``, ``set_property PACKAGE_PIN`` - IP: ``create_ip``, ``generate_target``, ``set_property CONFIG.*`` - B

  • safe_tcl

    执行带参数的 Tcl 命令模板,自动用 Tcl list 规则转义参数。 适用场景:命令中含文件路径、端口名、字符串值等可能有特殊字符的输入。 Tcl 的 ``$``、``[]``、``{}``、反斜杠、空格都会被正确转义,防注入且防解析错。 用法示例: - ``safe_tcl("create_project {0} {1} -part {2}", args=["my_proj", "C:/path with space", "xc7a35tcpg236-1"])`` - ``safe_tcl("read_verilog {0}",

  • set_wave_zoom

    设置波形时间缩放窗口(改 wcfg XML 后 close -force + open 重载)。 本地价值(§1.3 条件3 跨命令协议):Vivado 2019.1 无 Tcl zoom 命令,缩放窗存在 .wcfg 的 <zoom_setting> 里,要改它再让 XSim 重载。重载顺序极易踩—— close 漏 -force 报 [Wavedata 42-26];同名 wcfg 已 open 时直接 open 报 42-52, 故必须先 close 再 open。本工具封装这条多步协议。 ⚠ wcfg 未保存(current_wave_con

  • set_wave_analog

    把信号设为模拟(Analog)波形显示(纯 Tcl 配方,实测 Vivado 2019.1 可渲染)。 本地价值(§1.3 条件2 本地知识库,三个实测静默坑): 1. WaveformStyle 必须传 STYLE_ANALOG(带 STYLE_ 前缀);裸传 ANALOG 时 Vivado 收下 不报错但渲染器不认,只显示数字格。推翻早期"Analog 无 Tcl 接口只能 GUI 右键"的误判。 2. get_waves 只匹配显示名(y0[15:0])/glob,直接传全路径 /tb/y0 返回空;工具自动按 DESIGN_OBJE

  • query_waveform

    离线发现 VCD 信号或查询有界波形变化,返回 JSON。 无需 Vivado 会话。仅 .vcd,最大 32 MiB,不支持 FST/WDB。 event/real/string 可发现但不可查询,event 瞬时触发不能视为持久逻辑位。 返回 timescale 与整数 ticks;同一时间戳更新合并,initial_values 是 start_time 全部更新后的值,events 是之后的变化。条件查询返回 matches, equals/unknown/all_equals 也检查初值,change 仅检查之后的变化。 scan_t

Vivado MCP is an open-source mcp server by mapleleavessssssss-wq, written mainly in Python. Vivado MCP server — 让 Claude Code / Cursor / Codex 驱动本地 FPGA 全流程。30 个精选工具、8 个证据驱动 Prompt、doctor 环境自检、GUI/Tcl/attach 会话,以及时序和 CRITICAL WARNING 中文诊断。

At a glance

Stars
167
Forks
39
Language
Python
License
Apache-2.0
Created
Mar 2026
Last update
Oct 31, 2026
Type
MCP Server
Price
Free

Topics

aiclaudecodexedafpgahardware-debuggingmcpmcp-servermodel-context-protocolpythontclverilogvivadoxilinxxsim

Questions about Vivado MCP

What is Vivado MCP?

Vivado MCP server — 让 Claude Code / Cursor / Codex 驱动本地 FPGA 全流程。30 个精选工具、8 个证据驱动 Prompt、doctor 环境自检、GUI/Tcl/attach 会话,以及时序和 CRITICAL WARNING 中文诊断。

Who maintains Vivado MCP?

Vivado MCP is maintained by mapleleavessssssss-wq on GitHub (mapleleavessssssss-wq/vivado-mcp). AgenticMart lists it from public repository data.

Is Vivado MCP safe to use?

AgenticMart scanned Vivado MCP on Nov 5, 2026 with automated checks for hidden code, known-malicious packages, leaked secrets and vulnerable dependencies. The result covers one commit under our scan policy, so review what access you give it and check any advisories shown here.

What license does Vivado MCP use?

It is published under the Apache-2.0 license.

Vivado MCP alternatives

View more →

Similar mcp servers in Coding Agents, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.

NameStarsLicenceLast updatedScan
Vivado MCP (this page)
mapleleavessssssss-wq
167Apache-2.0Oct 31, 2026Scanned, no flagged issues
Context Mode
mksglu
33kNone foundNov 1, 2026Not scanned yet
Serena
oraios
31kNone foundOct 28, 2026Not scanned yet
Fastmcp
PrefectHQ
28kApache-2.0Nov 1, 2026Scanned, no flagged issues
Nuclear
nukeop
19kAGPL-3.0Nov 1, 2026Scanned, no flagged issues
MCP For Beginners
microsoft
18kMITOct 30, 2026Scanned, no flagged issues