查看: 191|回复: 0
收起左侧

RISC-V处理器IP验证流程

[复制链接]

  离线 

  • TA的每日心情
    拍拍
    2022-10-3 08:50
  • 签到天数: 1 天

    [LV.1]

    发表于 2023-3-1 17:46:30 | 显示全部楼层 |阅读模式

    有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    本帖最后由 魏定国 于 2023-3-1 18:51 编辑

    一、简介

    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 验证流程实现了上述验证策略。

    国外芯片技术交流-RISC-V处理器IP验证流程risc-v单片机中文社区(1)

    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验证流程risc-v单片机中文社区(2)
    图 2:Maven Silicon 的 RISC-V IP UVM 验证环境

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

    5. 结论

    高效、高质量的 RISC-V IP 验证只能通过形式验证、使用 UVM 的 CRCDV 和使用 FPGA 原型设计的操作系统启动等 各种验证方法的有效组合, 以及重用性 (如重用预验证的 RISC-V 块库和可扩展性)来实现IP 级 UVM 测试平台。由于 RISC-V 是一个开





    上一篇:zkVM生存之道,一文详解派系之争
    下一篇:Canonical针对PolarFire RISC-V 开发板,推出优化的 Ubuntu 镜像
    RISCV作者优文
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具 举报

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    关闭

    RISC-V单片机中文网上一条 /2 下一条



    版权及免责声明|RISC-V单片机中文网 |网站地图

    GMT+8, 2024-4-27 19:30 , Processed in 0.672953 second(s), 48 queries .

    快速回复 返回顶部 返回列表