Skip to content

Fix mainpipe agent bug and enhance verification coverage (#mainpipe)#191

Open
Gui-Yue wants to merge 1 commit intoXS-MLVP:mainfrom
Gui-Yue:fix/mainpipe-verification-enhancement
Open

Fix mainpipe agent bug and enhance verification coverage (#mainpipe)#191
Gui-Yue wants to merge 1 commit intoXS-MLVP:mainfrom
Gui-Yue:fix/mainpipe-verification-enhancement

Conversation

@Gui-Yue
Copy link
Contributor

@Gui-Yue Gui-Yue commented Feb 11, 2026

MainPipe 模块验证增强,包含以下改动:

  1. 修复 Agent Bugagent/mainpipe_agent.py 第541-542行,Python
    属性名含非法字符(点号)self._debug_mshr_toffee.infoed_detail,导致
    monitor_s2_mshr_match_status() 静默返回空字典,CP18 测试中 s2_MSHR_hits_1 始终为
    False。修复为 self._debug_mshr_infoed_detail

  2. 功能覆盖率 100%:添加 test_cp19_7_itlb_l2_both_priority 独立测试覆盖
    CP19.7(ITLB+L2同时异常,ITLB优先),通过 respStall 控制 s1_fire 使 s2_l2_corrupt
    可被置位。功能覆盖率从 59/60 提升至 60/60。

  3. 添加反标(mark_function):为全部 24 个测试用例添加 mark_function()
    调用,建立测试用例与功能覆盖点的映射关系。

  4. 行覆盖率提升:在 CP11 中新增测试点 11.5(waymask_0=0x8,Way 3 命中,覆盖
    s2_waymasks_0_3);在 CP16 中新增测试点 16.2b(Bank 6 ECC 错误,覆盖
    s2_bank_corrupt_6);在 CP14 中新增测试点 14.5(增强信号路径覆盖);在 CP20
    中新增测试点 20.5(多地址偏移 bankSel 覆盖)。ICacheMainPipe.v 所有可覆盖的正常 RTL
    逻辑行已全部覆盖。

  5. 更新验证报告:更新覆盖率数据,补充 RTL 生成工具(CIRCT firtool-1.62.1)产生的 18
    行结构性不可达死代码(bankSel_*_13/_14)的分析说明。

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

How Has This Been Tested?

  • make test target=ut_frontend/icache/mainpipe/ 全部 24/24 测试通过
  • 功能覆盖率 60/60 bins = 100%
  • ICacheMainPipe.v 可覆盖正常逻辑行覆盖率 100%(剩余未覆盖行为 208 行 assertion 块 +
    18 行 RTL 工具死代码)

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant