Go to file
tangxifan c6c3ef71f3 adapt all the Verilog submodule writers and bring it onlien 2020-02-16 13:35:18 -07:00
.travis add duplicate_grid_pin to travis integration 2019-12-30 14:06:20 -07:00
ERI_demo Update demo simulation result path 2019-07-12 16:52:54 -06:00
OpenSTA@7592f12e54 Implementation of OpenSTA in the project 2018-11-08 13:13:45 -07:00
abc Add latest abc and update ace dependence 2019-05-03 18:56:03 -06:00
ace2 Now we use the ace from VTR 2019-07-16 17:00:09 -06:00
cmake copy missing cmake modules from vtr project 2020-01-03 21:57:19 -05:00
docs update ducoumentation to explain lib_name XML syntax 2020-01-08 14:22:17 -07:00
fpga_flow Correct unexpected path modification 2020-01-22 21:03:57 -07:00
libopenfpga adapt all the Verilog submodule writers and bring it onlien 2020-02-16 13:35:18 -07:00
libs bring RRGraph object and writer online 2020-01-31 16:39:40 -07:00
openfpga adapt all the Verilog submodule writers and bring it onlien 2020-02-16 13:35:18 -07:00
openfpga_flow Update documentation about cmake version and graphical interface 2020-01-22 20:46:49 -07:00
tutorials Update documentation about cmake version and graphical interface 2020-01-22 20:46:49 -07:00
vpr put GSB builder online 2020-02-11 16:37:14 -07:00
vpr7_x2p bug fixed in SDC for CBs and SBs: remove useless module names 2020-01-17 15:33:50 -07:00
yosys use adapt yosys Makefile for OpenFPGA framework 2019-11-27 14:42:47 -07:00
.dockerignore Added dockerignore + minor changes in openfpga_flow script 2019-08-17 16:22:52 -06:00
.gitignore modify the git ignore list for ctags so that we only ignore those tags in specific folders 2020-01-03 21:17:40 -07:00
.gitmodules Update .gitmodules 2018-12-10 12:07:05 -07:00
.travis.yml add travis packages 2020-01-03 22:34:22 -05:00
CMakeLists.txt add ezgl support in the CMakelist for VPR8 2020-01-27 13:44:28 -07:00
Dockerfile Do not run make with -j in Docker 2020-01-05 22:02:38 +01:00
LICENSE Create LICENSE 2018-06-26 21:52:08 -07:00
README.md Update documentation about cmake version and graphical interface 2020-01-22 20:46:49 -07:00
README_Benchmarks.md Correction of the global make, the fpga_flow and the doc 2018-11-20 14:47:15 -07:00
deploy_key.enc Updated Encrypt Key 2019-11-02 16:37:00 -06:00
openfpga.sh Update openfpga.sh to allow run-flow and simulation at the same time 2019-12-03 14:07:10 -07:00
run_local.bat Working lattice benchmark unclean commit 2019-08-08 18:08:39 -06:00
run_local.sh Added build files in .gitignore 2019-08-17 22:59:54 -06:00
run_test.sh Travis Test: Run 2 2019-11-01 23:12:56 -06:00

README.md

Getting Started with OpenFPGA

Build Status Documentation Status

Introduction

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 testbenches/scripts 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.

Compilation

Dependencies and help using docker can be found at ./tutorials/building.md.

Compilation Steps:

# 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
cmake ..  -DCMAKE_BUILD_TYPE=debug # Create a Makefile in this folder using cmake
make                               # Compile the tool and its dependencies

cmake3.12 is required to use graphical interface

We currently target OpenFPGA for:

  1. Ubuntu 18.04
  2. Red Hat 7.5
  3. MacOS Mojave 10.14.4

The tool was tested with these operating systems. It might work with earlier versions and other distributions.

Documentation

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

Tutorials

You can find some tutorials in the ./tutorials folder. This will help you get more familiar with the tool and use OpenFPGA under different configurations.

Through those tutorials, users can learn how to use the flow and install the different dependencies. The tutorial index will guide you through training and explain the folder oraganization as well as introducing some tips and commonly used keywords.