首页 > 最新动态 > “万众一芯”开源芯片众包验证 | UT验证第3期:ITLB模块验证,开启报名!
最新动态
“万众一芯”开源芯片众包验证 | UT验证第3期:ITLB模块验证,开启报名!
2025-03-044

收录于话题

#万众一芯

“ 芯片设计工作中的一大挑战是芯片验证。“万众一芯”项目是为探索开源硬件众包验证可能性、降低芯片验证成本、吸引软件工程师参与到硬件工作而发起的,面向全球的芯片设计开源众包验证项目。

2025年,我们基于开源高性能RISC-V处理器核“香山”的最新架构,持续发布众包任务。通过参与活动,你不仅可以深入了解高性能处理器设计、赢取奖金,还有机会进入贡献排行榜、获得实习Offer、RISC-V中国峰会差旅补贴,为开源芯片的发展贡献力量。


/本期任务/

UT验证第3期:ITLB模块验证

本期验证实战任务将帮助学习香山昆明湖架构中TLB模块的设计,并接触MMU模块中除TLB外的其它内容,了解使用RISC-V指令架构设计模块的一般思路。关注“万众一芯小助手”,学习前沿验证知识,了解更多验证活动。

图片
(↑扫码立即报名↑)
TLB模块为translation lookaside buffer的缩写,是MMU模块的一部分。MMU模块即memory management unit,负责虚拟内存地址向物理内存地址的映射,这种映射将通过多级页表存放在内存中,TLB则是处理器访问该页表的一个加速硬件,用于存储部分使用更为频繁的页表条目,以加速处理器的内存访问过程。在工作流程中,TLB将负责接收需要存储的页表映射并将其暂存,再次访问时就会命中TLB并快速返回结果。
具体可详见 ITLB 文档https://open-verify.cc/UnityChipForXiangShan/docs/98_ut/01_frontend/02_itlb/

/奖励说明/

根据您选择的任务难度及完成情况,将会获得数额不等的奖金(本期奖金池7000),您的努力将会获得回报。

此外,如果您在验证过程中首次找到了bug并联系我们确认后,根据bug实际情况,还会获得额外的奖金??

01 参与验证
在本期ITLB验证任务中,由于ITLB本身为MMU子模块,将不再按模块进行划分任务,参与本期验证时将需要验证完整的ITLB模块。我们将通过测试完整度(覆盖率等)进行分级,在验证过程中,您将需要按自选的功能点自行划分测试点进行测试,功能点及对应难度如下:
功能分类
功能点
详细描述
难度
请求处理
TLB接收请求
接收来自CPU的虚拟地址转换请求,解析请求类型(读/写/执行)
2/10
命中与未命中处理
TLB miss处理
未命中时触发页表遍历(Page Table Walk),加载缺失条目到TLB并重试转换
4/10

TLB hit处理
命中时直接返回物理地址及权限信息,完成地址转换
4/10
缓存管理
替换策略
采用PLRU算法淘汰旧条目,为新条目腾出空间
8/10

TLB缓存大小
支持存储条目的最大数量,影响命中率和硬件成本
6/10

TLB压缩
合并相邻条目或编码优化,提升空间利用率
4/10
维护操作
刷新
支持全TLB刷新(如ASID切换)或指定条目刷新(通过INVTLB指令)
5/10

Reset
上电或复位时清空所有TLB条目,重置内部状态
1/10
安全与异常
权限检查
验证请求的操作类型(读/写/执行)是否符合页表条目中的权限标记
6/10

异常处理
触发Page Fault(权限违规/缺页)或TLB异常(无效条目),转交异常处理单元
3/10

隔离
通过ASID(地址空间标识符)隔离不同进程/虚拟机的TLB条目,避免信息泄露
5/10
性能优化
并行访问
全相联结构支持同时查找多个条目,降低访问延迟
3/10

大小页支持
支持混合页大小(如4KB/2MB/1GB),减少TLB覆盖范围不足的瓶颈
4/10
物理设计
时序
满足处理器流水线时序要求,通常设计为1-3周期延迟,影响关键路径和主频
3/10
注:若您对功能点有所补充,也可自行划分

02 BUG报告

若您在进行验证的过程中发现BUG,可通过UnityChipForXiangShan仓库中的BUG REPORT模板通过提issue的方式进行BUG报告。提交BUG时,请先在label中选择bug need to confirm标签,然后使用label提供的四种bug分级(minor、normal、serious、critical)中自行选择您认为最符合的分级并使用ut_fronted.mmu.itlb标签,若您对GitHub使用存在问题,也可以直接在QQ群(群号:976081653)中提出,我们承诺将保护您的知识产权不受侵犯,仅首次报告的BUG有效。通过Report Bug,在我们确认并评估后,您将可能获得额外的奖励。

03 提交说明

在您认为验证完成后,需要向我们提交如下成果:

  1. 代码仓库链接或压缩包。我们推荐使用GitHub托管您的代码,也可提交压缩包。提交前请务必确保您的代码正常运行,并在README.md文件中注明所有测试用例的运行方式,以便我们进行测试。若您使用GitHub并向我们提交链接,请注明代码版本,我们将使用您所注明的版本号下载您的代码。若您在提交后发生了必要的代码更改,请务必及时说明。

  2. 测试用例及其说明。通过尽可能简洁的任何形式说明您所划分的每个用例。

  3. 验证报告。

  4. 测试点表格。验证工作中常用表格记录测试点及其完成情况,在 QQ 群文档中将给出示例的表格,在验证过程中请及时填写与维护。

将上述四项内容打包并发送邮件至 bidingjun21@mails.ucas.ac.cn 即可,最终提交的目录结构要求如下:
图片


↓ 扫码填写报名问卷,参与本期任务 ↓
图片

↓ 加入活动官方qq群,获取支持与指导 ↓ 

图片
  • 关注“万众一芯小助手”,了解最新活动
  • “万众一芯”官网:open-verify.cc
  • GitHub:https://github.com/XS-MLVP/UnityChipForXiangShan

  • GitLink:https://www.gitlink.org.cn/XS-MLVP/UnityChipForXiangShan

点我访问原文链接