2020-07-25 14:21:51 -04:00
2020-12-17 12:54:11 -05:00
__ _ __ _ __ ___ __
/ / (_) /____ | |/_/___/ _ )___ ___ ________ / /__
/ /__/ / __ / -_)> < /___/ _ / _ \/ _ `/ __ / _ (_ -<
/____/_/\__/\__/_/|_| /____/\___/\_,_/_/ \_,_/___/
2020-07-25 14:21:51 -04:00
2020-12-17 12:54:11 -05:00
LiteX boards files
2020-07-25 14:21:51 -04:00
2020-12-17 12:54:11 -05:00
Copyright 2012-2020 / LiteX-Hub community
2020-07-25 14:21:51 -04:00
2020-11-24 08:01:23 -05:00
[![ ](https://github.com/litex-hub/litex-boards/workflows/ci/badge.svg )](https://github.com/litex-hub/litex-boards/actions) ![License ](https://img.shields.io/badge/License-BSD%202--Clause-orange.svg )
2020-07-25 14:21:51 -04:00
[> Intro
--------
2020-07-27 02:53:12 -04:00
< figure >
< p align = "center" >
< img src = "https://user-images.githubusercontent.com/1450143/88511626-73792100-cfe5-11ea-8d3e-dbeea6314e15.JPG" >
< / p >
< figcaption >
< p align = "center" >
From the very tiny Fomu to large PCIe accelerator boards....
< / p >
< / figcaption >
< / figure >
2020-07-25 14:21:51 -04:00
This repository contains the platforms/targets currently supported by LiteX:
2020-07-27 02:53:12 -04:00
- The platform provides the definition of the board: IOs, constraints, clocks, components + methods to load and flash the bitstream to it.
2020-07-25 14:21:51 -04:00
- The target provides a LiteX base design for the board that allows you to create a SoC (with or without a CPU) and integrate easily all the base components of your board: Ethernet, DRAM, PCIe, SPIFlash, SDCard, Leds, GPIOs, etc...
2020-07-27 02:53:12 -04:00
The targets can be used as a base to build more complex or custom SoCs. They are are for example directly reused by the [Linux-on-LiteX-VexRiscv ](https://github.com/litex-hub/linux-on-litex-vexriscv ) project that is just using a specific configuration (Linux-capable CPU, additional peripherals). Basing your design on provided targets allows to to reduce code duplication between very various projects.
2020-07-25 14:21:51 -04:00
2020-07-27 05:05:14 -04:00
First make sure to install LiteX correctly by following the [installation guide ](https://github.com/enjoy-digital/litex/wiki/Installation ) and have a look at the [LiteX's wiki ](https://github.com/enjoy-digital/litex/wiki ) for [tutorials ](https://github.com/enjoy-digital/litex/wiki/Tutorials-Resources ), [examples of projects ](https://github.com/enjoy-digital/litex/wiki/Projects ) and more information to use/build FPGA designs with it.
2020-07-25 14:21:51 -04:00
Each target provides a default configuration with a CPU, ROM, SRAM, UART, DRAM (if available), Ethernet (if available), etc... that can be simply built and loaded to the FPGA with:
$ ./target.py --build --load
You can then open a terminal on the main UART of the board and interact with the LiteX BIOS:
< p align = "center" > < img src = "https://raw.githubusercontent.com/enjoy-digital/litex/master/doc/bios_screenshot.png" > < / p >
But this is just the starting point to create your own hardware! You can then:
- Change the CPU: add `--cpu-type=lm32, microwatt, serv, rocket, etc... `
- Change the Bus standard: add `--bus-standard=wishbone, axi-lite`
- Enable components: add `--with-ethernet --with-etherbone --with-sdcard etc...`
2020-07-27 02:53:12 -04:00
- [Load application code to the CPU ](https://github.com/enjoy-digital/litex/wiki/Load-Application-Code-To-CPU ) over UART/Ethernet/SDCard, etc...
2020-07-27 05:44:25 -04:00
- Create a bridge with your computer to easily [access the main bus of your SoC ](https://github.com/enjoy-digital/litex/wiki/Use-Host-Bridge-to-control-debug-a-SoC ).
- Add a Logic Analyzer to your SoC to easily [observe/debug your design ](https://github.com/enjoy-digital/litex/wiki/Use-LiteScope-To-Debug-A-SoC ).
2020-07-25 14:21:51 -04:00
- Simulate your SoC and interact with it at decent speed with [LiteX Sim ](https://github.com/enjoy-digital/litex/blob/master/litex/tools/litex_sim.py )/Verilator.
2020-07-27 02:53:12 -04:00
- Integrate external cores/CPU to create your own design.
2020-07-25 14:21:51 -04:00
- etc...
Please use `./target.py --help` to see the pre-built various possibilities.
Hoping you will find this useful and enjoy it, please contribute back if you make improvements that could be useful to others or find issues!
2021-08-16 14:18:08 -04:00
**A question or want to get in touch? Our IRC channel is [#litex at irc.libera.chat ](https://web.libera.chat/#litex )**
2020-07-25 14:21:51 -04:00
> **Note:** All boards with >= 32MB of memory and enough logic can be considered as Linux Capable.
[> Open-hardware boards
-----------------------
Fully open-hardware boards, the ECP5 and iCE40 ones are even usable with the open-source FPGA toolchains!
| Name | FPGA Family | FPGA device | Sys-Clk | TTY | RAM | PCIe | Ethernet | Flash | SDCard |
|--------------|---------------------|---------------|----------|------|---------------------|-----------|----------------|-------------|--------|
2020-12-17 12:54:11 -05:00
| ECPIX-5 | Lattice ECP5 | LFE5UM5G-85F | 75MHz | FTDI | 16-bit 512MB DDR3 | No | 1Gbps RGMII | 16MB QSPI | Yes |
2020-07-25 14:21:51 -04:00
| Fomu | Lattice iCE40 | iCE40-UP5K | 12MHz | USB | 128KB SPRAM | No | No | 16MB QSPI | No |
| HADBadge | Lattice ECP5 | LFE5U-45F | 48MHz | IOs | 8-bit 32MB SDR | No | No | 16MB QSPI | No |
2020-07-25 16:17:22 -04:00
| iCEBreaker | Lattice iCE40 | iCE40-UP5K | 24MHz | FTDI | 128KB SPRAM | No | No | 16MB QSPI | No |
2021-05-06 23:47:17 -04:00
| iCESugar | Lattice iCE40 | iCE40-UP5K | 24MHz | STM32| 128KB SPRAM | No | No | 8MB QSPI | No |
2020-07-25 16:17:22 -04:00
| LogicBone | Lattice ECP5 | LFE5U-45F | 75MHz | FTDI | 16-bit 1GB DDR3 | No | 1Gbps RGMII | 16MB QSPI | Yes |
| MarbleMini | Xilinx Artix7 | XC7A100T | 100MHz | FTDI | 16-bit 1GB DDR3 | No | 1Gbps RGMII | 16MB QSPI | No |
2020-07-25 14:21:51 -04:00
| MiniSpartan6 | Xilinx Spartan6 | XC6SLX25 | 80MHz | FTDI | 16-bit 32MB SDR | No | No | 8MB QSPI | Yes |
| NeTV2 | Xilinx Artix7 | XC7A35T | 100MHz | IOs | 32-bit 512MB DDR3 | Gen2 X4 | 100Mbps RMII | 16MB QSPI | Yes |
| OrangeCrab | Lattice ECP5 | LFE5U-25F | 48MHz | USB | 16-bit 128MB SDR | No | No | 4MB QSPI | Yes |
| Pipistrello | Xilinx Spartan6 | XC6SLX45 | 83MHz | FTDI | 16-bit 64MB LPDDR | No | No | 16MB QSPI | Yes* |
| ULX3S | Lattice ECP5 | LFE5U-45F | 50MHz | FTDI | 16-bit 32MB SDR | No | No | 4MB QSPI | Yes |
2020-12-17 12:54:11 -05:00
| TrellisBoard | Lattice ECP5 | LFE5UM5G-85F | 75MHz | FTDI | 32-bit 1GB DDR3 | Gen2 X1* | 1Gbps RGMII | 16MB QSPI | Yes |
2020-07-25 14:21:51 -04:00
| TinyFPGA | Lattice iCE40 | iCE40-LP8K | 16MHz | IOs | No | No | No | 16MB QSPI | No |
2020-12-17 12:54:11 -05:00
\* Present on the board but not yet supported or validated with LiteX.
2020-07-25 14:21:51 -04:00
[> Accelerator boards
---------------------
2020-07-28 11:44:30 -04:00
PCIe accelerators boards that you could use to accelerate your applications, LiteX provides you the essential cores for it: LitePCIe and LiteDRAM along with the LiteX infrastructure to create a design and easily control it/debug it.
2020-07-25 14:21:51 -04:00
| Name | FPGA Family | FPGA device | Sys-Clk | TTY | DRAM | PCIe | Flash |
|----------------|---------------------|---------------|----------|------|-----------------------|---------------|-------------|
2020-07-25 16:17:22 -04:00
| AcornCLE215+ | Xilinx Artix7 | XC7A200T | 125MHz | PCIe | 16-bit 1GB DDR3 | Gen2 X4 | 16MB QSPI |
2020-12-17 12:54:11 -05:00
| ForestKitten33 | Xilinx Ultrascale+ | XCVU33P | 125MHz | PCIe | 2 x 1024-bit 4GB HBM2*| Gen3 X16 | ? |
| BCU1525 | Xilinx Ultrascale+ | XCVU9P | 125MHz | PCIe | 4 x 64-bit DDR4 DIMM | Gen3 X16 | ? |
| AlveoU250 | Xilinx Ultrascale+ | XCU250 | 125MHz | PCIe | 4 x 64-bit DDR4 DIMM | Gen2 X16 | ? |
2021-04-27 17:29:55 -04:00
| AlveoU280 | Xilinx Ultrascale+ | XCU280-ES1 | 150MHz | PCIe* | 2 x 64-bit DDR4 DIMM < BR > 2 x 1024-bit 4GB HBM2* | Gen2 X16 | ? |
2020-07-25 14:21:51 -04:00
2020-12-17 12:54:11 -05:00
\* Present on the board but not yet supported or validated with LiteX.
2020-07-25 14:21:51 -04:00
[> Repurposed hardware
----------------------
2020-07-27 02:53:12 -04:00
Repurposed FPGA hardware that has been "documented" by enthusiasts :), allows you to discover FPGAs for very cheap (starting at 15$)!
2020-07-25 14:21:51 -04:00
2021-08-16 09:36:26 -04:00
| Name | FPGA Family | FPGA device | Sys-Clk | TTY | DRAM | Ethernet | Flash |
|--------------|---------------------|---------------|-----------|------|--------------------|--------------------|-------------|
| SDS1104X-E | Xilinx Zynq | XC7Z020 | 100MHz | Eth | 32-bit 256MB DDR3 | 100Mbps MII | ? |
| Colorlight5A | Lattice ECP5 | LFE5U-25F | 60MHz | IOs | 32-bit 8MB SDR | 2x 1Gbps RGMII | 4MB QSPI |
| Linsn RV901 | Xilinx Spartan6 | XC6SLX16 | 75MHz | IOs | 32-bit 8MB SDR | 2x 1Gbps RGMII | 4MB QSPI |
| PanoLogic G2 | Xilinx Spartan6 | XC6SLX100-150 | 50MHz | IOs | 32-bit 128MB DDR2 | 1Gbps GMII | 16MB QSPI |
| Camlink-4K | Lattice ECP5 | LFE5U-25F | 81MHz | IOs | 16-bit 128MB DDR3 | No | ?MB QSPI |
| EBAZ4205 | Xilinx Zynq | XC7Z010 (28k) | 33.333MHz | IOs | 256MB DDR3 | 100Mbps RMII | 128MB NAND |
2020-07-25 14:21:51 -04:00
The Colorlight5A is a very nice board to start with, cheap, powerful, easy to use with the open-source toolchain, you can find a specific LiteX project [here ](https://github.com/enjoy-digital/colorlite )
2020-12-17 12:54:11 -05:00
\* Present on the board but not yet supported or validated with LiteX.
2020-07-25 14:21:51 -04:00
[> Development boards
---------------------
2021-05-04 19:43:14 -04:00
| Name | FPGA Family | FPGA device | Sys-Clk | TTY | RAM | PCIe | Ethernet | Flash | SDCard |
|----------------|---------------------|---------------|---------|------|--------------------|-----------|----------------|-------------|--------|
| AC701 | Xilinx Artix7 | XC7A200T | 100MHz | FTDI | 64-bit ?MB DDR3 | Gen2 X4 | 1Gbps RGMII | 16MB QSPI | Yes* |
| Aller | Xilinx Artix7 | XC7A200T | 100MHz | PCIe | 16-bit 256MB DDR3 | Gen2 X4 | No | 128MB QSPI | No |
| Arty(A7) | Xilinx Artix7 | XC7A35T | 100MHz | FTDI | 16-bit 256MB DDR3 | No | 100Mbps MII | 16MB QSPI | No |
| ArtyS7 | Xilinx Spartan7 | XC7S50 | 100MHz | FTDI | 16-bit 256MB DDR3 | No | No | 16MB QSPI | No |
| Avalanche | Microsemi PolarFire | MPF300TS | 100MHz | IOs | 16-bit 256MB DDR3 | No | 1Gbps RGMII* | 8MB QSPI* | No |
2021-05-17 04:49:04 -04:00
| Basys3 | Xilinx Artix7 | XC7A35T | 100MHz | FTDI | No | No | No | 4MB QSPI | No |
2021-05-04 19:43:14 -04:00
| C10LPRefKit | Intel Cyclone10 | 10CL055 | 50MHz | FTDI | 16-bit 32MB SDR | No | 100Mbps MII | 16MB QSPI | No |
2021-05-22 15:17:27 -04:00
| CYC1000 | Intel Cyclone10 | 10CL025 | 50MHz | FTDI | 16-bit 64MB SDR | No | No | 16MB QSPI* | No |
2021-05-04 19:43:14 -04:00
| De0Nano | Intel Cyclone4 | EP4CE22F | 50MHz | FTDI | 16-bit 32MB SDR | No | No | No | No |
| De10Lite | Intel MAX10 | 10M50DA | 50MHz | IOs | 16-bit 64MB SDR | No | No | No | No |
| DECA | Intel MAX10 | 10M50DA | 50MHz | JTAG | 16-bit 512MB DDR3* | No | Yes | No | Yes |
| De10Nano | Intel Cyclone5 | 5CSEBA6 | 50MHz | IOs | 16-bit 32MB SDR | No | No | No | Yes |
| Arrow SoCKit | Intel Cyclone5 | 5CSXFC6D6F31C8| 50MHz | JTAG | 32-bit 1GB DDR3* | No | No | No | No |
| De1SoC | Intel Cyclone5 | 5CSEMA5 | 50MHz | IOs | 16-bit 64MB SDR | No | ? | ? | ? |
| De2-115 | Intel Cyclone4 | EP4CE115 | 50MHz | IOs | 16-bit 128MB SDR | No | 1Gbps GMII* | 8MB QSPI | Yes* |
| ECP5-EVN | Lattice ECP5 | LFE5UM5G-85F | 50MHz | FTDI | No | No | ? | ? | ? |
| Genesys2 | Xilinx Kintex7 | XC7K325T | 125MHz | FTDI | 32-bit 1GB DDR3 | No | 1Gbps RGMII | 32MB QSPI* | Yes |
| KC705 | Xilinx Kintex7 | XC7K325T | 125MHz | FTDI | 64-bit 1GB DDR3 | Gen2 X8** | 1Gbps GMII | 32MB QSPI* | Yes |
| KCU105 | Xilinx KintexU | XCKU40 | 125MHz | FTDI | 64-bit 1GB DDR4 | Gen3 X8** | 1Gbps-BASE-X | 64MB QSPI* | Yes |
| KX2 | Xilinx Kintex7 | XC7K160T | 125MHz | FTDI | 64-bit 1GB DDR3 | No | No | 64MB QSPI* | No |
| LiteFury | Xilinx Artix7 | XC7A100T | 100MHz | PCIe | 16-bit 512MB DDR3 | Gen2 X4 | No | 32MB QSPI* | No |
| MachXO3 | Lattice MachXO3 | LCMXO3L-6900C | 125MHz | ? | ? | No | No | ? | No |
| Mercury XU5 | Xilinx ZynqU+ | XCZU2EG | 125MHz | FTDI | 16-bit 512MB DDR4 | No | No | 64MB QSPI* | No |
| Mimas A7 | Xilinx Artix7 | XC7A50T | 100MHz | FTDI | 16-bit 256MB DDR3 | No | 1Gbps RGMII | 16MB QSPI | No |
| Nereid | Xilinx Kintex7 | XC7K160T | 100MHz | PCIe | 64-bit 4GB DDR3 | Gen2 X4 | No | 16MB QSPI | No |
| Nexys4DDR | Xilinx Artix7 | XC7A100T | 100MHz | FTDI | 16-bit 128MB DDR2 | No | 100Mbps RMII | 16MB QSPI* | Yes |
| Nexys Video | Xilinx Artix7 | XC7A200T | 100MHz | FTDI | 16-bit 512MB DDR3 | No | 1Gbps RMII | 32MB QSPI* | Yes |
| QMTech XC7A35T | Xilinx Artix7 | XC7A35T | 100MHz | FTDI | 16-bit 256MB DDR3 | No | 1Gbps GMII** | 16MB QSPI | Yes**|
| SP605 | Xilinx Spartan6 | XC6SLX45T | 100MHz | FTDI | 16-bit 128MB DDR3* | Gen1 X1* | 1Gbps GMII | 8MB QSPI* | Yes* |
| Tagus | Xilinx Artix7 | XC7A200T | 100MHz | PCIe | 16-bit 256MB DDR3 | Gen2 X1 | 1Gbps-BASE-X* | 16MB QSPI* | No |
| VC707 | Xilinx Virex7 | XC7VX485T | 125MHz | FTDI | 64-bit 1GB DDR3 | Gen3 X8* | 1Gbps GMII | 16MB QSPI* | Yes* |
| VCU118 | Xilinx VirtexU+ | XCVU9P | 125MHz | FTDI | 2 x 64-bit 4GB DDR4| Gen3 X16*| 1Gbps SGMII | 16MB QSPI* | Yes* |
| Versa ECP5 | Lattice ECP5 | LFE5UM5G-45F | 75MHz | FTDI | 16-bit 128MB DDR3 | Gen1 X1* | 1Gbps RGMII | 16MB QSPI* | No |
| ZCU104 | Xilinx ZynqU+ | XCZU7EV | 125MHz | FTDI | 64-bit 1GB DDR4 | No | 1Gbps RGMII* | 64MB QSPI* | Yes* |
| Zybo Z7 | Xilinx ZynqU+ | XC7Z010 | 125MHz | FTDI | 64-bit 1GB DDR4 | No | 1Gbps RGMII* | 64MB QSPI* | Yes* |
2020-07-25 14:21:51 -04:00
2020-12-17 12:54:11 -05:00
\* Present on the board but not yet supported or validated with LiteX.
2021-05-04 19:43:14 -04:00
\*\* available on the daughterboard