Movatterモバイル変換


[0]ホーム

URL:


Skip to main content
Ctrl+K

OpenROAD documentation

Getting Involved#

Thank you for taking the time to read this document and to contribute.The OpenROAD project will not reach all of its objectives without help!

Possible ways to contribute to the OpenROAD application:

  • Tool improvements

  • New tools

  • Improvements to documentation, including this document

  • Star our project and repos so we can see the number of peoplewho are interested

Licensing Contributions#

As much as possible, all contributions should be licensed using the BSD3license. You can propose another license if you must, but contributionsmade with BSD3 fit best with the spirit of OpenROAD’s permissive open-sourcephilosophy. We do have exceptions in the project, but over time we hopethat all contributions will be BSD3, or some other permissive license such as MITor Apache2.0.

Contributing Scripts and Code#

We follow theGoogle C++ style guide.If you find code in our project that doesnot follow this guide, then within each file thatyou edit, follow the style in that file.

Please pay careful attention to thetool checklist for all code. If you wantto add or improve functionality in OpenROAD, please start with thetop-levelapp repo. Youcan see in thesrc directory that submodules exist pointing to testedversions of the other relevant repos in the project. Please look at thetool workflow in the developer guidedocumentto work with the app and its submodule repos in an efficient way.

Please run clang-format on all the C++ source files that you change, beforecommitting. In the root directory of the OpenROAD repository there is thefile.clang-format that defines all coding formatting rules.

Please pay attention to thetest directoryand be sure to add tests for any code changes that you make, using open-sourcePDK and design information. We provide thenangate45 PDK inthe OpenROAD-flow-scripts repo to help with this. Pull requests withcode changes are unlikely to be accepted without accompanying testcases. There are manyexamplestests. Each repo has a test directory as well with tests you should runand add to if you modify something in one of the submodules.

For changes that claim to improve QoR or PPA, please run many tests andensure that the improvement is not design-specific. There are designs intheOpenROAD-flow-scriptsrepo which can be used unless the improvement is technology-specific.

Do not add runtime or build dependencies without serious thought. For aproject like OpenROAD with many application subcomponents, the softwarearchitecture can quickly get out of control. Changes with lots of newdependencies which are not necessary are less likely to be integrated.

If you want to add Tcl code to define a new tool command, look atpdngenas an example of how to do so. Take a look at theCMake filewhich automatically sources the Tcl code and theTcl fileitself.

To accept contributions, we require each commit to be made with a DCO (DeveloperCertificate of Origin) attached.When you commit you add the-s flag to your commit. For example:

gitcommit-s-m"test dco with -s"

This will append a statement to your commit comment that attests to the DCO. GitHubhas built in the-s option to its command line since use of this is sopervasive. The promise is very basic, certifying that you know that youhave the right to commit the code. Please read thefull statementhere.

Questions#

Please refer to ourFAQs.


[8]ページ先頭

©2009-2025 Movatter.jp