blob: a661c3b1a25e7d791e04a22db6ecf575b39a44bc [file] [log] [blame]
# Copyright 2025 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:coco_tb.bzl", "verilator_cocotb_test")
load("//rules:kelvin_v2.bzl", "kelvin_v2_binary")
verilator_cocotb_test(
name = "tutorial",
defines = {
"USE_GENERIC" : "",
},
waves = True,
hdl_toplevel = "CoreMiniAxi",
seed = "42",
test_module = ["tutorial.py"],
verilog_sources = [
"//hdl/chisel/src/kelvin:core_mini_axi_cc_library_verilog"
],
deps = [
"//kelvin_test_utils:core_mini_axi_sim_interface",
],
build_args = [
"-Wno-WIDTH",
"-Wno-CASEINCOMPLETE",
"-Wno-LATCH",
"-Wno-SIDEEFFECT",
"-Wno-MULTIDRIVEN",
"-Wno-CASEOVERLAP",
"-Wno-UNOPTFLAT",
"-Wno-ASCRANGE",
"-Wno-WIDTHEXPAND",
"-Wno-WIDTHTRUNC",
"-Wno-UNSIGNED",
],
data = glob(["**/*.elf"]),
)
verilator_cocotb_test(
name = "hello_world_float_core_mini_axi",
defines = {
"USE_GENERIC" : "",
},
waves = True,
hdl_toplevel = "CoreMiniAxi",
seed = "42",
test_module = ["hello_world_float_core_mini_axi.py"],
verilog_sources = [
"//hdl/chisel/src/kelvin:core_mini_axi_cc_library_verilog"
],
deps = [
"//kelvin_test_utils:core_mini_axi_sim_interface",
],
build_args = [
"-Wno-WIDTH",
"-Wno-CASEINCOMPLETE",
"-Wno-LATCH",
"-Wno-SIDEEFFECT",
"-Wno-MULTIDRIVEN",
"-Wno-CASEOVERLAP",
"-Wno-UNOPTFLAT",
"-Wno-ASCRANGE",
"-Wno-WIDTHEXPAND",
"-Wno-WIDTHTRUNC",
"-Wno-UNSIGNED",
],
data = ["//examples:kelvin_v2_hello_world_add_floats.elf"],
)
kelvin_v2_binary(
name="kelvin_v2_program",
srcs = ["program.cc"],
)