收藏 分销(赏)

EDA技术课程第1章.pptx

上传人:胜**** 文档编号:1574433 上传时间:2024-05-05 格式:PPTX 页数:90 大小:540.80KB
下载 相关 举报
EDA技术课程第1章.pptx_第1页
第1页 / 共90页
EDA技术课程第1章.pptx_第2页
第2页 / 共90页
EDA技术课程第1章.pptx_第3页
第3页 / 共90页
EDA技术课程第1章.pptx_第4页
第4页 / 共90页
EDA技术课程第1章.pptx_第5页
第5页 / 共90页
点击查看更多>>
资源描述

1、第1章 绪 论第第1章章 绪论绪论 第第2章章 大规模可编程逻辑器件大规模可编程逻辑器件 第第3章章 VHDL编程基础编程基础 第第4章章 常用常用EDA工具软件操作指南工具软件操作指南 第第5章章 EDA实验开发系统实验开发系统 第第6章章 VHDL设计应用实例设计应用实例 第第7章章 EDA技术实验技术实验目 录 第1章 绪 论第1章 绪 论1.1 EDA技术的涵义技术的涵义1.2 EDA技术的发展历程技术的发展历程1.3 EDA技术的主要内容技术的主要内容1.4 EDA软件系统的构成软件系统的构成1.5 EDA工具的发展趋势工具的发展趋势1.6 EDA的工程设计流程的工程设计流程1.7

2、数字系统的设计数字系统的设计1.8 EDA技术的应用展望技术的应用展望 第1章 绪 论1.1 EDA技术的涵义技术的涵义 什么叫EDA技术?由于它是一门迅速发展的新技术,涉及面广,内容丰富,因而理解各异,目前尚无统一的看法。作者认为:EDA技术有狭义的EDA技术和广义的EDA技术之分。狭义的EDA技术,就是指以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定

3、目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术,或称为IES/ASIC自动设计技术。第1章 绪 论 本书讨论的对象专指狭义的EDA技术。广义的EDA技术,除了狭义的EDA技术外,还包括计算机辅助分析CAA技术(如PSPICE、EWB、MATLAB等)和印刷电路板计算机辅助设计PCB-CAD技术(如PROTEL、ORCAD等)。在广义的EDA技术中,CAA技术和PCB-CAD技术不具备逻辑综合和逻辑适配的功能,因此它并不能称为真正意义上的EDA技术。故作者认为将广义的EDA技术称为现代电子设计技术更为合适。第1章 绪 论利用EDA技术(特指IES/A

4、SIC自动设计技术)进行电子系统的设计,具有以下几个特点:用软件的方式设计硬件;用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;设计过程中可用有关软件进行各种仿真;系统可现场编程,在线升级;整个系统可集成在一个芯片上,体积小、功耗低、可靠性高;从以前的“组合设计”转向真正的“自由设计”;设计的移植性好,效率高;非常适合分工设计,团体协作。因此,EDA技术是现代电子设计的发展趋势。第1章 绪 论1.2 EDA技术的发展历程技术的发展历程 EDA技术伴随着计算机、集成电路、电子系统设计的发展,经历了计算机辅助设计(Computer Assist Design,简称CAD)、计算机

5、辅助工程设计(Computer Assist Engineering Design,简称CAE)和电子设计自动化(Electronic Design Automation,简称EDA)三个发展阶段。第1章 绪 论 1.20世纪世纪70年代的计算机辅助设计年代的计算机辅助设计CAD阶段阶段 早期的电子系统硬件设计采用的是分立元件,随着集成电路的出现和应用,硬件设计进入到发展的初级阶段。初级阶段的硬件设计大量选用中小规模标准集成电路,人们将这些器件焊接在电路板上,做成初级电子系统,对电子系统的调试是在组装好的PCB(Printed Circuit Board)板上进行的。第1章 绪 论 由于设计师

6、对图形符号使用数量有限,传统的手工布图方法无法满足产品复杂性的要求,更不能满足工作效率的要求。这时,人们开始将产品设计过程中高度重复性的繁杂劳动,如布图布线工作,用二维图形编辑与分析的CAD工具替代,最具代表性的产品就是美国ACCEL公司开发的Tango布线软件。20世纪70年代,是EDA技术发展初期,由于PCB布图布线工具受到计算机工作平台的制约,其支持的设计工作有限且性能比较差。第1章 绪 论 2.20世纪世纪80年代的计算机辅助工程设计年代的计算机辅助工程设计CAE阶段阶段 初级阶段的硬件设计是用大量不同型号的标准芯片实现电子系统设计的。随着微电子工艺的发展,相继出现了集成上万只晶体管的

