中文 英语
系统与设计
的意见

将UVM的优点扩展到包括AMS: Accellera UVM-AMS标准开发的更新

为模拟和混合信号设计带来可重用的验证组件和刺激。

受欢迎程度

汤姆·菲茨帕特里克和彼得·格鲁夫著

SoC团队可以分为设计组和验证组。对于数字设计,通用验证方法(UVM)最初由Accellera开发,现在标准化为IEEE 1800.2,在过去十年中一直是行业标准。由于大多数SoC设计也具有模拟和混合信号IP块,因此对于验证工程师来说,能够扩展UVM标准以处理模拟/混合信号(AMS)设计将是理想的。Accellera已经开始了工作小组(WG)创建这个新标准,以造福AMS设计师。由于UVM-AMS标准被EDA供应商和IP提供商采用,验证IP可以添加到测试台中,提高芯片项目的质量和生产力。重用验证组件和刺激将提高工作效率,并且使用UVM作为基础允许验证工程师进入混合信号空间。虽然Accellera标准被标记为UVM-AMS,但其重点是一种无论待测设备(DUT)是SPICE、RNM/DMS还是AMS都适用的方法。

AMS仿真包括数字+模拟求解器的联合仿真,或数字+模拟实数模型的事件驱动求解器。

数字UVM示例使用如下所示的虚拟接口,将DUT连接到UVM代理,也称为通用验证组件(UVC)。

UVC有几个部分,每个部分都有以下作用:

  • 排序器——在事务序列之间进行仲裁
  • 驱动器-基于从定序器接收到的事务,控制虚拟接口(intf)上的引脚
  • Monitor -通过intf读取来自DUT的响应
  • 配置-定义排序器、驱动程序和监视器的行为

模拟信号,如正弦波,可以在排序器中仅通过四个值定义:频率、相位、振幅和直流偏置。混合信号环境的UVC需要改变驱动程序的功能,因此它不再直接通过intf驱动DUT引脚,而是将这些正弦波属性传递给物理模块,然后将刺激应用到DUT引脚。这是对传统UVM的突破,但当DUT引脚是混合信号时,这是必需的。在UVM-AMS中,排序器仍将像以前一样操作,但驱动程序现在生成一个请求到新的物理模块以实现刺激。

将理想正弦波与噪声源结合,可以产生更复杂的信号,如下图所示:

UVM-AMS提出了UVC和DUT之间的混合信号(MS)桥接模块,以便使用DUT模拟连接所需的连续变化的模拟信号。MS桥是一个SystemVerilog (SV)包装器模块,具有代理API、SV接口和模拟资源模块。intf在UVC和MS桥之间传递数字和离散信号值。如果只处理实数,则只需要intf。连续模拟信号使用代理,其中对刺激的请求由UVC驱动程序发出,并使用模拟资源实现。如果在离散DUT引脚上使用RNM/DMS,模拟资源可以是SystemVerilog或Verilog描述,或者在连续电DUT引脚上使用Verilog- ams描述。如何驱动出正弦波的实现是这个模拟资源模块的一部分。下面的示例展示了如何将MS桥接和代理插入到传统的UVM环境中。MS桥SV包装器有两个目的:首先,它使UVM使用的SV结构能够与Verilog-AMS模拟资源一起使用;其次,它允许将模拟资源交换为不同的抽象视图,而不需要更改任何其他内容。

当您的测试台需要模拟组件(电容器、电阻器、电感器、二极管、电流源、电压源)时,您可以在模拟资源中将其指定为Verilog-AMS代码,并且这些组件将由代理控制。下面是一个设置和获取电容值的示例,该值显示代理模板API, MS桥模块中的代理实例和UVM配置设置:

该标准提出了四种与Verilog-AMS资源交互的方法,其中三种如下所示。缺少的是一种方法,可以推动更改值的请求,但阻止返回,直到更改完成。在Verilog-AMS中,值从一个值变为另一个值使用渐变而不是阶跃变化。

双开关实例

考虑在我们的DUT中使用实数建模(RNM)的UVM-AMS中的加倍器开关的示例,其中只需要一个虚拟接口(intf),不需要代理。我们驱动两个输入(IN, CK)并监视一个输出(OUT)。

使用实数建模的DUT的SystemVerilog代码写为:

在DUT中模拟同一倍频开关的另一种方法是使用Verilog-AMS或SPICE;我们的MS桥接中的模拟资源然后添加连接模块(CM)到模拟和数字域之间的接口。虽然这似乎是最简洁的解决方案,但连接模块现在控制从intf到DUT引脚的值的转换变化,这不能由UVC控制。此外,如果一些引脚是电流的,而另一些是电压的(或两者的混合),那么连接模块的配置就会出现问题。对于某些用例,这可能已经足够好了。

倍频开关DUT的Verilog-AMS代码语法如下:

倍频开关的第三种选择是在MS桥接中添加一个代理,以控制数字和电气之间的转换,而UVC保持不变。这里的模拟资源是一个自定义编写的模块,它通过代理允许完全控制D2A/A2D边界。

在模拟资源中编写代码时,还使用UVM消息传递为UVM- ams的开发人员和用户报告信息、警告、错误和致命条件是一种最佳实践。UVM包不能直接导入Verilog-AMS模块,但是通过使用upscoping和SystemVerilog包装器(MS桥),这是可能的。这将模拟资源暴露给UVM消息传递系统的全部潜力。

UVM-AMS的动机

计划中的UVM-AMS标准将鼓励EDA和IP供应商的支持,因此他们可以提供预先构建的AMS验证IP,可以轻松集成到UVM-AMS测试台中。通过重用经过验证的验证组件和刺激,AMS验证的生产力和质量是跨新项目的最大好处。UVM-AMS工作组只专注于标准,并向其他人展示如何编写他们自己的验证IP。总之,WG将提供模拟引擎和数字引擎之间通过模拟资源交互的示例,以及Verilog-AMS模块支持UVM消息所需的代码。

UVM为我们的行业提供了巨大的生产力和数字设计的重用优势,而UVM-AMS计划将这些优势扩展到包括标准化的AMS方法,该方法可以扩展,可重用,并促进度量驱动的混合信号验证。在提案阶段,邀请设计和验证界通过参与工作组来影响UVM-AMS的规格。

彼得·格罗夫是SystemVerilog AMS工作组主席和Accellera UVM-AMS工作组成员。他拥有爱丁堡大学工程/电子学硕士学位。



留下回复


(注:此名称将公开显示)

Baidu