This repository contains a version of QEmu for emulating LiteX based SoCs. This is mainly targeted at being used with the TimVideos HDMI2USB firmware which can be found here but could be reused with other LiteX based SoCs with some work.
There are two methods for building qemu-litex.
As qemu-litex targets a specific LiteX SoC it currently needs the configuration information from that SoC.
From fresh install, you will need the following packages: sudo apt-get install flex bison autoconf libtool libpixman-1-dev
1) Follow "getting started" instructions for getting the gateware setup.
You can skip the "Prerequisite (Xilinx)" section if you never want to build gateware for the FPGAs.
2) Enter the HDMI2USB-litex-firmware environment with source scripts/enter-env.sh
3) (Optional) Set PLATFORM
and TARGET
as needed.
For example on the MimasV2 you need to set export PLATFORM=mimasv2
.
4) Run ./scripts/build-qemu.sh
. This will;
Get the qemu-litex repo.
Configure a qemu system for your platform/target in ./build/$PLATFORM_$TARGET_$CPU/qemu
.
Build qemu.
Run the bios+firmware using qemu.
1) Clone the git repo with git clone https://github.com/timvideos/qemu-litex.git
2) Enter the qemu-litex
directory.
3) (Optional) Set the PLATFORM
, TARGET
and CPUS
to your required
configuration. The defaults should be fine if you are just playing with
things.
4) Run the ./build-litex-qemu.sh
which will
build
directory.build
directory.Build qemu.
5) You can then run qemu by following the examples output at the end of the script.
Memory
Peripherals