7、微处理器、集成几十万直到上百万储存单元的随机存储器和只读存储器。此外,支持定制单元电路设计的硅编辑、掩膜编程的门阵列,如标准单元的半定制设计方法以及可编程逻辑器件(PAL和GAL)等一系列微结构和微电子学的研究成果都为电子系统的设计提供了新天地。因此,可以用少数几种通用的标准芯片实现电子系统的设计。第1章 绪 论 伴随计算机和集成电路的发展,EDA技术进入到计算机辅助工程设计阶段。20世纪80年代初,推出的EDA工具则以逻辑模拟、定时分析、故障仿真、自动布局和布线为核心,重点解决电路设计没有完成之前的功能检测等问题。利用这些工具,设计师能在产品制作之前预知产品的功能与性能,能生成产品制造文件,

8、在设计阶段对产品性能的分析前进了一大步。第1章 绪 论 如果说20世纪70年代的自动布局布线的CAD工具代替了设计工作中绘图的重复劳动,那么,到了20世纪80年代出现的具有自动综合能力的CAE工具则代替了设计师的部分工作,对保证电子系统的设计,制造出最佳的电子产品起着关键的作用。到了20世纪80年代后期,EDA工具已经可以进行设计描述、综合与优化和设计结果验证,CAE阶段的EDA工具不仅为成功开发电子产品创造了有利条件,而且为高级设计人员的创造性劳动提供了方便。但是,大部分从原理图出发的EDA工具仍然不能适应复杂电子系统的设计要求,而具体化的元件图形制约着优化设计。第1章 绪 论 3.20世纪

9、世纪90年代电子系统设计自动化年代电子系统设计自动化EDA阶段阶段 为了满足千差万别的系统用户提出的设计要求,最好的办法是由用户自己设计芯片,让他们把想设计的电路直接设计在自己的专用芯片上。微电子技术的发展,特别是可编程逻辑器件的发展,使得微电子厂家可以为用户提供各种规模的可编程逻辑器件,使设计者通过设计芯片实现电子系统功能。EDA工具的发展,又为设计师提供了全线EDA工具。这个阶段发展起来的EDA工具,目的是在设计前期将设计师从事的许多高层次设计由工具来完成,如可以将用户要求转换为设计技术规范,有效的处理可用的设计资源与理想的设计目标之间的矛盾,按具体的的硬件、软件和算法分解设计等。由于电子

10、技术和EDA工具的发展,设计师可以在不太长的时间内使用EDA工具,通过一些简单标准化的设计过程,利用微电子厂家提供的设计库来完成数万门ASIC和集成系统的设计与验证。第1章 绪 论 20世纪90年代,设计师逐步从使用硬件转向设计硬件,从单个电子产品开发转向系统级电子产品开发(即片上系统集成,System on a chip)。因此,EDA工具是以系统机设计为核心,包括系统行为级描述与结构综合,系统仿真与测试验证,系统划分与指标分配,系统决策与文件生成等一整套的电子系统设计自动化工具。这时的EDA工具不仅具有电子系统设计的能力,而且能提供独立于工艺和厂家的系统级设计能力,具有高级抽象的设计构思手

11、段。例如,提供方框图、状态图和流程图的编辑能力,具有适合层次描述和混合信号描述的硬件描述语言(如VHDL、AHDL或Verilog-HDL),同时含有各种工艺的标准元件库。第1章 绪 论 只有具备上述功能的EDA工具,才可能使电子系统工程师在不熟悉各种半导体工艺的情况下,完成电子系统的设计。未来的EDA技术将向广度和深度两个方向发展,EDA将会超越电子设计的范畴进入其他领域,随着基于EDA的SOC(单片系统)设计技术的发展,软硬核功能库的建立,以及基于VHDL所谓自顶向下设计理念的确立,未来的电子系统的设计与规划将不再是电子工程师们的专利。有专家认为,21世纪将是EDA技术快速发展的时期,并且

12、EDA技术将是对21世纪产生重大影响的十大技术之一。第1章 绪 论1.3 EDA技术的主要内容技术的主要内容 EDA技术涉及面广,内容丰富,从教学和实用的角度看,究竟应掌握些什么内容呢?作者认为,主要应掌握如下四个方面的内容:大规模可编程逻辑器件;硬件描述语言;软件开发工具;实验开发系统。其中,大规模可编程逻辑器件是利用EDA技术进行电子系统设计的载体,硬件描述语言是利用EDA技术进行电子系统设计的主要表达手段,软件开发工具是利用EDA技术进行电子系统设计的智能化的自动化设计工具,实验开发系统则是利用EDA技术进行电子系统设计的下载工具及硬件验证工具。为了使读者对EDA技术有一个总体印象,下面

