棋子 · 4 天前

SoC 验证如何减少 Bug

1.前言

在 SoC 验证中,checklist是很重要的一步,要审视下有没有无意间漏掉的检查或者做出的假设。大部分情况下,checklist 总能发现一些 RTL bug,本文给出了检查的思考方向,希望对大家有用,也欢迎大家补充。

2.存在假设

  • 对 TB 的假设
  • 对 IP 只需要验证集成和基础功能就可以?
  • 测试点分解时有做过哪些等价类划分?
  • Memory 调试信号不需要看,有错的话,验证环境会报的?
  • 继承的用例一定没问题?是 golden 的?
  • 如果集成的 IP 没变,验证用例也不需要改动?
  • 对 RTL 的假设
  • IP 是成熟的?
  • IP 功能没有修改?
  • IP 是供应商交付的?
  • 寄存器是脚本产生的,默认值应该不存在问题?
  • 没有改动的代码没有问题?
  • 不同层次验证是否使用相同的 RTL 版本

上述这些假设是否成立,我们该如何证明这些假设是成立的。

3.功能验证

  • IP 的输入信号
  • IP 的输入信号有哪些?是否每根信号都有覆盖过?
  • 是否构建了多个输入同时触发的场景?
  • 输入信号来源于哪些 IP,这些 IP 在各种低功耗场景下给我的信号正确吗?
  • 输入信号来源的 IP 的工作场景和我负责的 IP 有耦合吗?
  • IP 的输出信号
  • IP 的输出信号值是否正确?
  • 每根输出信号是否都正确连接到对应的终点?
  • 输出信号是否是寄存器输出?
  • 中断输出是脉冲还是电平?是否构建了多次中断,且中断是否能被正确消除?
  • 掉电或异常时,输出是否会有毛刺或跳变出现?
  • IP 的工作流程
  • 只验证集成的,集成验证的层次是否正确?是否验证到了 IP 的接口位置?
  • IP 的整体工作流程是怎么样的?
  • 在整个工作流程中,时钟域是否正确,占空比是否合适?
  • 复位域是否正确,复位宽度是否合适?
  • 上电流程是否正确?
  • 下电流程是否正确?
  • 电源域是否正确,掉电钳位值是否正确?
  • 如果有多个时钟源,是否构建了各种频率组合,特别是时钟源之间的最大频率差和最小频率差?
  • 如果有多个电源域,是否构建了各种电源域的组合?
  • 是否构建了多次上下电的场景?
  • 上下电流程波形检查了吗?
  • 是否构建了唤醒的场景?唤醒信号的宽度是否合适?
  • 安全是如何管理的?
  • 会有哪些异常,这些异常是如何管理的?
  • IP 如果在样片上出现问题,该如何 debug 呢?需要的信号通过什么手段得到?如果同时发生其它问题,还能继续 debug 吗?
  • 如果有一个访问挂死,会怎么处理?
  • 总线反压是如何触发的?该如何解反压?
  • RTL 代码我 review 过了吗?如果我是设计人员,我会如何设计这些代码?我考虑了哪些因素,目前的设计人员都考虑了吗?
  • IP 中有异步设计吗?怎么做的?符合规范吗?异步两端的复位是怎么处理的?
  • 多个 master 访问同一个 slave,访问的优先级是否正确,访问地址时怎么处理的?
  • IP 的应用场景
  • IP 的各种应用场景都覆盖了吗?
  • 在各种应用场景中使用哪些输入和输出?以及如果出现了其它输入信号的跳变会怎么样?
  • IP 对外支持的功能是否都验证到了?是否验证了一个功能多次触发的场景?
  • 配置是否支持动态配置?
  • 构建的应用场景是否全面,是否足够复杂,是否考虑了多种场景、异常的组合?
  • 移植的验证用例我修改了哪些?为什么要做这些修改?其它不修改的地方是基于什么考虑?
  • 所有验证用例都了解吗?每一行的作用都明白吗?

4.性能验证

  • 这个 IP 的性能指标有哪些?如何测试的?
  • 性能测试的场景是否充分?
  • 性能是否满足市场使用需求?

5.低功耗验证

  • 有哪些低功耗场景,这些场景都有覆盖吗?
  • 这些低功耗场景是如何切换的(切换过程中是否有时钟、复位等的异常)?
  • 各种低功耗场景对 IP 是什么要求?

6.网表验证

  • exclude 的时序报错是否 review 过?
  • 这个 IP 是否有一些需要综合 keep 的单元?网表中这些都还在吗?

7.后记

上述这些内容我已经整理成思维导图,有需要的话,可以在《专芯致志 er》公众号后台回复SoC关键字自动获取。

END

作者:谷公子
文章来源:专芯致志er

推荐阅读

更多 IC 设计干货请关注IC 设计专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。

推荐阅读
关注数
21035
内容数
1326
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息