Skip to main content
Glama

Run maxplus2

maxplus2_run

Execute MAX+PLUS II compile, simulate, timing, or convert jobs with a hard timeout; report changed artifacts and parsed summaries. Use async for long runs to avoid client timeouts.

Instructions

Execute maxplus2.exe (compile / simulate / timing / convert) with a hard timeout, then report which artifacts changed and the parsed report summary. Beware: this starts a 2002-era Win32 process that can block on modal dialogs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cwdNoWorking directory for the child process. Defaults to the project directory, which is where MAX+PLUS II expects to run.
rootNoMAX+PLUS II installation root, for example C:\maxplus2. Defaults to MAXPLUS2_ROOT, then a scan of common paths.
asyncNoRun in the background and return a jobId immediately instead of blocking. Use for any compile or simulation that may outrun the client timeout: a client timeout does NOT stop the child process, so a blocking call that is abandoned keeps running with nobody holding the result. Poll with job_status.
taRegNoRun the Timing Analyzer in Registered Performance mode (-ta_reg).
outHexNoHEX output (-hex). REJECTED by this build; compiling already writes <project>.hex.
outJ11NoHEX output (-hex). REJECTED by this build; compiling already writes <project>.hex.
outJamNoJAM STAPL output (-jam). REJECTED by this build.
outJb1NoJBC 1.0 output (-jb1). REJECTED by this build.
outJbcNoJBC 2.0 output (-jbc). REJECTED by this build.
outPofNoPOF output (-pof). REJECTED by this build, but compiling writes <project>.pof anyway.
outRbfNoRBF output (-rbf). REJECTED by this build.
outSbfNoSBF output (-sbf). REJECTED by this build.
outSvfNoSVF output (-svf). REJECTED by this build, so this installation cannot derive a JTAG programming file.
outTtfNoTTF output file (-ttf). REJECTED by this build; compiling writes <project>.ttf.
simCmdNoSimulator command file (-cmd). REJECTED by this build.
simHstNoSimulator command file (-cmd). REJECTED by this build.
simScfNoStimulus file. A .vec is converted by the Simulator; END_TIME must be 0.0ns for that to span the run.
simTblNoWhere to write the simulator result table. Plain text, and what verification reads back.
simVecNoStimulus file. A .vec is converted by the Simulator; END_TIME must be 0.0ns for that to span the run.
compileNoRun the Compiler (-c). This also writes the .pof, .rpt and .pin artifacts.
convertNoConvert object files (-convert).
projectYesProject name (for example "top") or an absolute path to its .acf file. A bare name is resolved against workspace, and is rejected as ambiguous if several projects share it.
rebuildNoBack up/move matching top and numbered hierarchy CNF before compile to force source extraction (default true); false requests native incremental reuse.
taDelayNoRun the Timing Analyzer in Delay Matrix mode (-ta_delay).
taSetupNoRun the Timing Analyzer in Setup/Hold Matrix mode (-ta_setup).
simulateNoRun the Simulator (-s). Requires stimulus: pass simScf, or leave a .scf or a matching .vec next to the project.
timeoutMsNoHard timeout, default 900000 (15 min).
workspaceNoDirectory that a relative project name is resolved against. Defaults to MAXPLUS2_WORKSPACE, then the server working directory.
ignoreErrorsNoContinue past errors (-i). Use when you want every diagnostic from one run rather than stopping at the first failure.
timingAnalyzerOutputNoFile for Timing Analyzer output. Each analysis mode is emitted with its own -tao, so multiple modes cannot overwrite one file.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.10.3

TDQS

A3.6/5.0
Behavior4/5

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

Annotations establish it is not read-only and not idempotent, but the description adds materially beyond them: a hard timeout, the fact that it reports which artifacts changed plus a parsed report summary, and the significant warning that the 2002-era Win32 process can block on modal dialogs. That blocking risk is exactly the kind of behavioral trait an agent needs and cannot get from structured fields.

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?

Two sentences, front-loaded with the action and the modes, followed by the reporting behavior and the risk warning. No filler; every clause earns its place.

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 30-parameter, non-idempotent execution tool with no output schema, the description covers purpose, output reporting, timeout, and a critical failure mode. The remaining gap is routing context against sibling tools, which keeps it from being fully complete.

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%, so the schema already annotates all 30 parameters thoroughly (including per-flag notes like 'REJECTED by this build'). The description adds no parameter-level meaning of its own, which is acceptable at full coverage but earns only the baseline.

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 names a specific verb (Execute) and resource (maxplus2.exe), enumerates the four modes (compile/simulate/timing/convert), and states the reporting behavior (artifacts changed + parsed report summary). It is unambiguous what the tool does, though it never explicitly contrasts itself with the similar-looking siblings maxplus2_plan or simulate_and_verify.

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

Usage Guidelines2/5

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

The description gives no when-to-use/when-not guidance relative to siblings like maxplus2_plan, probe_executable, or simulate_and_verify. The only caveat offered is the modal-dialog warning, which is a risk note rather than routing guidance. The useful async guidance ('a client timeout does NOT stop the child process') lives in the schema, not the description.

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