mirror of
https://github.com/SikongJueluo/Mini-Nav.git
synced 2026-07-12 20:15:31 +08:00
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:
@@ -16,6 +16,8 @@ TOP ?= cam_top
|
||||
NUM_ROWS ?= 4096
|
||||
HASH_BITS ?= 512
|
||||
LANES ?= 8
|
||||
TOPK_K ?= 4
|
||||
FIFO_DEPTH ?= 16
|
||||
OUT_DIR ?= build
|
||||
|
||||
# ── TOP enforcement (only cam_top is supported) ───────────────────────────────
|
||||
@@ -41,7 +43,7 @@ ARTIFACTS := $(HIER_JSON) $(FLAT_JSON) $(SYNTH_V) $(HIER_LOG) $(FLAT_LOG)
|
||||
# ── Yosys command-line defines (always passed) ────────────────────────────────
|
||||
# cam_params.svh uses `ifndef guards, so -D on the Yosys CLI overrides defaults.
|
||||
# Use -D NAME=value syntax (Yosys 0.62); do NOT use -define.
|
||||
YOSYS_DEFINES := -D NUM_ROWS=$(NUM_ROWS) -D HASH_BITS=$(HASH_BITS) -D LANES=$(LANES)
|
||||
YOSYS_DEFINES := -D NUM_ROWS=$(NUM_ROWS) -D HASH_BITS=$(HASH_BITS) -D LANES=$(LANES) -D TOPK_K=$(TOPK_K) -D FIFO_DEPTH=$(FIFO_DEPTH)
|
||||
|
||||
# ── Targets ───────────────────────────────────────────────────────────────────
|
||||
.PHONY: synth hier flat clean
|
||||
|
||||
Reference in New Issue
Block a user