Skip to main content
Glama

ILA GUI fallback: 一键烧录→调试器→抓波

fpga_ila_flow

Use GUI fallback to run FPGA ILA capture when direct JTAG capture is unsupported or remote desktop is needed, requiring confirmation for dangerous actions.

Instructions

GUI fallback:仅当裸机 fpga_jtag_flash→fpga_jtag_capture 不支持目标功能,或必须使用远程交互桌面时采用。危险动作必须 confirm:true。流程:可选推送工程→释放 cable→scan+IDCODE→烧录→fpga_ila_open→fpga_ila_capture→teardown;逐 stage 回报。普通本地 FLA 抓波不要优先走本流程。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
flaNoDebugCore 序号,默认 0
hostNoGUI host id;优先用于远程交互桌面。省略仍可本机 fallback,但普通本地抓波应使用 fpga_jtag_flash→fpga_jtag_capture
portNocdt_js 端口,默认 65425
sbitYes本地已构建的仪表化 .sbit 绝对路径
userNo远端交互桌面/SSH 用户(默认取 host 配置或 Administrator)
clockNo采样时钟名(仅展示用)
titleNo查看器标题,默认 "FLA capture"
outDirNo本地输出目录(viewer/json/vcd),默认 ~/fpga-ila-captures
waitMsNorun 后等待抓取完成的毫秒,默认 1500
captureNo运行期捕获配置(无需重建):type 'n'=连续 samples 个样本(≤构建时 .fic dataDepth);type 'w'=窗口模式(windows=2^n 窗口数, position=触发点位置),配 value trigger 可把窗口 frame 到稀有/慢事件。**慢信号'全0'时改这里、勿改 DUT**。省略=工程默认(Nsamples/1024)。
confirmNo必须为 true 才会访问 cable、烧录并抓波
triggerNo触发条件:默认 {mode:'immediate'};值触发示例 {mode:'value', value:'0500', radix:'hex'}(对触发端口做值匹配,X=任意)
builtDirNo可选:本地已构建工程目录,流程开始时推送到 projectDir(含 prj_tasks 等)
busAliasNobase 名改名,如 {"DataPort":"counter"}
knowledgeNo可选:仅当客观验证全绿时自动写回 knowledge-vault candidate;调用方不能自报 pass/fail
pdsVersionNoPDS 版本标签(定位远端 PDS bin),默认 2025.2
projectDirYes工程目录(debugger 据此识别核/信号名;本机=本地路径,远程=远端路径)
deviceIndexNoJTAG 设备索引,默认 0
signalNamesNo按 bit 顺序的原始信号名
expectIdcodeYes期望 IDCODE 或别名(PG2L200H/TG/...),烧录前校验
Behavior4/5

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

With no annotations provided, the description carries the full disclosure burden and does substantial work: it flags the flow as dangerous ("危险动作"), mandates confirm:true before cable access/flash/capture, names the destructive stages (释放 cable, 烧录), and promises stage-by-stage reporting. It stops short of describing side effects (e.g., what cable release does to other JTAG users) and failure/rollback behavior, so not a 5.

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 packs classification, usage condition, safety gate, the full stage pipeline, reporting behavior, and an exclusion into a few dense clauses, with the most decision-relevant facts (fallback status, alternatives) front-loaded. It is slightly run-on rather than enumerated, but no sentence is wasted.

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

Completeness4/5

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

For a high-complexity composite tool (20 params, nested objects, destructive multi-stage flow, no annotations and no output schema), the description covers the orchestration stages, the confirm gate, and periodic reporting. Remaining gaps are failure/rollback semantics and an explicit statement of final outputs (only implied via outDir's viewer/json/vcd), but the schema carries the parameter load effectively.

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

Parameters3/5

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

Schema description coverage is 100% and the schema entries are already rich (capture explains n/w window modes, confirm documents the cable/flash/capture gating, expectIdcode states verification-before-flash). The description adds only marginal reinforcement of the confirm requirement and the remote-desktop host condition, so the baseline 3 applies.

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 identifies the tool as a GUI-fallback flow for ILA capture and enumerates its pipeline (push→release cable→scan+IDCODE→flash→fpga_ila_open→fpga_ila_capture→teardown), so the resource and flow are specific. It separates itself from the bare-metal fpga_jtag_flash→fpga_jtag_capture path by naming that sibling, but the purpose is defined largely by exclusion ("仅当...不支持...或必须...时采用") rather than by a crisp primary action statement, so it falls just short of 5.

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

Usage Guidelines5/5

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

Gives explicit adoption conditions (bare-metal fpga_jtag_flash→fpga_jtag_capture lacking target support, or remote interactive desktop required), names the alternative tools verbatim, and adds a clear exclusion ("普通本地 FLA 抓波不要优先走本流程"). This is textbook when-to-use/when-not-to-use guidance with named alternatives.

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