Go to file
tangxifan d3f08a893c [engine] now frame view will not build nets for configuration bus 2022-09-01 20:02:00 -07:00
.github Updated docker base images 2022-06-09 19:46:27 -06: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
docker [Bugfix] dockerfile 2022-05-23 10:08:42 -06:00
docs [doc] update documentation based on the actual implementation on rr_gsb writer 2022-08-29 20:45:31 -07:00
libopenfpga add <array> include to fix compilation issues on Windows (MinGW64 gcc) 2022-08-02 20:30:04 +05:30
libs header inclusions required for MinGW windows build 2022-06-29 07:03:38 +05:30
openfpga [engine] now frame view will not build nets for configuration bus 2022-09-01 20:02:00 -07:00
openfpga_flow [test] force a fixed routing chan W for no time stamp test case 2022-09-01 15:02:40 -07:00
vpr Ported fixes related to timing graph node remapping. 2022-07-21 10:29:58 +02:00
yosys@dca8fb54aa [Github] Now use YosysHQ v0.10 release as a submodule 2021-10-29 14:19:26 -07:00
yosys-plugins@0713ed79ab Bump yosys-plugins from `da93173` to `0713ed7` 2022-08-30 06:25:08 +00:00
.dockerignore fixed missing yosys share directory 2021-12-02 00:05:17 -07:00
.gitignore Added binder temp files to ignore 2022-05-03 14:20:10 -06:00
.gitmodules update yosys-symbiflow-plugins to latest to fix quicklogic tests 2021-11-17 15:43:45 +05:30
.readthedocs.yml Support SVG in Sphinx Latex building (#220) 2021-02-07 18:53:16 -07:00
CMakeLists.txt adding Tcl interface to vpr 2022-06-07 09:15:20 -07:00
Dockerfile Added binder temp files to ignore 2022-05-03 14:20:10 -06:00
LICENSE Create LICENSE 2018-06-26 21:52:08 -07:00
Makefile Updating yosys-plugin compilation to create command synth_ql instead of synth_quicklogic. This is done to surpass the assertion failure 2021-11-12 01:46:06 -08:00
README.md [doc] add missing file link and show version number in frontpage README 2022-05-22 15:27:22 +08:00
VERSION.md Updated Patch Count 2022-09-01 00:02:38 +00:00
openfpga.sh Setting LD_LIBRARY_PATH for dynamic libvpr.so 2022-06-07 16:28:40 -07:00
requirements.txt [Cleanup] Removed deadcode 2021-02-03 10:35:14 -07:00

README.md

Getting Started with OpenFPGA

linux build Documentation Status Binder

Version: see VERSION.md

Introduction

The award-winning OpenFPGA framework is the first open-source FPGA IP generator supporting highly-customizable homogeneous 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.

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.

Compilation

A tutorial video about how to compile can be found here

Before starting, we strongly recommend you read the required dependencies at compilation guidelines. It also includes detailed information about the docker image.


Compilation Steps:

# Clone the repository and go inside it
git clone https://github.com/LNIS-Projects/OpenFPGA.git && cd OpenFPGA
make all

Quick Compilation Verification

To quickly verify the tool is well compiled, the user can run the following command from the OpenFPGA root directory.

source openfpga.sh
run-task compilation_verification --debug --show_thread_logs

Python3 and iVerilog v10.1+ are required. GUI will pop up if enabled during compilation.


Supported Operating Systems

We currently target OpenFPGA for:

  1. Ubuntu 18.04
  2. Red Hat 7.5

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

Running with pre-built docker image

# To get the docker image from the repository, 
docker pull ghcr.io/lnis-uofu/openfpga-master:latest

# To invoke openfpga_shell
docker run -it ghcr.io/lnis-uofu/openfpga-master:latest openfpga/openfpga bash

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.