RISC-V处理器IP验证流程

2023-02-27 11:53:27 来源:EETOP
来源:Maven Silicon  作者:P R Sivakumar, Founder and CEO, Maven Silicon

一、简介

RISC-V是一种具有多种扩展功能的通用免许可开放指令集架构 [ISA]。它是一个开源指令集,分为一个小的基本整型 ISA,可用作定制加速器和可选标准扩展的基础,以支持通用软件开发。RISC-V 支持应用程序、操作系统内核和硬件实现的 32 位和 64 位地址空间变体。因此,它适用于所有计算系统,从嵌入式微控制器到云服务器。 

在这个开放的计算时代,RISC-V 社区成员雄心勃勃地使用 RISC-V 开放 ISA 创建各种 RISC 处理器。然而,使用 RISC-V ISA 的风险更高,因为经过验证的处理器验证流程仍然是成熟的处理器无晶圆厂 IP 公司和 IDM 的专有信息,属于未公开的秘密。那么,如何才能让RISC-V验证流程开放,为RISC-V社区赋能呢? 

本文将引述来自印度的科技公司Maven Silicon 的文章,展开论述。并带您了解 Maven Silicon 的 RISC-V 验证流程。

2. 验证策略

2.1 块级验证:使用形式验证生成RISC-V IP基本块库

使用形式验证验证所有 RISC-V IP 基本构建模块,如 ALU、解码器、程序计数器、寄存器、指令和数据存储器。对 RISC-V IP 构建块进行 RTL 编码的设计工程师 [DE] 可以将断言 [SVA/PSL] 嵌入到 RTL 模块中。验证工程师 [VE] 将使用形式验证 EDA 工具验证 RISC-V RTL IP 模块。DE 可以综合经过验证的 RTL 模块并修复所有与综合相关的问题。

最后,VE可以进一步验证这些可综合的RTL模块并创建RISC-V IP模块库。

2.2 IP级的验证:使用预先验证的RISC-V IP块库来验证RISC-V IP,该IP是使用约束随机覆盖率驱动的验证[CRCDV]建立的。

DE可以使用预先验证的RISC-V IP基本块库实现任何一种多级流水线RISC-V处理器。VE将在UVM中创建验证环境,并使用CRCDV验证RISC-V多级流水线处理器

VE 还将创建必要的参考模型、用于协议验证的接口断言和功能覆盖模型。最后,VE 将sign off基于覆盖率闭包 [代码 + 功能覆盖率] 的 IP 级回归测试

如果RISC-V处理器IP实现了一个支持标准Unix-like操作系统的通用处理器,那么经过验证的RISC-V处理器IP可以通过使用FPGA原型验证启动操作系统来进一步验证。

3. Maven Silicon的RISC-V处理器IP验证流程

如图 1 所示,Maven Silicon 的 RISC-V 验证流程实现了上述验证策略。

图片

4.使用UVM进行RISC-V IP验证

IP 级 VE 可以使用UVM(Universal Verification Methodology) 创建验证环境,如图 2 所示。  

由于我们的Maven Silicon的RISC-V IP RTL设计使用AHB接口,因此我们将指令和数据存储器建模为AHB从属UVM代理UVM Agent。RISC-V 处理器参考模型建模为 AHB 主 UVM 代理,通过背靠背连接 RISC-V AHB 代理来验证包含所有测试平台组件记分牌、具有覆盖模型的用户、复位、中断和 RAL UVM 代理的完整 UVM 环境,特别是验证数据流和覆盖范围生成。一旦验证环境变得稳定,其中一个参考模型就被RTL取代。UVM RAL被广泛用于对RISC-V IP寄存器和存储器进行采样,以便在记分牌中进行数据比较。

由于我们Maven Silicon的RISC-V IP RTL设计使用AHB接口,我们将指令和数据存储器建模为AHB从UVM Agent。RISC-V处理器参考模型被建模为AHB主UVM Agent,通过背靠背连接RISC-V AHB Agent来验证完整的UVM环境,包括所有的测试平台组件UVM scoreboard、带有覆盖模型的用户、复位、中断和RAL UVM Agent特别是验证数据流和覆盖生成。一旦验证环境变得稳定,其中一个参考模型就被RTL所取代。UVM RAL被广泛用于对RISC-V IP寄存器和存储器进行采样,以便在UVM Scoreboard进行数据比较。

要了解此验证环境的工作原理,请观看此演示视频:

(请关注创芯大讲堂视频号观看)

RISC-V 处理器 IP UVM 验证流程 该视频是由印度科技公司Maven Silicon首席工程师Putta Satish主讲 在此视频中,Satish 解释了完整的 RISC-V DV 流程:RISC-V RTL 流水线架构概述、RISC-V 处理器验证计划、UVM TB 架构、测试用例、回归测试和覆盖率收敛的验证 sign-off " data-nonceid="7650057082074344302" data-type="video" data-authiconurl="https://dldir1v6.qq.com/weixin/checkresupdate/icons_filled_channels_authentication_enterprise_a2658032368245639e666fb11533a600.png" data-width="1152" data-height="720" data-ratio="1.6" data-ishorizontal="true" data-computedwidth="677" data-computedheight="423.125" has-insert-preloading="1" style="margin: 0px; padding: 0px; outline: 0px; pointer-events: auto; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;">
创芯大讲堂
,赞1

图片

图 2:Maven Silicon 的 RISC-V IP UVM 验证环境

还可以考虑将 Google 的用于刺激生成的指令流生成器和开源指令集模拟器 [ISS](如 Spike)作为参考模型集成到他们的 UVM 环境中,并有效地进行详尽验证。

5. 结论

高效、高质量的 RISC-V IP 验证只能通过形式验证、使用 UVM 的 CRCDV 和使用 FPGA 原型设计的操作系统启动等 各种验证方法的有效组合, 以及重用性 (如重用预验证的 RISC-V 块库和可扩展性)来实现IP 级 UVM 测试平台。由于 RISC-V 是一个开放的 ISA,我们可以创建可重用的 RISC-V 基本块预验证库,并作为开源 RISC-V 库为 RISC-V International 做出贡献。使用这个预先验证的库,RISC-V 社区成员可以创建他们喜欢的任何类型的多级流水线 RISC-V 处理器,并按照本技术论文中解释的流程验证他们的 RISC-V 处理器。 在不冒 TTM 风险的情况下,这不是验证 RISC-V 处理器的更有效方法吗? 


  1. EETOP 官方微信

  2. 创芯大讲堂 在线教育

  3. 创芯老字号 半导体快讯

相关文章

全部评论

@2003-2024 EETOP