diff --git a/litex/build/xilinx/__init__.py b/litex/build/xilinx/__init__.py index 9d9bc18014..15fc5b6805 100644 --- a/litex/build/xilinx/__init__.py +++ b/litex/build/xilinx/__init__.py @@ -1,2 +1,14 @@ -from litex.build.xilinx.platform import XilinxPlatform, XilinxSpartan6Platform, Xilinx7SeriesPlatform -from litex.build.xilinx.programmer import UrJTAG, XC3SProg, FpgaProg, VivadoProgrammer, iMPACT, Adept +# Platforms. +from litex.build.xilinx.platform import XilinxPlatform +from litex.build.xilinx.platform import XilinxSpartan6Platform +from litex.build.xilinx.platform import Xilinx7SeriesPlatform +from litex.build.xilinx.platform import XilinxUSPlatform +from litex.build.xilinx.platform import XilinxUSPPlatform + +# Programmers. +from litex.build.xilinx.programmer import UrJTAG +from litex.build.xilinx.programmer import XC3SProg +from litex.build.xilinx.programmer import FpgaProg +from litex.build.xilinx.programmer import VivadoProgrammer +from litex.build.xilinx.programmer import iMPACT +from litex.build.xilinx.programmer import Adept diff --git a/litex/build/xilinx/platform.py b/litex/build/xilinx/platform.py index a3f64572df..5716983461 100644 --- a/litex/build/xilinx/platform.py +++ b/litex/build/xilinx/platform.py @@ -17,8 +17,10 @@ class XilinxPlatform(GenericPlatform): bitstream_ext = ".bit" _supported_toolchains = { - "7series" : ["vivado", "f4pga", "yosys+nextpnr"], - "spartan6" : ["ise"], + "spartan6" : ["ise"], + "7series" : ["vivado", "f4pga", "yosys+nextpnr"], + "ultrascale" : ["vivado"], + "ultrascale+" : ["vivado"], } def __init__(self, *args, toolchain="ise", **kwargs): @@ -126,13 +128,22 @@ def get_argdict(cls, toolchain, args): else: return dict() -# Xilinx7SeriesPlatform ----------------------------------------------------------------------------- +# XilinxSpartan6Platform --------------------------------------------------------------------------- + +class XilinxSpartan6Platform(XilinxPlatform): + device_family = "spartan6" + +# Xilinx7SeriesPlatform ---------------------------------------------------------------------------- class Xilinx7SeriesPlatform(XilinxPlatform): device_family = "7series" -# XilinxSpartan6Platform --------------------------------------------------------------------------- +# XilinxUSPlatform --------------------------------------------------------------------------------- -class XilinxSpartan6Platform(XilinxPlatform): - device_family = "spartan6" +class XilinxUSPlatform(XilinxPlatform): + device_family = "ultrascale" + +# XilinxUSPPlatform -------------------------------------------------------------------------------- +class XilinxUSPPlatform(XilinxPlatform): + device_family = "ultrascale+"