形式化验证,A Theoretical Framework for SymbolicQuick Error Detection(四)

news2024/9/21 22:43:07

一、Article:文献出处(方便再次搜索)

(1)作者

  • Florian Lonsing, Subhasish Mitra, and Clark Barrett(Stanford University,斯坦福大学)

(2)文献题目

  • A Theoretical Framework for Symbolic Quick Error Detection

(3)文献时间

  • Formal Methods in Computer-Aided Design  (FMCAD) , 2020,CCFC类会议

(4)引用

  • F. Lonsing, S. Mitra and C. Barrett, "A Theoretical Framework for Symbolic Quick Error Detection," 2020 Formal Methods in Computer Aided Design (FMCAD), Haifa, Israel, 2020, pp. 1-10, doi: 10.34727/2020/isbn.978-3-85448-042-6_9.

二、Data:文献数据(总结归纳,方便理解)

(1)背景介绍

  • 由于不断增加的设计复杂性,为了避免在后硅验证中更加困难和昂贵的调试成本,在前硅验证中检测逻辑设计漏洞非常重要
  • 在传统的基于断言的形式验证技术中,属性的编写是特定于实现的,必须拥有设计方面的专业知识,手动编写
  • 此外,手动编写的、与实现相关的属性集可能不足以检测到设计中存在的所有漏洞

(2)目的

与传统的(通常手动生成)的验证方法不同,SQED不需要完整的形式设计规范或手动编写的属性。前人的研究表明SQED对商业设计是有效的,且SQED显著提高了设计生产率。然而,迄今为止尚未对其发现bug的能力进行正式的表征:

  • SQED的可靠性——SQED发现的自一致性的反例是否对应DUV中真实的bug;
  • SQED的完整性——对于DUV中的每个bug,是否存在一个SQED可以找到自一致性的反例。

作者旨在弥补这一差距。

(3)结论

  • 本文表征了SQED对bug检测的两种能力:
  • 可靠性,SQED不产生伪反例,即出现反例就一定有一个bug,且结果不依赖于实际规范/和特定的实现细节。
  • 完整性,如果处理器有一个bug,那么,在适度的假设下,存在一个可以由SQED找到的自一致性的反例

(4)主要实现手段

(4)问题记录

三、Comments对文献的想法 (强迫自己思考,结合自己的学科)

        SQED的提出者说明了方法的有效性,但是并未对SQED的能力(比如,完整性、可靠性)进行表征,本文对此作了补充。并且作者对SQED做出了自己的理解,为什么SQED是独立于设计或者是not depend on implementation-specific?

        作者指出:与传统的形式方法不同,SQED不需要手动编写属性或形式规范。相反,它检查设计是否满足self-consistency属性。SQED所使用的self-consistency属性是通用的、与实现无关的。在该属性中,设计中ISA中的每个指令被解释为数学意义上的函数。

四、Why:为什么看这篇文献 (方便再次搜索)

用于实验设计:

  • 了解多Chiplet间的仿真细节的具体实现
  • 考虑如何和毕业设计“Chiplet设计空间探索”联系起来
  • 如何复用该Chiplet模拟器实现需求

五、Summary:文献方向归纳 (方便分类管理)

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

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

相关文章

目标检测之遮挡物体检测

一、遮挡的类别 类内遮挡,目标被同一类别的目标遮挡类间遮挡,目标被其它类别的目标遮挡 二、解决方法 数据标注 精调遮挡目标的GT边界框 数据增强 cutout:在训练时,随机mask目标,提升模型对遮挡的应对能力mosaic…

如何排查Trino常见报错问题

一、背景 必须前置知识:《Trino权威指南》第12章及周边涉及知识,基于392版本的使用层面入门书,引擎创始人亲自编写: https://www.wisdominterface.com/wp-content/uploads/2021/07/Trino-Oreilly-Guide.pdfhttps://www.wisdomin…

【Linux】基础IO——文件描述符/缓冲区/重定向/文件系统

文章目录 一、文件描述符二、缓冲区三、重定向的原理四、文件系统 (Linux Ext2)1 认识磁盘的结构CHSLBABlock 2 认识文件系统2.1 分区2.2 文件系统的结构2.3 剖析inode2.4 文件的操作 3 软硬链接3.1 软链接3.2 硬链接 📝 个人主页 :超人不会飞)&#x1f…

低代码平台的价格范围及购买成本分析

Zoho Creator是一款强大而灵活的低代码应用程序开发平台,可帮助企业快速、高效地创建各种应用程序。但是,很多人可能会担心它的价格问题。在这篇文章中,我们将深入探讨Zoho Creator的定价策略和计划,以帮助您更好地理解其价格结构…

如何保证消息队列的高可用?

RabbitMQ的高可用性 RabbitMQ 是比较有代表性的,因为是基于主从(非分布式)做高可用性的,我们就以 RabbitMQ 为例子讲解第一种 MQ 的高可用性怎么实现。 RabbitMQ 有三种模式:单机模式、普通集群模式、镜像集群模式。…

【裸机开发】I2C 通信接口(一)—— I2C 通信时序协议及通信流程

