智能化加速标准和协议的更新并推动验证IP(VIP)在芯片设计中的更广泛应用

作者:Karthik Gopal, SmartDV Technologies亚洲区总经理

智权半导体科技(厦门)有限公司总经理

随着AI技术向边缘和端侧设备广泛渗透,芯片设计师不仅需要考虑在其设计中引入加速器,也在考虑采用速度更快和带宽更高的总线和接口来传送数据。在2025年初于拉斯维加斯举行的消费电子展(CES)上,相关行业组织宣布了两项显示接口技术的重大进展,即HDMI 2.2和DisplayPort 2.1b;此外,加上去年下半年刚刚推出的蓝牙6.0和Wi-Fi 7等协议,让许多无晶圆厂半导体公司忙于将这些标准和协议集成到他们的芯片中。

针对这些新发布的标准和协议,以及他们相对更早的版本,验证IP(VIP)已被证明是一种能够更快和更好地验证芯片设计的方法。对于一个精明的芯片设计验证工程师来说,VIP远远不仅是一个朗朗上口的缩略词,有经验的设计人员都知道验证IP是带有可重用验证组件库和预定义功能单元的验证流的支柱,用以加速验证工作的核签。

随着需要处理和传送大量数据的智能设备快速广泛普及,各种总线、接口、协议和标准都在快速进步,促使芯片设计人员去找到高效验证其设计的方法。现在是时候把验证IP(VIP)放在其工具箱的最上层了。本文诠释了为什么在今天的电子行业中更加需要使用VIP在验证环境中来改进调试、覆盖收敛和提升质量,以加快项目交付和增加投资回报,并减少芯片重新流片的风险。

1. 验证IP是验证流程的重要部分

验证一款布满了集成IP单元模块的复杂片上系统(SoC)设计的功能正确性是一项艰巨的任务,其中许多模块都基于复杂的行业标准接口协议。这就是为什么验证团队在他们的验证策略中导入验证IP,并将其视为验证流程的关键组件的原因。它确保了在调试、收敛覆盖和验证质量方面的改进,并减少了项目进度中的复杂环节。它为行业标准接口和对互连协议的支持创建了基础设施,并为测试/验证(DUT)项下的设计提供了可进行比较的已知参考。

无论使用什么工具,验证都是复杂的,并且估计会消耗项目资源的60-80%。用于复杂SoC的测试台需要各种验证IP来验证系统级功能,并通过生成特定于应用的数据流量和检查器来确认目标性能。

使用高质量的VIP可以使设计师不必成为多种协议的专家。VIP负责根据协议规范的细节来验证设计,这是很“繁重的工作”。它生成全面的测试方案,去刺激和验证不同的接口和标准总线协议,缩短了SoC的验证流程并增加测试覆盖率。它包括事务/序列、驱动、配置组件和特定接口的测试计划,以及连接到测试台上的DUT测试套件,以模拟或模拟IP或SoC设计。

VIP是符合行业标准的即插即用模块,通过生成特定于应用程序的数据流来验证系统级功能和目标性能。

2. 验证IP怎样工作?

VIP不是一种验证方法。它与通用验证方法(UVM)和开放验证方法(OVM)不同,UVM是一种用于构建测试平台的Accellera互操作性标准,OVM是一种方法和功能单元库。验证IP是在可用的标准验证方法(如UVM)中实现的有价值的组件。

VIP由可重用的验证组件库和预定义的功能单元组成,它们创建了一种基础设施来支持行业标准接口、SystemVerilog和SystemC硬件验证语言(HVL),以及像UVM这样的方法。高质量的VIP是独立于平台,可以跨所有方法和语言工作。

当然,一些VIP针对的是某一个模拟和/或仿真平台,而不是所有的商业平台。从模拟到仿真的转换可能是确有困难、耗费时日和大量资源。然而,一些供应商提供了与平台无关的VIP,它可以跨不同平台无缝地使用覆盖驱动的验证流,包括模拟、仿真、FPGA原型和形式验证。

