| # Copyright lowRISC contributors. | |
| # Licensed under the Apache License, Version 2.0, see LICENSE for details. | |
| # SPDX-License-Identifier: Apache-2.0 | |
| load("@rules_python//python:defs.bzl", "py_binary") | |
| load("@ot_python_deps//:requirements.bzl", "requirement") | |
| package(default_visibility = ["//visibility:public"]) | |
| py_library( | |
| name = "utils", | |
| srcs = ["utils.py"], | |
| deps = [ | |
| requirement("hjson"), | |
| requirement("mistletoe"), | |
| requirement("premailer"), | |
| ], | |
| ) | |
| py_library( | |
| name = "sim_utils", | |
| srcs = ["sim_utils.py"], | |
| ) | |
| py_library( | |
| name = "msg_buckets", | |
| srcs = [ | |
| "MsgBucket.py", | |
| "MsgBuckets.py", | |
| ], | |
| deps = [ | |
| ":utils", | |
| ], | |
| ) | |
| py_library( | |
| name = "modes", | |
| srcs = ["Modes.py"], | |
| deps = [ | |
| ":utils", | |
| ], | |
| ) | |
| py_library( | |
| name = "timer", | |
| srcs = ["Timer.py"], | |
| ) | |
| py_library( | |
| name = "status_printer", | |
| srcs = ["StatusPrinter.py"], | |
| deps = [ | |
| requirement("enlighten"), | |
| ], | |
| ) | |
| py_library( | |
| name = "launcher", | |
| srcs = [ | |
| "Launcher.py", | |
| "LauncherFactory.py", | |
| "LocalLauncher.py", | |
| "LsfLauncher.py", | |
| ], | |
| deps = [ | |
| ":utils", | |
| ], | |
| ) | |
| py_library( | |
| name = "deploy", | |
| srcs = ["Deploy.py"], | |
| deps = [ | |
| ":launcher", | |
| ":sim_utils", | |
| ":utils", | |
| requirement("tabulate"), | |
| ], | |
| ) | |
| py_library( | |
| name = "scheduler", | |
| srcs = ["Scheduler.py"], | |
| deps = [ | |
| ":launcher", | |
| ":status_printer", | |
| ":timer", | |
| ":utils", | |
| ], | |
| ) | |
| py_library( | |
| name = "cfg_json", | |
| srcs = ["CfgJson.py"], | |
| deps = [ | |
| ":utils", | |
| ], | |
| ) | |
| py_library( | |
| name = "flow_cfg", | |
| srcs = ["FlowCfg.py"], | |
| deps = [ | |
| ":cfg_json", | |
| ":launcher", | |
| ":scheduler", | |
| ":utils", | |
| requirement("hjson"), | |
| ], | |
| ) | |
| py_library( | |
| name = "oneshot_cfg", | |
| srcs = ["OneShotCfg.py"], | |
| deps = [ | |
| ":deploy", | |
| ":flow_cfg", | |
| ":modes", | |
| ":utils", | |
| ], | |
| ) | |
| py_library( | |
| name = "lint_cfg", | |
| srcs = ["LintCfg.py"], | |
| deps = [ | |
| ":msg_buckets", | |
| ":oneshot_cfg", | |
| ":utils", | |
| requirement("tabulate"), | |
| ], | |
| ) | |
| py_library( | |
| name = "formal_cfg", | |
| srcs = ["FormalCfg.py"], | |
| deps = [ | |
| ":oneshot_cfg", | |
| ":utils", | |
| requirement("hjson"), | |
| requirement("tabulate"), | |
| ], | |
| ) | |
| py_library( | |
| name = "cdc_cfg", | |
| srcs = ["CdcCfg.py"], | |
| deps = [ | |
| ":lint_cfg", | |
| ":msg_buckets", | |
| ":utils", | |
| requirement("tabulate"), | |
| ], | |
| ) | |
| py_library( | |
| name = "rdc_cfg", | |
| srcs = ["RdcCfg.py"], | |
| deps = [ | |
| ":cdc_cfg", | |
| ], | |
| ) | |
| py_library( | |
| name = "testplan", | |
| srcs = ["Testplan.py"], | |
| deps = [ | |
| requirement("hjson"), | |
| requirement("mistletoe"), | |
| requirement("tabulate"), | |
| ], | |
| ) | |
| py_library( | |
| name = "sim_results", | |
| srcs = ["SimResults.py"], | |
| deps = [ | |
| ":testplan", | |
| ], | |
| ) | |
| py_library( | |
| name = "sim_cfg", | |
| srcs = ["SimCfg.py"], | |
| deps = [ | |
| ":deploy", | |
| ":flow_cfg", | |
| ":modes", | |
| ":sim_results", | |
| ":testplan", | |
| ":utils", | |
| requirement("tabulate"), | |
| ], | |
| ) | |
| py_library( | |
| name = "syn_cfg", | |
| srcs = ["SynCfg.py"], | |
| deps = [ | |
| ":oneshot_cfg", | |
| ":utils", | |
| requirement("hjson"), | |
| requirement("tabulate"), | |
| ], | |
| ) | |
| py_library( | |
| name = "cfg_factory", | |
| srcs = ["CfgFactory.py"], | |
| deps = [ | |
| ":cdc_cfg", | |
| ":cfg_json", | |
| ":formal_cfg", | |
| ":lint_cfg", | |
| ":sim_cfg", | |
| ":syn_cfg", | |
| ], | |
| ) | |
| py_binary( | |
| name = "dvsim", | |
| srcs = ["dvsim.py"], | |
| deps = [ | |
| ":cfg_factory", | |
| ":deploy", | |
| ":launcher", | |
| ":timer", | |
| ":utils", | |
| ], | |
| ) |