| # 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( | |
| "@kelvin_hw//rules:chisel.bzl", | |
| "chisel_cc_library", | |
| "chisel_library", | |
| "chisel_test", | |
| ) | |
| chisel_library( | |
| name = "library", | |
| srcs = [ | |
| "Library.scala", | |
| ], | |
| visibility = ["//visibility:public"], | |
| ) | |
| chisel_library( | |
| name = "common", | |
| srcs = [ | |
| "Fifo.scala", | |
| "FifoIxO.scala", | |
| "FifoX.scala", | |
| "FifoXe.scala", | |
| "IDiv.scala", | |
| "KelvinArbiter.scala", | |
| "MathUtil.scala", | |
| "Slice.scala", | |
| ], | |
| visibility = ["//visibility:public"], | |
| exports = [ | |
| ":library", | |
| ], | |
| deps = [ | |
| ":library", | |
| "@chipsalliance_rocket_chip//:asyncqueue", | |
| ], | |
| ) | |
| chisel_library( | |
| name = "aligner", | |
| srcs = [ | |
| "Aligner.scala" | |
| ], | |
| resources = [ | |
| "//hdl/verilog/rvv/design:Aligner.sv", | |
| ], | |
| visibility = ["//visibility:public"], | |
| ) | |
| chisel_test( | |
| name = "aligner_test", | |
| srcs = [ | |
| "AlignerTest.scala", | |
| ], | |
| deps = [ | |
| ":aligner", | |
| ], | |
| ) | |
| chisel_library( | |
| name = "scatter_gather", | |
| srcs = [ | |
| "ScatterGather.scala", | |
| ], | |
| visibility = ["//visibility:public"], | |
| ) | |
| chisel_library( | |
| name = "fp", | |
| srcs = [ | |
| "Fp.scala", | |
| ], | |
| visibility = ["//visibility:public"], | |
| deps = [ | |
| ":library", | |
| ], | |
| ) | |
| chisel_library( | |
| name = "fp_test_utils", | |
| srcs = [ | |
| "FpTestUtils.scala", | |
| ], | |
| visibility = ["//visibility:public"], | |
| deps = [ | |
| ":fp", | |
| ], | |
| ) | |
| chisel_library( | |
| name = "instruction_buffer", | |
| srcs = [ | |
| "InstructionBuffer.scala", | |
| ], | |
| visibility = ["//visibility:public"], | |
| deps = [ | |
| ":library", | |
| ":circular_buffer_multi", | |
| ], | |
| ) | |
| chisel_library( | |
| name = "circular_buffer_multi", | |
| srcs = [ | |
| "CircularBufferMulti.scala", | |
| ], | |
| visibility = ["//visibility:public"], | |
| deps = [ | |
| ":library", | |
| ], | |
| ) | |
| chisel_library( | |
| name = "sv_generation_utils", | |
| srcs = [ | |
| "SvGenerationUtils.scala", | |
| ], | |
| visibility = ["//visibility:public"], | |
| deps = [], | |
| ) | |
| chisel_test( | |
| name = "common_test", | |
| srcs = [ | |
| "KelvinArbiterTest.scala", | |
| ], | |
| deps = [ | |
| ":common", | |
| ], | |
| ) | |
| chisel_test( | |
| name = "fp_test", | |
| srcs = [ | |
| "FpTest.scala", | |
| ], | |
| deps = [ | |
| ":fp", | |
| ":fp_test_utils", | |
| ], | |
| ) | |
| chisel_test( | |
| name = "instruction_buffer_test", | |
| srcs = [ | |
| "InstructionBufferTest.scala", | |
| ], | |
| deps = [ | |
| ":instruction_buffer", | |
| ], | |
| ) | |
| chisel_test( | |
| name = "circular_buffer_multi_test", | |
| srcs = [ | |
| "CircularBufferMultiTest.scala", | |
| ], | |
| deps = [ | |
| ":circular_buffer_multi", | |
| ], | |
| ) | |
| chisel_test( | |
| name = "library_test", | |
| srcs = [ | |
| "LibraryTest.scala", | |
| ], | |
| deps = [ | |
| ":library", | |
| ], | |
| ) | |
| chisel_test( | |
| name = "scatter_gather_test", | |
| srcs = [ | |
| "ScatterGatherTest.scala", | |
| ], | |
| deps = [ | |
| ":scatter_gather", | |
| ], | |
| size = "large", | |
| ) | |
| chisel_library( | |
| name = "fma", | |
| srcs = [ | |
| "Fma.scala", | |
| ], | |
| visibility = ["//visibility:public"], | |
| deps = [ | |
| ":common", | |
| ":fp", | |
| ], | |
| ) | |
| chisel_test( | |
| name = "fma_test", | |
| srcs = [ | |
| "FmaTest.scala", | |
| ], | |
| deps = [ | |
| ":fma", | |
| ":fp", | |
| ], | |
| ) | |
| chisel_test( | |
| name = "sv_generation_utils_test", | |
| srcs = [ | |
| "SvGenerationUtilsTest.scala", | |
| ], | |
| visibility = ["//visibility:public"], | |
| deps = [ | |
| ":sv_generation_utils", | |
| ], | |
| ) | |
| chisel_library( | |
| name = "testing", | |
| srcs = [ | |
| "TestingUtils.scala", | |
| ], | |
| visibility = ["//visibility:public"], | |
| ) | |
| chisel_test( | |
| name = "async_queue_smoke_test", | |
| srcs = ["AsyncQueueSmokeTest.scala"], | |
| deps = [ | |
| ":common", | |
| "@chipsalliance_rocket_chip//:asyncqueue", | |
| ], | |
| ) |