Skip to content

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

License

Notifications You must be signed in to change notification settings

yusufm/symbiflow-arch-defs

 
 

Repository files navigation

WARNING!

This repo is currently a work in progress nothing is currently yet working!


SymbiFlow Architecture Definitions

Build Status

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

  • Lattice iCE40
  • Artix 7

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

Run the full suite:

make

Tools

Tools used via conda

  • yosys Verilog parsing and synthesis.

  • vtr Place and route tool.

  • iverilog Very correct FOSS Verilog Simulator

Tools to use 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.

  • netlistsvg Tool for generating nice logic diagrams from Verilog code.

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

  • wavedrom Tool for generating waveform / timing diagrams.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 47.3%
  • Verilog 38.9%
  • CMake 12.7%
  • Shell 0.7%
  • XSLT 0.4%
  • HTML 0.0%