litex-boards/test/test_targets.py

136 lines
3.7 KiB
Python
Raw Normal View History

# This file is Copyright (c) 2017-2019 Florent Kermarrec <florent@enjoy-digital.fr>
# This file is Copyright (c) 2019 Tim 'mithro' Ansell <me@mith.ro>
# SPDX-License-Identifier: BSD-2-Clause
import subprocess
import unittest
import os
from migen import *
from litex.soc.integration.builder import *
RUNNING_ON_TRAVIS = (os.getenv('TRAVIS', 'false').lower() == 'true')
def build_test(socs):
errors = 0
for soc in socs:
os.system("rm -rf build")
builder = Builder(soc, output_dir="./build", compile_software=False, compile_gateware=False)
builder.build()
errors += not os.path.isfile("./build/gateware/top.v")
os.system("rm -rf build")
return errors
class TestTargets(unittest.TestCase):
# Build simple design for all platforms
def test_simple(self):
platforms = []
# Xilinx Spartan6
platforms.append("linsn_rv901t")
2020-02-03 03:44:22 -05:00
platforms.append("minispartan6")
platforms.append("pipistrello")
2020-02-03 03:44:22 -05:00
platforms.append("sp605")
2020-11-12 08:26:47 -05:00
platforms.append("pano_logic_g2")
# Xilinx Spartan7
platforms.append("arty_s7")
# Xilinx Artix7
platforms.append("ac701")
platforms.append("aller")
2020-02-03 03:44:22 -05:00
platforms.append("arty")
platforms.append("mimas_a7")
platforms.append("netv2")
2020-02-03 03:44:22 -05:00
platforms.append("nexys4ddr")
platforms.append("nexys_video")
platforms.append("tagus")
platforms.append("acorn_cle_215")
platforms.append("marblemini")
# Xilinx Kintex7
2020-02-03 03:44:22 -05:00
platforms.append("genesys2")
platforms.append("kc705")
2020-02-03 03:44:22 -05:00
platforms.append("kx2")
platforms.append("nereid")
# Xilinx Virtex7
platforms.append("vc707")
# Xilinx Kintex Ultrascale
2020-02-03 03:44:22 -05:00
platforms.append("kcu105")
2020-10-06 14:35:03 -04:00
# Xilinx Zynq-7000
platforms.append("zedboard")
2020-11-12 08:26:47 -05:00
platforms.append("zybo_z7")
2020-10-06 14:35:03 -04:00
# Xilinx Zynq Ultrascale+
platforms.append("zcu104")
2020-11-12 08:26:47 -05:00
platforms.append("mercury_xu5")
# Xilinx Virtex Ultrascale+
platforms.append("vcu118")
# Intel Cyclone3
platforms.append("mist")
# Intel Cyclone4
2020-02-03 03:44:22 -05:00
platforms.append("de0nano")
platforms.append("de2_115")
platforms.append("qmtech_ep4ce15")
# Intel Cyclone5
2020-02-03 03:44:22 -05:00
platforms.append("de1soc")
platforms.append("de10nano")
2020-04-08 02:35:33 -04:00
# Intel Cyclone10
2020-04-08 03:59:58 -04:00
platforms.append("c10lprefkit")
2020-04-08 02:35:33 -04:00
# Intel Max10
2020-02-03 03:44:22 -05:00
platforms.append("de10lite")
# Lattice iCE40
2020-02-03 03:44:22 -05:00
platforms.append("fomu_evt")
platforms.append("fomu_hacker")
platforms.append("fomu_pvt")
platforms.append("tinyfpga_bx")
2020-11-12 08:26:47 -05:00
platforms.append("icebreaker")
# Lattice MachXO2
2020-02-03 03:44:22 -05:00
platforms.append("machxo3")
# Lattice ECP5
2020-02-03 03:44:22 -05:00
platforms.append("ecp5_evn")
platforms.append("hadbadge")
platforms.append("orangecrab")
platforms.append("trellisboard")
platforms.append("ulx3s")
platforms.append("versa_ecp5")
platforms.append("colorlight_5a_75b")
2020-11-12 08:26:47 -05:00
platforms.append("colorlight_5a_75e")
platforms.append("camlink_4k")
# Lattice Crosslink NX
platforms.append("crosslink_nx_evn")
platforms.append("crosslink_nx_vip")
# Gowin
platforms.append("tec0117")
# Microsemi PolarFire
2020-02-03 03:44:22 -05:00
platforms.append("avalanche")
2020-02-03 03:44:22 -05:00
for name in platforms:
with self.subTest(platform=name):
cmd = """\
2020-02-03 03:44:22 -05:00
litex_boards/targets/simple.py litex_boards.platforms.{} \
--no-compile-software \
--no-compile-gateware \
2020-01-13 11:00:01 -05:00
--uart-name="stub" \
2020-02-03 03:44:22 -05:00
""".format(name)
subprocess.check_call(cmd, shell=True)