把电子电路变成芯片的过程是一门艺术,而且是一门不断发展变化的艺术。以前,电路设计、掌握材料物理特性、以及图形光刻的任务,每个环节都需要设计者考虑周全。之后,电路的设计艺术则变成了主要针对电路的门级网表进行考虑。到了现在,用硬件描述语言(HDL)这种类似编程语言的工具来进行设计,已经成为数字电路设计的主要方法。基于HDL进行电路的设计是本书的一个核心内容。
现在,成功设计出一个小规模的电路技术上不会有什么问题,但是对于一个设计团队来说,因为他们要设计面向实际应用的电路芯片,则有很多严格的要求。本书介绍的第二个核心问题则是如何完整实现一个真正的,先进的类似于SPARC处理器的RISC处理器。
本书首先介绍了芯片的设计技术,其中包括了如何认识设计开销的重要性这一关键问题,在第2章,给出了VLSI(超大规模集成电路)设计的概述。第3章的内容是现代RISC处理器技术的介绍,其中对我们将要设计的处理器所要采用的关键技术进行权衡和筛选。由于我们主要采用硬件描述语言进行设计,本书的第4章对硬件描述语言Verilog进行了简短的介绍,第11章是详细深入的Verilog技术说明和典型的建模技术。在本书的附盘中还包含了一个Verilog的仿真器和大量的例子。
我们要设计的RISC处理器名称为TOOBSIE,书中在第5章中介绍了其外部功能特性,包括它的指令和作为参照的HDL解释器模型。关于处理器内部结构的详细介绍在第6章中进行阐述,并且在这一章中,我们确定了处理器的粗略结构。处理器主要的HDL模型就是粗略结构模型,读者可以在附盘3中找到其完整的可执行的源码。该模型数据通路的流水线在第7章中详细介绍。
粗略结构模型可以用半导体制造商提供的单元库,半自动的转换成门级的电路模型。我们选择了部分单元作为例子,在第8章中介绍了门级模型的综合。最后,第9章详细介绍了处理器芯片的测试、可测性、测试仪和测试所用的测试板,这些手段可用来确认芯片是否实现了正确的功能。
本书的读者群定位在从事计算机科学和电子工程专业的人员,以及管理人员。借助本书,读者可以开展自己的芯片设计工作,或考虑芯片的应用系统。本书介绍了:
现代VLSI设计
大规模芯片的半定制设计技术
硬件描述语言Verilog HDL
现代实用化的RISC处理器设计
大规模电路设计的HDL建模技术
设计文档、行为级、结构级的HDL建模、门级模型、测试和可测性设计。
本书可以作为一本完整和独立的教科书。对于专家级的读者,本书的内容提供那些希望有选择地了解RISC处理器设计,或者甚至完全掌握RISC处理器设计的读者选择,而且可能对专家级的读者开发自己的CAD工具和设计方法有所帮助。另外,本书还有高级本,其中包括了处理器所有门级模型的电路图(参见359页)。
本书中每一章的图表都进行了编号。高级本每一章都用H打头,例如H5.3表示的是针对硬件的高级本。
一个大项目的设计团队这样规模的一个大项目需要一个设计团队共同完成。最坏情况下,即便是一个队员不断更替的团队,也是完成项目所需要的。下页中的图给出了职位不分高低的团队层次,每一级的排名不分先后。没有图中第2圈的辅助人员,项目是无法完成的。第3圈的学生也是非常忙碌的。Peter Blinzer由于一些突然的工作委托而离开了核心1圈的位置。
该项目的启动是来自Michael Schfers的想法,最初本书作者甚至都认为是不可能实现的,不光是成本的原因。Michael Schfers同KlausPeter Wachsmann一起开发了作为培训的和初级处理器模型的TOOBSIE1处理器。之后,每天的项目管理是由Michael Schfers和KlausPeter Wachsmann共同完成的。同后来加入的Elmar Cochlovius一起,他们共同完成了外部和内部描述,详细介绍了所有的结构(参见第5章和第6章)。
一个大项目的设计文档通常都是不公开的,但是有时也由项目本身决定。Elmar Cochlovius参与了(不光是)这个项目;他亲自编写文档,同时——更加困难的是——动员其他人去准备文档,以此作为本书的基础内容。另外为了练习处理器芯片设计,所有3个辅助人员进行了设计方法方面的博士研究(参见第10章)。作为书中的一个例子,提及了Elmar Cochlovius在如何用状态图进行高层次描述方面的研究。
Peter Blinzer, Rüdiger Bodack, Klaus Meyer和Sebastian Steibl开发了Verilog模型,特别是粗略结构模型,并且对源码进行了注释(参见第7章,H3,H4,#2和#3)。Peter Blinzer主要完成了门级模型(参见第8章和H5)的设计。
Gerrit Telkamp分别设计了简单的和复杂的两个版本的测试电路板,并且在测试仪和测试板上进行了处理器的测试。同Peter Blinzer一起,他们准备了关于测试的书中第9章的内容。后来还进行了产品的测试。
Claude Ackad准备了书中附带的对Verilog的介绍(参见第4章和第11章),这些内容保证了本书的质量,虽然这种做法已经在现在的出版物中不流行了。Thomas Scholz为不同的测试系统平台设计了操作系统。
. Matthias Bodenstein直到最后一张图片也没有失掉他对图形设计和处理的兴趣。Jürgen HannkenIlljes用模式识别的方法将电路图转换成可供打印的图性格式。
Karsten Dagefrde, Matthias Mansfeld, Gerrit Mierse, Frank Prielipp, Jrg Reitner, Heiko Stuckenberg, Dirk Wodtke和Florian Buchholz也对本书作出了重要的贡献,他们的名字位于图中(看不到)的第4圈。
这个项目是在Braunschweig理工大学集成电路设计系(E.I.S.)完成的。该项目得到了LSI Logic公司,ESPRIT项目EUROCHIP,Lower Saxony科学和文化部(MWK)和Federal教育和科学部(BMBW),以及Volkswagen grant的支持。
我们要特别感谢Wellspring Solutions公司为本书的读者提供了仿真器VeriWell,包括在本书的附盘中,但未经过授权;不过该软件在使用和应用时没有任何限制。
另外,没有我的出版方Springer出版社的鼓励和提出意见,就不可能有本书的出版。
我是在大约1岁开始学习德语的,在10岁开始学习英语,并在24岁的时候去了美国,在Michigan大学进行学习。很不幸,我永远不可能弥补这九年的英语学习时间。书中难免有表述不周之处,望读者谅解。
从前,我怀疑自己能否全身心地投入本书的写作,直到我真的开始由于写书而忽视我的家庭:Barbara,Christian和Fabian。
Ulrich Golze
Braunschweig, September 1995