# Project Trellis - Lattice ECP5 Bitstream Documentation

[TOC]

This repo contains the bitstream documentation database for Lattice ECP5
devices.

This documentation was generated using the
[Project Trellis tools](https://github.com/SymbiFlow/prjtrellis).

# Contributions

As this repo is created from the prjtrellis output it doesn't accept external
contributions.  You are encourage to generate and maintain your own versions of
this documentation if your needs are not being met by this repository.

# License

These files are released under the very permissive [CC0 1.0 Universal](COPYING).