用于仿真和FFGA原型的验证IP单元模块是具有完全API兼容性的、可进行逻辑综合的寄存器传输级(RTL)代码,可以将设计从模拟转移到仿真。这些VIP模块是内置的智能调试器,提供快速编译和系统级模拟运行时间,以及快速固件/软件开发。其基础设施框架或测试台附带刺激生成器、监视器、计分板/检查器和功能覆盖模型。

3. 很难为新的或修改的协议找到验证IP吗?

正如我们在本文一开始就提到了,近年来各个行业组织和标准机构为了在智能化时代抢占有利位置,都在加速推出或者修订新的协议和标准。立即找到支持这些新的或修订的协议或开放标准,或处理整个验证流程的VIP可能是一个挑战。开发新的或定制的VIP需要时间,并且可能无法在验证平台之间进行移植。通过开发专门的编译器,可以快速创建新的VIP或基于现有的VIP进行定制,帮助减少推出新的VIP或对现有的VIP针对新功能进行定制所需的时间。

一款先进的编译器可以为业界带来诸多好处。例如,作为全球领先的设计IP和验证IP提供商,SmartDV开发了一种高度创新和极为高效的编译器“SmartCompiler”。该编译器通过与SmartDV的标准和协议专家配合,就可以为新的协议和标准快速生成设计IP和验证IP,不仅速度大大快于人工开发模式,而且还避免了由人工开发引入的错误和风险。

当然,一些(但不是所有)VIP的编译速度可能很慢,而另一些可能只针对特定的验证语言和方法,而与其他语言和方法不兼容。平台独立性和可重用性也是需要考虑的问题;一个常见的抱怨是验证工程师难以分析和调试结果;此外,人工开发的VIP可能无法保持同等水平的性能、生产效率、易于调试的能力和可读性。

图片说明:一家第三方VIP供应商可以使用智能编译器来为一系列验证任务创建VIP,包括形式验证和可进行逻辑综合的事务处理器、流片后测试IP和设计IP,以及图中未包含的测试套件和文档。(来源:SmartDV)

在更高抽象层上编写的验证IP,即使用诸如SmartDV的SmartCompiler这种先进的智能编译器/生成器(见图)来生成的VIP的最终可部署版本,可以帮助开发者不必遇到这些抱怨。SmartCompiler这样的机器生成的VIP可以将代码质量和测试结果保持在事先确定的水平上,以有效地进行编译和执行。这样的VIP可以快速跟随和补充当今不断发展的标准与协议、以及硬件设计方法,该方法从更高层次的抽象编码设计规范生成RTL代码。

4. 一家验证IP伙伴具有极高的价值

VIP通常由第三方供应商提供,这些供应商活跃于网络、存储、汽车、总线、MIPI和显示协议等领域内的接口标准开发组织。他们比内部资源更有优势,因为他们能够验证功能的正确性以及行业标准的符合性。除了这些能力,像SmartDV团队中的这些标准专家都具有标准和芯片设计两个方面的专业知识。

但是,验证工程师必须对第三方供应商的VIP进行研究和评估。如果需要,他们需要了解为VIP使用和定制提供的技术支持。对于不同的情况,支持可能不完全一样,定制可能既昂贵又耗时。评估过程的另一个重要方面是确保第三方VIP解决方案与标准完全兼容,并覆盖整个验证流程。

在实际应用中,没有一种统一的验证IP解决方案可以去覆盖整个验证流程。实际上,该过程的不同步骤需要不同的验证IP;在VIP提供的验证覆盖类型中通常存在空白。例如,用于模拟的VIP可能并不是用于仿真、形式验证和/或甚至流片后验证的良好解决方案。而专业的VIP供应商可以填补相关空白。

