Vivado Red MCP

io.github.sinemortal由 GitHub 帳號 sinemortal 發布v0.5.0更新於 Nov 7, 2026

通過AI助理驅動AMD Vivado,包含Red Pitaya STEMlab 125-14的建立與部署流程。

AI 翻譯由 AI 模型根據下方的原文描述翻譯,可能有誤。

原文描述

Drive AMD Vivado from AI assistants, with Red Pitaya STEMlab 125-14 build and deploy flows.

已驗證STDIO僅桌面

概覽

Vivado Red 的本機 MCP 服務;無需登入;STDIO;93 個工具。

暫無 AI 概覽:以下資訊來自註冊中心條目和服務本身。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Vivado Red MCP,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

vivado-red-mcp — Vivado MCP server, Red Pitaya edition

An MCP server that lets an AI assistant such as Claude drive AMD/Xilinx Vivado directly: create projects, build block designs, synthesize, implement, simulate, read timing/utilization reports and generate bitstreams — without opening the Vivado GUI.

It has first-class support for the Red Pitaya STEMlab 125-14 (Zynq xc7z010clg400-1): you can go from a natural-language description to a .bit.bin running on the board, using either pure RTL or the official RedPitaya-FPGA PS+PL (ARM + FPGA) backbone, and deploy it over SSH.

Forked from coreyhahn/vivado_mcp and heavily extended (93 tools): block design / IP Integrator, IP catalog, Hardware Manager, advanced reports, Red Pitaya RTL and PS+PL flows, SSH deploy.

Current version: 0.5.0 — see What's new and CHANGELOG.md.

Not to be confused with the unrelated vivado-mcp package on PyPI. This project is vivado-red-mcp: Python module vivado_red_mcp, command vivado-red-mcp.


Contents

What it can do

  • Persistent Vivado session — one Vivado process in Tcl mode is kept alive, so commands don't pay the 20–30 s startup each time.
  • Projects and design flow — create/open projects, add HDL and XDC files, synthesis, implementation, bitstream, run strategies.
  • Block design (IP Integrator) — ports, IP cores, RTL module cells, nets, PS7 presets, validation, wrapper generation.
  • Reports — timing (WNS/TNS/WHS/THS), utilization, clocks, power, DRC, methodology, QoR; returned as parsed values, not just raw text.
  • Simulation (xsim) — behavioral and post-synthesis/implementation, read signal values, breakpoints.
  • Red Pitaya — one-shot RTL build, full PS+PL build from the official RedPitaya-FPGA repo, bundled board constraints, .bit.bin generation, SSH deploy.
  • Raw Tcl — anything not covered by a tool can be run as Tcl (multi-line scripts supported).

Tested with

Status
Vivado 2026.1, Windows 11Validated end-to-end in 0.4.0: session, RTL and PS+PL Red Pitaya builds, reports, behavioral + post-synthesis xsim, block design, RedPitaya-FPGA tutorials (see below)
Vivado 2020.1, LinuxOriginal development target (0.3.x). Not re-tested on 0.4.0
Other Vivado releasesExpected to work (the generic tools use standard Tcl); not tested
Red Pitaya boardSTEMlab 125-14 (Z10) only for the Red Pitaya flows
Python3.10 – 3.12
MCP Python SDK1.x only (mcp>=1.0,<2, pinned automatically)

The RedPitaya-FPGA tutorials in prj/Examples (Led_blink, Knight_rider, Stopwatch, Frequency_counter) build to a bitstream through the server. Led_blink and Knight_rider rebuilt from scratch with MCP tools only produce byte-identical bitstreams to the tutorials' own scripts.

