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
