| # 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", | 
 |     ], | 
 | ) |