1236|0

25

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

UVVM(通用 VHDL 验证方法) [复制链接]

 

UVVM(通用 VHDL 验证方法)

 

简介

 

UVVM(通用 VHDL 验证方法)是一种免费的开源方法和库,用于开发非常结构化的基于 VHDL 的测试平台。

 

概述、可读性、可维护性、可扩展性和重用性对于 FPGA 开发效率和质量都至关重要。 UVVM VVC(VHDL 验证组件)框架于 2016 年发布,专门处理这些方面。

 

UVVM 目前由以下元素组成:

 

实用程序库

 

VVC(VHDL验证组件)框架 - 包括实用程序库

 

BFM(总线功能模型)可与 UVVM 的任何部分一起使用(请参阅下文了解 Bitvis 当前支持的接口)

 

VVC 与 UVVM VVC 框架一起使用,并且可以与 BFM 结合使用(请参阅下面的概述)

 

请注意,UVVM 有两种不同的复杂性级别。用于中高级测试平台的 VVC 框架和 VVC,以及用于简单使用的实用程序库和 BFM,并作为更高级测试平台的基础。强烈建议新手用户首先使用 UVVM Utility 库和 BFM。它的用户门槛非常低,您将在一小时内启动并运行。请参阅实用程序库了解介绍。 VVC 框架稍微复杂一些,但已尽可能简化,以允许高效开发高质量的测试平台。

 

请注意,已提供专用存储库 UVVM_Light 来简化实用程序库和 BFM 的使用入门。这里所有的代码和文档都收集在一个目录中,并且只使用了一个 VHDL 库。文档和代码与完整 UVVM 100% 相同。

 

我需要这个 VVC 框架有什么用?

 

UVVM 是一个验证组件系统,允许实现非常结构化的测试平台架构,以处理任何验证复杂性 - 从非常简单到非常复杂。该系统的一个主要优点是非常简单的类似软件的 VHDL 测试定序器,它可以使用任意数量的验证组件控制完整的测试平台架构。这将概述、可读性和可维护性提升到了一个新的水平。例如,像 uart_expect(UART_VVCT, my_data) 或 axilite_write(AXILITE_VVCT, my_addr, my_data, my_message) 这样的简单命令将自动告诉相应的 VVC(对于 UART 或 AXI-Lite)执行 uart_receive() 或 axilite_write() BFM分别。

 

使用该系统的主要好处是什么?

 

这里真正的巨大好处是,您可以从拥有最好的测试平台架构中获得独特的概述、可读性、可维护性、可扩展性和重用性——就像良好的架构对于任何复杂的设计也至关重要一样。这里的另一个主要好处是,可以从测试定序器同时发出任意数量的命令 - 从而允许完全控制何时执行访问,并且这些命令“甚至”对于软件开发人员来说是可以理解的;-)命令可以被排队、倾斜、延迟、同步等——并且当然也可以应用用于应用受约束的随机或其他数据序列的超集。这可以很好地控制您的测试平台和 VVC。

 

对于调试,您可以选择在从定序器发出命令时、在 VVC 接收命令时、在 VVC 启动命令时和/或在 DUT 执行命令时记录命令。这样可以全面概览完整测试平台中的所有操作。

 

UVVM 是免费且开源的,并且标准化了构建良好测试平台架构和 VVC 的方法,因此重用非常简单,并且允许 FPGA 社区共享将在结构良好的测试工具中协同工作的 VVC。

 

当然,您可以将 UVVM 与任何其他传统或第 3 方测试平台或验证模型结合起来。 LinkedIn 上的这篇文章将为您提供更多关于为什么应该使用这个库的信息。

 

主要特点

 

对于检查值、范围、时间方面以及等待给定窗口内的事件的非常有用的支持

 

基本功能(如日志记录、警报处理和检查器)的用户门槛极低

 

一个非常结构化的测试平台架构,允许类似乐高的测试平台/线束实施

 

非常结构化的 VHDL 验证组件 (VVC) 架构,允许以非常容易理解的方式在多个接口上同时进行活动(刺激和检查)

 

易于理解的命令语法,用于控制具有多个 VVC 的完整测试平台

 

即使对于具有大量 VVC 的测试台,也可以轻松保留结构和概述

 

一种 VVC 架构,从一个 VVC 到另一个 VVC 几乎完全相同 - 有时仅将 BFM 调用作为区分器,从而允许从一个 VVC 到另一个 VVC 的极其高效的重用

 

VVC 架构可轻松允许多个线程,例如同时进行 Avalon 命令和响应

 

VVC 架构允许对任何给定接口或协议的所有验证功能进行简单封装

 

允许将 VVC 包含在测试工具中的任何位置,甚至包含在设计本身内

 

支持功能和层次结构的完整详细控制的日志记录和警报系统

 

日志系统可让您轻松查看命令如何从中央测试定序器传播到 VVC - 通过执行队列 - 直到它被执行并完成到 DUT

 

允许将第 3 方随机化和功能覆盖范围包含在中央测试定序器中,甚至更好地包含在本地定序器的 VVC 内,以实现更好的控制和封装

 

与 Jenkins 等回归测试工具简单集成

 

提供 UVVM 实用程序库、VVC 框架和所有 BFM/VVC 的快速参考

 

可用的 VVC 和 BFM

 

这些 VVC 和 BFM 可以在典型的 UVVM 测试平台内使用,但它们也可以独立使用 - 例如作为 BFM 或 VVC 来仅处理 AXI4-Lite 接口,而其他所有内容都是您的专有测试平台和方法。

 

阿瓦隆MM

 

Avalon ST - 主站和从站

 

AXI4-Lite

 

AXI-Stream - 主设备和从设备

 

SBI(简单总线接口 - 单周期简单并行总线接口)

 

串口

 

SPI——主机和从机

 

I2C - 主设备和从设备

 

通用输入输出接口

 

GMII

 

RGMII

 

更多即将到来

 

重要的

 

VIP 遵守各自的协议,因此可以正常访问该接口。 VIP 不是协议检查器。

 

先决条件

 

UVVM 独立于工具和库,但必须使用 VHDL 2008 进行编译。UVVM 已使用以下模拟器进行了测试:

 

Modelsim 版本 19.1

 

Riviera-PRO版本:2018.10.137.7135

 

Questa Sim 版本 19.1

 

GHDL 版本 0.36

 

注意:

 

Questa Sim 版本 19.2 和 Modelsim 版本 19.2 存在可能阻止 UVVM 正常工作的已知错误。

 

如果要执行 VVC 生成脚本,则需要 Python

 

点赞 关注
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表