-# https://packaging.python.org/guides/packaging-namespace-packages/#pkgutil-style-namespace-packages
-__path__ = __import__('pkgutil').extend_path(__path__, __name__)
-
import sys
# retro-compat 2019-09-30
sys.modules["litex.soc.integration.cpu_interface"] = export
from litex.tools.litex_client import RemoteClient
+
+def get_data_mod(data_type, data_name):
+ """Get the pythondata-{}-{} module or raise a useful error message."""
+ imp = "import pythondata_{}_{} as dm".format(data_type, data_name)
+ try:
+ l = {}
+ exec(imp, {}, l)
+ dm = l['dm']
+ return dm
+ except ImportError as e:
+ raise ImportError("""\
+pythondata-{dt}-{dn} module not installed! Unable to use {dn} {dt}.
+{e}
+
+You can install this by running;
+ pip install git+https://github.com/litex-hub/pythondata-{dt}-{dn}.git
+""".format(dt=data_type, dn=data_name, e=e))
+++ /dev/null
-# https://packaging.python.org/guides/packaging-namespace-packages/#pkgutil-style-namespace-packages
-__path__ = __import__('pkgutil').extend_path(__path__, __name__)
+++ /dev/null
-def find_data(data_type, data_name):
- imp = "from litex.data.{} import {} as dm".format(data_type, data_name)
- try:
- l = {}
- exec(imp, {}, l)
- dm = l['dm']
- return dm.data_location
- except ImportError as e:
- raise ImportError("""\
-litex-data-{dt}-{dn} module not installed! Unable to use {dn} {dt}.
-{e}
-
-You can install this by running;
- pip install git+https://github.com/litex-hub/litex-data-{dt}-{dn}.git
-""".format(dt=data_type, dn=data_name, e=e))
from migen import *
-from litex.data.find import find_data
+from litex import get_data_mod
from litex.soc.interconnect import axi
from litex.soc.interconnect import wishbone
from litex.soc.cores.cpu import CPU
@staticmethod
def add_sources(platform, variant="standard"):
- filename = os.path.join(find_data("cpu", "blackparrot"), "flist_litex.verilator")
+ filename = get_data_mod("cpu", "blackparrot").data_file(
+ "flist_litex.verilator")
with open(filename) as openfileobject:
for line in openfileobject:
temp = line
from migen import *
-from litex.data.find import find_data
+from litex import get_data_mod
from litex.soc.interconnect import wishbone
from litex.soc.cores.cpu import CPU
@staticmethod
def add_sources(platform, variant):
- vdir = find_data("cpu", "lm32")
+ vdir = get_data_mod("cpu", "lm32").data_location
platform.add_sources(os.path.join(vdir, "rtl"),
"lm32_cpu.v",
"lm32_instruction_unit.v",
from migen import *
-from litex.data.find import find_data
+from litex import get_data_mod
from litex.soc.interconnect import wishbone
from litex.soc.cores.cpu import CPU
@staticmethod
def add_sources(platform):
- sdir = os.path.join(find_data("cpu", "microwatt"), "sources")
+ sdir = os.path.join(
+ get_data_mod("cpu", "microwatt").data_location,
+ "sources")
platform.add_sources(sdir,
# Common / Types / Helpers
"decode_types.vhdl",
from migen import *
-from litex.data.find import find_data
+from litex import get_data_mod
from litex.soc.interconnect import wishbone
from litex.soc.cores.cpu import CPU
@staticmethod
def add_sources(platform):
vdir = os.path.join(
- find_data("cpu", "mor1kx"), "rtl", "verilog")
+ get_data_mod("cpu", "mor1kx").data_location,
+ "rtl", "verilog")
platform.add_source_dir(vdir)
platform.add_verilog_include_path(vdir)
from migen import *
-from litex.data.find import find_data
+from litex import get_data_mod
from litex.soc.interconnect import wishbone
from litex.soc.cores.cpu import CPU
@staticmethod
def add_sources(platform):
- vdir = find_data("cpu", "picorv32")
+ vdir = get_data_mod("cpu", "picorv32").data_location
platform.add_source(os.path.join(vdir, "picorv32.v"))
def do_finalize(self):
from migen import *
-from litex.data.find import find_data
+from litex import get_data_mod
from litex.soc.interconnect import axi
from litex.soc.interconnect import wishbone
from litex.soc.cores.cpu import CPU
@staticmethod
def add_sources(platform, variant="standard"):
- vdir = find_data("cpu", "rocket")
+ vdir = get_data_mod("cpu", "rocket").data_location
platform.add_sources(
os.path.join(vdir, "generated-src"),
CPU_VARIANTS[variant] + ".v",
from migen import *
-from litex.data.find import find_data
+from litex import get_data_mod
from litex.soc.interconnect import wishbone
from litex.soc.interconnect.csr import *
from litex.soc.cores.cpu import CPU
@staticmethod
def add_sources(platform, variant="standard"):
cpu_filename = CPU_VARIANTS[variant] + ".v"
- vdir = find_data("cpu", "vexriscv")
+ vdir = get_data_mod("cpu", "vexriscv").data_location
platform.add_source(os.path.join(vdir, cpu_filename))
def use_external_variant(self, variant_filename):
import struct
import shutil
+from litex import get_data_mod
from litex.build.tools import write_to_file
-from litex.data.find import find_data
from litex.soc.integration import export, soc_core
__all__ = ["soc_software_packages", "soc_directory",
for k, v in exec_profiles.items():
define(k, v)
define(
- "COMPILER_RT_DIRECTORY", find_data("software", "compiler_rt"))
+ "COMPILER_RT_DIRECTORY",
+ get_data_mod("software", "compiler_rt").data_location)
define("SOC_DIRECTORY", soc_directory)
variables_contents.append("export BUILDINC_DIRECTORY\n")
define("BUILDINC_DIRECTORY", self.include_dir)
("migen", ("https://github.com/m-labs/", True, True)),
# LiteX SoC builder
- ('litex-data-software-compiler_rt', ("https://github.com/litex-hub/", False, True)),
+ ("pythondata-software-compiler_rt", ("https://github.com/litex-hub/", False, True)),
("litex", ("https://github.com/enjoy-digital/", False, True)),
# LiteX cores ecosystem
("litex-boards", ("https://github.com/litex-hub/", False, True)),
# Optional LiteX data
- ("litex-data-cpu-blackparrot", ("https://github.com/litex-hub/", False, True)),
- ("litex-data-cpu-mor1kx", ("https://github.com/litex-hub/", False, True)),
- ("litex-data-cpu-lm32", ("https://github.com/litex-hub/", False, True)),
- ("litex-data-cpu-microwatt", ("https://github.com/litex-hub/", False, True)),
- ("litex-data-cpu-picorv32", ("https://github.com/litex-hub/", False, True)),
- ("litex-data-cpu-rocket", ("https://github.com/litex-hub/", False, True)),
- ("litex-data-cpu-vexriscv", ("https://github.com/litex-hub/", False, True)),
- ("litex-data-misc-tapcfg", ("https://github.com/litex-hub/", False, True)),
+ ("pythondata-cpu-blackparrot", ("https://github.com/litex-hub/", False, True)),
+ ("pythondata-cpu-mor1kx", ("https://github.com/litex-hub/", False, True)),
+ ("pythondata-cpu-lm32", ("https://github.com/litex-hub/", False, True)),
+ ("pythondata-cpu-microwatt", ("https://github.com/litex-hub/", False, True)),
+ ("pythondata-cpu-picorv32", ("https://github.com/litex-hub/", False, True)),
+ ("pythondata-cpu-rocket", ("https://github.com/litex-hub/", False, True)),
+ ("pythondata-cpu-vexriscv", ("https://github.com/litex-hub/", False, True)),
+ ("pythondata-misc-tapcfg", ("https://github.com/litex-hub/", False, True)),
]
repos = OrderedDict(repos)
install_requires=[
"migen",
"pyserial",
- "litex-data-software-compiler_rt",
+ "pythondata-software-compiler_rt",
],
packages=find_packages(exclude=("test*", "sim*", "doc*")),
include_package_data=True,