blob: ea54196558c37f41bdf9a1c2242062792a6255c0 [file] [log] [blame]
# 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",
],
)