Skip to main content
Glama

rp_build_project

Builds a RedPitaya PS+PL Vivado project end-to-end: runs setup TCL, synthesis, implementation, write_bitstream, and generates the .bit.bin; returns stage, paths, and timing.

Instructions

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.

Input Schema

NameRequiredDescriptionDefault
jobsNoParallel jobs for synth/impl (default: 4)
modelNoBoard model — only 'Z10' supported (default: Z10)
definesNoExtra Verilog defines passed as tclarg 1 (default: empty)
projectYesProject under prj/ to build (e.g. 'v0.94', 'barebones')
synth_flagsNoExtra synth_design flags via STEPS.SYNTH_DESIGN.ARGS.MORE_OPTIONS. Default empty. RedPitaya canonical for reproducibility: '-flatten_hierarchy none -bufg 16 -keep_equivalent_registers' (NOTE: those preserve hierarchy/BUFG count for debug; on xc7z010-1 they typically hurt QoR vs defaults).
impl_timeoutNoImplementation timeout s (default: 5400)
setup_timeoutNoProject-setup TCL timeout s (default: 900)
synth_timeoutNoSynthesis timeout s (default: 2400)
workspace_pathYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.5.0

TDQS

A4/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It does disclose the pipeline contents, the returned fields {stage, xpr_path, bit_path, bin_path, timing}, and the session prerequisite, which is real value. But it says nothing about overwrite behavior if the target project already exists in the workspace, what partial artifacts remain on failure, or that this is a long-running blocking operation beyond the schema's timeout defaults.

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

Conciseness5/5

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

Three front-loaded sentences: the action and stage list first, then the return shape, then the prerequisite. No filler, and the colon-list keeps the stage enumeration scannable.

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 9-parameter mutation pipeline with no annotations and no output schema, the description covers the return fields and the session prerequisite well. It omits whether the repo must already be fetched/workspace configured (rp_fetch_repo, rp_setup_workspace) and how failures at each stage are surfaced, which an agent orchestrating this pipeline would want to know.

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 89%, so the schema already documents jobs, model, defines, project, synth_flags and the three timeouts in detail. The description adds no parameter-level meaning beyond referencing ip/system.tcl and the .bit.bin output; baseline 3 applies.

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

Purpose5/5

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

Names a specific verb and resource ('Build a RedPitaya PS+PL project') and enumerates the exact pipeline stages it bundles (setup TCL, synthesis, implementation, write_bitstream, .bit.bin). An agent can distinguish it from the granular siblings run_synthesis, run_implementation and generate_bitstream purely from the text.

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

Usage Guidelines4/5

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

States the prerequisite 'Requires start_session first' and, by enumerating the individual stages, implicitly signals this is the one-shot alternative to composing the granular step tools. It stops short of explicitly saying 'use run_synthesis/run_implementation instead if you need to inspect intermediate results or retune runs'.

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

Deploy Server

Other Tools