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

    文章

    10463

    浏览量

    206740
  • 芯片设计
    +关注

    关注

    15

    文章

    904

    浏览量

    54432
  • 指令集
    +关注

    关注

    0

    文章

    206

    浏览量

    23186
  • RISC-V
    +关注

    关注

    41

    文章

    1911

    浏览量

    45116

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    青稞处理器资料分享

    )、精简的两线和单线调试接口、“WFE”指令、物理内存保护(PMP)等特色功能,详细说明可参考青稞微处理器手册。 特色功能 1.硬件压栈(HPE) 稞处理器开启硬件压栈后,当发生
    发表于 10-11 10:42

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

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

    ARM处理器及ARM处理器工作模式

    。ARM处理器模式ARM微处理器支持7种运行模式,分别为:用户模式(usr):ARM处理器正常的程序执行状态。快速中断模式(fiq):用于高速数据传输或通道
    发表于 01-27 11:13

    ARM处理器及ARM处理器工作模式

    。ARM处理器模式ARM微处理器支持7种运行模式,分别为:用户模式(usr):ARM处理器正常的程序执行状态。快速中断模式(fiq):用于高速数据传输或通道
    发表于 01-27 14:19

    可靠验证

    当组件上板后进行一系列的可靠验证可靠验证过程中产品失效时,透过板阶整合失效分析能快速将失效接口找出,宜特协助客户厘清真因后能
    发表于 08-28 16:32

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

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

    ARM微处理器包括哪几种异常

    类似的看作中断,本质上两者还是有区别的。异常/中断是硬件和软件进行异步工作的一种方式。经典ARM微处理器发生异常时,ARM微处理器自动调用预先写好的异常
    发表于 07-16 07:04

    Python硬件验证——摘要

    方法中的漏洞。用于可笑的测试并支持设计人员运行他们自己的验证。加快标准验证流程并支持芯片启动测试开发。等等等等。 这份长达 500 多页的介绍性材料将向读者介绍处理硬件
    发表于 11-03 13:07

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

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

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

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

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

    基于动态的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次下载

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

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