芯片老化验证流程

编程入门 行业动态 更新时间:2024-10-24 22:19:28

<a href=https://www.elefans.com/category/jswz/34/1769159.html style=芯片老化验证流程"/>

芯片老化验证流程

验证的目标是什么?如果你回答“发现bug”,只是部分正确。

设计的目标是基于设计规范设计执行特定功能的芯片。

验证的目标是为了确保芯片能够成功完成该任务,也就是说,设计是否准确地反映了设计规范。

bug是设计和设计规范不一致的地方。

验证过程与设计过程是并行的。设计者根据模块的硬件设计规范,解释人类语言描述,并以工具可读的形式描述出相应的逻辑(RTL代码)。

在人类语言描述的设计文档中总有含糊不清的地方。验证工程师必须仔细阅读硬件设计规范,创建验证计划,然后按照它开始验证,查看RTL代码是否符合自己对设计规范地理解,是否正确地实现了这些功能。

设计中潜伏着哪些类型的bug?

最容易检测的bug在由某一个人设计的模块里面。例如, ALU是否正确地完成了两个数字的加法?总线事务是否都成功完成了?

我们不可能编写定向测试来发现这些错误。

在模块验证之后,我们需要验证模块的边界。对于给定的协议,不同的设计者可能会给出不同的解释。第一个设计师根据一种协议的解释设计了一个总线驱动模块,而第二个设计者用另一种协议的解释设计了一个总线接收模块。

我们需要找到有争议的逻辑,以帮助调和这两种不同的解释。

在仿真单个设计模块是,需要创建生成的测试激励。这些low level仿真运行得非常快。当开始整合设计模块时,它们可以互相提供激励,这时可能会发现更多的bug。测试平台应该尽力让所有的模块同时工作。例如,如果在MP3播放器正在播放音乐时,用户试图下载音乐会发生什么?在下载音乐期间,用户按下播放器上的几个按钮会发生什么?

这种功能验证使得产品更加易于使用。

在确保DUT正确地执行指定功能后,需要看看在非正常操作时它是如何工作的。设计是否可以处理部分事务,或者处理数据字段或控制字段损坏的事务?设计如何从错误的工作状态中恢复。

错误注入和处理可能是验证中最具挑战性的部分。

随着设计层次的抽象,验证挑战也越来越多。

最后:你永远无法证明没有错误,所以你需要不断提出新的验证策略。

更多推荐

芯片老化验证流程

本文发布于:2024-02-14 03:55:47,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1761941.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:芯片   流程

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!