A version of the HDMI2USB firmware based around the misoc+migen tools produced by m-labs.
Clone or download
Pull request Compare This branch is 11 commits behind timvideos:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github
.travis
doc
firmware
gateware
platforms
scripts
software/pcie
targets
test
third_party
.gitignore
.gitmodules
.travis.yml
AUTHORS
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE
Makefile
README.md
flash.py
getting-started.md
load.py
make.py
mkimage.py

README.md

LiteX Build Environment

The LiteX Build Environment is a tool for easily developing LiteX based systems. It was originally designed to make the TimVideos' HDMI2USB easy to develop, but has now expanded to support multiple projects.

Quick Links


Important Terminology

  • Gateware - The FPGA configuration.
  • Soft CPU - A CPU running inside the FPGA.
  • Firmware - The software running on the soft CPU inside the FPGA.

Structure

LiteX BuildEnv Structure Image

Boards

The LiteX Build Environment supports a large number of FPGA boards, but not all boards can be used for all projects.

Firmware

  • HDMI2USB - The firmware currently used for the HDMI2USB project.
  • Bare Metal - Your own firmware running directly on the soft CPU in the FPGA.
  • Zephyr - Support for Zephyr RTOS.
  • Linux - Support for Linux.

Gateware

The Gateware is the configuration which generates our FPGA bitstream. It is generally defined by a platform and a target. You can find details for these under the platform and target directories in this project.

  • Platform - Represents the FPGA platform/devboard for which we will build the bitstream. (i.e. sim (Verilator Simulator), arty , opsis)
  • Target - There are multiple targets for each platform, this represents an SoC configuration for our target application. (i.e. base, net, video)

Environment

The environment is the shell setup and software packages provided by litex-buildenv which allow for litex based FPGA development. It provides development, build and troubleshooting capabilities.

To bootstrap or update your environment one generally does:

# Download the debian packages needed to support litex environment.  Usually
# we only do this once.
./scripts/download-env-root.sh

# Download/update the litex specific packages (python, verilator, submodules etc)
./scripts/download-env.sh

# Enter the Dev/Debug/Build environment
export PLATFORM=arty TARGET=net CPU=or1k
source ./script/enter-env.sh

Applications

FIXME: Put stuff here.

LiteX Application Relationship

Other Topics

FIXME: Put stuff here.


License

This code was developed by the people found in the AUTHORS file (including major contributions from EnjoyDigital) and released under a BSD/MIT license.

Code under the third_party directory comes from external sources and is available in their own licenses.

Contact

TimVideo.us:

EnjoyDigital: