|  | # 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_library") | 
|  | load("@ot_python_deps//:requirements.bzl", "requirement") | 
|  |  | 
|  | package(default_visibility = ["//visibility:public"]) | 
|  |  | 
|  | py_library( | 
|  | name = "lib", | 
|  | srcs = ["lib.py"], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "access", | 
|  | srcs = ["access.py"], | 
|  | deps = [":lib"], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "alert", | 
|  | srcs = ["alert.py"], | 
|  | deps = [ | 
|  | ":bits", | 
|  | ":lib", | 
|  | ":signal", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "bits", | 
|  | srcs = ["bits.py"], | 
|  | deps = [ | 
|  | ":lib", | 
|  | ":params", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "bus_interfaces", | 
|  | srcs = ["bus_interfaces.py"], | 
|  | deps = [ | 
|  | ":inter_signal", | 
|  | ":lib", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "clocking", | 
|  | srcs = ["clocking.py"], | 
|  | deps = [":lib"], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "countermeasure", | 
|  | srcs = ["countermeasure.py"], | 
|  | deps = [":lib"], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "enum_entry", | 
|  | srcs = ["enum_entry.py"], | 
|  | deps = [":lib"], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "field", | 
|  | srcs = ["field.py"], | 
|  | deps = [ | 
|  | ":access", | 
|  | ":bits", | 
|  | ":enum_entry", | 
|  | ":lib", | 
|  | ":params", | 
|  | "//util/design/mubi:prim_mubi", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "html_helpers", | 
|  | srcs = ["html_helpers.py"], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "inter_signal", | 
|  | srcs = ["inter_signal.py"], | 
|  | deps = [":lib"], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "ip_block", | 
|  | srcs = ["ip_block.py"], | 
|  | deps = [ | 
|  | ":alert", | 
|  | ":bus_interfaces", | 
|  | ":clocking", | 
|  | ":countermeasure", | 
|  | ":inter_signal", | 
|  | ":lib", | 
|  | ":params", | 
|  | ":reg_block", | 
|  | ":signal", | 
|  | requirement("hjson"), | 
|  | ], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "params", | 
|  | srcs = ["params.py"], | 
|  | deps = [":lib"], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "reg_base", | 
|  | srcs = ["reg_base.py"], | 
|  | deps = [":field"], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "reg_block", | 
|  | srcs = ["reg_block.py"], | 
|  | deps = [ | 
|  | ":access", | 
|  | ":alert", | 
|  | ":bus_interfaces", | 
|  | ":clocking", | 
|  | ":field", | 
|  | ":lib", | 
|  | ":multi_register", | 
|  | ":params", | 
|  | ":register", | 
|  | ":signal", | 
|  | ":window", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "register", | 
|  | srcs = ["register.py"], | 
|  | deps = [ | 
|  | ":access", | 
|  | ":clocking", | 
|  | ":field", | 
|  | ":lib", | 
|  | ":params", | 
|  | ":reg_base", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "multi_register", | 
|  | srcs = ["multi_register.py"], | 
|  | deps = [ | 
|  | ":clocking", | 
|  | ":field", | 
|  | ":lib", | 
|  | ":params", | 
|  | ":reg_base", | 
|  | ":register", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "signal", | 
|  | srcs = ["signal.py"], | 
|  | deps = [ | 
|  | ":bits", | 
|  | ":lib", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "window", | 
|  | srcs = ["window.py"], | 
|  | deps = [ | 
|  | ":access", | 
|  | ":lib", | 
|  | ":params", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "gen_cheader", | 
|  | srcs = ["gen_cheader.py"], | 
|  | deps = [ | 
|  | ":field", | 
|  | ":ip_block", | 
|  | ":multi_register", | 
|  | ":params", | 
|  | ":register", | 
|  | ":signal", | 
|  | ":window", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "gen_dv", | 
|  | srcs = ["gen_dv.py"], | 
|  | deps = [ | 
|  | ":ip_block", | 
|  | ":multi_register", | 
|  | ":register", | 
|  | ":window", | 
|  | requirement("mako"), | 
|  | requirement("pyyaml"), | 
|  | ], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "gen_fpv", | 
|  | srcs = ["gen_fpv.py"], | 
|  | deps = [ | 
|  | ":ip_block", | 
|  | requirement("mako"), | 
|  | requirement("pyyaml"), | 
|  | ], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "gen_html", | 
|  | srcs = ["gen_html.py"], | 
|  | deps = [ | 
|  | ":html_helpers", | 
|  | ":ip_block", | 
|  | ":multi_register", | 
|  | ":reg_block", | 
|  | ":register", | 
|  | ":window", | 
|  | requirement("mistletoe"), | 
|  | ], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "gen_json", | 
|  | srcs = ["gen_json.py"], | 
|  | deps = [requirement("hjson")], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "gen_rtl", | 
|  | srcs = ["gen_json.py"], | 
|  | deps = [ | 
|  | ":ip_block", | 
|  | ":lib", | 
|  | ":multi_register", | 
|  | ":reg_base", | 
|  | ":register", | 
|  | requirement("mako"), | 
|  | ], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "gen_rust", | 
|  | srcs = ["gen_rust.py"], | 
|  | deps = [ | 
|  | ":field", | 
|  | ":ip_block", | 
|  | ":multi_register", | 
|  | ":params", | 
|  | ":register", | 
|  | ":signal", | 
|  | ":window", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "gen_tock", | 
|  | srcs = ["gen_tock.py"], | 
|  | deps = [ | 
|  | ":field", | 
|  | ":ip_block", | 
|  | ":multi_register", | 
|  | ":params", | 
|  | ":register", | 
|  | ":signal", | 
|  | ":window", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "gen_sec_cm_testplan", | 
|  | srcs = ["gen_sec_cm_testplan.py"], | 
|  | deps = [ | 
|  | ":ip_block", | 
|  | requirement("hjson"), | 
|  | requirement("mako"), | 
|  | ], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "gen_selfdoc", | 
|  | srcs = ["gen_selfdoc.py"], | 
|  | deps = [ | 
|  | ":access", | 
|  | ":enum_entry", | 
|  | ":field", | 
|  | ":ip_block", | 
|  | ":multi_register", | 
|  | ":register", | 
|  | ":validate", | 
|  | ":window", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "validate", | 
|  | srcs = ["validate.py"], | 
|  | ) | 
|  |  | 
|  | py_library( | 
|  | name = "version", | 
|  | srcs = ["version.py"], | 
|  | ) |