2019-07-17 17:46:54 -05:00
# Getting Started with OpenFPGA <img src="./docs/source/figures/OpenFPGA_logo.png" width="200" align="right">
2020-09-17 18:01:23 -05:00
[![Build Status ](https://travis-ci.com/LNIS-Projects/OpenFPGA.svg?branch=master )](https://travis-ci.com/LNIS-Projects/OpenFPGA)
2018-12-30 15:35:07 -06:00
[![Documentation Status ](https://readthedocs.org/projects/openfpga/badge/?version=master )](https://openfpga.readthedocs.io/en/master/?badge=master)
2018-10-03 18:10:29 -05:00
## Introduction
2020-04-07 13:30:23 -05:00
The OpenFPGA framework is the **first open-source FPGA IP generator** supporting highly-customizable homogeneous FPGA architectures. OpenFPGA provides a full set of 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.
2018-09-13 12:52:12 -05:00
2018-10-03 18:10:29 -05:00
## Compilation
2020-04-07 13:30:23 -05:00
Dependencies and help using docker can be found [**here** ](./docs/source/tutorials/compile.rst ).
2018-09-13 12:52:12 -05:00
2019-07-17 13:07:40 -05:00
**Compilation Steps:**
2019-10-10 21:39:44 -05:00
```bash
# Clone the repository and go inside it
git clone https://github.com/LNIS-Projects/OpenFPGA.git & & cd OpenFPGA
mkdir build & & cd build # Create a folder named build in the OpenPFGA repository
2020-07-04 20:19:06 -05:00
cmake .. # Create a Makefile in this folder using cmake
2019-10-10 21:39:44 -05:00
make # Compile the tool and its dependencies
```
2020-01-23 14:25:27 -06:00
*cmake3.12 is recommended to compile OpenFPGA with GUI*
2019-07-15 22:16:15 -05:00
2020-01-23 10:39:49 -06:00
**Quick Compilation Verification**
2020-01-23 14:25:27 -06:00
To quickly verify the tool is well compiled, user can run the following command from OpenFPGA root repository.
2020-01-23 10:39:49 -06:00
```bash
2020-01-23 14:13:23 -06:00
python3 openfpga_flow/scripts/run_fpga_task.py compilation_verification --debug --show_thread_logs
2020-01-23 10:39:49 -06:00
```
2020-01-23 14:25:27 -06:00
*Python3 and iVerilog v10.1+ are required. GUI will pop-up if enabled during compilation.*
2020-01-23 10:39:49 -06:00
**Supported Operating Systems**
2019-10-10 21:39:44 -05:00
We currently target OpenFPGA for:
2020-01-22 21:46:49 -06:00
1. Ubuntu 18.04
2019-10-10 21:39:44 -05:00
2. Red Hat 7.5
*The tool was tested with these operating systems. It might work with earlier versions and other distributions.*
2018-09-27 10:33:39 -05:00
2018-12-30 15:37:17 -06:00
## Documentation
OpenFPGA's [full documentation ](https://openfpga.readthedocs.io/en/master/ ) includes tutorials, descriptions of the design flow, and tool options.
2019-07-17 13:07:40 -05:00
## Tutorials
2020-04-07 13:30:23 -05:00
You can find some tutorials in the [**./tutorials** ](./docs/source/tutorials/ ) folder. This will help you get more familiar with the tool and use OpenFPGA under different configurations.