# Copyright 2022 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
#
#     https://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.

MATCHA_SRC_DIR                := $(ROOTDIR)/hw/matcha
MATCHA_OUT_DIR                := $(OUT)/matcha/hw
MATCHA_VERILATOR_TB           := $(MATCHA_OUT_DIR)/sim-verilator/Vmatcha_sim_tb
MATCHA_TESTLOG_DIR            := $(MATCHA_OUT_DIR)/test-log
MATCHA_FPGA_BINARY_DIR        := $(MATCHA_OUT_DIR)/fpga_tests
MATCHA_FPGA_MATCHA_BINARY_DIR := $(MATCHA_FPGA_BINARY_DIR)/matcha
MATCHA_FPGA_KELVIN_BINARY_DIR := $(MATCHA_FPGA_BINARY_DIR)/kelvin
BOOT_ROM_ELF                  := boot_rom.elf

$(MATCHA_OUT_DIR):
	mkdir -p $(MATCHA_OUT_DIR)

## Regenerate Matcha HW files frop IPs and top_matcha definition.
# This target uses Open Titan's autogen tools as well as the HW IPs to generate
# the system verilog files as well as the DV register definition cores and
# system verilog files. The source code is from both hw/opentitan-upstream and
# hw/matcha/, while the output is stored at out/matcha/hw.
#
# This is a dev-only target (not for CI), as it modifies the hw/matcha source
# tree with generated code.
matcha_hw_generate_all: | $(MATCHA_OUT_DIR)
	$(MAKE) -C "$(MATCHA_SRC_DIR)/hw" all

## Build Matcha verilator testbench.
# This target builds the verilator testbench binary from hw/matcha using
# hw/opentitan-upstream as the library. The output is stored in
# out/matcha/hw/.
# This target is compute-intensive. Make sure you have a powerful enough machine
# to build it.
matcha_hw_verilator_sim: $(MATCHA_VERILATOR_TB)

# TODO(ykwang): Copy only needed files into matcha output directory.
# TODO(ykwang): Revise the structure of matcha output directory.
$(MATCHA_VERILATOR_TB): $(MATCHA_OUT_DIR) verilator
	cd $(MATCHA_SRC_DIR) && \
		bazel build //hw:matcha_verilator
	cd $(MATCHA_SRC_DIR) && \
		cp -rf --no-preserve=mode bazel-bin/hw/build.verilator_real/* "$(MATCHA_OUT_DIR)" && \
		chmod +x "$(MATCHA_OUT_DIR)/sim-verilator/Vmatcha_sim_tb"

## Build Matcha FPGA Target for Nexus Board.
# This target builds the FPGA bit file from hw/matcha using
# hw/opentitan-upstream as the library. The output is stored in
# out/matcha/hw/.
# This target is compute-intensive. Make sure you have a powerful enough machine
# and Vivado suporting the latest UltraScale+ device to build it.
matcha_hw_fpga_nexus: | $(MATCHA_OUT_DIR)
	cd $(MATCHA_SRC_DIR) && \
		bazel build //hw/bitstream/vivado:matcha_fpga_nexus
	cd $(MATCHA_SRC_DIR) && \
		find bazel-bin/hw/bitstream/vivado/build.matcha_fpga_nexus/ -regex '.*.\(bit\|mmi\)' \
			-exec cp -f '{}' "$(MATCHA_OUT_DIR)" \;

$(MATCHA_TESTLOG_DIR):
	mkdir -p $(MATCHA_TESTLOG_DIR)

## Build Matcha sw artifacts
#
# Checks the matcha sw code integrity for targets not covered by the verilator
# tests.
#
matcha_sw_all: | $(MATCHA_OUT_DIR)
	cd $(MATCHA_SRC_DIR) && \
	  bazel build --define DISABLE_VERILATOR_BUILD=true --build_tag_filters="-kelvin_fpga,-cheri" \
			//sw/device/...
	cd $(MATCHA_SRC_DIR) && \
	  find "bazel-out/" \( -type f -name "*.elf" -o -name "*.bin" -o -name "*.vmem" \) \
		-exec cp -f --parents "{}" "$(MATCHA_OUT_DIR)" \;

$(MATCHA_FPGA_MATCHA_BINARY_DIR):
	mkdir -p $(MATCHA_FPGA_MATCHA_BINARY_DIR)

## Build test binaries that run on FPGA
matcha_fpga_tests: | $(MATCHA_FPGA_MATCHA_BINARY_DIR)
	cd $(MATCHA_SRC_DIR) && \
		bazel query //sw/device/tests/... \
			| grep 'fpga_nexus' \
			| egrep '_bin$$' \
			| grep -v '/smc:' \
			| grep -v 'kelvin' \
			| grep -v 'example_test_from_rom_rom_prog_fpga_nexus_bin' \
			| xargs bazel build
	cd $(MATCHA_SRC_DIR) && \
		find 'bazel-out/' \
			-type f \
			\( -wholename "*ST-*/*fpga_nexus.elf" -o -wholename "*ST-*/*fpga_nexus.bin" \) \
			-exec cp -f '{}' "$(MATCHA_FPGA_MATCHA_BINARY_DIR)" \;

matcha_fpga_tests_ci: | $(MATCHA_FPGA_MATCHA_BINARY_DIR)
	cd $(MATCHA_SRC_DIR) && \
		bazel query 'attr(tags, "[\[ ]CI[,\]]", //sw/device/tests/...) intersect attr(name, ".*_fpga_nexus_bin", //sw/device/tests/...)' \
			| xargs bazel build
	cd $(MATCHA_SRC_DIR) && \
		find 'bazel-out/' \
			-type f \
			\( -wholename "*ST-*/*fpga_nexus.elf" -o -wholename "*ST-*/*fpga_nexus.bin" \) \
			-exec cp -f '{}' "$(MATCHA_FPGA_MATCHA_BINARY_DIR)" \;

matcha_fpga_tests_ci_flaky: | $(MATCHA_FPGA_MATCHA_BINARY_DIR)
	cd $(MATCHA_SRC_DIR) && \
		bazel query 'attr(tags, "[\[ ]CI_FLAKY[,\]]", //sw/device/tests/...) intersect attr(name, ".*_fpga_nexus_bin", //sw/device/tests/...)' \
			| xargs bazel build
	cd $(MATCHA_SRC_DIR) && \
		find 'bazel-out/' \
			-type f \
			\( -wholename "*ST-*/*fpga_nexus.elf" -o -wholename "*ST-*/*fpga_nexus.bin" \) \
			-exec cp -f '{}' "$(MATCHA_FPGA_MATCHA_BINARY_DIR)" \;

$(MATCHA_FPGA_KELVIN_BINARY_DIR):
	mkdir -p "$(MATCHA_FPGA_KELVIN_BINARY_DIR)"


## Build Matcha Kelvin SW FPGA test artifacts
#
# Build kelvin artifacts and package it in a tarball and ready for use on the FPGA
# The output is at out/matcha/hw/fpga_tests/kelvin
#
matcha_kelvin_fpga_tarballs: kelvin_sw | $(MATCHA_FPGA_KELVIN_BINARY_DIR)
	cd $(MATCHA_SRC_DIR) && \
	  bazel build --define DISABLE_VERILATOR_BUILD=true \
			@kelvin-binary//...
# Copy the tarballs and sc binary to out/.
	cd $(MATCHA_SRC_DIR) && \
		find "bazel-out/" -type f -wholename "*fastbuild-*/sw/device/tests/kelvin/fpga_tests/kelvin_test_sc_extflash_fpga_nexus.bin" |\
			xargs -I {} cp -f {} "$(MATCHA_FPGA_KELVIN_BINARY_DIR)"
	cd $(MATCHA_SRC_DIR) && \
		find "bazel-bin/external/kelvin-binary" -name "*.tar" |\
			xargs -I {} cp -f {} "$(MATCHA_FPGA_KELVIN_BINARY_DIR)"


