Skip to main content
Glama

run_synthesis

Launch synthesis in Vivado, waiting for completion or submitting asynchronously to retrieve a job ID for progress tracking.

Instructions

启动综合;默认等待完成,也可异步提交后查询状态。

不调用 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。 session_id: 目标会话 ID。 wait: True 等待完成并诊断;False 启动后立即返回 job_id。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
jobsNo
waitNo
run_nameNosynth_1
session_idNodefault
timeout_minutesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the blocking concern, the 2-second polling interval, progress reporting, and the immediate return of job_id for async mode. However, it does not mention side effects such as whether an existing run is overwritten, permissions required, or failure behavior beyond the vague 'diagnose' term.

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 well-structured with an initial summary, a behavioral note, and a clear Args list. It's somewhat longer than minimal but every sentence adds value, particularly the explanation of the event-loop issue and parameter semantics. It earns its length without being bloated.

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?

The description covers the main workflow (sync/async), all parameters, and references get_run_progress for follow-up. An output schema exists, so return values need not be detailed. Gaps include the precise meaning of 'diagnose' and preconditions like active session, but overall it is sufficiently complete for a synthesis launch tool.

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

Parameters5/5

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

Schema description coverage is 0%, and the description compensates fully by explaining all five parameters (run_name, jobs, timeout_minutes, session_id, wait) with their meanings and defaults. This is exactly what the schema lacks, making the description the primary source of parameter understanding.

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?

The description clearly states the tool's verb and resource: '启动综合' (start synthesis). It also distinguishes itself by explaining both synchronous (wait=True) and asynchronous (wait=False) behavior, which differentiates it from sibling tools like run_implementation and get_run_progress.

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?

Explicitly provides when/when-not usage: wait=True waits for completion and diagnoses, while wait=False immediately returns job_id and directs the user to use get_run_progress for status. It also explains why it doesn't call Tcl wait_on_run (to avoid blocking the Vivado event loop), giving clear rationale for the recommended polling approach.

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/mapleleavessssssss-wq/vivado-mcp'

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