随着数字逻辑设计的规模越来越大,复杂度越来越高,功能验证已经成为设计过程中的首要瓶颈。缩短验证时间是项目取得成功的关键。本书系统地阐述了当今最具价值的基于模拟和形式方法的验证技术,帮助测试工程师和设计工程师为每个项目选择最佳的解决方法,最快地在设计中建立起自信,并将它移植到更快的制造过程中。 本书作者William K. Lam是设计验证方面的世界级一流专家,书中汇聚了作者广博的实践经验,既讨论一般的测试原则,也展示具体的实践方法,有些内容还提供了伪代码形式的算法,读者只需简单地改写为具体的程序设计语言,即可上机调试。无论高校学生还是企业的验证工程师都可以从本书获益。
过去几十年,微电子技术高速发展所取得的巨大成就和人们对信息技术的大量需求,使得现代集成电路系统的规模和复杂程度日趋提高。这必将导致对未来集成电路系统的设计和制造提出更高的要求。 一方面,要在包含数以亿计的晶体管的电路中避免出现设计错误,这是一项非常艰巨的任务。据报道,1994年Intel公司生产的Pentium芯片中的浮点除法运算错误是在其大量进入商用后才被一位用户发现的,虽然这种错误发生的概率为几亿分之一,但这个设计错误还是给Intel公司造成4.75亿美元的经济损失和难以估量的形象损失。另一方面,从集成电路设计角度看,系统设计是否满足规范的需求,以及在设计的各个阶段的等价性检验等都对设计验证提出很高的要求。 William K. Lam博士所著的这本书正是全面而系统地阐述如何应对上述两方面挑战的入门读物。它汇集并整理大量的数字硬件设计验证的技术和方法,提出许多设计验证的原则及实际算法;更值得一提的是,本书叙述深入浅出,为想进入形式验证这一具有“高深数学门槛”的领域的读者提供了一种很好的学习方法。 本书的主要内容围绕着对硬件设计进行验证的两大方法(基于模拟和形式验证的方法)展开。第1~6章论述基于模拟的验证。在引入设计验证的一些基本概念以后,作者提出硬件设计代码的编码风格准则及排除静态错误的方法;第3章介绍模拟器的基本体系结构与操作;第4章则对测试基准的组成与设计进行全面阐述;第5、6章分别讨论进行模拟时的测试规划和测试构想,以及研究错误查找周期中不同环节的方法和过程。第7~9章对形式验证这一当前技术热点的若干主题进行循序渐进的讨论。第7章为不熟悉有关形式验证所需的数学预备知识的读者提供很好的入门材料;第8章则花费大量篇幅讨论二叉判定图(BDD)的构造、简化及相应的检验技术;第9章详细讨论模型检验、符号模拟技术,并对所用到的时态逻辑知识点作了精心的安排,使读者能更好地理解这些非常抽象的符号。当然,如果读者事先具备命题逻辑和一阶逻辑的背景知识则更好。 本书作为为数不多的硬件设计验证的系统论著,有其鲜明的特点:对内容的叙述非常详尽。比如,既讨论一般的原则也展示具体的实践方法,有些内容还提供伪代码形式的算法,读者只需简单地改写为具体的程序设计语言,即可上机调试。此外,本书作者William K. Lam博士是Sun公司的资深经理及高级工程主管。他在Sun和惠普公司任职期间,致力于设计验证、低功耗设计及分析、逻辑综合及自动测试生成(ATPG)等工作。正因为这样,本书不是枯燥无味的从理论到理论的陈述,而是包含大量实例,从而更为实用。 正如作者在前言中所说,本书的读者可以是在校的学生,也可以是企业的验证工程师;他们都可以从本书中获得“一站式”的现代硬件设计验证指南。 据译者所知,目前在国内还没有关于硬件设计验证的论著出版。因此,引入这方面的国外论著是一件非常有意义的工作。本书的翻译遵从忠实于原著的原则,但对于原著中出现的一些明显错误做了修正。另外,还根据原书作者提供的勘误表改正了原文的一些错误。由于本书涉及大量电子科学、计算机科学及数学的一些知识,译文中对一些汉语中没有对应现成译名的名词(尤其是集成电路领域的术语)都给出原文,供读者对照;另外,译者还专门编写了原书中出现的术语缩写词英汉对照表。 在翻译本书的过程中,得到家人的理解和支持。机械工业出版社华章分社的编辑做了大量工作。此外,还得到我的同事俞水根先生的协助。在此,一并对他们表示衷心感谢。 虽然尽了最大努力,但由于水平有限,译文中难免会有错误和不当之处,敬请读者不吝赐教。我的邮件地址为:wangww at vlsi.zju.edu.cn