路科验证的个人空间 https://blog.eetop.cn/1561828 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

UVM在模拟电路的应用

已有 1606 次阅读| 2016-11-6 21:42 |个人分类:验证前沿资讯|系统分类:芯片设计

相比于高度自动化的验证方法在数字领域的广泛应用,验证在模拟领域却意味着大量的手工工作和计算量。因为对于顶层验证,高精度的SPICE模型通常是不必要的,因此,它们经常被替换为适当的行为模型。这一调整显著加快了仿真,然而,整个设计过程中必须确保行为模型不从相应的模拟分量发散,这种模型验证必须手工完成,因此也是一个费时且容易出错的过程。

为了自动化验证,我们提出了一个新的借助UVM 的方法来比较SPICE模型和行为模型,并会展示这种方法如何在UVM环境中有效的使用。

要详述我们的方法,首先介绍扩展的UVM环境,它是用来验证模拟行为的,我们称之为A-UVM。

A. 模拟事务(Transactions)
与数字信号相比,模拟信号具有没有限制的co范围,可以将它们 假设成特定的形状,比如线性,谐波,甚至是随机的。显然数字信号很容易从位级转到事务级,而模拟信号就要额外的加上一些参数。比如,为了描述一个线性信号,那么在某一特定时间点,它的斜率和值必须给出。

在A-UVM里,我们从纯粹的数字接口将term形状和term已知的协议等同起来,此外,term事务代表一个数据结构,其包含了指定一个模拟信号所需的参数。

B.随机约束的模拟仿真
在UVM为基础的环境中,drivers是用来将事务(transactions)转化为数字信号的,为了传输模拟事务,我们在通用driver和交换算法之间实现了一个接口,这个接口允许在仿真中插入新的算法,算法决定被driver使用的传输类型。并且不局限于使用SystemVerilog编程,也可以是C,Matlab或者其它语言。

每个模拟事务都包含元数据,元数据又包含算法名称和其它信息,这些信息能被driver读取,然后这些事务(transaction)通过算法转化为信号。

C. 监视模拟行为
一个模拟监视器有任务从给点的形状提取信号参数,为了实现这个目的,监视器通过一个专用的接口使用一个特定算法。

因为一个特定的算法的选择可能依赖于我们将部署监控算法与 monitor分离,这使得这使我们能够管理自己的库中的所有监控功能。除此之外,它允许在运行时交换监控算法,这非常有用。

为了使监视器初始化时产生事务(transactions),我们给A-UVM添加了触发器的概念。我们实现了一个覆盖频繁发生活动的触发器的选择;此外,用户定义的触发器可以通过回调插入机制;它还可以在逻辑上连接几个启动事件,从而创建触发器的组合;最后,利用相同的概念以终止产生transactions。

  • 实施
实际的特征提取是由通用监视器完成的,监控算法的选择主要取决于验证工程师和项目的需求。在相似性分析上,所采用的算法定义了如何在积分板里比较信号。所描述的概念如图2所示:
下面是最重要的类的实现,以及EMD功能的实现。首先,一个sv的class定义如下,这个类用来在记分板(scoreboard)里初始化度量标准:
下一步是声明一个单独的C函数,以求得Xi和Yi之间投影到水平面距离。因篇幅有限,函数代码见原文。

最后,要实现约束条件5,6,7:
对应代码分别如下:
  • 结论与展望
在本文中,我们提出了一种新的方法比较模拟模型和其输出行为,其主要思想是量化一定程度的相似性,这项措施使我们能够进行递归测试,因此,手动检查模拟信号的波形工作可以大大减少。由于这种方法不依赖于电路的类型,因此,它具有普遍适用性和高度复用性。

我们的最终目标是提供一个基于UVM的模型,专门针对于模拟电路设计和验证。这个模型基本上应该包含通用的驱动技术,监测和检查模拟信号,以及覆盖率的收集和参考建模等。

点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 253

    粉丝
  • 25

    好友
  • 33

    获赞
  • 45

    评论
  • 访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-28 23:46 , Processed in 0.015309 second(s), 12 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部