13、对EDA技术的主要内容进行概要的介绍。第1章 绪 论1.3.1 大规模可编程逻辑器件大规模可编程逻辑器件可编程逻辑器件(简称PLD)是一种由用户编程以实现某种逻辑功能的新型逻辑器件。FPGA和CPLD分别是现场可编程门阵列和复杂可编程逻辑器件的简称。现在,FPGA和CPLD器件的应用已十分广泛,它们将随着EDA技术的发展成为电子设计领域的重要角色。国际上生产FPGA/CPLD的主流公司,并且在国内占有市场份额较大的主要是Xilinx、Altera、Lattice三家公司。典型CPLD产品有:Lattice公司的ispMACH4A5、ispMACH4000、ispXPLD5000等系列;Alte

14、ra公司的MAX3000A、MAX7000等系列;Xilinx公司的CoolRunner-、CoolRunner XPLA3、XC9500/XL/XV等系列。第1章 绪 论 典型FPGA产品有:Lattice公司的MachXO、ispXPGA、EC/ECP、ECP2/M(含S系列)、ECP3、SC/SCM、XP/XP2、FPSC等系列;Altera公司的MAX、Cyclone、Cyclone、Cyclone、Arria GX、ArriaGX、STRATIX、STRATIX、STRATIX、STRATIX、FLEX10K、FLEX8000、APEX20K、APEX、ACEX1K等系列;Xilin

15、x公司的XC3000、XC4000、XC5200、Spartan、SpartanE、Spartan-3、Spartan-3A、Spartan-3E、Spartan-3L、Spartan-6、Virtex、Virtex-E、Virtex-、Virtex-4、Virtex-5、Virtex-6等系列。近年来,随着集成电路制造技术的飞速发展,这些公司不断地推出集成度更高、性能更好的产品系列和品种,现在一块CPLD/FPGA芯片上其等效逻辑门数可从几千到几百万。第1章 绪 论 FPGA在结构上主要分为三个部分,即可编程逻辑单元、可编程输入/输出单元和可编程连线三个部分。CPLD在结构上主要包括三个部分

16、,即可编程逻辑宏单元、可编程输入/输出单元和可编程内部连线。高集成度、高速度和高可靠性是FPGA/CPLD最明显的特点,其时钟延时可小至ns级。结合其并行工作方式,在超高速应用领域和实时测控方面,FPGA/CPLD有着非常广阔的应用前景。在高可靠性应用领域,如果设计得当,将不会存在类似于MCU的复位不可靠和PC可能跑飞等问题。FPGA/CPLD的高可靠性还表现在几乎可将整个系统下载于同一芯片中,实现所谓片上系统,从而大大缩小了体积,易于管理和屏蔽。第1章 绪 论由于FPGA/CPLD的集成规模非常大,因此可利用先进的EDA工具进行电子系统设计和产品开发。由于开发工具的通用性、设计语言的标准化以

17、及设计过程几乎与所用器件的硬件结构无关,因而设计开发成功的各类逻辑功能块软件有很好的兼容性和可移植性。它们几乎可用于任何型号和规模的FPGA/CPLD中,从而使得产品设计效率大幅度提高,可以在很短时间内完成十分复杂的系统设计,这正是产品快速进入市场最宝贵的特征。美国IT公司认为,一个ASIC 80%的功能可用IP核等现成逻辑合成。而未来大系统的FPGA/CPLD设计仅仅是各类再应用逻辑与IP核(Core)的拼装,其设计周期将更短。第1章 绪 论与ASIC设计相比,FPGA/CPLD显著的优势是开发周期短、投资风险小、产品上市速度快、市场适应能力强和硬件升级回旋余地大,而且当产品定型和产量扩大后

18、,可将在生产中充分检验过的VHDL设计迅速投产。对于一个开发项目,究竟是选择FPGA还是选择CPLD 呢?主要看开发项目本身的需要。对于普通规模,且产量不是很大的产品项目,通常使用CPLD比较好。对于大规模的逻辑设计、ASIC设计,或单片系统设计,则多采用FPGA。另外,FPGA掉电后将丢失原有的逻辑信息,所以在实用中需要为FPGA芯片配置一个专用ROM。第1章 绪 论1.3.2.硬件描述语言硬件描述语言(HDL)常用的硬件描述语言有VHDL、Verilog、ABEL。VHDL:作为IEEE的工业标准硬件描述语言,在电子工程领域,已成为事实上的通用硬件描述语言。Verilog:支持的EDA工具

19、较多,适用于RTL级和门电路级的描述,其综合过程较VHDL稍简单,但其在高级描述方面不如VHDL。ABEL:一种支持各种不同输入方式的HDL,被广泛用于各种可编程逻辑器件的逻辑功能设计,由于其语言描述的独立性,因而适用于各种不同规模的可编程器件的设计。有专家认为,在新世纪中,VHDL与Verilog语言将承担几乎全部的数字系统设计任务。第1章 绪 论1.3.3 EDA软件开发工具软件开发工具1主流厂家的主流厂家的EDA软件工具软件工具目前比较流行的、主流厂家的EDA软件工具有Altera公司的Quartus、Xilinx的ISE/ISE-WebPACK Series和Lattice公司的isp

