# OpenROAD > OpenROAD documentation The OpenROAD Authors, 2021 ## Pages - [Welcome to OpenROAD’s documentation!](index.html.md): The OpenROAD (“Foundations and Realization of Open, Accessible Design”) - [Tutorials](tutorials/index.html.md): Flow tutorial can be accessed from OpenROAD Flow Scripts documentation [here](https://openroad-flow-... - [Helpful Information](main/src/grt/doc/messages/0118.html.md): Do refer to the [GUI guide](https://openroad-flow-scripts.readthedocs.io/en/latest/tutorials/FlowTut... - [Helpful Information](main/src/grt/doc/messages/0119.html.md): Do refer to the [GUI guide](https://openroad-flow-scripts.readthedocs.io/en/latest/tutorials/FlowTut... - [OpenROAD - AI agent context](main/AGENTS.html.md): This file provides project-specific guidance for AI agent sessions working on the OpenROAD codebase. - [Handling breaking changes between OpenROAD and ORFS](user/Bazel-breaking-changes.html.md): ORFS occasionally requires an update when OpenROAD has changed in some breaking way(such as when ret... - [Bazel Developer Guide: Caching](user/Bazel-caching.html.md): This document provides instructions for developers on how to use Bazel’s caching features to acceler... - [Bazel Developer Activities and `.bzl` Training Guide](user/Bazel-developer-activities.html.md): This guide maps common OpenROAD developer activities to Bazel workflows and provides practical train... - [Bazel targets](user/Bazel-targets.html.md): Bazel is a cross compilation system where `cfg=exec` is host and `cfg=target` is the microcontroller... - [Testing local changes with Bazel](user/Bazel.html.md): First [install Baselisk](https://bazel.build/install/bazelisk), then you’re ready for the main use-c... - [Installing OpenROAD](user/Build.html.md): The first step, independent of the build method, is to download the repository: - [CI Guide](contrib/CI.html.md): This document describes the pipelines available to the developers and code - [OpenROAD - AI agent context](main/CLAUDE.html.md): This file provides project-specific guidance for AI agent sessions working on the OpenROAD codebase. - [Contributor Covenant Code of Conduct](main/CODE_OF_CONDUCT.html.md): We as members, contributors, and leaders pledge to make participation in our - [Contributing to OpenROAD](main/CONTRIBUTING.html.md): Thank you for contributing to OpenROAD. For setup, coding standards, - [Coding Practices](contrib/CodingPractices.html.md): List of coding practices. - [DEF Grammar Railroad Diagrams](main/src/odb/doc/DEF_Grammar.html.md): The DEF (Design Exchange Format) grammar defines the syntax for the - [Database Math 101](contrib/DatabaseMath.html.md): DEF defines the units it uses with the `UNITS` command. - [Developer Guide](contrib/DeveloperGuide.html.md): OpenROAD is a tool to build a chip from synthesizable RTL (Verilog) to - [Documentation for distributed detailed routing with Kubernetes and Google cloud.](main/src/drt/doc/Distributed.html.md): In this tutorial, we introduce how to use distributed detailed routing with a Kubernetes cluster. We... - [FAQs](user/FAQS.html.md): If you cannot find your question/answer here, please file a GitHub issue to - [Getting Involved](contrib/GettingInvolved.html.md): Thank you for taking the time to read this document and to contribute. - [Git Quickstart](contrib/GitGuide.html.md): This tutorial serves as a quickstart to Git and contributing to our repository. If you have not alre... - [LEF Grammar Railroad Diagrams](main/src/odb/doc/LEF_Grammar.html.md): The LEF (Library Exchange Format) grammar defines the syntax for the - [Bazel Lint Targets](contrib/LintTargets.html.md): Bazel lint targets provide a single entry point for running linters and - [Using the Logging Infrastructure](contrib/Logger.html.md): OpenROAD uses [spdlog](https://isocpp.org/blog/2014/11/spdlog) as part - [OpenROAD Messages Glossary](user/MessagesFinal.html.md): Listed below are the OpenROAD warning/errors you may encounter while using the application. - [Manually adding new fields in DB Object](main/src/odb/doc/OpenDB-AddFieldsInDbObjects.html.md): For example `add_pitchDiag` in object `DbTechLayer`. - [Summary](main/.github/PULL_REQUEST_TEMPLATE.html.md): [Describe your changes here] - [OpenROAD](main/README.html.md): [![Build Status](https://jenkins.openroad.tools/buildStatus/icon?job=OpenROAD-Public%2Fmaster)](http... - [Compose sample](main/etc/monitoring/README.html.md): Project structure: - [gif-h](main/third-party/gif-h/README.html.md): https://github.com/charlietangora/gif-h - [linenoise (vendored)](main/third-party/linenoise/README.html.md): Source: [https://github.com/antirez/linenoise](https://github.com/antirez/linenoise) at tag `2.0`. - [Install smoke test](main/test/install/README.html.md): Verifies that the binary produced by `//packaging:tarfile` starts correctly - [ORFS smoke tests](main/test/orfs/README.html.md): A set of ORFS integration tests that runs in a few minutes suitable for inclusion in the local fast ... - [mock-array test case](main/test/orfs/mock-array/README.html.md): A parameterized 2D array of identical processing elements (`Element`), each - [Summary](main/test/orfs/gcd/README.html.md): Simple GCD (greatest common denominator) core. This is an extremely small - [Hacked asap7 files](main/test/orfs/asap7/README.html.md): These are a few asap7 files hacked and slashed until eqy was able to parse them, hence a copy here s... - [OpenROAD API](main/src/README.html.md): OpenROAD can be run using Tcl, and Python (limited support). - [Hierarchical Macro Placement](main/src/mpl/README.html.md): A hierarchical automatic macro placer for large-scale complex IP blocks, “Hier-RTLMP”. - [RAM Generator](main/src/ram/README.html.md): ⚠️ **This is an experimental module currently under development. See [#9392](https://github.com/The-... - [Parallax Static Timing Analyzer](main/src/sta/README.html.md): OpenSTA is a gate level static timing verifier. As a stand-alone - [Restructure](main/src/rmp/README.html.md): The restructure module in OpenROAD (`rmp`) is based on an interface to ABC for - [Power Distribution Network Generator](main/src/pdn/README.html.md): The power distribution network (PDN) generator module in OpenROAD (`pdn`) - [Initialize Floorplan](main/src/ifp/README.html.md): This tool initializes floorplan constraints, die/core area, and makes tracks. - [Tapcell](main/src/tap/README.html.md): Tapcell and endcap insertion. - [Read UPF Utility](main/src/upf/README.html.md): This module contains functionality to read, and modify information - [Rectilinear Steiner Tree](main/src/stt/README.html.md): The steiner tree (`stt`) module in OpenROAD constructs steiner trees used in - [Flute3](main/src/stt/src/flt/README.html.md): Flute3 is an open-source rectilinear Steiner minimum tree heuristic with - [Gate Resizer](main/src/rsz/README.html.md): Gate Resizer commands are described below. The `resizer` commands stop when - [Synthesis](main/src/syn/README.html.md): OpenROAD’s integrated synthesis tool can elaborate SystemVerilog designs and map them to technology. - [Partition Manager](main/src/par/README.html.md): The partitioning module (`par`) is based on TritonPart, an open-source - [Web Viewer](main/src/web/README.html.md): The web viewer module in OpenROAD (`web`) provides a browser-based interface - [Global Routing](main/src/grt/README.html.md): The global routing module in OpenROAD (`grt`) is based on FastRoute, an - [CUGR 2.0](main/src/grt/src/cugr/README.html.md): CUGR 2.0, the successor of [CUGR](https://github.com/cuhk-eda/cu-gr), is a VLSI global routing tool ... - [Readme](main/src/grt/src/fastroute/README.html.md): Min Pan, Yue Xu, Yanheng Zhang, Chris Chu - [Parasitics estimation](main/src/est/README.html.md): Parasitics estimation commands are described below. - [Detailed Routing](main/src/drt/README.html.md): The Detailed Routing (`drt`) module in OpenROAD is based on the open-source - [Clock Tree Synthesis](main/src/cts/README.html.md): The clock tree synthesis module in OpenROAD (`cts`) is based on TritonCTS - [Antenna Rule Checker](main/src/ant/README.html.md): This tool checks antenna violations and generates a report to indicate - [Graphical User Interface](main/src/gui/README.html.md): The graphical user interface can be access by launching OpenROAD with `-gui` or - [Global Placement](main/src/gpl/README.html.md): The global placement module in OpenROAD (`gpl`) is based on the open-source - [Utilities](main/src/utl/README.html.md): The utility module contains the `man` command. - [OpenDB](main/src/odb/README.html.md): The OpenDB (`odb`) module in OpenROAD is a design database to support tools for physical - [Python Unit Tests](main/src/odb/test/unitTestsPython/README.html.md): For running the python unit tests you will need to install first *testtools* and *unittest-parallel*... - [ODB Code Generator](main/src/odb/src/codeGenerator/README.html.md): This directory contains the code generator for OpenDB (`odb`) database objects. - [Clock gating](main/src/cgt/README.html.md): This module provides automatic insertion of clock gates for reducing power usage. - [IR Drop Analysis](main/src/psm/README.html.md): The IR Drop Analysis module in OpenROAD (`psm`) is based on PDNSim, - [Metal fill](main/src/fin/README.html.md): This module inserts floating metal fill shapes to meet metal density - [Chip-level Connections](main/src/pad/README.html.md): The chip-level connections module in OpenROAD (`pad`) is based on the - [Logic cut](main/src/cut/README.html.md): This package extracts a cloud of logic using the OpenSTA timing engine, and - [Parasitics Extraction](main/src/rcx/README.html.md): The parasitics extraction module in OpenROAD (`rcx`) is based on the - [DFT: Design for Testing](main/src/dft/README.html.md): The Design for Testing module in OpenROAD (`dft`) is an implementation of Design For Testing. - [Unit Test Infrastructure](main/src/tst/README.html.md): This is infrastructure to support C++ unit tests. It is not linked into - [Example](main/src/exa/README.html.md): This is an example tool to demonstrate how to setup a new tool in OpenROAD. - [Detailed Placement](main/src/dpl/README.html.md): The detailed placement module in OpenROAD (`dpl`) is based on OpenDP, or - [Pin Placer](main/src/ppl/README.html.md): Place pins on the boundary of the die on the track grid to minimize net - [Manpages Test Framework](src/test/README.html.md): There are 4 regression tests we conduct for the manpages, namely: - [OpenROAD](main/README2.html.md): [![Build Status](https://jenkins.openroad.tools/buildStatus/icon?job=OpenROAD-Public%2Fmaster)](http... - [Tool Name](contrib/ReadmeFormat.html.md): The top-level READMEs in each tool folder (`~/OpenROAD/src//README.md`) - [Detailed Router (DR) State Machine](main/src/drt/doc/RoutingFlow.html.md): This document describes the state machine that controls the detailed routing flow in TritonRoute. Th... - [Fix OpenROAD Bug](main/.agents/skills/fix-bug/SKILL.html.md): You are fixing a bug related to **$ARGUMENTS**. - [Review OpenROAD Pull Request](main/.agents/skills/review-pr/SKILL.html.md): You are reviewing PR **$ARGUMENTS**. - [Triage OpenROAD Issue](main/.agents/skills/triage-issue/SKILL.html.md): You are triaging OpenROAD issue **$ARGUMENTS**. - [Add Test to OpenROAD Module](main/.agents/skills/add-test/SKILL.html.md): You are adding tests for: **$ARGUMENTS** - [Fix OpenROAD Bug](main/.claude/skills/fix-bug/SKILL.html.md): You are fixing a bug related to **$ARGUMENTS**. - [Review OpenROAD Pull Request](main/.claude/skills/review-pr/SKILL.html.md): You are reviewing PR **$ARGUMENTS**. - [Triage OpenROAD Issue](main/.claude/skills/triage-issue/SKILL.html.md): You are triaging OpenROAD issue **$ARGUMENTS**. - [Add Test to OpenROAD Module](main/.claude/skills/add-test/SKILL.html.md): You are adding tests for: **$ARGUMENTS** - [OpenROAD Tcl Usage (global_placement)](main/src/gpl/doc/TclCommands.html.md): global_placement - [Tcl Format](contrib/TclFormat.html.md): The most important part to take note of are: - [Voltage source location file description](main/src/psm/doc/Vsrc_description.html.md): This file specifies the description of the C4 bump configurations file. - [Resizer Optimization Architecture](main/src/rsz/doc/architecture.html.md): 1. [Summary]() - [Bug Report](main/src/sta/.github/ISSUE_TEMPLATE/bug_report.html.md): Issues or PRs should be filed with the upstream [parallaxsw/OpenSTA](https://github.com/parallaxsw/O... - [OpenROAD Build Pitfalls](agents/build.html.md): When tests pass locally (Debug) but fail in CI (Release), check for: - [Extraction Rules Generation Flow for OpenRCX](main/src/rcx/doc/calibration.html.md): This flow generates the RC tech file for OpenRCX. The RC tech file provides - [CI Workflow](agents/ci.html.md): Never close a public PR to retrigger CI – `gh pr reopen` requires **admin permissions**. To retrigge... - [OpenROAD Coding Patterns](agents/coding.html.md): - Follow the Google C++ Style Guide. - [MPL2 Debug Messages](main/src/mpl/doc/debugMessages.html.md): MPL2 debug messages are divided in: - [PAR Debug Messages](main/src/par/doc/debugMessages.html.md): PAR debug messages are divided in the following single-level groups: - [OpenDB Debug Messages](main/src/odb/doc/debugMessages.html.md): - Group Name: `DB_EDIT` - [Documentation Check Tests](src/doc_check_tests.html.md): OpenROAD has lightweight documentation tests that validate consistency - [OpenROAD Doxygen Documentation](doxymain.html.md): To navigate the documentation, the most helpful page would be the class index page. - [insert_buffer](main/src/rsz/doc/insert_buffer.html.md): The `insert_buffer` command is used to manually insert a buffer into the design. It supports three m... - [syn IR](main/src/syn/doc/ir.html.md): The syn intermediate representation is a flat, technology-independent netlist used by OpenROAD’s syn... - [OpenROAD Documentation](main/src/utl/manREADME.html.md): This `docs/` hierarchy houses code and raw files to - [MBFF Hierarchical Clustering — Implementation Notes](main/src/gpl/test/mbff_hier_fix_notes.html.md): `cluster_flops` (gpl module, `src/gpl/src/mbff.cpp`) clusters single-bit - [Web Viewer Server API](main/src/web/docs/server-api.html.md): This document describes the wire protocol between the OpenROAD web - [OpenROAD Testing Guide](agents/testing.html.md): OpenROAD has two types of tests: **integration tests** (Tcl) and **unit tests** (C++). - [Global Placement](src/test/translator.html.md): The global placement module in OpenROAD (`gpl`) is based on the open-source --- For more comprehensive documentation, see [llms-full.txt](llms-full.txt)