Requirements

  1. Python 3.10+
  2. AMD Vivado (the free edition is enough for the Red Pitaya xc7z010). When installing, you only need Vivado and, under devices, SoCs → Zynq-7000; Vitis Model Composer and DocNav are not needed.
  3. A Vivado license file — also for the free edition on 2025.x/2026.x. Without it Vivado refuses to start (a valid license was not found):
    • open the Vivado License Manager (<Vivado>/bin/vlm.bat on Windows, vlm on Linux);
    • Obtain License → on the AMD site tick Vivado Basic Tier License, Node Locked License (no charge, no expiry) → Generate Node-Locked License;
    • host ID: the MAC address of your network card (shown under View Host Information). The license is tied to the PC, not to the network you use;
    • load the received Xilinx.lic with Load License → Copy License.
  4. Vivado reachable by the server, either:
    • on PATH (Linux: source <Vivado>/settings64.sh; Windows: add <Vivado>\bin to PATH), or
    • by telling Claude the full path, which it passes to start_session (e.g. C:\AMDDesignTools\2026.1\Vivado\bin\vivado.bat).

pexpect (Linux/macOS) or pywinpty (Windows) is installed automatically.

Installation

1. Get the code and install it

bash
git clone https://github.com/sinemortal/vivado-red-mcp.gitcd vivado-red-mcppython -m venv .venv# Windows:      .venv\Scripts\activate# Linux/macOS:  source .venv/bin/activatepip install -e .

pip pins the MCP SDK to 1.x by itself. Do not upgrade mcp to 2.x: the server would not start ('Server' object has no attribute 'list_tools').

2. Register it with Claude Code

Once, for all your projects:

bash
claude mcp add --transport stdio --scope user vivado -- vivado-red-mcp

If vivado-red-mcp is not on PATH when Claude Code starts (typical with a virtual environment), point to the venv's Python instead:

bash
# Windowsclaude mcp add --transport stdio --scope user vivado -- "C:\path\to\vivado-red-mcp\.venv\Scripts\python.exe" -m vivado_red_mcp# Linux/macOSclaude mcp add --transport stdio --scope user vivado -- /path/to/vivado-red-mcp/.venv/bin/python -m vivado_red_mcp

Or share it with a single project through a .mcp.json at the project root:

json
{  "mcpServers": {    "vivado": {      "type": "stdio",      "command": "vivado-red-mcp"    }  }}

Check it with claude mcp list: vivado should show as connected.

3. Optional: disable the RedPitaya-FPGA auto-download

On startup the server downloads the RedPitaya-FPGA repo (source zip) into its working directory if it is missing, for the PS+PL flow. Set the environment variable VIVADO_MCP_NO_AUTOFETCH=1 to turn this off; the rp_fetch_repo tool can still download it on demand.

First steps

Talk to Claude in plain language, for example:

  1. "Start a Vivado session" (add the path if Vivado is not on PATH)
  2. "Open my project at C:/work/my_proj/my_proj.xpr"
  3. "Synthesize and implement it, then tell me if timing is met"
  4. "Show me the resource utilization"
  5. "Generate the bitstream"
  6. "Stop the Vivado session"

Claude picks the tools; you never have to call them by name.

Red Pitaya

Two flows, depending on whether you need the ARM processor:

FlowToolUse it for
RTL only (no PS7)create_redpitaya_project_rtlLogic clocked by the 125 MHz ADC clock: LEDs, counters, expansion-connector GPIO. One call does create → sources → XDC → synth → impl → bitstream → .bit.bin
PS + PLrp_fetch_repo → rp_setup_workspace → rp_build_projectDesigns that need the ARM, DDR or AXI. Reuses the PS7 block design shipped by RedPitaya-FPGA instead of reconfiguring the Zynq by hand

Example prompt:

Make an LED blinker at 1 Hz for the Red Pitaya using the 125 MHz ADC clock on led_o[0], build it and give me the .bit.bin.

To load the result on the board, ask Claude to use deploy_to_redpitaya (SSH, default credentials root/root; works with OS 1.04 xdevcfg and OS 2.00 fpgautil), or copy it yourself:

bash
scp led_blinker.bit.bin [email protected]:/tmp/ssh [email protected] 'cat /tmp/led_blinker.bit.bin > /dev/xdevcfg'

PS+PL and the RedPitaya-FPGA repo. The current upstream master targets Vivado 2025.1; older checkouts targeted 2020.1. Both layouts are supported. rp_setup_workspace copies the repo into a separate workspace and patches only that copy, so the scripts run on the Vivado you have installed (their exported block-design/IP scripts otherwise refuse any other release) and without a git checkout. Your downloaded repo is never modified. Details: get_vivado_doc redpitaya_ps_pl_flow.

Bundled board data (data/boards/):

  • red_pitaya_125_14_full.xdc — full pinout (ADC, DAC, LEDs, expansion connector, XADC), port names as in the official red_pitaya_top (adc_dat_i[ch][bit], dac_dat_o, exp_p_io, …); checked pin by pin against upstream sdc/red_pitaya.xdc.
  • red_pitaya_125_14_leds_min.xdc — 125 MHz differential ADC clock + 8 LEDs, for hello-world designs.
  • red_pitaya_125_14_info.json — part number and board metadata.

The RedPitaya tutorials (prj/Examples) use different port names (adc_dat_a_i, adc_clk_p_i, …) and a PS7 preset (cfg/red_pitaya.xml); use their own cfg/ files when rebuilding them.

More Italian prompt examples and the step-by-step low-level flow: USAGE.md.

What's new in 0.5.0

Renamed to vivado-red-mcp (package, Python module vivado_red_mcp, command vivado-red-mcp), so it no longer clashes with the unrelated vivado-mcp package on PyPI. If you installed an earlier version, reinstall it and re-register it with Claude Code using the new command (see Installation).

0.4.0

Works on Vivado 2026.1 and with the current RedPitaya-FPGA repo.

Fixed:

  • Server failed to start with MCP SDK 2.x → SDK pinned to 1.x.
  • Simulation never worked when the server was started by Claude Code on Windows (xsim: Spawn failed) → fixed.
  • Multi-line Tcl sent through run_tcl was silently corrupted on Windows → fixed.
  • get_timing_summary always returned empty values; get_utilization misread newer reports → both parse current Vivado output.
  • Reports right after a build failed with no message (No open design) → the latest completed run is opened automatically.
  • get_synthesis_errors_parsed always returned 0 errors → now reads the run logs, including failed IP runs.
  • launch_simulation modes rejected by recent Vivado → fixed.
  • generate_bitstream timed out after 300 s and didn't check the result → now verified, returns the .bit path.
  • Missing license (or any startup failure) now reports Vivado's own message in seconds instead of a generic error after 2 minutes.
  • Bundled red_pitaya_125_14_full.xdc had 6 wrong pins (ADC channel A MSB and dac_dat_o[8..12]) → corrected.
  • PS+PL flow broken by the new RedPitaya-FPGA layout → both layouts supported.

New tools: create_bd_port, add_module_to_bd, configure_bd_cell, set_run_strategy. Full list in CHANGELOG.md.

Troubleshooting

SymptomCause / fix
start_session fails with valid license was not foundVivado 2025.x/2026.x needs a license file even for the free edition — see Requirements
start_session cannot find VivadoPut <Vivado>/bin on PATH or give Claude the full path of vivado.bat / vivado
Server does not start: 'Server' object has no attribute 'list_tools'MCP SDK 2.x installed. Run pip install "mcp>=1.0,<2"
claude mcp list shows vivado as failedvivado-red-mcp not on PATH for Claude Code: register it with the venv's Python (see Installation)
A RedPitaya example fails synthesis with red_pitaya_pll ... port does not existUpstream issue in prj/Examples/Simple_moving_average (it pulls in rtl_250), not in this server
Occasional Could not open 'C' for writing in an IP runIntermittent Vivado issue with parallel out-of-context runs; re-run synthesis
Long paths on WindowsKeep projects in short paths; Vivado and IP generation hit the 260-character limit

Available tools

Session management

  • start_session - Start a persistent Vivado Tcl session (optional vivado_path)
  • stop_session - Stop the Vivado session
  • session_status - Session statistics
  • check_session_health - Detect a hung/dead session, optionally recover
  • get_host_status - Host CPU/memory status

Project management

  • create_project - Create a project on disk (default part xc7z010clg400-1)
  • open_project / close_project - Open or close an .xpr
  • get_project_info - Part, directory, top, …
  • add_sources / add_constraints - Attach HDL and XDC files

Design flow

  • run_synthesis - Run synthesis (verified run status)
  • run_implementation - Run place and route (verified run status)
  • generate_bitstream - Generate the bitstream (verified status + .bit path)
  • set_run_strategy - Set the synthesis/implementation run strategy