20、LEVER。这些软件的基本功能相同,主要差别在于:面向的目标器件不一样;性能各有优劣。第1章 绪 论 (1)Quartus:是Altera公司新近推出的EDA软件工具,其设计工具完全支持VHDL、Verilog的设计流程,其内部嵌有VHDL、Verilog逻辑综合器。第三方的综合工具,如Leonardo Spectrum、Synplify Pro、FPGA Compiler有着更好的综合效果,因此通常建议使用这些工具来完成VHDL/Verilog源程序的综合。Quartus可以直接调用这些第三方工具。同样,Quartus 具备仿真功能,但也支持第三方的仿真工具,如Modelsim。此外,Qua

21、rtus 为Altera DSP开发包进行系统模型设计提供了集成综合环境,它与MATLAB和DSP Builder结合可以进行基于FPGA的DSP系统开发,是DSP硬件系统实现的关键EDA工具。Quartus 还可与SOPC Builder结合,实现SOPC系统开发。第1章 绪 论(2)ISE/ISE-WebPACK Series:是Xilinx公司新近推出的EDA集成软件开发环境(Integrated Software Environment,简称为ISE)。Xilinx ISE操作简易方便,其提供的各种最新改良功能能解决以往各种设计上的瓶颈,加快了设计与检验的流程,如Project Nav

22、igator(先进的设计流程导向专业管理程式)让顾客能在同一设计工程中使用Synplicity与 Xilinx的合成工具,混合使用VHDL及Verilog HDL源程序,让设计人员能使用固有的IP与HDL设计资源,达至最佳的结果。使用者亦可链接与启动Xilinx Embedded Design Kit(EDK)XPS专用管理器,以及使用新增的Automatic Web Update功能来监视软件的更新状况,也可让使用者下载更新档案,以令其ISE的设定维持最佳状态。各版本的 ISE 软件皆支持 Windows 2000、Windows XP 操作系统。第1章 绪 论 (3)ispLEVER:是L

23、attice 公司最新推出的一套EDA软件。提供设计输入、HDL综合、验证、器件适配、布局布线、编程和在系统设计调试。设计输入可采用原理图、硬件描述语言、混合输入三种方式。能对所设计的数字电子系统进行功能仿真和时序仿真。软件中含有不同的工具,适用于各个设计阶段。软件包含Synplicity公司的“Synplify”、Exemplar Logic公司的“Leonardo”综合工具和Lattice公司的ispVM器件编程工具。ispLEVER软件提供给开发者一个有力的工具,用于设计所有Lattice公司可编程逻辑产品。软件不仅支持所有Lattice公司的ispLSI、MACH、ispGDX、isp

24、GAL、GAL器件,还支持Lattice公司新的FPGA、FPSC、ispXPGATM和ispXPLDTM产品系列。这使得ispLEVER的用户能够设计所有Lattice公司的业界领先的FPGA、FPSC、CPLD产品而不必学习新的设计工具。第1章 绪 论2第三方第三方EDA工具工具在基于EDA技术的实际开发设计中,由于所选用的EDA工具软件的某些性能受局限或不够好,为了使自己的设计整体性能最佳,往往需要使用第三方工具。业界最流行的第三方EDA工具有:逻辑综合性能最好的Synplify和仿真功能最强大的ModelSim。第1章 绪 论(1)Synplify:是Synplicity公司(该公司现

25、在是Cadence的子公司)的著名产品,是一个逻辑综合性能最好的FPGA和CPLD的逻辑综合工具。它支持工业标准的Verilog和VHDL硬件描述语言,能以很高的效率将它们的文本文件转换为高性能的面向流行器件的设计网表;它在综合后还可以生成VHDL和Verilog仿真网表,以便对原设计进行功能仿真;它具有符号化的FSM编译器,以实现高级的状态机转化,并有一个内置的语言敏感的编辑器;它的编辑窗口可以在HDL源文件高亮显示综合后的错误,以便能够迅速定位和纠正所出现的问题;它具有图形调试功能,在编译和综合后可以以图形方式(RTL图、Technology图)观察结果;它具有将VHDL文件转换成RTL图

26、形的功能,这十分有利于VHDL的速成学习;它能够生成针对Actel、Altera、Lattice、Lucent、Philips、Quicklogic、Vantis(AMD)和Xilinx公司器件的网表;它支持VHDL 10761993标准和Verilog 13641995标准。第1章 绪 论(2)ModelSim:是Model Technology公司(该公司现在是Mentor Graphics的子公司)的著名产品,支持VHDL和Verilog的混合仿真。使用它可以进行三个层次的仿真,即RTL(寄存器传输层次)、Functional(功能)和Gate-Level(门级)。RTL级仿真仅验证设计

27、的功能,没有时序信息;功能级仿真是经过综合器逻辑综合后,针对特定目标器件生成的VHDL网表进行的仿真;门级仿真是经过布线器、适配器后,对生成的门级VHDL网表进行的仿真,此时在VHDL网表中含有精确的时序延迟信息,因而可以得到与硬件相对应的时序仿真结果。ModelSim VHDL支持IEEE 10761987和IEEE 10761993标准。ModelSim Verilog基于IEEE 13641995标准,在此基础上针对Open Verilog标准进行了扩展。此外,ModelSim支持SDF1.0、2.0和2.1,还有VITAL 2.2b和VITAL95。第1章 绪 论1.3.4 EDA实验

28、开发系统实验开发系统实验开发系统提供芯片下载电路及EDA实验/开发的外围资源(类似于用于单片机开发的仿真器),以供硬件验证用。一般包括:实验或开发所需的各类基本信号发生模块,包括时钟、脉冲、高低电平等;FPGA/CPLD输出信息显示模块,包括数码显示、发光管显示、声响指示等;监控程序模块,提供“电路重构软配置”;目标芯片适配座以及上面的FPGA/CPLD目标芯片和编程下载电路;其他转换电路系统及各种扩展接口。目前从事EDA实验开发系统研究的院校有:清华大学、北京理工大学、复旦大学、西安电子科技大学、东南大学、杭州电子科技大学等。第1章 绪 论1.4 EDA软件系统的构成软件系统的构成 EDA技

29、术研究的对象是电子设计的全过程,有系统级、电路级和物理级3个层次的设计。其涉及的电子系统从低频、高频到微波,从线性到非线性,从模拟到数字,从通用集成电路到专用集成电路构造的电子系统,因此EDA技术研究的范畴相当广泛。如果从专用集成电路ASIC开发与应用角度看,EDA软件系统应当包含以下子模块:设计输入子模块、设计数据库子模块、分析验证子模块、综合仿真子模块、布局布线子模块等。第1章 绪 论 (1)设计输入子模块:该模块接受用户的设计描述,并进行语义正确性、语法规则的检查,检查通过后,将用户的设计描述数据转换为EDA软件系统的内部数据格式,存入设计数据库被其他子模块调用。设计输入子模块不仅能接受

30、图形描述输入、硬件描述语言(HDL)描述输入,还能接受图文混合描述输入。该子模块一般包含针对不同描述方式的编辑器,如图形编辑器、文本编辑器等,同时包含对应的分析器。(2)设计数据库子模块:该模块存放系统提供的库单元以及用户的设计描述和中间设计结果。第1章 绪 论 (3)分析验证子模块:该模块包括各个层次的模拟验证、设计规则的检查、故障诊断等。(4)综合仿真子模块:该模块包括各个层次的综合工具,理想的情况是:从高层次到低层次的综合仿真全部由EDA工具自动实现。第1章 绪 论 (5)布局布线子模块:该模块实现由逻辑设计到物理实现的映射,因此与物理实现的方式密切相关。例如,最终的物理实现可以是门阵列

31、、可编程逻辑器件等,由于对应的器件不同,因此各自的布局布线工具会有很大的差异。近些年,许多生产可编程逻辑器件的公司都相继推出适于开发自己公司器件的EDA工具,这些工具一般都具有上面提到的各个模块,操作简单,对硬件环境要求低,运行平台是PC机和Windows或Windows NT操作系统。如Xilinx、Altera、Lattice、Actel、AMD等器件公司都有自己的EDA工具。第1章 绪 论 EDA工具不只面向ASIC的应用与开发,还有涉及电子设计各个方面的EDA工具,包括数字电路设计、模拟电路设计、数模混合设计、系统设计、仿真验证等电子设计的许多领域。这些工具对硬件环境要求高,一般运行平

32、台要求是工作站和UNIX操作系统,功能齐全、性能优良,一般由专门开发EDA软件工具的软件公司提供,如Cadence、Mentel Graphics、Viewlogic、Synopsys等软件公司都有其特色工具。第1章 绪 论1.5 EDA工具的发展趋势工具的发展趋势 1.设计输入工具的发展趋势设计输入工具的发展趋势 早期EDA工具设计输入普遍采用原理图输入方式,以文字和图形作为设计载体和文件,将设计信息加载到后续的EDA工具,完成设计分析工作。原理图输入方式的优点是直观,能满足以设计分析为主的一般要求,但是原理图输入方式不适合用EDA综合工具。20世纪80年代末,电子设计开始采用新的综合工具,

33、设计描述开始由原理图设计描述转向以各种硬件描述语言为主的编程方式。用硬件描述语言描述设计,更接近系统行为描述,且便于综合,更适于传递和修改设计信息,还可以建立独立于工艺的设计文件,不便之处是不太直观,要求设计师学会编程。第1章 绪 论 很多电子设计师都具有原理图设计的经验,不具有编程经验,所以仍然希望继续在比较熟悉的符号与图形环境中完成设计,而不是利用编程完成设计。为此,EDA公司在90年代相继推出一批图形化免编程的设计输入工具,它们允许设计师用他们最方便并熟悉的设计方式,如框图、状态图、真值表和逻辑方程建立设计文件,然后由EDA工具自动生成综合所需的硬件描述语言文件。第1章 绪 论 2.具有

34、混合信号处理能力的具有混合信号处理能力的EDA工具工具 目前,数字电路设计的EDA工具远比模拟电路的EDA工具多,模拟集成电路EDA工具开发的难度较大,但是,由于物理量本身多以模拟形式存在,所以实现高性能的复杂电子系统的设计离不开模拟信号。因此,20世纪90年代以来EDA工具厂商都比较重视数/模混合信号设计工具的开发。对数字信号的语言描述,IEEE已经制定了VHDL标准,对模拟信号的语言正在制定AHDL标准,此外还提出了对微波信号的MHDL描述语言。具有混合信号设计能力的EDA工具能处理含有数字信号处理、专用集成电路宏单元、数模变换和模数变换模块、各种压控振荡器在内的混合系统设计。美国Cade

35、nce、Synopsys等公司开发的EDA工具已经具有混合设计能力。第1章 绪 论 3.更为有效的仿真工具的发展更为有效的仿真工具的发展 通常,可以将电子系统设计的仿真过程分为两个阶段:设计前期的系统级仿真和设计过程的电路级仿真。系统级仿真主要验证系统的功能;电路级仿真主要验证系统的性能,决定怎样实现设计所需的精度。在整个电子设计过程中仿真是花费时间最多的工作也是占用EDA工具资源最多的一个环节。通常,设计活动的大部分时间在做仿真,如验证设计的有效性、测试设计的精度、处理和保证设计要求等。仿真过程中仿真收敛的快慢同样是关键因素之一。提高仿真的有效性一方面是建立合理的仿真算法,另一方面是系统级仿

36、真中系统级模型的建模,电路级仿真中电路级模型的建模。预计在下一代EDA工具中,仿真工具将有一个较大的发展。第1章 绪 论 4.更为理想的设计综合工具的开发更为理想的设计综合工具的开发 今天,电子系统和电路的集成规模越来越大,几乎不可能直接面向版图做设计,若要找出版图中的错误,更是难上加难。将设计者的精力从繁琐的版图设计和分析中转移到设计前期的算法开发和功能验证上,这是设计综合工具要达到的目的。高层次设计综合工具可以将低层次的硬件设计一起转换到物理级的设计,实现不同层次的不同形式的设计描述转换,通过各种综合算法实现设计目标所规定的优化设计。当然,设计者的经验在设计综合中仍将起到重要的作用,自动综

37、合工具将有效地提高优化设计效率。第1章 绪 论 设计综合工具由最初的只能实现逻辑综合,逐步发展到可以实现设计前端的综合,直到设计后端的版图综合以及测试综合的理想且完整的综合工具。设计前端的综合工具,可以实现从算法级的行为描述到寄存器传输级结构描述的转换,给出满足约束条件的硬件结构。在确定寄存器传输结构描述后,由逻辑综合工具完成硬件的门级结构的描述,逻辑综合的结果将作为版图综合的输入数据,进行版图综合。版图综合则是将门级和电路级的结构描述转换成物理版图的描述,版图综合时将通过自动交互的设计环境,实现按面积、速度和功率完成布局布线的优化,实现最佳的版图设计。人们希望将设计测试工作尽可能地提前到设计

38、前期,以便缩短设计周期,减少测试费用,因此测试综合贯穿在设计过程的始终。测试综合时可以消除设计中的冗余逻辑,诊断不可测的逻辑结构,自动插入可测性结构,生成测试向量;当整个电路设计完成时,测试设计也随之完成。第1章 绪 论 面对当今飞速发展的电子产品市场,电子设计人员需要更加实用、快捷的EDA工具,使用统一的集成化设计环境,改变传统设计思路,即优先考虑具体物理实现方式,而将精力集中到设计构思、方案比较和寻找优化设计等方面,以最快的速度开发出性能优良、质量一流的电子产品。今天的EDA工具将向着功能强大、简单易学、使用方便的方向发展。第1章 绪 论1.6 EDA的工程设计流程的工程设计流程1.6.1

39、 FPGA/CPLD工程设计流程工程设计流程假设我们需要建造一栋楼房,第一,我们需要进行“建筑设计”用各种设计图纸把我们的建筑设想表示出来;第二,我们要进行“建筑预算”根据投资规模、拟建楼房的结构及有关建房的经验数据等计算需要多少基本建筑材料(如砖、水泥、预制块、门、窗户等);第三,根据建筑设计和建筑预算进行“施工设计”这些砖、水泥、预制块、门、窗户等具体砌在房子的什么部位,相互之间怎样连接;第四,根据施工图进行“建筑施工”将这些砖、水泥、预制块、门、窗户等按照规定施工建成一栋楼房;最后,施工完毕后,还要进行“建筑验收”检验所建楼房是否符合设计要求。同时,在整个建设过程中,我们可能需要做出某些

40、“建筑模型”或进行某些“建筑实验”。第1章 绪 论那么,对于目标器件为FPGA和CPLD的VHDL设计,其工程设计步骤如何呢?FPGA/CPLD的工程设计流程与上面所描述的基建流程类似:第一,需要进行“源程序的编辑和编译”用一定的逻辑表达手段将设计表达出来;第二,要进行“逻辑综合”将用一定的逻辑表达手段表达出来的设计,经过一系列的操作,分解成一系列的基本逻辑电路及对应关系(电路分解);第三,要进行“目标器件的布线/适配”在选定的目标器件中建立这些基本逻辑电路及对应关系(逻辑实现);第四,目标器件的编程/下载将前面的软件设计经过编程变成具体的设计系统(物理实现);最后,要进行硬件仿真/硬件测试验

41、证所设计的系统是否符合设计要求。同时,在设计过程中要进行有关“仿真”模拟有关设计结果,看是否与设计构想相符。综上所述,FPGA/CPLD的工程设计的基本流程如图1.1所示,现具体阐述如下。第1章 绪 论图1.1 FPGA/CPLD工程设计流程图 第1章 绪 论 1.源程序的编辑和编译源程序的编辑和编译 利用EDA技术进行一项工程设计,首先需利用EDA工具的文本编辑器或图形编辑器将它用文本方式或图形方式表达出来,进行排错编译,变成VHDL文件格式,为进一步的逻辑综合作准备。常用的源程序输入方式有三种。第1章 绪 论 (1)原理图输入方式:利用EDA工具提供的图形编辑器以原理图的方式进行输入。原理

42、图输入方式比较容易掌握,直观且方便,所画的电路原理图(请注意,这种原理图与利用Protel画的原理图有本质的区别)与传统的器件连接方式完全一样,很容易被人接受,而且编辑器中有许多现成的单元器件可以利用,自己也可以根据需要设计元件。然而原理图输入法的优点同时也是它的缺点:随着设计规模增大,设计的易读性迅速下降,对于图中密密麻麻的电路连线,极难搞清电路的实际功能;一旦完成,电路结构的改变将十分困难,因而几乎没有可再利用的设计模块;移植困难、入档困难、交流困难、设计交付困难,因为不可能存在一个标准化的原理图编辑器。第1章 绪 论 (2)状态图输入方式:以图形的方式表示状态图进行输入。当填好时钟信号名

43、、状态转换条件、状态机类型等要素后,就可以自动生成VHDL程序。这种设计方式简化了状态机的设计,比较流行。(3)VHDL软件程序的文本方式:最一般化、最具普遍性的输入方法,任何支持VHDL的EDA工具都支持文本方式的编辑和编译。第1章 绪 论 2逻辑综合和优化逻辑综合和优化欲把VHDL的软件设计与硬件的可实现性挂钩,需要利用EDA软件系统的综合器进行逻辑综合。所谓逻辑综合,就是将电路的高级语言描述(如HDL、原理图或状态图形的描述)转换成低级的,可与FPGA/CPLD或构成ASIC的门阵列基本结构相映射的网表文件。逻辑映射的过程,就是将电路的高级描述,针对给定硬件结构组件,进行编译、优化、转换

44、和综合,最终获得门级电路甚至更底层的电路描述文件的过程。网表文件就是按照某种规定描述电路的基本组成及如何相互连接的文件。第1章 绪 论 由于VHDL仿真器的行为仿真功能是面向高层次的系统仿真,只能对VHDL的系统描述作可行性的评估测试,不针对任何硬件系统,因此基于这一仿真层次的许多VHDL语句不能被综合器所接受。这就是说,这类语句的描述无法在硬件系统中实现(至少是现阶段),这时,综合器不支持的语句在综合过程中将忽略掉。综合器对源VHDL文件的综合是针对某一PLD供应商的产品系列的,因此,综合后的结果是可以为硬件系统所接受,具有硬件可实现性。第1章 绪 论 3.目标器件的布线目标器件的布线/适配

45、适配 逻辑综合通过后必须利用适配器将综合后的网表文件针对某一具体的目标器进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、布线与操作,适配完成后可以利用适配所产生的仿真文件作精确的时序仿真。第1章 绪 论 由于VHDL仿真器的行为仿真功能是面向高层次的系统仿真,只能对VHDL的系统描述作可行性的评估测试,不针对任何硬件系统,因此基于这一仿真层次的许多VHDL语句不能被综合器所接受。这就是说,这类语句的描述无法在硬件系统中实现(至少是现阶段),这时,综合器不支持的语句在综合过程中将被忽略掉。综合器对VHDL源文件的综合是针对某一PLD供应商的产品系列的,因此,综合后的结果是可以为硬件系

46、统所接受的,具有硬件可实现性。第1章 绪 论 4.目标器件的编程目标器件的编程/下载下载 如果编译、综合、布线/适配和行为仿真、功能仿真、时序仿真等过程都没有发现问题,即满足原设计的要求,则可以将由FPGA/CPLD布线/适配器产生的配置/下载文件通过编程器或下载电缆载入目标芯片FPGA或CPLD中。第1章 绪 论5.设计过程中的有关仿真设计过程中的有关仿真设计过程中的仿真有三种,分别是行为仿真、功能仿真和时序仿真。所谓行为仿真,就是将VHDL设计源程序直接送到VHDL仿真器中所进行的仿真。该仿真只是根据VHDL的语义进行的,与具体电路没有关系。在这种仿真中,可以充分发挥VHDL中的适用于仿真

47、控制的语句及有关的预定义函数和库文件。第1章 绪 论 所谓功能仿真,就是将综合后的VHDL网表文件再送到VHDL仿真器中所进行的仿真。这时的仿真仅对VHDL描述的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求,仿真过程不涉及具体器件的硬件特性,如延时特性。该仿真的结果与门级仿真器所做的功能仿真结果基本一致。综合之后的VHDL网表文件采用VHDL语法,首先描述了最基本的门电路,然后将这些门电路用例化语句连接起来。描述的电路与生成的EDIF/XNF等网表文件一致。第1章 绪 论 所谓时序仿真,就是将布线器/适配器所产生的VHDL网表文件送到VHDL仿真器中所进行的仿真。该仿真已将器件

48、特性考虑进去了,因此可以得到精确的时序仿真结果。布线/适配处理后生成的VHDL网表文件中包含了较为精确的延时信息,网表文件中描述的电路结构与布线/适配后的结果是一致的。第1章 绪 论需要注意的是,图1.1中有两个仿真器,一个是VHDL仿真器,另一个是门级仿真器,它们都能进行功能仿真和时序仿真。所不同的是仿真用的文件格式不同,即网表文件不同。所谓的网表(Netlist),是特指电路网络,网表文件描述了一个电路网络。目前流行多种网表文件格式,其中最通用的是EDIF格式的网表文件。Xilinx XNF网表文件格式也很流行,不过一般只在使用Xilinx的FPGA/CPLD时才会用到XNF格式。VHDL

49、文件格式也可以用来描述电路网络,即采用VHDL语法描述各级电路互连,称之为VHDL网表。第1章 绪 论6.硬件仿真硬件仿真/硬件测试硬件测试所谓硬件仿真,就是在ASIC设计中,常利用FPGA对系统的设计进行功能检测,通过后再将其VHDL设计以ASIC形式实现的过程。所谓硬件测试,就是把FPGA或CPLD直接用于应用系统的设计中,将下载文件下载到FPGA后,对系统设计进行功能检测的过程。第1章 绪 论 硬件仿真和硬件测试的目的,是为了在更真实的环境中检验VHDL设计的运行情况,特别是对于设计上不是十分规范、语义上含有一定歧义的VHDL程序。一般的仿真器包括VHDL行为仿真器和VHDL功能仿真器,

50、它们对于同一VHDL设计的“理解”,即仿真模型的产生,与VHDL综合器的“理解”,即综合模型的产生,常常是不一致的。此外,由于目标器件功能的可行性约束,综合器对于设计的“理解”常在一有限范围内选择,而VHDL仿真器的“理解”是纯软件行为,其“理解”的选择范围要宽得多。这种“理解”的偏差势必导致仿真结果与综合后实现的硬件电路在功能上的不一致。当然,还有许多其他的因素也会产生这种不一致。由此可见,VHDL设计的硬件仿真和硬件测试是十分必要的。第1章 绪 论1.6.2 ASIC工程设计流程工程设计流程 标准单元设计ASIC的优点是:(1)比门阵列法具有更加灵活的布图方法;(2)“标准单元”预先存在单

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服