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
-
Dependency documentation
-
Projects using LiteX Build Environment:
- HDMI2USB - The HDMI2USB project develops affordable hardware options to record and stream HD videos (from HDMI & DisplayPort sources) for conferences, meetings and user groups.
- FuPy - The aim of the FuPy project is to make MicroPython run on FPGAs using the LiteX & Migen+MiSoC technologies. This allows you to do full stack development (FPGA gateware & soft CPU firmware) in Python!
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
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:
# Install system wide dependencies;
# * wget
# * bash
# * make
# * udev rules from https://github.com/litex-hub/litex-buildenv-udev
#
# On Debian you can use the ./scripts/debian-setup.sh script.
# 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 ./scripts/enter-env.sh
Applications
FIXME: Put stuff here.
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:
-
Mailing List:
-
IRC:
- irc://irc.freenode.net/#timvideos [Web Interface]
EnjoyDigital: