SIM_ROOT := $(abspath ../../..) RTL_ROOT := $(abspath $(SIM_ROOT)/../rtl) include $(SIM_ROOT)/mk/rtl-sources.mk TOPLEVEL := result_serializer COCOTB_TEST_MODULES := tests.modules.result_serializer.test_result_serializer VERILOG_SOURCES := $(RTL_ROOT)/core/result_serializer.sv # Allow override from command line (e.g. make TOPK_K=1) TOPK_K ?= 4 EXTRA_ARGS += +define+TOPK_K=$(TOPK_K) export TOPK_K # Parameter-specific build directory so K variants never collide. SIM_BUILD := sim_build/k_$(TOPK_K) include $(SIM_ROOT)/mk/cocotb-common.mk # ── K-specific test targets ────────────────────────────────────────────── # Recompile with K=1 and filter to the K=1 test. .PHONY: test-k1 test-k1: $(MAKE) -B -f Makefile results.xml TOPK_K=1 \ COCOTB_TEST_FILTER=serializer_handles_k1 # Also remove variant build directories on clean. clean:: rm -rf sim_build/k_1