refactor(cam): remove read noise from noise architecture (Phase 2)

- Make cam_read_noise a pass-through module, removing all noise injection logic
- Switch write noise to use noise_mask_bernoulli instead of noise_mask_grouped
- Add state machine to cam_write_noise for mask generation timing
- Remove noise_mask_grouped.sv (no longer needed)
- Remove read noise parameters from cam_noisy and cam_top
- Update simulation and benchmark code to reflect read noise removal
- Sync documentation to reflect Phase 2 architecture
This commit is contained in:
2026-05-26 23:02:22 +08:00
parent e5d13917b2
commit 8b4d4c1b57
29 changed files with 277 additions and 863 deletions

View File

@@ -31,7 +31,7 @@
- `hw/rtl/core/popcount_pipeline.sv`
- `hw/rtl/noise/cam_write_noise.sv`
- `hw/rtl/noise/cam_read_noise.sv`
- `hw/rtl/noise/noise_mask_grouped.sv`
- `hw/rtl/noise/noise_mask_bernoulli.sv`Phase 2 后 read noise 改为 pass-through该模块仅用于 write noise mask 生成)
- `hw/rtl/cam_params.svh`
- `hw/sim/model/ref_model.py`
- `hw/sim/sweep_noise.py`
@@ -129,7 +129,7 @@
- 写入/读取:`hw/rtl/core/cam_core_banked.sv``hw/sim/tests/test_cam_core_banked.py`
- 匹配与 popcount`hw/rtl/core/match_engine_pipeline.sv``hw/rtl/core/popcount_pipeline.sv`
- 噪声模块:`hw/rtl/noise/cam_write_noise.sv``hw/rtl/noise/cam_read_noise.sv`
- 噪声模块:`hw/rtl/noise/cam_write_noise.sv``hw/rtl/noise/cam_read_noise.sv`Phase 2 后 read noise 改为 pass-through实际翻转仅由 write noise 模块产生)
- 参考模型:`hw/sim/model/ref_model.py`
- 集成测试:`hw/sim/tests/test_cam_basic.py`