一个曾经流行的经验认为,VIP的最佳来源是来自提供验证和仿真平台的同一供应商。这过去可能是真的,现在也可能不是真的。在一个竞争异常激烈的市场中,这些供应商的主要业务通常集中在构建验证环境所需的软件和硬件的开发和销售上,这并不是一个很容易的细分市场。所以虽然他们也提供VIP,但这并不是其技术和业务的核心焦点。相反,这是一项用于帮助和支持销售更昂贵的软件和硬件平台的投资。专注于开发和授权VIP的供应商通常提供更广泛的产品和更好的支持,诸如SmartDV这样的领先设计IP和验证IP提供商的产品组合中都有数百种IP产品。

由于各项测试需要覆盖一系列场景并生成相当数量的测试,创建测试套件以覆盖100%的协议可能是一项艰巨的工作。对于主要业务不是创建VIP,而是为其EDA等工具创建支持解决方案的VIP提供商来说,这样的任务可能是一种负担。对于专门生产VIP的公司来说,情况并非如此。他们是专家,并在生产过程采用了先进的工具,以产生所需的测试套件,以实现100%的协议覆盖率,并与所需的文档配对。

全球电子行业将在2025和未来的几年看到各种新标准和协议的更快推出,因此现在是与那些拥有先进的VIP开发工具,并拥有熟悉这些标准和协议的专家VIP提供商深入合作的时候了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/68039.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【问题】Chrome安装不受支持的扩展 解决方案

