Skip to content

Flow Orchestration API - multi-flow support #122

Description

@luarss

Overview

High-level MCP tools to run complete RTL-to-GDS flows with configurable stages.

Proposed tools: run_flow, pause_flow, resume_flow, get_flow_status

Currently users issue individual OpenROAD commands. Flow orchestration automates common patterns and enables AI-assisted full-flow runs.


Sub-issues by flow

  • 4a. OpenROAD-flow-scripts (ORFS) — Official OpenROAD flow; highest priority since it's the reference implementation. Support stage-level control (synth, floorplan, place, cts, route, finish) and ORFS Makefile targets.
  • 4b. OpenLane v2 — efabless's modular Python-based flow (replaces OpenLane v1). Uses OpenROAD as a step runner; support config.json-driven invocation and per-step overrides.
  • 4c. OpenLane v1 — Legacy Tcl/Make-based flow still widely used in efabless MPW shuttle submissions. Lower priority than v2 but worth supporting for existing users.
  • 4d. Silicon Compiler (SC) — Zero ASIC's Python API wraps OpenROAD as a backend; support SC flowgraph execution and result collection via MCP.
  • 4e. Hammer — UC Berkeley's VLSI hammer abstracts OpenROAD behind a YAML-driven config; support hammer-vlsi CLI invocation and par (place-and-route) step control.
  • 4f. OpenFASoC — Mixed-signal analog/digital generator that drives OpenROAD for digital blocks; support generator-level flow invocation alongside standard digital stages.

Difficulty: Hard
Impact: Very High

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions