EDA技术及CPLD/FPGA应用简明教程清华大学出版社主讲人:联系电话:E—mail:EDA技术及CPLD/FPGA应用简明教程EDA技术及CPLD/FPGA应用简明教程清华大学出版社第2页2007年2月10日EDA技术及CPLD/FPGA应用简明教程刘爱荣等编著,清华大学出版社EDA技术及应用朱正伟等编著,清华大学出版社数字系统设计与VerilogHDL王金明等编著,电子工业出版社出版本课件相关参考书目EDA技术及CPLD/FPGA应用简明教程清华大学出版社第3页2007年2月10日第一章绪论第二章大规模可编程逻辑器件CPLD/FPGA第三章硬件描述语言VHDL编程基础第四章常用EDA工具软件操作指南第五章基本逻辑电路设计第六章CPLD/FPGA在数字系统中的应用第七章CPLD/FPGA在通信工程中实践应用第八章CPLD/FPGA在DSP领域中的应用第九章CPLD/FPGA在微机工程中实践应用第十章CPLD/FPGA实验本教材共10章内容EDA技术及CPLD/FPGA应用简明教程清华大学出版社第1章绪论教学目标教学重点教学过程EDA技术及CPLD/FPGA应用简明教程清华大学出版社第5页2007年2月10日了解EDA技术的含义了解EDA技术发展历程理解和掌握EDA技术的主要内容理解和掌握EDA技术的工程设计流程理解数字系统的设计方法简介教学目标EDA技术及CPLD/FPGA应用简明教程清华大学出版社第6页2007年2月10日理解和掌握EDA技术的主要内容理解和掌握EDA技术的工程设计流程掌握数字系统的设计方法教学重点EDA技术及CPLD/FPGA应用简明教程清华大学出版社第7页2007年2月10日EDA技术的含义及主要内容阐述EDA技术的工程设计流程的研究数字系统设计方法综述教学过程EDA技术及CPLD/FPGA应用简明教程清华大学出版社第8页2007年2月10日什么叫EDA技术?由于它是一门迅速发展的新技术,涉及面广,内容丰富,理解各异,目前尚无统一的看法。作者认为:EDA技术有狭义和广义之分,狭义EDA技术就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具。1.1EDA技术的涵义EDA技术及CPLD/FPGA应用简明教程清华大学出版社第9页2007年2月10日什么叫EDA技术?由于它是一门迅速发展的新技术,涉及面广,内容丰富,理解各异,目前尚无统一的看法。作者认为:EDA技术有狭义和广义之分,狭义EDA技术就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具。1.1EDA技术的涵义EDA技术及CPLD/FPGA应用简明教程清华大学出版社第10页2007年2月10日什么叫EDA技术?通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术,或称为IES/ASIC自动设计技术。EDA技术及CPLD/FPGA应用简明教程清华大学出版社第11页2007年2月10日什么叫EDA技术?本书讨论的对象为狭义的EDA技术。广义的EDA技术除狭义的EDA技术之外,还包括计算机辅助分析CAA技术(如PSPICE,EWB,MATLAB等),印刷电路板计算机辅助设计PCB-CAD技术(如PROTEL,ORCAD等)。EDA技术及CPLD/FPGA应用简明教程清华大学出版社第12页2007年2月10日利用EDA技术进行电子系统的设计具有以下几个特点:①用软件的方式设计硬件;②用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;③设计过程中可用有关软件进行各种仿真;④系统可现场编程,在线升级;⑤整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。因此,EDA技术是现代电子设计的发展趋势。EDA技术及CPLD/FPGA应用简明教程清华大学出版社第13页2007年2月10日1.2EDA技术发展历程EDA技术伴随着计算机、集成电路、电子系统设计的发展,经历了计算机辅助设计(ComputerAssistDesign,简称CAD)、计算机辅助工程设计(ComputerAssistEngineeringDesign,简称CAE)和电子设计自动化(ElectronicDesignAutomation,简称EDA)三个发展阶段。EDA技术及CPLD/FPGA应用简明教程清华大学出版社第14页2007年2月10日1.20世纪70年代的计算机辅助设计CAD阶段早期的电子系统硬件设计采用的是分立元件,随着集成电路的出现和应用,硬件设计进入到发展的初级阶段。初级阶段的硬件设计大量选用中小规模标准集成电路,人们将这些器件焊接在电路板上,做成初级电子系统,对电子系统的调试是在组装好的PCB(PrintedCircuitBoard)板上进行的由于设计师对图形符号使用数量有限,传统的手工布图方法无法满足产品复杂性的要求,更不能满足工作效率的要求。EDA技术及CPLD/FPGA应用简明教程清华大学出版社第15页2007年2月10日这时,人们开始将产品设计过程中高度重复性的繁杂劳动,如布图布线工作,用二维图形编辑与分析的CAD工具替代,最具代表性的产品就是美国ACCEL公司开发的Tango布线软件。20世纪70年代,是EDA技术发展初期,由于PCB布图布线工具受到计算机工作平台的制约,其支持的设计工作有限且性能比较差。EDA技术及CPLD/FPGA应用简明教程清华大学出版社第16页2007年2月10日2.20世纪80年代的计算机辅助工程设计CAE阶段初级阶段的硬件设计是用大量不同型号的标准芯片实现电子系统设计的。随着微电子工艺的发展,相继出现了集成上万只晶体管的微处理器、集成几十万直到上百万储存单元的随机存储器和只读存储器。此外,支持定制单元电路设计的硅编辑、掩膜编程的门阵列,如标准单元的半定制设计方法以及可编程逻辑器件(PAL和GAL)等一系列微结构和微电子学的研究成果都为电子系统的设计提供了新天地。EDA技术及CPLD/FPGA应用简明教程清华大学出版社第17页2007年2月10日因此,可以用少数几种通用的标准芯片实现电子系统的设计。伴随计算机和集成电路的发展,EDA技术进入到计算机辅助工程设计阶段。20世纪80年代初,推出的EDA工具则以逻辑模拟、定时分析、故障仿真、自动布局和布线为核心,重点解决电路设计没有完成之前的功能检测等问题。利用这些工具,设计师能在产品制作之前预知产品的功能与性能,能生成产品制造文件,在设计阶段对产品性能的分析前进了一大步。EDA技术及CPLD/FPGA应用简明教程清华大学出版社第18页2007年2月10日如果说20世纪70年代的自动布局布线的CAD工具代替了设计工作中绘图的重复劳动,那么,到了20世纪80年代出现的具有自动综合能力的CAE工具则代替了设计师的部分工作,对保证电子系统的设计,制造出最佳的电子产品起着关键的作用。到了20世纪80年代后期,EDA工具已经可以进行设计描述、综合与优化和设计结果验证,CAE阶段的EDA工具不仅为成功开发电子产品创造了有利条件,而且为高级设计人员的创造性劳动提供了方便。但是,大部分从原理图出发的EDA工具仍然不能适应复杂电子系统的设计要求,而具体化的元件图形制约着优化设计。EDA技术及CPLD/FPGA应用简明教程清华大学出版社第19页2007年2月10日3.20世纪90年代电子系统设计自动化EDA阶段为了满足千差万别的系统用户提出的设计要求,最好的办法是由用户自己设计芯片,让他们把想设计的电路直接设计在自己的专用芯片上。微电子技术的发展,特别是可编程逻辑器件的发展,使得微电子厂家可以为用户提供各种规模的可编程逻辑器件,使设计者通过设计芯片实现电子系统功能。EDA工具的发展,又为设计师提供了全线EDA工具。EDA技术及CPLD/FPGA应用简明教程清华大学出版社第20页2007年2月10日这个阶段发展起来的EDA工具,目的是在设计前期将设计师从事的许多高层次设计由工具来完成,如可以将用户要求转换为设计技术规范,有效的处理可用的设计资源与理想的设计目标之间的矛盾,按具体的的硬件、软件和算法分解设计等。由于电子技术和EDA工具的发展,设计师可以在不太长的时间内使用EDA工具,通过一些简单标准化的设计过程,利用微电子厂家提供的设计库来完成数万门ASIC和集成系统的设计与验证。EDA技术及CPLD/FPGA应用简明教程清华大学出版社第21页2007年2月10日20世纪90年代,设计师逐步从使用硬件转向设计硬件,从单个电子产品开发转向系统级电子产品开发(即片上系统集成,Systemonachip)。因此,EDA工具是以系统机设计为核心,包括系统行为级描述与结构综合,系统仿真与测试验证,系统划分与指标分配,系统决策与文件生成等一整套的电子系统设计自动化工具。EDA技术及CPLD/FPGA应用简明教程清华大学出版社第22页2007年2月10日这时的EDA工具不仅具有电子系统设计的能力,而且能提供独立于工艺和厂家的系统级设计能力,具有高级抽象的设计构思手段。例如,提供方框图、状态图和流程图的编辑能力,具有适合层次描述和混合信号描述的硬件描述语言(如VHDL、AHDL或Verilog-HDL),同时含有各种工艺的标准元件库。只有具备上述功能的EDA工具,才可能是电子设计工程师在不熟悉各种半导体工艺的情况下,完成电子系统的设计。EDA技术及CPLD/FPGA应用简明教程清华大学出版社第23页2007年2月10日未来的EDA技术将向广度和深度两个方向发展,EDA将会超越电子设计的范畴进入其他领域,随着基于EDA的SOC(单片系统)设计技术的发展,软硬核功能库的建立,以及基于VHDL所谓自顶向下设计理念的确立,未来的电子系统的设计与规划将不再是电子工程师们的专利。有专家认为,21世纪将是EDA技术快速发展的时期,并且EDA技术将是对21世纪产生重大影响的十大技术之一。EDA技术及CPLD/FPGA应用简明教程清华大学出版社第24页2007年2月10日1.3EDA技术的主要内容EDA技术涉及面广,内容丰富,从教学和实用的角度看,究竟应掌握些什么内容呢?作者认为,主要应掌握如下四个方面的内容:①大规模可编程逻辑器件;②硬件描述语言;③软件开发工具;④实验开发系统。EDA技术及CPLD/FPGA应用简明教程清华大学出版社第25页2007年2月10日其中,大规模可编程逻辑器件是利用EDA技术进行电子系统设计的载体,硬件描述语言是利用EDA技术进行电子系统设计的主要表达手段,软件开发工具是利用EDA技术进行电子系统设计的智能化的自动化设计工具,实验开发系统则是利用EDA技术进行电子系统设计的下载工具及硬件验证工具。为了使读者对EDA技术有一个总体印象,下面对EDA技术的主要内容进行概要的介绍。EDA技术及CPLD/FPGA应用简明教程清华大学出版社第26页2007年2月10日1.3.1.大规模可编程逻辑器件可编程逻辑器件(简称PLD)是一种由用户编程以实现某种逻辑功能的新型逻辑器件。FPGA和CPLD分别是现场可编程门阵列和复杂可编程逻辑器件的简称,现在,FPGA和CPLD器件的应用已十分广泛,它们将随着EDA技术的发展而成为电子设计领域的重要角色。国际上生产FPGA/CPLD的主流公司,并且在国内占有市场份额较大的主要是Xilinx,Altera,Lattice三家公司。EDA技术及CPLD/FPGA应用简明教程清华大学出版社第27页2007年2月10日Xilinx公司的FPGA器件有XC2000,XC3000,XC4000,X