本书介绍了ispLSI系列在系统可编程逻辑器件和ispPAC系列模拟在系统可编程器件的内部结构和工作原理,用于数字逻辑电路设计的硬件描述语言ABEL-HDL、VHDL和Verilog-HDL,以及在系统可编程逻辑器件的开发系统ispDesignEXPERT和模拟在系统可编程器件的开发系统PAC-Design中的使用方法,最后介绍了实现具有一定应用价值的电子系统的设计方法和实例。本书可以作为从事电子产品开发和生产的工程技术人员学习和开发在系统可编程集成电路原理和应用技术的参考书,也可以作为大专院校电子工程类专业开设实验和数字系统设计课程的教学参考书。《EDA技术丛书》编委会名单主任:邵国培(解放军电子工程学院副院长、教授、博导)副主任:陆伯雄(电子工业出版社高级编辑)黄正瑾(东南大学电工电子实验中心主任、教授)主编:李东生(解放军电子工程学院电子技术实验中心副主任、副教授)编委:李辉(中国科技大学高级工程师)郑步生(南京航空航天大学EDA实验中心副主任、副教授)龚建荣(南京邮电学院信息工程系副主任、副教授)张勇(解放军电子工程学院高级工程师)序言众所周知,电子系统的集成化,不仅可使系统的体积小、重量轻且功耗低,更重要的是可使系统的可靠性大大提高。因此自集成电路问世以来,集成规模便以10倍/6年的速度增长。从20世纪90年代初以来,电子系统日趋数字化、复杂化和大规模集成化。由于个人电脑、无绳电话和高速数据传输设备的发展需求,电子厂商们越加迫切地追求电子产品的高功能、优品质、低成本、微功耗和微小封装尺寸。为达此目标,必须采用少量的IC器件和面积尽可能小的PCB板研制高集成化的复杂系统,这些要求进一步促进集成工艺的发展。1999年,以0.18微米工艺为基础的百万门器件已经出现,预计在2002年和2005年,集成工艺将分别达到0.13微米和0.1微米。深亚微米半导体工艺、B表面安装技术的发展又支持了产品的集成化程度的进步,使电子产品进入了片上系统(SOC,SystemOnChip)时代。所谓片上系统的设计,是将电路设计、系统设计、硬件设计、软件设计和体系结构设计集合于一体的设计。这样复杂的设计通常需要很多人、经过多年研究开发方能实现,不依靠计算机的帮助是无法在短期完成的。图0-1产品的利润与其上市时间的关系另一方面,电子产品设计周期短和上市快也是电子厂商们坚持不懈的追求。图0-1表明了产品上市时间与其利润之间的关系。一个产品从开始上市到其从市场上被淘汰为止,其销售情况是一个三角形。这个三角形的面积便是此产品的总的利润,如果产品上市晚了,如图中t2时间较t1时间晚了时间Δ,则从t2开始的三角形的面积比从t1开始的三角形的面积将小得多,也就是所获得的总利润将小得多。这说明,一个企业如果能够比其竞争对手更快地推出新产品,更快地对市场作出反应,即可获取更大的市场份额和更大的利润。电子设计自动化(EDAElectronicsDesignAutomation),即用计算机帮助设计人员完成繁琐的设计工作,是解决以上两个问题的惟一途径。电子设计自动化在不同的时期有不同的内容。在20世纪70年代表现为计算机辅助设计(CAD),即将电子设计中涉及到的许多计算用计算机程序实现。在20世纪80年代表现为计算机辅助工程(CAE),主要体现在一些绘图软件出现,减轻了设计人员的劳动。从20世纪80年代末开始,设计复杂程度越来越高,EDA的主要内容逐步转变为电子系统设计自动化(ESDA)。现在数字系统的EDA可以直接根据设计要求,以自顶至底的方式设计,并相应地完成系统描述、仿真、集成和验证等环节,直到最后生成所需要的器件。在以上过程中,除系统级设计和行为级描述及对功能的描述以外均可由计算机自动完成。也就是说,设计人员借助开发软件的帮助,可以将设计过程中的许多细节问题抛开,而将注意力集中在产品的总体开发上。这样大大减轻了工作人员的工作量,提高了设计效率,减少了以往复杂的工序,缩短了开发周期,实现了真正意义上的电子设计自动化。这个变化是伴随着片上系统的设计出现的,因此有人将EDA转向片上系统看作是一次关于系统设计的革命。对电子系统设计自动化而言,现代设计方法和现代测试方法是至关重要的。当前,EDA包含单片机、ASIC(专用集成电路)和DSP(数字信号处理)等主要方向。无论哪一种方向,都需要一个功能齐全、处理方法先进、使用方便和高效的开发系统。目前世界上一些大型EDA软件公司已开发了一些著名的软件,如orCAD、Cadence、PSPICE(以及由其衍生出的软件ElectronicWorkBench)和Viewlogic(现在为INNOVEDA)等,各大半导体器件公司为了推动其生产的芯片的应用,也推出了一些开发软件,如Lattice公司的Synario,Altera公司的MaxPlusII,Xilinx公司的Fundation等。随着新器件和新工艺的出现,这些开发软件也在不断更新或升级,如Lattice公司的Synario和Altera公司的MaxPlusII将分别被Expert和Quatues所代替。软件系统变化如此之快,使得几年前出版的有关书籍,特别是教材,已经不能完全适用于现在的器件和开发系统的现状。每个开发系统都有自己的描述语言,为了便于各系统之间的兼容,IEEE公布了几种标准语言,最常用的有VHDL和Verilog。VHDL是美国国防部于20世纪80年代初推出,其全称是VeryHighSpeedIntegratedCircuitHDL,即超高速集成电路硬件描述语言,该语言曾于1987年和1993年两次被定为IEEE的标准;Verilog语言原是美国GatewayDesignAutomation公司于20世纪80年代开发的逻辑模拟器Verilog-XL所使用的硬件描述语言。1989年Cadence公司收购该公司后于1990年公开以VerilogHDL名称发表,并成立了OVI(OpenVerilogInternational)组织负责该语言的发?埂S捎诟糜镅缘挠旁叫裕鞔蟀氲继迤骷痉追撞捎盟魑⒈竟静返墓ぞ摺EEE也于1995年将其定为协会的标准,即IEEE1364-1995,这两种语言已成为从事EDA的电子工程师必须掌握的工具。与开发工具同样重要的是器件,就ASIC方向而言,所使用的集成方式有全定制、半定制和可编程逻辑器件等。可编程逻辑器件(PLD)与全定制和半定制不同,它按标准器件生产,芯片工厂因此可以获得规模生产效益。而用户则可以通过编程PLD器件以实现特殊的应用,从而获得ASIC产品的功能。换言之,PLD将控制功能交给用户,用户在用PLD器件研发产品时即获得了这种控制功能。CPLD和FPGA较全定制和半定制方法具有更多的灵活性——既适用于短研制周期、小批量产品开发,也可用于大批量产品的样品研制,且项目开发前期费用低,开发时间短,有利于新产品占领市场,是目前ASIC设计所使用的最主要的方法。有人认为,可编程逻辑器件(PLD)不仅近年来受到系统设计者的青睐,而且在半导体领域中呈现出一支独秀的增长态势,成为系统级平台设计的首选。随着PLD器件向更高速、更高集成度、更强功能和更灵活的方向发展,将来也仍然是掩膜式专用集成电路(全定制与半定制方式)有力的竞争者。CPLD和FPGA普及的另一个重要原因是IP(知识产权)越来越被高度重视,带有IP内核的功能块在ASIC设计平台上的应用日益广泛。越来越多的设计人员,采用设计重用,将系统设计模块化,为设计带来了快捷和方便。并可以使每个设计人员充分利用软件代码,提高开发效率,减少应市时间,降低研发费用,缩短研发周期,降低风险。这是研究EDA技术必须关注的问题。本丛书的宗旨为读者介绍当前我国最流行的几种EDA软件以及CPLD和FPGA的原理和应用,其中包括通用设计软件Protel,电路设计软件OrCAD,电路设计软件Multisim(原ElectronicWorkbench6.0以上版本),系统模拟软件Systemview和CPLD开发软件MaxPlusII(Quatues),FPGA开发软件Fundation,ispLSI开发软件Expert(Synario)等。在介绍这些EDA软件时,既不像大部分教科书那样只简要介绍它们的基本规则和有关器件的基本原理(这种介绍只适用于对初学者的训练,对生产科研的实际应用则不能完全适应);也不像使用手册那样洋洋大篇,难以快速掌握;更不像公司宣传用的资料那样过多地介绍自己的产品,缺乏可读性。而是从教会读者基本使用方法开始,通过各种实例,由浅入深地介绍其应用(在3个介绍开发软件的著作中还按以用为本的原则对有关的器件和VHDL语言作了必要的阐述)。丛书作者都是有一定教学和科研实践经验的教师,清楚如何启发读者快速地掌握软件的精要,各本书中也不同程度地反映了作者科研实践中的宝贵经验,其中很多是在教科书和使用手册中见不到的(例如对VHDL的应用,教科书上介绍的只是通用的规则,本丛书则是介绍针对某个开发系统中适用的规则)。尤其介绍了若干较大型的设计实例,直至对IP的简单应用。读者可以从入门开始,经过由浅入深的训练,逐步达到精通的境界。黄正瑾于东南大学2001年12月前言随着计算机和大规模集成电路制造技术的迅速发展,采用普通的小规模数字逻辑集成电路,如74系列的TTL通用数字逻辑集成电路,已经不能够满足现代数字系统设计的要求。因此,在现代的电子产品和复杂的数字逻辑系统中,一般都采用了各种类型的大规模集成电路。高密度在系统可编程ispLSI(In-SystemProgammableLargeScaleIntegration)逻辑器件是众多大规模复杂可编程逻辑集成电路中的一种,其先进的设计思想和灵活的开发工具,使原来感到复杂的数字逻辑系统的设计变得轻松和简单了。“ISP”(在系统可编程)是指用户为了修改逻辑设计或重构数字逻辑系统,而在已经设计和制作后的电路板上,直接在线编程和反复修改在系统可编程逻辑器件