tangxifan 6a96a7471b
Some checks failed
Test / Detect code changes (push) Has been cancelled
Cell Library Tests / RTL compilation and tests (push) Has been cancelled
Code Format / Check (map[code_type:-cpp name:C/C++]) (push) Has been cancelled
Code Format / Check (map[code_type:-py name:Python]) (push) Has been cancelled
Code Format / Check (map[code_type:-xml name:XML]) (push) Has been cancelled
Count Patches / patch-count (push) Has been cancelled
Test / Installer (GCC, Windows Msys2-MINGW64) (push) Has been cancelled
Test / Build Compatibility (GCC, Windows Msys2-MINGW64) (push) Has been cancelled
Test / Prepare Visual Studio build (push) Has been cancelled
Test / Prebuild Yosys (Windows-latest) (push) Has been cancelled
Test / Installer w/o doc (MsBuild Windows-latest) (push) Has been cancelled
Test / Build Compatibility: GCC-11 (Ubuntu 22.04) (push) Has been cancelled
Test / Build Compatibility: GCC-12 (Ubuntu 22.04) (push) Has been cancelled
Test / Build with capnproto update (Ubuntu 22.04) (push) Has been cancelled
Test / Build w/o SWIG support (Ubuntu 22.04) (push) Has been cancelled
Test / Build w/o test (Ubuntu 22.04) (push) Has been cancelled
Test / Build w/o version number (Ubuntu 22.04) (push) Has been cancelled
Test / Build w/o Yosys (Ubuntu 22.04) (push) Has been cancelled
Test / Build w/o Yosys plugin (Ubuntu 22.04) (push) Has been cancelled
Test / Build (GCC on CentOS 9) (push) Has been cancelled
Test / Build (GCC-13 on Ubuntu 24.04) (push) Has been cancelled
Test / Debug Build (Ubuntu 24.04) (push) Has been cancelled
Test / No-warning Build (Ubuntu 22.04) (push) Has been cancelled
Test / Installer w/o doc (Ubuntu 22.04) (push) Has been cancelled
Test / Build docker image for distribution (push) Has been cancelled
Test / linux_regression_tests (map[name:basic_reg_test]) (push) Has been cancelled
Test / linux_regression_tests (map[name:basic_reg_yosys_only_test]) (push) Has been cancelled
Test / linux_regression_tests (map[name:fpga_bitstream_reg_test]) (push) Has been cancelled
Test / linux_regression_tests (map[name:fpga_sdc_reg_test]) (push) Has been cancelled
Test / linux_regression_tests (map[name:fpga_spice_reg_test]) (push) Has been cancelled
Test / linux_regression_tests (map[name:fpga_verilog_reg_test]) (push) Has been cancelled
Test / linux_regression_tests (map[name:iwls_benchmark_reg_test]) (push) Has been cancelled
Test / linux_regression_tests (map[name:micro_benchmark_reg_test]) (push) Has been cancelled
Test / linux_regression_tests (map[name:tcl_reg_test]) (push) Has been cancelled
Test / linux_regression_tests (map[name:vtr_benchmark_reg_test]) (push) Has been cancelled
Test / docker_regression_tests (map[name:basic_reg_test]) (push) Has been cancelled
Test / docker_regression_tests (map[name:basic_reg_yosys_only_test]) (push) Has been cancelled
Test / docker_regression_tests (map[name:fpga_bitstream_reg_test]) (push) Has been cancelled
Test / docker_regression_tests (map[name:fpga_sdc_reg_test]) (push) Has been cancelled
Test / docker_regression_tests (map[name:fpga_spice_reg_test]) (push) Has been cancelled
Test / docker_regression_tests (map[name:fpga_verilog_reg_test]) (push) Has been cancelled
Test / docker_regression_tests (map[name:iwls_benchmark_reg_test]) (push) Has been cancelled
Test / docker_regression_tests (map[name:micro_benchmark_reg_test]) (push) Has been cancelled
Test / docker_regression_tests (map[name:tcl_reg_test]) (push) Has been cancelled
Test / docker_regression_tests (map[name:vtr_benchmark_reg_test]) (push) Has been cancelled
Merge pull request #2533 from lnis-uofu/patch_update
Pulling refs/heads/master into master
2026-05-23 20:44:01 -07:00
2026-05-18 19:28:41 +08:00
2026-05-08 21:42:02 -07:00
2026-04-24 15:13:21 -07:00
2026-05-05 15:23:24 -07:00
2026-05-11 23:05:49 +08:00
2026-05-23 00:27:54 +00:00
2026-04-10 02:22:52 +08:00
2026-05-09 21:43:59 -07:00
2026-05-04 21:41:57 -07:00
2026-04-24 14:47:05 -07:00
2026-05-24 03:42:26 +00:00

Getting Started with OpenFPGA

Test Cell Library Tests Code style: black Documentation Status Binder

Version: see VERSION.md

Introduction

The award-winning OpenFPGA framework is the first open-source FPGA IP generator with silicon proofs supporting highly-customizable FPGA architectures. OpenFPGA provides complete EDA support for customized FPGAs, including Verilog-to-bitstream generation and self-testing verification. OpenFPGA opens the door to democratizing FPGA technology and EDA techniques with agile prototyping approaches and constantly evolving EDA tools for chip designers and researchers.

Tip

If this is your first time working with OpenFPGA, we strongly recommend you watch the introduction video about OpenFPGA

A quick overview of OpenFPGA tools can be found here. We also recommend potential users check out the summary of technical capabilities before compiling.

Tip

Before asking for help, please checkout the Frequently Asked Questions

Compilation

Note

A tutorial video about how to compile can be found here

Detailed guidelines are available at compilation guidelines. Before starting, we strongly recommend you read the required dependencies and ensure that they are correctly installed. It also includes detailed information about the docker image.

Documentation

OpenFPGA's full documentation includes tutorials, descriptions of the design flow, and tool options.

Tutorials

You can find a set of tutorials, with which you get familiar with the tool and use OpenFPGA for various purposes.

Backward Compatibility

If you were using an old version of OpenFPGA and are now interested to move to the latest version, please check out the developer guidelines.

License

All the codes are under MIT license, with the exception of submodules, e.g., VTR, Yosys and Yosys-plugin, which are distributed under its own (permissive) terms. See their full license for details.

How to Cite

Please use the following paper as a general citation for OpenFPGA:

X. Tang, E. Giacomin, B. Chauviere, A. Alacchi and P. -E. Gaillardon, "OpenFPGA: An Open-Source Framework for Agile Prototyping Customizable FPGAs," in IEEE Micro, vol. 40, no. 4, pp. 41-48, 1 July-Aug. 2020, doi: 10.1109/MM.2020.2995854.

Bibtex:

@ARTICLE{9098028,  author={Tang, Xifan and Giacomin, Edouard and Chauviere, Baudouin and Alacchi, Aurélien and Gaillardon, Pierre-Emmanuel},  journal={IEEE Micro},   title={OpenFPGA: An Open-Source Framework for Agile Prototyping Customizable FPGAs},   year={2020},  volume={40},  number={4},  pages={41-48},  doi={10.1109/MM.2020.2995854}}

A list of related publications can be found here.

Contributing to OpenFPGA

Please read the contributor guidelines if you would like to contribute to OpenFPGA.

Description
An Open-source FPGA IP Generator
Readme MIT 117 MiB
Languages
Verilog 51.3%
C++ 21.6%
Tcl 20.2%
Coq 5.6%
Python 0.6%
Other 0.6%