feat(hw/rtl): implement full Top-K CAM search pipeline with serial result output

- add TOPK_K, FIFO_DEPTH, RESULT_SERIAL parameters to cam_params
- add candidate_fifo: synchronous ready/valid FIFO for (row, score) candidates
- add topk_tracker: tracks top-K candidates with clear/ready handshake
- add result_serializer: serializes packed Top-K array into rank-ordered stream
- refactor match_engine_pipeline from 4-state to 8-state Top-K pipeline
- extend cam_top with serial Top-K interface (result_rank/row/score/last)
- add backward-compatible top1_index/top1_score aliases from rank-0 beat
- add comprehensive tests for all new modules
This commit is contained in:
2026-05-19 18:19:05 +08:00
parent 8bcad1f23f
commit e4cbb5e30d
21 changed files with 2152 additions and 124 deletions

View File

@@ -11,6 +11,9 @@ RTL_READ_NOISE := $(RTL_NOISE_MASK) $(RTL_RANDOM) $(RTL_ROOT)/noise/cam_read_noi
RTL_CAM_CORE_BANKED := $(RTL_ROOT)/core/cam_core_banked.sv
RTL_MATCH_ENGINE := \
$(RTL_ROOT)/core/popcount_pipeline.sv \
$(RTL_ROOT)/core/candidate_fifo.sv \
$(RTL_ROOT)/core/topk_tracker.sv \
$(RTL_ROOT)/core/result_serializer.sv \
$(RTL_ROOT)/core/match_engine_pipeline.sv
RTL_CAM_NOISY := \