0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何可靠、快速、自动地验证处理器硬件

阿卡思微电子 来源:阿卡思微电子 2023-11-16 12:29 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

你是否会遇到以下问题:bug可能比较微妙,不直观,无法手动推断;或者在被观察到之前就被激活很久了,传统的模拟设计需要花很长时间自动;验证工作量随着设计复杂性的增加而增加,人工推理和手动编写属性不再可行,等等。目前验证CPU的主流方法,如HW Testbench,

Universal Verification Methodology (UVM),

SW Testbench, Property Checking,

这些现有方法具有范围受限、仿真较慢、long bug traces、需要手动编写test的特点。

那么,如何可靠、快速、自动地验证处理器硬件,并且生成bug trace?

NO.1

形式化验证的开展基于形式化规范和自动推理。其中形式化规范是指通过形式化语言将DUV和待证明的属性建模成形式化模型,自动推理是指通过严格的数学方法来推导DUV和待证明属性规范之间的逻辑关系,通常是证明DUV的形式化模型能满足所有形式化属性规范

形式化验证的基本步骤:

系统建模:把系统转换为能被模型检测工具所接受的形式。这是模型检测的首要步骤,构建系统模型时为了提高验证过程的效率及可行性需要将和要验证的属性无关的细节抽象掉,仅保留与此相关的细节,这是一个比较简单但通常会比较繁琐的过程。

形式化规范:在对模型进行验证之前以逻辑公式的形式给出待验证的属性。命题时态逻辑能够表达出系统的行为如何随着时间而发生变化,因而通常被用来描述规范。一条规范只是描述了系统某一个属性,一组规范是否覆盖了系统需要满足的所有属性一直是个开放问题。规范开发的人力投入也是长期困扰形式验证的问题。

形式化验证:模型检测工具对输入的模型的状态空间进行搜索来确定输入的规范是否为真,为真表示模型满足规范;为假则表示模型不满足规范,此时会给出一个反例来说明规范为假的原因。

NO.2

QED(快速错误检测)是一种识别错误的方法(主要在处理器中,但也可用于其他组件),它将一组原始测试转换为QED检查。这涉及到将寄存器文件分成两部分,其中一半用于原始指令,另一半用于重复的指令序列,原始序列和复制序列都以相同的顺序执行相同的指令,但它们是交错的,在原始指令序列和复制指令序列完成后,寄存器文件的两部分应该匹配。

根据经验,与传统技术相比,这种方法可以将bug trace的长度减少多达6个数量级。

Bounded Model Checking(BMC)用于验证有限状态模型的正确性。它通过遍历有限长度的路径来检查模型是否满足给定的性质。

SQED基于BMC进行符号运算搜索所有指令序列组合。这为我们提供了一种无需编写测试就可以验证处理器的方法,也不需要提供任何手写属性,只依赖于SQED检查。是对传统的形式验证方法的突破。

NO.3

基于SQED的指令集形式验证具有如下特点

全自动验证:Symbolic Instructions + Self-Consistency Checking,不需要开发属性集。

高覆盖率:BMC工具搜索给定深度的所有指令序列。

最简bug复现:BMC工具自动生成从复位状态到bug site的最短路径。

借助AveMC高性能形式验证平台,AveMC/SQED组合为芯片设计指令集验证提供了全新的验证解决方案。

NO.4

AveMC在开源RISC-V上的SQED验证过程: 给定RISC-V核的RTL实现和ISA SPEC,从ISA SPEC中自动解析生成QED Module(一个新的RTL),将原有的RISC-V核和QED Module连接起来。这里AveMC就可以直接进行验证了。

4b6fc474-8433-11ee-939d-92fbcf53809c.png

指令集形式验证是芯片设计验证中的新兴方向,在RISCV和AI/ML硬件加速芯片的验证中得到越来越广泛的应用。SQED是指令集形式验证领域的新兴工具,它通过完全自测试的特性解决了验证属性开发的低效和覆盖率问题。在上海阿卡思微电子技术有限公司形式验证平台AveMC上,SQED得到了成功的实现。与开源形式验证工具相比,AveMC/SQED不仅提升了验证速度,还能发现其他工具无法发现的bug。

上海阿卡思微电子技术有限公司由硅谷回国的资深电子设计自动化(EDA)专家于2020年在上海张江高科技园区设立,旗下子公司成都奥卡思微电科技有限公司于2018年在成都高新区创立,公司聚集国际知名EDA公司和芯片设计公司具有多年研发经验的尖端人才,基于形式化方法为逻辑芯片设计和工控软件等提供验证工具及咨询服务,凭借在形式化方法领域深厚的技术积累及深入的产品实践,公司已推出系列商用性能优异的验证工具,服务于复杂芯片设计及通用设计流程,获得多个标杆客户的采购使用。在研产品及应用包括高阶等价验证、功能安全等,覆盖数字信息、智能硬件、航空航天、人工智能等行业需求。公司将最新的EDA技术与本土用户需求相结合,服务于中国集成电路自主可控设计;将产品开发与数字产业趋势相结合,服务于中国技术创新与技术赶超;将技术推广与产品优化相结合,服务于海内外需求市场。致力于成为国内领先的形式化技术开发与服务商。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11221

    浏览量

    222987
  • 芯片设计
    +关注

    关注

    15

    文章

    1128

    浏览量

    56458
  • 指令集
    +关注

    关注

    0

    文章

    228

    浏览量

    24237
  • RISC-V
    +关注

    关注

    48

    文章

    2802

    浏览量

    51936