此扩展程序已停用,因为它已不再受支持 Chromium 建议您移除它。详细了解受支持的扩展程序 此扩展程序已停用,因为它已不再受支持 详情移除 解决 1. 解压扩展 2.打开manifest.json 3.修改版本 将 manifest_version 改为3及以上 {"manifest_ver…

Vue入门(Vue基本语法、axios、组件、事件分发)

Vue入门 Vue概述 Vue (读音/vju/,类似于view)是一套用于构建用户界面的渐进式框架,发布于2014年2月。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三…

[云讷科技]Kerloud Falcon四旋翼飞车虚拟仿真空间发布

虚拟仿真环境作为一个独立的专有软件包提供给我们的客户,用于帮助用户在实际测试之前验证自身的代码,并通过在仿真引擎中添加新的场景来探索新的飞行驾驶功能。 环境要求 由于环境依赖关系,虚拟仿真只能运行在装有Ubuntu 18.04的Intel-64位…

postgresql15的启动

PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统,且因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发PostgreSQL。现在国产数据库大力发展阶段,学习和熟悉postgresql的功能是非常有必要的&#x…

Python NumPy(1):介绍、Ndarray对象、NumPy数据类型

1 介绍 NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含: 一个强大的N…

sql语句--新手入门增删改查保姆级教学

一丶在数据库管理系统中,SQL(Structured Query Language,结构化查询语言)是用于访问和操作数据库的标准编程语言。以下将通过一个假设的“articles”表(代表文章或博客条目)来展示SQL中的增(Ins…

INCOSE需求编写指南-第1部分:介绍

第1部分:介绍Section 1: Introduction 1.1 目的和范围 Purpose and Scope 本指南专门介绍如何在系统工程背景下以文本形式表达需求和要求陈述。其目的是将现有标准(如 ISO/IEC/IEEE 29148)中的建议以及作者、主要贡献者和审稿员的最佳实践结…

Windows上通过Git Bash激活Anaconda

在Windows上配置完Anaconda后,普遍通过Anaconda Prompt激活虚拟环境并执行Python,如下图所示: 有时需要连续执行多个python脚本时,直接在Anaconda Prompt下可以通过在以下方式,即命令间通过&&连接,…

GIS 中的 SQLAlchemy:空间数据与数据库之间的桥梁

利用 SQLAlchemy 在现代应用程序中无缝集成地理空间数据导言 地理信息系统(GIS)在管理城市规划、环境监测和导航系统等各种应用的空间数据方面发挥着至关重要的作用。虽然 PostGIS 或 SpatiaLite 等专业地理空间数据库在处理空间数据方面非常出色&#…

MySQL中的读锁与写锁:概念与作用深度剖析

MySQL中的读锁与写锁:概念与作用深度剖析 在MySQL数据库的并发控制机制中,读锁和写锁起着至关重要的作用。它们是确保数据在多用户环境下能够正确、安全地被访问和修改的关键工具。 一、读锁(共享锁)概念 读锁,也称为…

SpringBoot 实现动态管理定时任务 Job的动态操作(添加、修改、启停、执行、删除)以及界面展示和具体Job的创建与执行示例

SpringBoot 实现动态管理定时任务 Job的动态操作(添加、修改、启停、执行、删除)以及界面展示和具体Job的创建与执行示例 关键接口类: CronTaskRegistrar SchedulingRunnable . 添加定时任务注册类,用来增加、删除定时任务 impo…

LabVIEW太赫兹二维扫描成像系统

使用LabVIEW设计太赫兹二维扫描成像系统。通过LabVIEW平台开发,结合硬件如太赫兹源、平移台、锁相放大器等,实现了高效、精准的成像功能。系统采用蛇形扫描方式,通过动态调整扫描参数,达到优化成像质量的目的。 ​ 项目背景 在非…

Spring 核心技术解析【纯干货版】- V:Spring 基础模块 Spring-Context 模块精讲

Spring 框架作为 Java 开发领域最流行的框架之一,其核心模块承载了大量企业级应用开发的基础功能。在 Spring 的核心模块中,Spring-Context 模块尤为重要,它不仅提供了应用上下文的管理功能,还扩展了事件驱动、国际化支持、资源加…

2025年国产化推进.NET跨平台应用框架推荐

2025年国产化推进.NET跨平台应用框架推荐 1. .NET MAUI NET MAUI是一个开源、免费(MIT License)的跨平台框架(支持Android、iOS、macOS 和 Windows多平台运行),是 Xamarin.Forms 的进化版,从移动场景扩展到…

SQL注入漏洞之基础数据类型注入 字符 数字 搜索 XX 以及靶场实例哟

目录 基础数据类型SQL注入 字符类型注入 单引号双引号解释 案例练习: 数字类型注入 案例 搜索性注入: 案例 XX性注入: 语句 案例 基础SQL注入类型分类 基础数据类型SQL注入 字符类型注入 xxx or 11 # select id,email from member where usernamexx or 11 # --…

【ESP32】ESP32连接JY61P并通过WIFI发送给电脑

前言 手头上有个ESP32&#xff0c;发现有wifi功能&#xff0c;希望连接JY61P并通过WIFI把姿态数据发送给电脑 1.采用Arduino IDE编译器&#xff1b;需要安装ESP32的开发板管理器&#xff1b; 2.电脑接受数据是基于python的&#xff1b; 1. ESP32 连接手机WIFI #include <…

如何在data.table中处理缺失值

&#x1f4ca;&#x1f4bb;【R语言进阶】轻松搞定缺失值&#xff0c;让数据清洗更高效&#xff01; &#x1f44b; 大家好呀&#xff01;今天我要和大家分享一个超实用的R语言技巧——如何在data.table中处理缺失值&#xff0c;并且提供了一个自定义函数calculate_missing_va…

计算机视觉算法实战——无人机检测

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​ ​ 1. 引言✨✨ 随着无人机技术的快速发展&#xff0c;无人机在农业、物流、监控等领域的应用越来越广泛。然而&#xff0c;无人机的滥用也带…

华为支付接入规范

为了确保用户获得良好的支付体验&#xff0c;Payment Kit制定了相关接入设计规范&#xff0c;请开发者遵照执行&#xff0c;具体要求&#xff08;非强制性&#xff09;如下&#xff1a; 一、支付方式呈现 涉及支付公司名称&#xff0c;请统一使用&#xff1a;花瓣支付&#xff…

Python人脸识别库DeepFace使用教程及源码解析

目录 一、DeepFace介绍 1、人脸库设计 2、DeepFace.find 3、DeepFace.verify 4、DeepFace.analyze 5、DeepFace.extract_faces 6、DeepFace.represent 7、DeepFace.stream 二、DeepFace二次开发 1、开发活体检测API 2、模型权重持久化 三、总结 一、DeepFace介绍 …