Reports & analysis

Report tools open the latest completed run automatically if no design is open.

  • get_timing_summary - WNS, TNS, WHS, THS, pulse width, met / not met
  • get_timing_paths - Detailed timing paths for failing/critical paths
  • get_utilization - LUTs, FFs, BRAMs, DSPs, IOs
  • get_clocks - Clock information
  • get_messages - Synthesis/implementation messages

Design queries

  • get_design_hierarchy - Module/instance hierarchy
  • get_ports - Top-level ports
  • get_nets / get_cells - Search nets and cells

Simulation (xsim)

  • set_simulation_top - Set the testbench module
  • launch_simulation - Behavioral, post-synthesis or post-implementation (functional/timing)
  • run_simulation / step_simulation / restart_simulation / close_simulation
  • get_simulation_time
  • get_signal_value / get_signal_values - Read signals
  • get_simulation_objects / get_scopes - Browse the hierarchy
  • add_signals_to_wave
  • add_breakpoint / remove_breakpoints
  • get_simulation_messages

Block design (IP Integrator) — Zynq / AXI

  • create_block_design - Create a block design and make it current
  • create_bd_port - Scalar, vector or interface ports
  • add_ip_to_bd - Add an IP core (VLNV) with CONFIG.* properties
  • add_module_to_bd - Add an RTL module as a module-reference cell
  • configure_bd_cell - Set CONFIG.* on an existing cell (e.g. PS7 board preset import)
  • connect_bd_net / connect_bd_intf_net - Wire pins/ports and AXI interfaces
  • auto_connect_axi - apply_bd_automation for AXI master ↔ slave
  • apply_ps7_preset - Zynq PS7 automation (FIXED_IO/DDR external)
  • validate_block_design - Run BD DRC
  • assign_bd_address - Auto-assign AXI address ranges
  • regenerate_bd_layout - Tidy the layout
  • save_bd_design / close_bd_design - Persist or close the BD
  • list_bd_cells - List cells
  • generate_bd_wrapper - make_wrapper + add to fileset + set as top

IP catalog

  • create_ip / configure_ip - Create and configure catalog IPs
  • generate_ip_target / synth_ip - Output products, out-of-context synthesis
  • upgrade_ip / report_ip_status - Upgrade and audit IP versions

Hardware Manager (JTAG)

  • open_hw_manager / close_hw_manager
  • connect_hw_server - Connect to hw_server (default localhost:3121)
  • program_device - Program a .bit over JTAG
  • refresh_hw_device - Re-read the JTAG chain

Advanced reports

  • report_power - Total/dynamic/static power
  • report_drc - DRC violations grouped by severity
  • report_methodology - UltraFast methodology checks
  • report_qor_assessment - QoR score
  • report_clock_interaction - Cross-clock paths
  • generate_full_report / read_report_section - Full reports to file, read them in pieces

Red Pitaya — RTL flow

  • list_boards / get_board_info - Bundled board metadata and XDC paths (no Vivado needed)
  • load_board_xdc - Add a bundled board XDC to the project
  • create_redpitaya_project_rtl - One-shot RTL build; returns bit_path, bin_path, parsed timing_summary and utilization
  • generate_cfgmem - .bit → .bit.bin for /dev/xdevcfg / fpgautil
  • get_synthesis_errors_parsed - Structured errors from the run logs, including failed IP runs

Red Pitaya — PS+PL flow

  • rp_fetch_repo - Download RedPitaya-FPGA (source zip, no git needed)
  • rp_setup_workspace - Isolated, patched copy of the repo to build in
  • rp_list_projects - List prj/* projects, flag the Z10-capable ones
  • rp_workspace_info - Which projects are already built
  • rp_create_custom_project - Clone a base project for your own PL logic
  • rp_build_project - Setup → synth → impl → bitstream → .bit.bin, with parsed timing

Red Pitaya — deploy (SSH, no Vivado needed)

  • deploy_to_redpitaya - Upload a .bit.bin and load it (xdevcfg on OS 1.04, fpgautil on OS 2.00)
  • ssh_redpitaya_exec - Run a shell command on the board

Documentation (offline)

  • list_vivado_docs / get_vivado_doc - Bundled topics (block_design, ps7_zynq, timing_constraints, synthesis_strategies, simulation_xsim, red_pitaya_125_14, redpitaya_ps_pl_flow, tcl_quoting, hw_manager, ip_integrator, pitfalls_2020_1), each with links to the AMD user guides

Raw Tcl and misc

  • run_tcl - Run any Tcl command or multi-line script
  • run_tcl_script - Source a .tcl file
  • request_feature / list_feature_requests

Architecture

┌─────────────────┐     MCP (JSON-RPC)     ┌─────────────────┐│   Claude Code   │◄──────over stdio──────►│  vivado-red-mcp     ││   (AI client)   │                        │  server         │└─────────────────┘                        └────────┬────────┘                                                    │ pexpect (Linux)                                                    │ pywinpty/ConPTY (Windows)                                                    ▼                                           ┌─────────────────┐                                           │ Vivado process  │                                           │  (-mode tcl)    │                                           └─────────────────┘

The server keeps one Vivado process in Tcl mode and talks to it through a pseudo-terminal, using the Vivado% prompt to know when a command has finished. Each tool family lives in its own module under tools/; see CLAUDE.md for the design conventions and known Vivado Tcl pitfalls.

Contributing

Issues and pull requests are welcome. There is no automated Vivado test in CI (it only checks that every tool has a handler); changes to the Vivado-facing code should be validated against a real Vivado install.

License

MIT — see LICENSE. Bundled third-party material (Red Pitaya board XDC files, 3-clause BSD) is listed in THIRD-PARTY-NOTICES.md.

Acknowledgments

來源:README.md,提交 79ff546

工具

93

start_session

Start a persistent Vivado TCL session. Must be called before project/design tools. Vivado startup is ~30s; the session is reused across tool calls.

輸入參數vivado_path

stop_session

Stop the Vivado TCL session and free resources.

無需輸入參數。

session_status

Get statistics for the current Vivado session (commands run, timing, errors).

無需輸入參數。

check_session_health

Verify the Vivado process is responsive. With auto_recover=true the session is restarted if it hangs.

輸入參數auto_recover

get_host_status

Get host hostname, free memory, and session state. Useful to check there is enough RAM before launching synthesis/implementation.

無需輸入參數。

open_project

Open an existing Vivado project (.xpr file).

輸入參數project_path必填

close_project

Close the currently open project.

無需輸入參數。

get_project_info

Get name, part, target language, directory of the open project.

無需輸入參數。

create_project

Create a new Vivado project on disk in project mode. Defaults to the Red Pitaya STEMlab 125-14 part (xc7z010clg400-1). Call add_sources / add_constraints next, then run_synthesis.

輸入參數name必填partforcedirectory必填target_language

add_sources

Add HDL source files (.v/.sv/.vhd) to the current project. Optionally sets the top module and updates compile order.

輸入參數files必填filesetset_top

add_constraints

Add XDC constraint files to the current project.

輸入參數files必填fileset

list_boards

List boards with bundled XDC + metadata. No Vivado session required.

無需輸入參數。

get_board_info

Get bundled metadata for a board: part, LED pinout, absolute XDC paths, default synth flags. Use the returned absolute_path values with add_constraints. No Vivado session required.

輸入參數board必填

run_synthesis

Run synthesis on the current project (reset_run -> launch_runs synth_1 -> wait_on_run). Returns ground-truth status from the run object, not just text parsing.

輸入參數jobstimeout

run_implementation

Run implementation (opt_design -> place_design -> route_design). Returns ground-truth status from the impl_1 run object.

輸入參數jobstimeout

generate_bitstream

Generate bitstream — `launch_runs impl_1 -to_step write_bitstream` -> wait_on_run. Returns ground-truth run status and the .bit path.

輸入參數timeout

set_run_strategy

Set the strategy of a synthesis or implementation run (e.g. synth_1 'Flow_PerfOptimized_high', impl_1 'Performance_NetDelay_high'). On an unknown name, Vivado's error lists the valid strategies.

輸入參數run必填strategy必填

get_timing_summary

Get timing summary (WNS, TNS, WHS, THS). Returns parsed metrics by default. Use generate_full_report for raw output.

輸入參數report_typedetail_level

get_timing_paths

Get failing/critical timing paths. Returns structured summary by default; use detail_level=standard|full for the raw text too.

輸入參數clockto_pinthroughfrom_pinnum_pathspath_typedetail_levelslack_threshold

get_utilization

Resource utilization (LUT/FF/BRAM/DSP/IO). Parsed only by default.

輸入參數detail_levelhierarchicalmodule_filterthreshold_percent

get_clocks

Get clock information and constraints (report_clocks).

無需輸入參數。

get_messages

Get Vivado messages filtered by severity (error/critical/warning/all).

輸入參數severity

get_design_hierarchy

Get the design hierarchy (modules and instances), optionally filtered.

輸入參數max_depthinstance_pattern

get_ports

Get top-level I/O ports of the design.

無需輸入參數。

get_nets

Search for nets by pattern (default '*').

輸入參數limitpattern

get_cells

Search for cells/instances by pattern.

輸入參數limitpattern

launch_simulation

Launch xsim in behavioral/post-synth/post-impl mode.

輸入參數mode

run_simulation

Run the simulation for a specified time (e.g. 100ns, 1us, all).

輸入參數time必填

restart_simulation

Restart the simulation from time 0.

無需輸入參數。

close_simulation

Close the current simulation.

無需輸入參數。

get_simulation_time

Get the current simulation time (current_time).

無需輸入參數。

get_signal_value

Get current value of a signal in simulation.

輸入參數radixsignal必填

get_signal_values

Get values of multiple signals matching a wildcard pattern (max 50).

輸入參數radixpattern必填

add_signals_to_wave

Add signals to the waveform viewer.

輸入參數signals必填

set_simulation_top

Set the top-level testbench module for simulation.

輸入參數filesettop_module必填

get_simulation_objects

List simulation objects in a scope (signals/ports/internal).

輸入參數scopefilter

get_scopes

List child scopes (hierarchy) in the simulation.

輸入參數parent

step_simulation

Step simulation by delta cycles.

輸入參數count

add_breakpoint

Add a breakpoint on signal edge or change.

輸入參數signal必填condition

remove_breakpoints

Remove all breakpoints (remove_bps -all).

無需輸入參數。

get_simulation_messages

Get simulation log messages filtered by severity.

輸入參數severity

run_tcl

Execute a raw TCL command in Vivado. Use for advanced ops not covered by other tools.

輸入參數command必填timeout

run_tcl_script

Source a .tcl script file in the Vivado session (uses `source` under the hood). Helpful for replaying canonical Red Pitaya / Xilinx reference scripts.

輸入參數path必填timeout

create_block_design

Create a new block design and make it current. Optionally sets the board_part property on the project beforehand (board_part requires the BSP to be installed in Vivado).

輸入參數name必填board_part

save_bd_design

Save the currently open block design to disk.

無需輸入參數。

close_bd_design

Close the currently open block design (without deleting).

無需輸入參數。

list_bd_cells

List cells in the current block design (optionally filtered).

輸入參數filter

add_ip_to_bd

Add an IP core to the current block design (`create_bd_cell -type ip -vlnv ...`). If `config` is provided, the CONFIG.* keys are applied via set_property -dict.

輸入參數vlnv必填configcell_name必填

create_bd_port

Create a top-level port on the current block design. Scalar or vector (`from`/`to`) via create_bd_port, or an interface port when `vlnv` is given (create_bd_intf_port, e.g. the XADC 'xilinx.com:interface:diff_analog_io_rtl:1.0'). Port names must match the constraints (XDC) of the board.

輸入參數tofrommodename必填typevlnvdirection

add_module_to_bd

Add an RTL module (Verilog/VHDL already in the project, see add_sources) to the current block design as a module-reference cell (`create_bd_cell -type module -reference`). Optional `config` sets its parameters, e.g. {'CONFIG.WIDTH': '8'}; string parameters keep their quotes, e.g. {'CONFIG.init': '"0011"'}.

輸入參數configmodule必填cell_name必填

configure_bd_cell

Set CONFIG.* properties on an existing block-design cell (set_property -dict). Use for settings that must be applied after creation or in a separate step, e.g. importing a PS7 board preset: {'CONFIG.PCW_IMPORT_BOARD_PRESET': '<path>/red_pitaya.xml'}.

輸入參數config必填cell_name必填

connect_bd_net

Connect two scalar pins/ports in the current block design.

輸入參數pin_to必填pin_from必填

connect_bd_intf_net

Connect two AXI/interface pins in the current block design.

輸入參數intf_to必填intf_from必填

auto_connect_axi

Use `apply_bd_automation -rule xilinx.com:bd_rule:axi4` to wire an AXI master to a slave (inserts AXI interconnect + clock/reset hookups).

輸入參數slave必填master必填options

apply_ps7_preset

Apply the Zynq-7000 processing_system7 board preset to a PS7 cell — wires FIXED_IO / DDR / clocks per the board definition. Equivalent to clicking 'Run Block Automation' on a freshly added PS7 in the GUI.

輸入參數cellapply_board_preset

validate_block_design

Run validate_bd_design and return parsed status. Failures include unconnected pins, conflicting CONFIG values, or missing assignments.

無需輸入參數。

regenerate_bd_layout

Regenerate the block design layout (cosmetic; useful before save).

無需輸入參數。

assign_bd_address

Auto-assign addresses in the BD address editor (assign_bd_address).

無需輸入參數。

generate_bd_wrapper

Generate the HDL wrapper for a block design and (by default) add it to sources_1 and set it as project top. Implements the canonical pattern: make_wrapper -files <bd> -top; add_files -norecurse <wrapper>; set_property top <wrapper> [current_fileset]; update_compile_order.

輸入參數bd_name必填set_top

create_ip

Create an IP from the Xilinx IP catalog. Generates a .xci file in the project's IP sources fileset. Use configure_ip + generate_ip_target afterwards, then run synth_ip if you want out-of-context synthesis.

輸入參數vendorip_name必填libraryversionmodule_name必填

configure_ip

Set CONFIG.* properties on an existing IP via set_property -dict.

輸入參數config必填module_name必填

generate_ip_target

Generate IP output products (synthesis + simulation by default).

輸入參數targetsmodule_name必填

synth_ip

Run out-of-context (OOC) synthesis on an IP.

輸入參數module_name必填

upgrade_ip

Upgrade IP version (no-op if already at latest).

輸入參數module_name

report_ip_status

Get a structured snapshot of the project's IP and their upgrade status.

無需輸入參數。

open_hw_manager

Open the Hardware Manager (no JTAG connection yet).

無需輸入參數。

close_hw_manager

Close the Hardware Manager.

無需輸入參數。

connect_hw_server

Connect to a hw_server (cs_server). Default URL is localhost:3121 — the value Vivado uses when running hw_server locally.

輸入參數url

refresh_hw_device

Refresh the currently selected hardware device (re-reads JTAG chain state). Call after re-plugging a cable.

無需輸入參數。

program_device

Program a .bit onto the first device on the JTAG chain. Sequence: open_hw_target -> set PROGRAM.FILE -> program_hw_devices. The hardware must already be connected (`open_hw_manager` + `connect_hw_server`).

輸入參數bit_file必填probes_file

report_power

Run report_power and return parsed totals (total/dynamic/static W) + a truncated raw block. Full output stored at /tmp/vivado_red_mcp/.

無需輸入參數。

report_drc

Run report_drc and return parsed violations list (severity/code/message). Use after place_design/route_design to catch design-rule problems.

無需輸入參數。

report_methodology

Run report_methodology (UltraFast methodology checks). Returns violation list grouped by severity.

無需輸入參數。

report_qor_assessment

Run report_qor_assessment (overall design quality score).

無需輸入參數。

report_clock_interaction

Run report_clock_interaction to find cross-clock paths (timed/async/unconstrained).

無需輸入參數。

load_board_xdc

Resolve a bundled board XDC and attach it to the current project. Standalone wrapper over get_board_info + add_constraints.

輸入參數board必填variant

generate_cfgmem

Convert a .bit into a raw binary image (.bit.bin) loadable via /dev/xdevcfg on the Red Pitaya. Use after generate_bitstream.

輸入參數outputbit_file必填

get_synthesis_errors_parsed

Return structured errors and critical warnings from a run's log (default: synth_1), plus those of every failed run (e.g. out-of-context IP runs). Use after run_synthesis fails to get a clean actionable list.

輸入參數runmax_items

create_redpitaya_project_rtl

One-shot composite: create project -> add HDL sources -> apply XDC -> synth -> impl -> write_bitstream -> generate .bit.bin. Stops on the first failing stage and returns a structured payload.

輸入參數jobsname必填boarddirectory必填top_module必填synth_flagsxdc_variantimpl_timeoutsynth_timeoutverilog_files必填extra_xdc_files

rp_fetch_repo

Download the RedPitaya-FPGA repo from GitHub as a source zip and extract it (no git required, stdlib only). Returns repo_path to feed into rp_setup_workspace. Idempotent — pass force=true to redownload. No Vivado session required.

輸入參數refurlforcetimeoutdest_path

rp_setup_workspace

Copy a RedPitaya-FPGA repo into an isolated workspace so builds don't touch the pristine checkout. The copy is patched to run on the installed Vivado release (block-design version check) and without git. Idempotent — pass force=true to recopy. No Vivado session required.

輸入參數forcerepo_path必填workspace_path

rp_list_projects

List projects under prj/ of a RedPitaya workspace or repo. Flags which are Z10-capable (have ip/system.tcl or legacy ip/systemZ10.tcl). No Vivado session required.

輸入參數path必填

rp_workspace_info

Report workspace state: projects present and which already have a built bitstream.

輸入參數workspace_path必填

rp_create_custom_project

Clone an existing prj/<base> into prj/<name> inside the workspace, ready for custom PL logic. Returns the rtl/ dir and red_pitaya_top path to edit. No Vivado session required.

輸入參數name必填base_project必填workspace_path必填

rp_build_project

Build a RedPitaya PS+PL project end-to-end: run the repo's project setup TCL (creates the PS7 block design from ip/system.tcl), then synthesis, implementation and write_bitstream, then generate the .bit.bin. Returns {stage, xpr_path, bit_path, bin_path, timing}. Requires start_session first.

輸入參數jobsmodeldefinesproject必填synth_flagsimpl_timeoutsetup_timeoutsynth_timeoutworkspace_path必填

deploy_to_redpitaya

Copy a .bit.bin to a Red Pitaya over SSH/SCP and load it into the FPGA. Uses /dev/xdevcfg (works on Red Pitaya OS 1.04 + 2.00) or fpgautil (OS 2.00). No Vivado session required.

輸入參數host必填portusermethodpasswordkeep_remoteremote_pathbit_bin_path必填key_filenameconnect_timeout

ssh_redpitaya_exec

Run an arbitrary shell command on a Red Pitaya over SSH and return stdout/stderr/exit code. Useful for status checks, dmesg reads, manual loader invocations.

輸入參數host必填portusercommand必填passwordexec_timeoutkey_filenameconnect_timeout

get_vivado_doc

Look up a topical Vivado documentation summary bundled with this server. Returns markdown content + upstream URL. Known topics: block_design, ps7_zynq, timing_constraints, synthesis_strategies, simulation_xsim, red_pitaya_125_14, redpitaya_ps_pl_flow, tcl_quoting, hw_manager, ip_integrator, pitfalls_2020_1.

輸入參數topic必填version

list_vivado_docs

List the bundled Vivado documentation topics.

無需輸入參數。

request_feature

Submit a feature request for the Vivado MCP server (persisted on disk).

輸入參數title必填priorityuse_casedescription必填

list_feature_requests

List all submitted feature requests.

無需輸入參數。

generate_full_report

Generate a full Vivado report to a file. Use when inline reports get truncated or you need the complete output. Returns a report_id usable with read_report_section.

輸入參數optionsoutput_filereport_type必填

read_report_section

Read a section of a previously generated report. Provide report_id (from generate_full_report) or a direct file_path.

輸入參數file_pathnum_linesreport_idstart_linesearch_pattern

版本歷史

1
  1. v0.5.0最新Nov 3, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分