原文标题:基于AveMC/SQED的RISC-V指令集验证,芯片设计验证领域的一个新兴方向

文章出处:【微信号:gh_ca7d2d1f4371,微信公众号:阿卡思微电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    验证RISC-V处理器的安全性

    验证处理器的安全性已成为现代电子系统设计中必不可少的步骤。用户希望确保他们的消费类设备不会被黑客入侵,并且他们的个人和财务数据在云中是安全的。有效的安全验证涉及处理器
    的头像 发表于 03-16 10:47 1.1w次阅读
    <b class='flag-5'>验证</b>RISC-V<b class='flag-5'>处理器</b>的安全性

    面向多核处理器的低级并行程序验证

    面向多核处理器的低级并行程序验证要 随着多核处理器的广泛使用以及人们对软件提出了更高的可靠性要求,多核并行程序验证的重要性日益凸显。本文提出
    发表于 10-06 09:56

    基于处理器硬件系统的电机控制设计实验室

    BeInMotion,BeMicro SDK电机控制设计实验室。您将构建基于处理器硬件系统并在其上运行软件。您将看到使用Qsys和Nios II EDS构建电机控制系统以快速简便地配置和集成预先
    发表于 05-19 09:30

    电脑的处理器可以更改吗?处理器硬件吗?

    电脑的处理器可以更改吗?处理器硬件吗?还是芯片?
    发表于 03-15 10:26

    基于验证库的微处理器指令集验证方法

    指令集作为微处理器软件和硬件的分界线在计算机体系结构中占有重要地位。测试程序自动生成(RTPG)是微处理器指令集验证的主要方法之一。该文比较
    发表于 03-28 10:01 8次下载

    Tensilica如何验证处理器核心

    Tensilica 如何验证处理器核心Tensilica 公司供稿由于半导体厂商不断地将摩尔定律往前推进,系统单芯片(SoC)设计正陷入混乱的验证泥潭。验证工作在百万门SoC 设计中所
    发表于 12-19 08:26 10次下载

    通用处理器设计中硬件仿真验证

    基于动态的RTL仿真依然是验证超大规模集成电路的主要方法 在使用动态仿真方法对通用微处理器这样大规模的设计进行功能验证时仿真速度成为了瓶颈#通常的解决方案是使用:.? 进行硬
    发表于 06-28 17:09 40次下载
    通用<b class='flag-5'>处理器</b>设计中<b class='flag-5'>硬件</b>仿真<b class='flag-5'>验证</b>

    基于OVM的32位微处理器验证吴勇昊

    基于OVM的32位微处理器验证_吴勇昊
    发表于 03-17 08:00 3次下载

    Stellaris处理器硬件设计参考

    Stellaris处理器硬件设计参考
    发表于 10-13 09:09 6次下载

    基于面向i.MX应用处理器可靠架构

    基于面向i.MX应用处理器可靠架构
    发表于 10-31 14:07 7次下载
    基于面向i.MX应用<b class='flag-5'>处理器</b>的<b class='flag-5'>可靠</b>架构

    快速开发基于Blackfin处理器的视频应用

    快速开发基于Blackfin处理器的视频应用: 如何利用享有全面技术支持的硬件和软件模块,快速开发能够在Blackfin处理器上运行的视频应
    的头像 发表于 06-06 04:45 4075次阅读

    英特尔至强处理器和Xeon Phi协处理器集群的性能验证

    性能验证-ON-Intel的Xeon的处理器和Xeon的PHI-协处理器
    的头像 发表于 11-07 06:36 4662次阅读

    关于RISC-V 处理器验证的问题

    处理器验证是一个全新的领域。我们知道 Arm 和 Intel 对处理器质量的期望设置了很高的标准。在 RISC-V 中,我们必须尝试并遵循这一点。
    发表于 03-22 15:19 977次阅读

    基于形式验证的高效RISC-V处理器验证方法

    随着RISC-V处理器快速发展,如何保证其正确性成为了一个重要的问题。传统的测试方法只能覆盖一部分错误情况,而且无法完全保证处理器的正确性。因此,基于形式验证的方法成为了一个非常有前
    的头像 发表于 06-02 10:35 2028次阅读

    利用先进形式验证工具来高效完成RISC-V处理器验证

    在本文中,我们将以西门子EDA处理器验证应用程序为例,结合Codasip L31这款广受欢迎的RISC-V处理器IP提供的特性,来介绍一种利用先进的EDA工具,在实际设计工作中对处理器
    的头像 发表于 07-10 10:28 1075次阅读
    利用先进形式<b class='flag-5'>验证</b>工具来高效完成RISC-V<b class='flag-5'>处理器</b><b class='flag-5'>验证</b>