目录 一、I2C 简介 二、I2C 的整体通信流程 三、主要通信时序和协议 3.1 开始 / 停止条件 3.2 地址传送 3.3 数据传输 3.4 应答条件 3.5 重复开始条件 四、总线仲裁机制(SDA) 1、什么是总线仲裁 2、总线仲裁的过程 五、时钟同步(…

QT学习笔记:TCP客户端的实现

QT一般用来做客户端&#xff0c;我这里就简单讲一下怎么开发基于QT的TCP客户端。 1、用QtCreator创建项目 2、界面 3、.pro文件添加network QT core gui network 4、mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include &l…

关于Unity动画卡在第一帧的处理方法

今天在制作人物的死亡动画时出现了题目所说的问题&#xff0c;以下是动画的状态机 因为任何状态都可能死亡&#xff0c;所以是从anyState进入的死亡动画 进入条件为isDead是true&#xff0c;当角色死亡时这个条件就会设置成true 结果出现了卡在这个动画的问题 经过检查发现&a…

Java连接数据库——JDBC使用步骤

步骤: 1.注册驱动 ——导入相应平台厂商的驱动jar包(zip为源码) 驱动版本 8&#xff1a;com.mysql.cj.jdbc.Driver 驱动版本 5&#xff1a;com.mysql.jdbc.Driver DriverManger.registerDriver( new Driver() ); 2.创建链接 —— connection Java程序连接数据库要调用方法,方…

网络推广技术和算法不断更新

网络推广技术和算法不断更新&#xff0c;以下是一些关于网络推广技术和算法的讨论。 1. 定向广告投放&#xff1a;定向广告投放是一种网络推广技术&#xff0c;它利用用户数据和行为分析&#xff0c;将广告投放给特定的受众群体。通过分析用户的兴趣、行为、地理位置等信息&am…

Go环境搭建[win10]

下载 https://golang.google.cn/dl/https://golang.google.cn/dl/go1.20.5.windows-amd64.msiGo环境变量配置 系统变量 GOROOT D:\Dev\Env\Go [Go语言安装目录] GOPROXY https://goproxy.io,direct [配置代理] GOPATH D:\Dev\PROJECTS_GO [Go语言工作目录] PATH …

Java Web JavaScript (1)23.7.1

JavaScript 1&#xff0c;JavaScript简介 JavaScript 是一门跨平台、面向对象的脚本语言&#xff0c;而Java语言也是跨平台的、面向对象的语言&#xff0c;只不过Java是编译语言&#xff0c;是需要编译成字节码文件才能运行的&#xff1b;JavaScript是脚本语言&#xff0c;不…

如何自己开发软件测试工具?一篇文章教会你

目录 序言&#xff1a; 一、自动化测试工具浅析 二、如何快速开发一个自动化测试工具 总结&#xff1a; 序言&#xff1a; 一说到自动化测试工具&#xff0c;大家很多人都会想到的是QTP、LR或者selenium之类的工具&#xff0c;要大家一开始设计一个这样的工具&#xff0c;其…

DevOps实现自动化发布实操

DevOps实现自动化发布流程 本篇文章来自 B站视频&#xff08;部分步骤与视频存在差异&#xff09; 流程图及原理 本地编写代码提交至远程仓库Jenkins&#xff08;基于Docker&#xff09;通过内置Git获取提交的代码&#xff0c;通过Maven进行打包&#xff0c;形成可执行文件&a…

数字信号处理实验:IIR数字滤波器设计及软件实现

目录 一、实验目的 二、实验原理 三、实验设备 四、实验内容及步骤 五、实验结果及分析 六、实验主程序框图及程序清单 七、实验总结 一、实验目的 熟悉用双线性变换法设计IIR数字滤波器的原理与方法&#xff1b;学会调用MATLAB信号处理工具箱中滤波器设计函数&#xff…

还在手动下载github项目?想要自动化下载github项目?基于python开发项目自动下载模块帮你实现自动下载存储

GitHub是一个基于Web的代码托管平台和开发者社区。它允许开发者存储、管理和分享他们的代码&#xff0c;并进行版本控制。开发者可以在GitHub上创建仓库来存储项目代码&#xff0c;并使用Git来跟踪和管理代码的变更历史。GitHub提供了一系列协作工具&#xff0c;如问题追踪、Pu…

一波三折|药学博士终获CSC资助赴瑞典隆德大学从事2年博士后研究

我们先为W博士获得美国哈佛大学布列根和妇女医院的邀请函&#xff0c;助其成功获得CSC公派资助&#xff0c;但后被哈佛大学国际中心以可能拒签为由&#xff0c;不予办理DS-2019表格。幸亏我们未雨绸缪先期又申请到瑞典隆德大学的2年博士后邀请函&#xff0c;最终顺利得到CSC改派…

CAS + 自旋 锁底层

多线程安全问题 为什么会出现多线程安全问题? 在多线程并发下, 假设有 A,B 两个线程同时操作 count 0 这个公共变量, 在A线程中count, 在B线程中count, 正常来说结果应该是 count 2, 可是同时在A, B两个线程中拿到 count 0 , 并且都执行count赋值, 结果就变成了 count 1…

【Java可执行命令】(十一)Java 密钥库和证书管理工具keytool:玩转密钥库和证书管理,深入解析keytool工具的应用与技巧~

Java可执行命令之keytool 1️⃣ 概念2️⃣ 优势和缺点3️⃣ 使用3.1 语法格式3.2 生成证书请求&#xff1a;keytool -certreq3.3 导出证书&#xff1a;keytool -exportcert3.4 生成密钥对&#xff1a;keytool -genkeypair3.5 导入证书或证书链&#xff1a;keytool -importcert3…

基于STM32的直流电机调速系统

目录 基于STM32的直流电机调速系统一、原理图二、部分代码三、视频演示 基于STM32的直流电机调速系统 功能&#xff1a; 1.通过LCD屏幕显示实时两个电机的占空比 2.通过按键调整电机1和2的加减速 3.通过L298N驱动两个直流电机完成调速 一、原理图 二、部分代码 #include &qu…