| # 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") |
| |
| package(default_visibility = ["//visibility:public"]) |
| |
| py_library( |
| name = "bit_ranges", |
| srcs = ["bit_ranges.py"], |
| ) |
| |
| py_library( |
| name = "bool_literal", |
| srcs = ["bool_literal.py"], |
| ) |
| |
| py_library( |
| name = "cache", |
| srcs = ["cache.py"], |
| ) |
| |
| py_library( |
| name = "check", |
| srcs = ["check.py"], |
| ) |
| |
| py_library( |
| name = "constants", |
| srcs = ["constants.py"], |
| deps = [ |
| ":insn_yaml", |
| ":operand", |
| ], |
| ) |
| |
| py_library( |
| name = "control_flow", |
| srcs = ["control_flow.py"], |
| deps = [ |
| ":decode", |
| ":insn_yaml", |
| ":section", |
| ], |
| ) |
| |
| py_library( |
| name = "decode", |
| srcs = ["decode.py"], |
| deps = [ |
| ":elf", |
| ":insn_yaml", |
| ], |
| ) |
| |
| py_library( |
| name = "elf", |
| srcs = ["elf.py"], |
| deps = [ |
| ":mem_layout", |
| ], |
| ) |
| |
| py_library( |
| name = "encoding", |
| srcs = ["encoding.py"], |
| deps = [ |
| ":bool_literal", |
| ":encoding_scheme", |
| "//util/serialize:parse_helpers", |
| ], |
| ) |
| |
| py_library( |
| name = "encoding_scheme", |
| srcs = ["encoding_scheme.py"], |
| deps = [ |
| ":bit_ranges", |
| ":bool_literal", |
| "//util/serialize:parse_helpers", |
| ], |
| ) |
| |
| py_library( |
| name = "information_flow", |
| srcs = ["information_flow.py"], |
| deps = [ |
| ":operand", |
| "//util/serialize:parse_helpers", |
| ], |
| ) |
| |
| py_library( |
| name = "information_flow_analysis", |
| srcs = ["information_flow_analysis.py"], |
| deps = [ |
| ":cache", |
| ":constants", |
| ":control_flow", |
| ":decode", |
| ":information_flow", |
| ":insn_yaml", |
| "//util/serialize:parse_helpers", |
| ], |
| ) |
| |
| py_library( |
| name = "insn_yaml", |
| srcs = ["insn_yaml.py"], |
| deps = [ |
| ":encoding", |
| ":encoding_scheme", |
| ":information_flow", |
| ":lsu_desc", |
| ":operand", |
| ":syntax", |
| "//util/serialize:parse_helpers", |
| ], |
| ) |
| |
| py_library( |
| name = "instruction_count_range", |
| srcs = ["instruction_count_range.py"], |
| deps = [ |
| ":control_flow", |
| ":decode", |
| ], |
| ) |
| |
| py_library( |
| name = "lsu_desc", |
| srcs = ["lsu_desc.py"], |
| deps = [ |
| "//util/serialize:parse_helpers", |
| ], |
| ) |
| |
| py_library( |
| name = "mem_layout", |
| srcs = ["mem_layout.py"], |
| deps = [ |
| ":otbn_reggen", |
| "//util/reggen:reg_block", |
| ], |
| ) |
| |
| py_library( |
| name = "operand", |
| srcs = ["operand.py"], |
| deps = [ |
| ":encoding", |
| ":encoding_scheme", |
| "//util/serialize:parse_helpers", |
| ], |
| ) |
| |
| py_library( |
| name = "otbn_reggen", |
| srcs = ["otbn_reggen.py"], |
| data = ["//hw/ip/otbn/data:all_files"], |
| deps = [ |
| "//util/reggen:ip_block", |
| "//util/reggen:reg_block", |
| ], |
| ) |
| |
| py_library( |
| name = "reg_dump", |
| srcs = ["reg_dump.py"], |
| ) |
| |
| py_library( |
| name = "section", |
| srcs = ["section.py"], |
| deps = [ |
| ":decode", |
| ":insn_yaml", |
| ], |
| ) |
| |
| py_library( |
| name = "syntax", |
| srcs = ["syntax.py"], |
| deps = [ |
| ":operand", |
| ], |
| ) |
| |
| py_library( |
| name = "toolchain", |
| srcs = ["toolchain.py"], |
| ) |