## Build opentitantool for matcha FPGA tests
opentitantool_pkg: | $(MATCHA_OUT_DIR)
	cd $(MATCHA_SRC_DIR) && \
	  bazel build //sw:opentitantool_pkg
	cd $(MATCHA_SRC_DIR) && \
		cp -f bazel-bin/sw/opentitantool_pkg.tar.gz $(MATCHA_OUT_DIR)

## Build and run matcha verilator test suite
#
matcha_hw_verilator_tests: verilator | $(MATCHA_TESTLOG_DIR)
	cd $(MATCHA_SRC_DIR) && \
		bazel test --test_output=errors --test_timeout=180,600,1800,3600 \
			--local_test_jobs=HOST_CPUS*0.25 \
			--//hw:make_options=-j,16 \
			//sw/device/tests:verilator_test_suite
	cd $(MATCHA_SRC_DIR) && cp -rf "bazel-testlogs/sw" "$(MATCHA_TESTLOG_DIR)"

## Build the boot ROM image
#
# This builds the HW boot rom executable for simulation.
# Source is in hw/matcha, while output is placed in
# out/matcha/hw/
multihart_boot_rom:  | $(MATCHA_OUT_DIR)
	cd $(MATCHA_SRC_DIR) && \
		bazel build --config=riscv32 //sw/device/lib/testing/test_rom:matcha_test_rom_no_otp_fpga_nexus.elf
	cd $(MATCHA_SRC_DIR) && \
		find "bazel-out/" -wholename "*test_rom/matcha_test_rom_no_otp_fpga_nexus.elf" \
		-exec cp -f '{}' "$(MATCHA_OUT_DIR)/$(BOOT_ROM_ELF)" \;

## Clean Matcha HW artifact
matcha_hw_clean:
	rm -rf $(MATCHA_OUT_DIR)
	cd $(MATCHA_SRC_DIR) && \
		bazel clean --expunge

## Build the spi_passthough binary
#
# This builds the spi_passthrough_fpga_nexus.bin binary that can be used to
# write flash tarballs to the nexus SPI boot flash. The binary will be copied
# to out/spi_passthrough_fpga_nexus.bin
spi_passthrough: | $(OUT)
	cd $(MATCHA_SRC_DIR) && \
	  bazel build --define DISABLE_VERILATOR_BUILD=true \
		sw/device/examples/spi_passthrough
	find "$(MATCHA_SRC_DIR)/bazel-out/" -type f -wholename "*fastbuild-*/sw/device/examples/spi_passthrough/spi_passthrough_fpga_nexus.bin" |\
			xargs -I '{}' cp -f '{}' "$(OUT)"

## Fetch latest Nexus bitstream and matching opentitantool
latest_bitstream: | $(OUT)
	curl https://storage.googleapis.com/shodan-public-artifacts/nexus-bitstream_latest.tar.gz -o $(OUT)/nexus-bitstream.tar.gz
	tar -C $(OUT) -xf $(OUT)/nexus-bitstream.tar.gz
	tar -C $(OUT) -xf $(OUT)/results/matcha_fpga_nexus_smoketest.tar.gz
	curl https://storage.googleapis.com/shodan-public-artifacts/opentitantool_pkg_latest.tar.gz -o $(OUT)/opentitantool_pkg.tar.gz
	tar -C $(OUT) -xf $(OUT)/opentitantool_pkg.tar.gz

.PHONY:: matcha_hw_verilator_sim matcha_hw_clean matcha_hw_verilator_tests
.PHONY:: matcha_sw_all opentitantool_pkg
.PHONY:: matcha_hw_fpga_nexus matcha_kelvin_fpga_tarballs
.PHONY:: multihart_boot_rom
.PHONY:: spi_passthrough
.PHONY:: latest_bitstream
