首页> 外文学位 >Automatic generation of invariants in formal verification of microprocessors and memory systems.
【24h】

Automatic generation of invariants in formal verification of microprocessors and memory systems.

机译:在微处理器和存储系统的形式验证中自动生成不变量。

获取原文
获取原文并翻译 | 示例

摘要

Formal verification of complex hardware designs is a very challenging process especially for designs such as microprocessors due to their sheer complexity. The main difficulty in verifying such systems is in finding and strengthening invariants. In this thesis, we introduced several techniques to alleviate the problem of finding and strengthening invariants for such systems.; First, we propose a formulation of hardware correctness based on the idea of functional equivalence. We show how functional equivalence can be used to prove the correctness of microprocessors and memory systems and other kinds of hardware. Functional equivalence makes verifying systems such as microprocessors much easier than other approaches in the literature. Moreover, it is applicable to a much larger class of systems.; Then, we introduce a method we call symbolic consistency testing that reduces the effort needed to generate inductive invariants. The method uses k-step induction to strengthen the property (functional equivalence) and relies on the user to find symbolic test vectors . These test vectors are used to eliminate existential quantifiers in the k-step induction using a technique we call predicate instantiation. We show how this method works successfully on a number of examples of cached memory systems.; To further reduce the manual effort needed to verify such systems, we introduce a refinement heuristic that tries to automatically find the symbolic test vectors. The heuristic finds the required test vectors for all the examples we consider very quickly.; We also introduced a semi-formal method that can be used with systems that are too complex for symbolic consistency testing. This is a debugging method that uses structural constraints within the system to remove incoherent states from the state space. This method is able to find all bugs in our examples and it is in general more efficient than symbolic consistency testing.; Finally, we introduce a sound and complete abstraction method that maps an infinite system to a finite system that can be verified with model checking techniques. This abstraction technique applies only to a certain class of systems what we characterize.
机译:复杂硬件设计的形式验证是一个非常具有挑战性的过程,特别是对于诸如微处理器之类的设计而言,由于其纯粹的复杂性。验证此类系统的主要困难在于查找和增强不变性。在本文中,我们介绍了几种技术来缓解发现和增强此类系统不变性的问题。首先,我们基于功能对等的思想提出了硬件正确性的表述。我们展示了如何使用功能等效性来证明微处理器和存储系统以及其他类型硬件的正确性。功能上的等效使验证系统(如微处理器)比文献中的其他方法容易得多。而且,它适用于更大的一类系统。然后,我们介绍一种称为符号一致性测试的方法,该方法可以减少生成归纳不变式所需的工作量。该方法使用k阶归纳法来增强属性(功能等价性),并依赖用户查找符号测试向量。使用我们称为谓词实例化的技术,将这些测试向量用于消除k步归纳中的存在量词。我们将展示该方法如何在许多缓存存储系统示例中成功工作。为了进一步减少验证此类系统所需的人工,我们引入了一种细化试探法,尝试自动找到符号测试向量。启发式算法可以非常迅速地为所有示例找到所需的测试向量。我们还介绍了一种半正式方法,该方法可用于对于符号一致性测试而言过于复杂的系统。这是一种调试方法,使用系统内的结构约束从状态空间中删除不相干的状态。这种方法能够发现示例中的所有错误,并且通常比符号一致性测试更有效。最后,我们介绍了一种完善而完整的抽象方法,该方法将无限系统映射到可以通过模型检查技术进行验证的有限系统。这种抽象技术仅适用于我们所描述的特定类型的系统。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号