[primgen] Make primgen "portable" again Primgen is vendored into Ibex and there we don't have the full directory structure of OpenTitan, but only the primgen folder. To go back into a state where we can vendor primgen into Ibex, this commit does two things: * Move the vendored-in Verible Python code into a subdirectory of primgen. No functional change. * Remove the dependency on check_tool_requirements. We only use that dependency to show the version number of Verible in human-readable output for eventual debugging. I don't think we've ever used this information, so I'm just removing it for now to keep things simple, instead of reimplementing parts of the logic inside primgen. Signed-off-by: Philipp Wagner <phw@lowrisc.org>
diff --git a/hw/ip/prim/util/primgen.py b/hw/ip/prim/util/primgen.py index b7a97cd..1d9d0f8 100755 --- a/hw/ip/prim/util/primgen.py +++ b/hw/ip/prim/util/primgen.py
@@ -5,14 +5,8 @@ import os import sys -_SELF_DIR = os.path.dirname(__file__) -_REPO_TOP = os.path.normpath(os.path.join(_SELF_DIR, '../../../../')) -_UTIL_DIR = os.path.join(_REPO_TOP, 'util/') -_VERIBLE_VERILOG_SYNTAX_PY_DIR = os.path.join( - _REPO_TOP, 'sw/host/vendor/google_verible_verilog_syntax_py/') - -sys.path.append(_UTIL_DIR) -sys.path.append(_VERIBLE_VERILOG_SYNTAX_PY_DIR) +# Make vendored packages available in the search path. +sys.path.append('vendor') import re import shutil @@ -22,7 +16,6 @@ import yaml from mako.template import Template -import check_tool_requirements # noqa try: from yaml import CSafeLoader as YamlLoader, CSafeDumper as YamlDumper @@ -108,7 +101,7 @@ See _parse_module_header() for API details. """ - from verible_verilog_syntax import VeribleVerilogSyntax, PreOrderTreeIterator + from google_verible_verilog_syntax_py.verible_verilog_syntax import VeribleVerilogSyntax, PreOrderTreeIterator parser = VeribleVerilogSyntax() @@ -148,15 +141,6 @@ ports = header.find({"tag": "kPortDeclarationList"}) - try: - # Get Verible version for eventual debugging - tool_requirements = check_tool_requirements.read_tool_requirements() - verible_req = tool_requirements['verible'] - verible_version = verible_req.get_version() - parser_info = f'Verible {verible_version}' - except: - parser_info = f'Verible' - return { 'module_header': header.text, 'package_import_declaration': '\n'.join([i.text for i in imports]), @@ -164,7 +148,7 @@ parameters_list.text if parameters_list else '', 'ports': ports.text if ports else '', 'parameters': parameters, - 'parser': parser_info + 'parser': 'Verible' }
diff --git a/sw/host/vendor/google_verible_verilog_syntax_py.lock.hjson b/hw/ip/prim/util/vendor/google_verible_verilog_syntax_py.lock.hjson similarity index 100% rename from sw/host/vendor/google_verible_verilog_syntax_py.lock.hjson rename to hw/ip/prim/util/vendor/google_verible_verilog_syntax_py.lock.hjson
diff --git a/sw/host/vendor/google_verible_verilog_syntax_py.vendor.hjson b/hw/ip/prim/util/vendor/google_verible_verilog_syntax_py.vendor.hjson similarity index 100% rename from sw/host/vendor/google_verible_verilog_syntax_py.vendor.hjson rename to hw/ip/prim/util/vendor/google_verible_verilog_syntax_py.vendor.hjson
diff --git a/sw/host/vendor/google_verible_verilog_syntax_py/BUILD b/hw/ip/prim/util/vendor/google_verible_verilog_syntax_py/BUILD similarity index 100% rename from sw/host/vendor/google_verible_verilog_syntax_py/BUILD rename to hw/ip/prim/util/vendor/google_verible_verilog_syntax_py/BUILD
diff --git a/sw/host/vendor/google_verible_verilog_syntax_py/print_modules.py b/hw/ip/prim/util/vendor/google_verible_verilog_syntax_py/print_modules.py similarity index 100% rename from sw/host/vendor/google_verible_verilog_syntax_py/print_modules.py rename to hw/ip/prim/util/vendor/google_verible_verilog_syntax_py/print_modules.py
diff --git a/sw/host/vendor/google_verible_verilog_syntax_py/print_tree.py b/hw/ip/prim/util/vendor/google_verible_verilog_syntax_py/print_tree.py similarity index 100% rename from sw/host/vendor/google_verible_verilog_syntax_py/print_tree.py rename to hw/ip/prim/util/vendor/google_verible_verilog_syntax_py/print_tree.py
diff --git a/sw/host/vendor/google_verible_verilog_syntax_py/verible_verilog_syntax.py b/hw/ip/prim/util/vendor/google_verible_verilog_syntax_py/verible_verilog_syntax.py similarity index 100% rename from sw/host/vendor/google_verible_verilog_syntax_py/verible_verilog_syntax.py rename to hw/ip/prim/util/vendor/google_verible_verilog_syntax_py/verible_verilog_syntax.py
diff --git a/sw/host/vendor/google_verible_verilog_syntax_py/verible_verilog_syntax_test.py b/hw/ip/prim/util/vendor/google_verible_verilog_syntax_py/verible_verilog_syntax_test.py similarity index 100% rename from sw/host/vendor/google_verible_verilog_syntax_py/verible_verilog_syntax_test.py rename to hw/ip/prim/util/vendor/google_verible_verilog_syntax_py/verible_verilog_syntax_test.py