Skip to main content
QUICK REVIEW

[论文解读] Verification of Building Blocks for Asynchronous Circuits

Freek Verbeek, Julien Schmaltz|TU/e Research Portal (Eindhoven University of Technology)|Apr 30, 2013
Formal Methods in Verification参考文献 11被引用 6
一句话总结

本文提出了一种基于ACL2的正式验证框架,用于自动验证使用Click库中延迟无关原原子构建的异步电路的无死锁性。通过推导每个原原子的必要且充分的阻塞/空闲条件,该方法生成SAT/SMT实例,其实现不可行性可证实无结构性死锁,从而实现复杂电路的完全自动化、构造正确性验证。

ABSTRACT

Scalable formal verification constitutes an important challenge for the design of asynchronous circuits. Deadlock freedom is a property that is desired but hard to verify. It is an emergent property that has to be verified monolithically. We present our approach to using ACL2 to verify necessary and sufficient conditions over asynchronous delay-insensitive primitives. These conditions are used to derive SAT/SMT instances from circuits built out of these primitives. These SAT/SMT instances help in establishing absence of deadlocks. Our verification effort consists of building an executable checker in the ACL2 logic tailored for our purpose. We prove that this checker is correct. This approach enables us to prove ACL2 theorems involving defun-sk constructs and free variables fully automatically.

研究动机与目标

  • 为解决异步电路无死锁性验证的挑战,该挑战是孤立原原子分析无法推导出的涌现性质。
  • 在定理证明器中正式指定并验证延迟无关原原子(如连接器、分叉器和分配器)的阻塞和空闲状态的必要且充分条件。
  • 开发一个可执行的、形式化验证的检查器(在ACL2中实现),可自动验证原原子的阻塞/空闲条件,从而实现可扩展的验证。
  • 实现从基于Click的电路自动生成SAT/SMT实例,其中实例的不可行性意味着无死锁。
  • 形式化证明SAT/SMT推导过程的正确性,确保实例可行性与结构性死锁存在性之间的逻辑等价性。

提出的方法

  • 使用扩展延迟无关(XDI)规范形式化Click原原子,表示为具有环境依赖执行语义的状态机。
  • 定义精确的逻辑条件——使用block和idle谓词——以表征握手何时被永久阻塞或处于空闲状态。
  • 实现一个定制的ACL2检查器,用于验证每个原原子的这些条件,并在ACL2逻辑中证明其正确性。
  • 利用该检查器自动证明涉及defun-sk构造和自由变量的定理,从而实现复杂验证条件的完全自动化证明。
  • 基于已验证的阻塞/空闲条件,从电路设计中推导SAT/SMT实例,其实现不可行性意味着无死锁。
  • 将该方法应用于实际电路(例如,一个六原原子Click网络),生成并验证了如握手$a$的死锁公式。

实验结果

研究问题

  • RQ1能否通过捕捉系统级涌现性质,将异步电路无死锁性形式化验证的规模扩展至孤立原原子分析之外?
  • RQ2如何在定理证明器中正式指定并验证延迟无关原原子的阻塞和空闲状态的必要且充分条件?
  • RQ3在硬件验证背景下,ACL2在自动证明涉及defun-sk和自由变量的复杂定理方面,其适用范围有多大?
  • RQ4从已验证的原原子条件推导出的SAT/SMT编码,能否正确反映复合电路中的结构性死锁存在性?
  • RQ5能否形式化证明所推导SAT/SMT实例的可行性与结构性死锁存在性之间存在逻辑等价性?

主要发现

  • 连接器原原子的阻塞条件已正式验证为:输入$a$被阻塞当且仅当输出$c$被阻塞或输入$b$处于空闲状态,从而确保了正确的死锁建模。
  • 示例电路中握手$a$的推导公式在逻辑上不可满足,证明该设计中不存在结构性死锁。
  • ACL2检查器正确验证了分配器原原子的复杂阻塞条件,包括涉及选择信号和输出阻塞的情况。
  • 该方法实现了涉及defun-sk和自由变量的定理的完全自动化证明,显著减少了验证中的手动工作量。
  • 该方法成功地将单体的死锁验证问题转化为可扩展的自动化流程,通过SAT/SMT编码实现。
  • 该框架具有可扩展性,未来可用于形式化验证SAT/SMT推导过程的正确性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。