Contributing to Verilator ========================= Thanks for using Verilator! We welcome your contributions in whatever form. This contributing document contains some suggestions that may make contributions flow more efficiently. Did you find a bug? ------------------- - Please **ensure the bug was not already reported** by searching `Verilator Issues `__. - Please **download the latest development GitHub version**, build, and see if the issue has been fixed. - If you're unable to find an open issue addressing the problem, `open a new Verilator issue `__. - Be sure to include a **code sample** or an **executable test case** demonstrating the bug and expected behavior that is not occurring. - The ideal example works against other simulators, and is in the test_regress/t test format, as described in `Verilator Internals Documentation `__. Did you write a patch that fixes a bug? --------------------------------------- - Please `Open a new Verilator issue `__ if there is not one already describing the bug. - Please `Open a Verilator pull request `__. - See the coding conventions, and other developer information in ``docs/internals.rst`` in the distribution, or as rendered at `Verilator Internals Documentation `__. - Verilator uses GitHub Actions to provide continuous integration. You may want to enable Actions on your GitHub branch to ensure your changes keep the tests passing. - Your source-code contributions must be certified as open source, under the `Developer Certificate of Origin `__. On your first contribution, you must either: - Have your patch include the addition of your name to `docs/CONTRIBUTORS `__ (preferred). - Email, or post in an issue a statement that you certify your contributions. - In any of these cases, your name will be added to `docs/CONTRIBUTORS `__ and you are agreeing all future contributions are also certified. - We occasionally accept contributions where people do not want their name published. Please email us; you must still privately certify your contribution. - Your test contributions are generally considered released into the Creative Commons Public Domain (CC0), unless you request otherwise, or put a GNU/Artistic license on your file. - Most important is we get your patch. Do you have questions? ---------------------- - Please see FAQ section and rest of the `Verilator manual `__, or `Verilator manual (PDF) `__. - Ask any question in the `Verilator forum `__. Code of Conduct --------------- - Our contributors and participants pledge to make participation in our project and our community a positive experience for everyone. We follow the `Contributor Covenant version 1.4 `__. Thanks!