blob: 9a6d9b88ea657bf3287a03302eca156609d6c4c6 [file] [log] [blame]
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
load("@rules_hdl//verilog:providers.bzl", "verilog_library")
load("//rules:vcs.bzl", "vcs_testbench_test")
exports_files(
srcs = [
"rvv_backend.sv",
"rvv_backend_alu.sv",
"rvv_backend_alu_unit.sv",
"rvv_backend_alu_unit_addsub.sv",
"rvv_backend_alu_unit_execution_p1.sv",
"rvv_backend_alu_unit_mask.sv",
"rvv_backend_alu_unit_mask_viota.sv",
"rvv_backend_alu_unit_other.sv",
"rvv_backend_alu_unit_shift.sv",
"rvv_backend_decode.sv",
"rvv_backend_decode_ctrl.sv",
"rvv_backend_decode_unit.sv",
"rvv_backend_decode_unit_ari.sv",
"rvv_backend_decode_unit_lsu.sv",
"rvv_backend_dispatch.sv",
"rvv_backend_dispatch_bypass.sv",
"rvv_backend_dispatch_ctrl.sv",
"rvv_backend_dispatch_operand.sv",
"rvv_backend_dispatch_opr_byte_type.sv",
"rvv_backend_dispatch_raw_uop_rob.sv",
"rvv_backend_dispatch_raw_uop_uop.sv",
"rvv_backend_dispatch_structure_hazard.sv",
"rvv_backend_div.sv",
"rvv_backend_div_unit_divider.sv",
"rvv_backend_div_unit.sv",
"rvv_backend_lsu_remap.sv",
"rvv_backend_mac_unit.sv",
"rvv_backend_mul_unit.sv",
"rvv_backend_mul_unit_mul8.sv",
"rvv_backend_mulmac.sv",
"rvv_backend_pmtrdt.sv",
"rvv_backend_pmtrdt_unit.sv",
"rvv_backend_retire.sv",
"rvv_backend_rob.sv",
"rvv_backend_vrf.sv",
"rvv_backend_vrf_reg.sv",
"rvv_define.svh",
"rvv.svh",
"Aligner.sv",
"MultiFifo.sv",
"RvvCore.sv",
"RvvFrontEnd.sv",
],
visibility = ["//visibility:public"],
)
verilog_library(
name = "aligner",
srcs = [
"Aligner.sv",
],
visibility = ["//visibility:public"],
)
vcs_testbench_test(
name = "aligner_tb",
srcs = ["Aligner_tb.sv"],
module = "Aligner_tb",
deps = ":aligner",
)
verilog_library(
name = "multififo",
srcs = [
"MultiFifo.sv",
],
visibility = ["//visibility:public"],
)
vcs_testbench_test(
name = "multififo_tb",
srcs = ["MultiFifo_tb.sv"],
module = "MultiFifo_tb",
deps = ":multififo",
)