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
This commit is contained in:
2026-05-27 13:53:36 +08:00
parent 8b4d4c1b57
commit d6e1b9d8ba
9 changed files with 72 additions and 85 deletions

View File

@@ -80,18 +80,18 @@ default_scenarios: list[Scenario] = [
expected="bit_flip_injected",
),
Scenario(
name="cam_top_read_noise",
name="cam_top_read_path",
kind="cocotb",
module="tests.top.read_noise.test_read_noise",
testcase=None,
params={},
noise_mode="read_noise",
expected="read_perturbed",
noise_mode="read_pass_through",
expected="pure_matching",
),
Scenario(
name="cam_core_banked",
kind="cocotb",
module="tests.test_cam_core_banked",
module="tests.modules.cam_core_banked.test_cam_core_banked",
testcase=None,
params={},
noise_mode="none",
@@ -100,7 +100,7 @@ default_scenarios: list[Scenario] = [
Scenario(
name="match_engine_pipeline",
kind="cocotb",
module="tests.test_match_engine_pipeline",
module="tests.modules.match_engine_pipeline.test_match_engine_pipeline",
testcase=None,
params={},
noise_mode="none",
@@ -109,20 +109,20 @@ default_scenarios: list[Scenario] = [
Scenario(
name="cam_write_noise",
kind="cocotb",
module="tests.test_cam_write_noise",
module="tests.modules.cam_write_noise.test_cam_write_noise",
testcase=None,
params={},
noise_mode="write_noise",
expected="bit_flip_injected",
),
Scenario(
name="cam_read_noise",
name="cam_read_path",
kind="cocotb",
module="tests.test_cam_read_noise",
module="tests.modules.cam_read_noise.test_cam_read_noise",
testcase=None,
params={},
noise_mode="read_noise",
expected="read_perturbed",
noise_mode="read_pass_through",
expected="pass_through",
),
Scenario(
name="ref_model_noise",
@@ -145,11 +145,11 @@ default_scenarios: list[Scenario] = [
_MAKE_DIR: dict[str, str] = {
"cam_top_basic": "top/no_noise",
"cam_top_write_noise": "top/write_noise",
"cam_top_read_noise": "top/read_noise",
"cam_top_read_path": "top/read_noise",
"cam_core_banked": "modules/cam_core_banked",
"match_engine_pipeline": "modules/match_engine_pipeline",
"cam_write_noise": "modules/cam_write_noise",
"cam_read_noise": "modules/cam_read_noise",
"cam_read_path": "modules/cam_read_noise",
}
@@ -493,8 +493,8 @@ def write_summary_md(
lines.append("")
lines.append(
"- **cam_top**: 通过 `cam_top_basic`、`cam_top_write_noise`、"
"`cam_top_read_noise` 三个场景覆盖顶层 CAM 模块的基本功能、"
"写入噪声注入和读取噪声注入路径"
"`cam_top_read_path` 三个场景覆盖顶层 CAM 模块的基本功能、"
"写入噪声注入和读取路径 pass-through"
)
lines.append(
"- **cam_core_banked**: 通过 `cam_core_banked` 场景覆盖"
@@ -513,8 +513,8 @@ def write_summary_md(
"写入噪声注入路径"
)
lines.append(
"- **cam_read_noise**: 通过 `cam_read_noise` 场景独立覆盖"
"读取噪声注入路径"
"- **cam_read_noise**: 通过 `cam_read_path` 场景独立覆盖"
"读取路径 pass-through"
)
lines.append("")
lines.append("## 论文可引用结论草稿")