• Stars
    star
    210
  • Rank 182,607 (Top 4 %)
  • Language
    Python
  • License
    BSD 2-Clause "Sim...
  • Created over 6 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An environment for building LiteX based FPGA designs. Makes it easy to get everything you need!

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:

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

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:

More Repositories

1

HDMI2USB

HDMI2USB: Open video capture hardware + firmware
156
star
2

HDMI2USB-litex-firmware

A version of the HDMI2USB firmware based around LiteX tools produced by @Enjoy-Digital (based on misoc+migen created by @M-Labs)
Python
142
star
3

streaming-system

Tim Video's - Live Streaming for user groups and other events.
Python
131
star
4

HDMI2USB-numato-opsis-hardware

The Numato Opsis board is the first fully open source HDMI2USB board.
104
star
5

HDMI2USB-jahanzeb-firmware

Original hand-coded firmware for the HDMI2USB - HDMI/DVI Capture - project
VHDL
103
star
6

getting-started

List of ideas for getting started with TimVideos projects
Shell
52
star
7

HDMI2USB-numato-opsis-sample-code

Example code for the Numato Opsis board, the first HDMI2USB production board.
VHDL
50
star
8

edid.tv

EDID Database Website
Python
26
star
9

HDMI2USB-fx2-firmware

HDMI2USB firmware for the Cypress FX2 found on the Digilent Atlys and Numato Opsis boards.
C
24
star
10

edid-decode

Mirror of https://git.linuxtv.org/edid-decode.git
C
20
star
11

flumotion

TimVideo's branch of flumotion
Python
14
star
12

HDMI2USB-numato-opsis-docs

Numato Opsis Developer Documentation
Ruby
13
star
13

gst-plugins-bad

TimVideo's branch of gst-plugins-bad
C
12
star
14

HDMI2USB-mode-switch

Tool for switching boards supported by HDMI2USB firmware between multiple different modes (programming, webcam, etc).
Python
10
star
15

flterm

C
10
star
16

HDMI2USB-TOFE-kicad-template

KiCad template for creating TOFE compatible expansion boards. Fork the repository, rename it and create your own board!
Shell
8
star
17

HDMI2USB-TOFE-VGA

A VGA capture board for use with TOFE-8x compatible boards like the Numato Opsis.
7
star
18

gst-plugins-dvswitch

GStreamer component for dvswitch
C
7
star
19

HDMI2USB-firmware-prebuilt

Prebuilt firmware for the HDMI2USB devices (such as the Numato Opsis and the Digilent Atlys board).
6
star
20

website

The code.timvideos.us website
JavaScript
4
star
21

hdmi2usb.tv

The HDMI2USB.tv website
CSS
3
star
22

video-signal-booster-board

C
3
star
23

test-patterns

Test patterns for debugging video problems.
Python
3
star
24

panacontrol

Library for controlling Panasonic Pan Tilt Zoom (PTZ) camera's such as the HE100.
Python
2
star
25

dvsource-v4l2-other

dvsource-v4l2-other - Video4Linux2 source for DVswitch which supports any device.
Python
2
star
26

HDMI2USB-firmware-prebuilt-broken

Verilog
2
star
27

python-ptz

Library for interfacing with PTZ cameras.
2
star
28

timvideos.github.io

TimVideos.us Developer website.
HTML
2
star
29

HDMI2USB-TOFE-LowSpeedIO

A Low Speed I/O board for use with TOFE-8x compatible boards like the Numato Opsis.
2
star
30

planet

TimVideos Planet
Ruby
1
star
31

gstreamer-daily

Repository for the scripts which build the gstreamer nightly debs
Shell
1
star
32

HDMI2USB-TOFE-Milkymist

A board which adds control interfaces and audio for Milkymist compatibility for use with TOFE-8x hosts like the Numato Opsis.
1
star
33

HDMI2USB-TOFE-HiLink

TOFE board which maps the IO to miniDP connectors for connecting two boards together or to an AXIOM board.
KiCad Layout
1
star