欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 资讯 > IC验证工具与经验分享交流

IC验证工具与经验分享交流

2024/12/24 11:43:11 来源:https://blog.csdn.net/weixin_44526273/article/details/143218625  浏览:    关键词:IC验证工具与经验分享交流

UVM 验证工具

✅ 1. VCS

✉ VCS 指的是 Synopsys 的 Verilog Compiled Simulator 工具,其具备极快的仿真速度以及各种各样的 DEBUG 功能支持

✉ VCS 编译,指的是对用户的输入文件来进行编译,最终生成了可执行文件 simv 的编译过程

✉ VCS 仿真,指的是通过交互模式或者 BATCH 模式来操作可执行文件 simv 的仿真过程

✅ 2. VERDI

✉ VERDI 指的是 INC 的 HDL Debug & Analysis Tool 工具

✉ VERDI 最强大的功能在于其能够在 HDL SOURCE CODE + SCHEMATIC + FSM + WAVEFORM、SDB 之间实现快速 TRACE 功能,从而协助设计和验证工程师高效 DEBUG

✉ VERDI 本身是没有模拟器 SIMULATOR 的,必须连接外部的模拟器,如 Verilog XL/MODELSIM 等等来产生 FSDB 文件

在这里插入图片描述

  1. FSDB

✉ FSDB 文件指的是 Fast Signal DataBase,这是 VERDI 支持的波形文件

✅ 4. MAKEFILE

✉ MAKEFILE 核心是文件依赖性,通过一些语法来描述源程序与目标程序之间的依赖关系,同时自动维护编译工作

✉ MAKEFILE 功能是自动化编译,能够实现整个项目的自动化编译,极大地提高了开发者的效率。

UVM 验证技术
✅ 1. 验证的目的

✉ 为了证明 IC 设计的全部功能是否符合应用文档 SPEC 和设计文档 DESIGNSPEC 中描述的功能:可以通过定向测试和定向激励来验证基本功能和基本场景

✉ 为了证明 IC 设计的全部过程是否匹配算法层面 ALGORITHM 和软件层面 SOFTWARE:可以通过定向测试和定向激励来验证基本功能和基本场景

✉ 为了证明 IC 设计的全部场景是否存在状态卡死、组合环路、尖峰脉冲、资源配置等等的问题:可以通过覆盖率驱动、随机/边界/遍历测试以及随机/边界/遍历激励来验证特殊场景

✅ 2. 验证的目标

✉ 定向且随机:减小设计的缺陷和盲点

✉ 按时且保质:保证设计的时间和质量

✉ 完备且收敛:实现设计的交付和产出

✅ 3. 验证的输入

✉ 需求:验证的模块 + 验证的程度 + 验证的时间

✉ 规格:SPECIFICATION.doc

✉ 算法:ALGORITHM.c

✉ 协议:PROTOCOL.pdf

✉ 其它:如内部相关信号等等

✅ 4. 验证的输出

✉ 验证报告:验证的结论,平台的框架,驱动的流程,遍历的配置,随机的约束,注入的错误,收集覆盖率,以及 BUGLIST 记录等等

✉ 验证反标:确认每一项没有达到的检查点,重点标记,评审分析

✉ 覆盖概率:确认每一项没有覆盖到的原因,是否冗余,是否可删

✅ 5. 验证的流程

✉ 验证计划:输入需求之后,拆分 SPEC,分解测试点,规划 TEST CASE,理清平台框架,完成验证计划文档撰写,内部预审,组织评审 REVIEW

✉ 验证设计:按照平台框架和 SPEC 协议算法等设计平台组件,按照 TEST CASE 设计验证用例

✉ 验证实现:按照从简单到复杂的一系列过程,扩大设定范围,进行随机约束,验证待测代码,注入错误,CORNER CASE 仿真,以覆盖率和验证计划为目标,完成验证

✉ 验证结论:达到覆盖率目标之后,收敛补缺,反标计划,查缺补漏,逐条讨论,完成验证报告,讨论改进,直至可下结论

✅ 6. 验证的思想

✉ 流水线

✉ 自动化

✉ 约束发散

✉ 复用集成

✉ 资源集成

UVM验证技术是一种常用的硬件设计验证技术,它是基于SystemVerilog语言的一个开放源代码库,提供了一套验证方法和工具,用于验证硬件设计的功能正确性和性能。通过对UVM验证技术的经验进行分析,可以得出以下几点经验总结:

系统级的验证方法:UVM验证技术基于OVM(Open Verification Methodology)和VMM(Verification Methodology Manual)的验证方法而来,它提供了一种系统级的验证方法,可以模拟整个设计系统,并使用事务级的访问方式进行验证。这种方法可以更好地验证设计的功能正确性,并发现设计中的潜在问题。

重用性和可扩展性:UVM验证技术使用了面向对象的方法,通过使用类和继承的机制,可以实现代码的重用和可扩展。UVM提供了一套标准的类库和接口,可以在不同的项目中共享和重用验证代码,从而提高了验证的效率和可靠性。

高级仿真和调试功能:UVM验证技术提供了许多高级仿真和调试功能,如配置管理、交互式仿真、报告生成等。这些功能可以帮助验证工程师更好地分析和调试设计,提高验证效率。

并发性和可重用性:UVM验证技术支持并发验证,可以同时运行多个验证场景,从而加快验证速度。此外,UVM还提供了可重用的验证组件和测试用例,可以在不同的设计项目中共享和重用,提高了验证的效率和可靠性。

开源社区支持:UVM是一个开放源代码库,有着庞大的开源社区支持。这意味着可以通过与其他验证工程师和开发人员的交流和协作,分享和获取验证技术的最新进展和经验,提高验证的水平和效果。

综上所述,UVM验证技术是一种强大而灵活的验证方法,它可以提供系统级的验证功能、代码重用和可扩展性、高级仿真和调试功能、并发性和可重用性等优点。通过对UVM验证技术的经验进行分析,可以更好地应用这种验证技术,提高硬件设计的验证效率和可靠性。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com