Files
SikongJueluo d6e1b9d8ba refactor(cam): rename read-noise path to read-pass-through and reorganize test module structure
- Rename `read_noise` scenarios and noise_mode to `read_pass_through` across
  run_cam_correctness.py, test_run_cam_correctness.py, and Makefiles
- Update RTL comment in match_engine_pipeline.sv to reflect pass-through behavior
- Move unit-level cocotb tests from `tests.test_*` flat namespace to
  `tests.modules.*` and `tests.top.*` subdirectory layout, matching actual
  Makefile paths (hw/sim/tests/modules/..., hw/sim/tests/top/...)
- Remove redundant dual-noise subtarget from read_noise/Makefile
- Update help text and docs to reflect read-path pass-through semantics
- Add .codegraph to .gitignore
2026-05-27 16:34:34 +08:00

59 lines
1.9 KiB
Makefile

PYTHON ?= python
MODULE_TESTS := cam_core_banked candidate_fifo match_engine_pipeline cam_write_noise cam_read_noise popcount_pipeline topk_tracker result_serializer
TOP_CONFIGS := no_noise write_noise read_noise
.PHONY: help test-all test-top test-top-all test-modules test-module test-model test-perf clean $(MODULE_TESTS:%=test-module-%) $(TOP_CONFIGS:%=test-top-%) test-benchmark-retrieval
help:
@echo "Available hw/sim targets:"
@echo " make test-model"
@echo " make test-top # 默认运行所有顶层配置"
@echo " make test-top-all # 运行所有顶层配置"
@echo " make test-top-no_noise # 无噪声集成测试"
@echo " make test-top-write_noise # 写入噪声集成测试"
@echo " make test-top-read_noise # 读取路径 pass-through 集成测试"
@echo " make test-module MODULE=cam_core_banked"
@echo " make test-modules"
@echo " make test-perf"
@echo " make test-benchmark-retrieval # 检索质量 benchmark(非默认)"
@echo " make test-all"
@echo " make clean"
test-all: test-model test-top-all test-modules
test-top: test-top-all
test-top-all: $(TOP_CONFIGS:%=test-top-%)
$(TOP_CONFIGS:%=test-top-%):
$(MAKE) -C tests/top/$(@:test-top-%=%)
test-modules: $(MODULE_TESTS:%=test-module-%)
test-module:
@test -n "$(MODULE)" || (echo "Usage: make test-module MODULE=<name>"; exit 2)
$(MAKE) -C tests/modules/$(MODULE)
$(MODULE_TESTS:%=test-module-%):
$(MAKE) -C tests/modules/$(@:test-module-%=%)
test-model:
env -u PYTHONPATH -u PYTHONHOME $(PYTHON) -m pytest tests/model -q
test-perf:
$(MAKE) -C tests/perf
test-benchmark-retrieval:
$(MAKE) -C benchmarks/retrieval
clean:
@for config in $(TOP_CONFIGS); do \
$(MAKE) -C tests/top/$$config clean || exit $$?; \
done
@for module in $(MODULE_TESTS); do \
$(MAKE) -C tests/modules/$$module clean || exit $$?; \
done
$(MAKE) -C benchmarks/retrieval clean
$(MAKE) -C tests/perf clean
rm -rf .pytest_cache tests/model/.pytest_cache