A version of the HDMI2USB firmware based around LiteX tools produced by @enjoy-digital (based on misoc+migen created by @m-labs)
Switch branches/tags
Nothing to show
Clone or download
Latest commit a33050b Nov 14, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github github: Update autolabler config. Oct 5, 2018
.travis travis: Echo entering the environment. Oct 5, 2018
doc docs: Point to the litex-buildenv Wiki. Sep 1, 2018
firmware firmware/ci: Make '\0' char assignments consistent Oct 13, 2018
gateware gateware/cas: Add RGB LED support (treat as user_leds). Oct 29, 2018
platforms tinyfpga_bx: Adding better documentation. Nov 13, 2018
scripts Merge pull request #85 from mithro/small-linux-fixes Oct 27, 2018
software/pcie pcie/kernel/main: remove soft reset Jan 30, 2017
targets tinyfpga_bx: Actually use pins documented. Nov 13, 2018
test tests: Fixing the common bits. Dec 29, 2017
third_party Updating submodules. Nov 14, 2018
.gitignore linux: Get litex-devicetree. Dec 31, 2017
.gitmodules third_party: Updating edid repo to new home. Aug 27, 2018
.travis.yml platforms: Add icebreaker platform with base target. Micropython boots. Oct 31, 2018
AUTHORS Fixing up README(s) and LICENSE file. Mar 4, 2017
CODE_OF_CONDUCT.md Adding Code of Conduct Oct 30, 2017
CONTRIBUTING.md targets: rename HDMI2Ethernet to HDMI2ETH Oct 13, 2015
LICENSE Fixing up README(s) and LICENSE file. Mar 4, 2017
Makefile Makefile: Add RISC-V CPUs to help output. Sep 30, 2018
README.md readme: Add some details on environment Oct 8, 2018
flash.py tools: Read the BIOS maxsize from the SoC. Sep 8, 2018
getting-started.md docs: Updating the README and getting-started files. Sep 2, 2018
load.py Making load.py work. Mar 16, 2017
make.py Preemptively correct firmware/linker-flash.ld, create stub firmware. … Sep 19, 2018
mkimage.py tools: Read the BIOS maxsize from the SoC. Sep 8, 2018


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.


LiteX BuildEnv Structure Image


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


  • 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.


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)


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.

# Download/update the litex specific packages (python, verilator, submodules etc)

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


FIXME: Put stuff here.

LiteX Application Relationship

Other Topics

FIXME: Put stuff here.


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.