Skip to main content
Glama

CDT 通用 Tcl 直通 (受护栏)

fpga_cdt

Execute FPGA config/debug Tcl scripts via JTAG: scan chains, read properties, program SPI flash, capture ILA signals, and control virtual I/O—with auto connect/scan and write confirmation.

Instructions

对 cdt_js 跑任意 cfg_*(cdt_cfg) 或 dbg_*(cdt_dbg) Tcl,覆盖扫链/读属性/配置/SPI flash/ILA 抓波/virtual-IO 全套。读类(scan/read/list/help)自由;写器件类(cfg_program/cfg_jtag_flash_erase|program/dbg_program 等)需 confirm:true + expectIdcode(先 scan 校验匹配)。connect:true(默认)自动包 connect/scan_chain/disconnect,只需给 commands;raw tcl 用 {{PORT}} 占位端口。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tclNo原始完整 Tcl 脚本(与 commands 二选一);用 {{PORT}} 占位 cdt_js 端口;提供时不自动包 connect
hostNo远程执行设备 id(pango-mcp.config.json 的 hosts;省略=本机)。远程时在该设备上跑 cdt_cfg/cdt_dbg。
portNocdt_js 端口,默认按版本(2025.2=65425/2022.2=65420)
detailNo返回粒度,默认 summary
confirmNo脚本含写器件命令时必须 true
connectNo是否自动包 connect/scan_chain/disconnect,默认 true(仅对 commands 生效)
commandsNo要执行的命令(每行一条);connect:true 时自动包 connect/scan_chain
pdsVersionNo可选 PDS 版本/标签
timeoutSecNo超时秒数,默认 60
deviceIndexNo写器件前 scan 校验的设备索引,默认 0
interpreterNo解释器,默认 cdt_cfg(cfg_*);ILA/virtual-IO 用 cdt_dbg(dbg_*)
expectIdcodeNo写器件脚本必填:期望 IDCODE 或别名;运行前 scan 校验匹配
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the safety burden and discloses critical behavior: destructive write-device operations are gated by confirm and expectIdcode plus a scan check, and connect:true silently wraps commands in connect/scan_chain/disconnect while raw tcl uses {{PORT}}. It does not spell out exact failure modes or return format, but the guardrail and connection behavior are well covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but optimally sized, front-loading purpose and then adding guardrail and connection rules. The compressed notation (cfg_jtag_flash_erase|program, confirm:true) is efficient, though slightly less readable, so a 4 is appropriate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter, no-annotation, no-output-schema tool, the description covers guardrails, invocation modes, and coverage, but it omits what the tool returns (raw Tcl output? summary/full structure?) and does not position the tool against the many fpga_* siblings. This leaves an agent with meaningful gaps for a high-complexity tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, and the description adds real interaction semantics: connect:true pairs with commands, raw tcl requires {{PORT}}, and confirm/expectIdcode are tied to write-device commands. This tells an agent how the parameters relate, which the bare schema does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs arbitrary cfg_* (cdt_cfg) or dbg_* (cdt_dbg) Tcl against cdt_js and enumerates the covered operations (scan, read, config, SPI flash, ILA, virtual-IO). It does not name explicit sibling tools for differentiation, so it earns a 4 rather than a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear operational conditions: read-class commands are unrestricted; write-device commands require confirm:true and expectIdcode with prior scan validation; connect/scan/disconnect auto-wrapping depends on commands vs raw tcl. However, it never says when to choose this generic pass-through over the many specialized siblings (fpga_jtag_scan, fpga_flash_*, fpga_ila_*), so usage vs alternatives is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Renkos1/pango-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server