系统与设计
的意见

U.V.M.法术减免

轻松创建健壮的测试环境。

受欢迎程度

验证可以是一个很难解决的问题。设计在规模和复杂性,工程师很难证实他们的设计表现正常。这就是UVM可能会提供一些缓解。UVM旨在提供一个更简单、更灵活的办法创建健壮的测试环境,这样您就可以毫不费力地验证这些困难的设计。

UVM是什么?
UVM验证方法是基于早期验证方法(OVM技术2.1.1节奏和指导开发的图形)。Accellera使用这个OVM技术基础,持续发展,现在认为它作为一个更现代和UVM更新版本。明白地,UVM SystemVerilog代码库,目的是帮助工程师编写有效的测试和验证环境。你可以下载UVM类库代码,用户指南和参考文档从Accellera的网站。

关键UVM的好处:

1。约束随机刺激——问题是:测试所有可能的组合设计的信号需要太长时间来模拟。UVM地址通过限制刺激特定的价值观和随机的特定情况下最大覆盖。控制你在测试模式生成是前所未有的。生成自定义的信号序列,将你的设计所需的角落与UVM情况下是很容易的。
2。代码重用——UVM旨在提供大量的“样板”的代码可以重用。不再需要为每个不同的设计从头开始。有效的利用你的时间通过复制和粘贴来验证环境从以前的项目,只是做一些小的调整。
3所示。采用标准的验证方法——UVM遍布,验证你的设计使用标准方法提供了工程社区之间的一致性。验证环境将理解其他工程师,包括团队成员。发送你的文件给别人而不需要解释你的验证方法。你甚至能够排除验证环境通过访问论坛致力于UVM信息。

UVM是如何工作的呢?
UVM类库提供了所有必要的工具来开始创建一个有效的和可重用的测试环境。图1中的图像显示了一些图书馆内的类和方法。

blog_img_120215_01
图1 - UVM类图

说实话,这乍看起来可能是令人生畏的,因为有许多不同的组件,但是一旦你熟悉UVM的结构和每个组件的特定角色,事情变得容易很快,因为它仍然是通常使用的相同的验证流程,除了更多的组织和模块化。

使用UVM升级你的验证
典型的Non-UVM验证流涉及到:

1。实例化测试设计(DUT)。
2。生成和应用测试DUT的刺激。
3所示。观察输出来确定设计产生正确的结果。

UVM也这样做,但更系统和更区分任何验证码你写一个设计可能是其他处理的设计。让我们看一个非常基本的UVM testbench体系结构和它的一些组件。

blog_img_120215_02
图2 -典型UVM Testbench架构

典型的使用UVM验证流/体系结构:

1。实例化测试设计(DUT)及其接口(s)。

。一个接口是一组信号/与指定的目的港口,例如:

我控制信号。
二世。数据信号
三世。通信信号

2。实例化将房子测试组件的测试类。

一个序列,描述测试刺激行为。
与一个配置数据库b。环境——类似于硬件描述语言(VHDL)传递参数或泛型。

我代理的房子:

1。测序——需要事务序列(从测试类)和过滤驱动程序。
2。司机——应用序列事务(测试刺激)到DUT通过接口。
3所示。监控——捕获输出事务从DUT界面。

二世。使用记分板检查设计的正确性得到值监控,与期望值进行比较。

许多主流模拟器已经提供功能来适应你UVM努力,包括Aldec Riviera-PRO。

blog_img_120215_04
Riviera-PRO UVM图

的Riviera-PRO UVM图允许用户通过提供一个更好的理解他们的验证环境UVM层次结构的图形表示。

灯笼裤迟到了?
UVM可以提供所有的好处,仍然有争论与不采用者说明如下UVM是复杂的和学习一种新的验证方法将太长了。

是的,学习UVM将花一些时间和精力,但从长远来看,这将是值得的。设计的EDA行业正以令人难以置信的速度增长,并确保这些设计没有错误是一个巨大的任务。采用UVM迟早会确保你拥有的技能和知识能够验证日益复杂的设计和呆在适应这个行业。Aldec甚至提供了一个快速通道UVM培训课程和在线研讨会帮助你了解更多关于UVM。

有信心应对设计吗
UVM组织验证范式和提供了一组工具来促进有效的验证。与验证过程变得更加优化UVM下,随着行业继续采用标准,验证只会让它变得容易。

了解更多关于Riviera-PRO先进的验证方案,点击在这里。更多地了解UVM加速度,点击在这里



留下一个回复


(注意:这个名字会显示公开)

Baidu