duck2 / symbiflow-arch-defs

FOSS architecture definitions of FPGA hardware useful for doing PnR device generation.

Home Page:https://symbiflow.github.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SymbiFlow Architecture Definitions

Build Status

This repo contains documentation of various FPGA architectures, it is currently concentrating on;

The aim is to include useful documentation (both human and machine readable) on the primitives and routing infrastructure for these architectures. We hope this enables growth in the open source FPGA tools space.

The repo includes;

  • Black box part definitions
  • Verilog simulations
  • Verilog To Routing architecture definitions
  • Documentation for humans

The documentation can be generated using Sphinx.

Getting Started

Make sure git submodules are cloned:

git submodule init
git submodule update

Install Python libraries:

# Make sure additional libraries are installed
sudo apt-get install libxml2-dev libxslt1-dev lib32z1-dev
pip install -r requirements.txt

Run the full suite:

make

Tools installed via submodules

Tools installed via conda

  • yosys Verilog parsing and synthesis.

  • vtr Place and route tool.

  • iverilog Very correct FOSS Verilog Simulator

Tools potentially used in the future

  • verilator Fast FOSS Verilog Simulator

  • sphinx Tool for generating nice looking documentation.

  • breathe Tool for allowing Doxygen and Sphinx integration.

  • doxygen-verilog Allows using Doxygen style comments inside Verilog files.

  • symbolator Tool for generating symbol diagrams from Verilog (and VHDL) code.

  • wavedrom Tool for generating waveform / timing diagrams.

Resource Requirements

To run examples provided, please make sure these resources are available:

  • Memory: 5.5G
  • Disk space: 20G

About

FOSS architecture definitions of FPGA hardware useful for doing PnR device generation.

https://symbiflow.github.io/

License:ISC License


Languages

Language:Python 53.9%Language:Coq 16.3%Language:Verilog 14.5%Language:CMake 12.0%Language:Shell 0.8%Language:C 0.7%Language:PLSQL 0.6%Language:XSLT 0.6%Language:Tcl 0.3%Language:Assembly 0.1%Language:Makefile 0.0%