Skip to content

Suggestion: adopt OpenLane-style TCL-based configuration for easier migration and AI accessibility #216

Description

@WilliamHHL

The current ECC configuration stack has three layers:

  • ecc.toml — project config
  • fp_default_config.json / params.json / etc. — tool-level JSON templates
  • CLI --set flags — runtime overrides

This is functional but creates friction for two likely user groups:

  1. Former OpenLane / LibreLane users. OpenLane uses a single config.tcl (overriding defaults from config_in.tcl) where all
    parameters are TCL variables passed directly to the underlying EDA tools. Many expected ECC users will come from OpenLane. The
    current multi-format stack (TOML → JSON → tool invocation) is harder to learn and debug.

  2. AI agent workflows. TCL is the lingua franca of EDA scripting (SDC constraints, Innovus/ICC2 scripts, OpenROAD flow). AI agents
    already know how to read, write, and reason about TCL-based EDA configurations. TOML and JSON require extra translation layers.

Suggestion: Consider a TCL-based config path, either as an alternative to ecc.toml or as a unified config that maps 1:1 to the
existing TOML/JSON schemas. This would also align ECC more closely with commercial EDA scripting conventions.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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