《EDA应用技术完整版ppt全套电子教案整套教学教程(最新).ppt》由会员分享,可在线阅读,更多相关《EDA应用技术完整版ppt全套电子教案整套教学教程(最新).ppt(978页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、EDA应用技术目录目录u第第1章章 EDA技术概述技术概述u第第2章章 Protel 99 SEu第第3章章 可编程逻辑器件可编程逻辑器件u第第4章章 Quartus 软件应用软件应用u第第5章章 VHDL硬件描述语言硬件描述语言u第第6章章 VHDL程序设计基础程序设计基础u第第7章章 EDA技术综合应用设计举例技术综合应用设计举例返回第第1章章 EDA技术概述技术概述 u第第1节节 EDA技术的发展过程技术的发展过程 u第第2节节 EDA技术主要内容技术主要内容 u第第3节节 数字系统设计的基本流程数字系统设计的基本流程u小结小结1.1 EDA技术的发展过程技术的发展过程 电子设计自动化(
2、电子设计自动化(Electronics Design Automation,简称简称EDA)技术)技术是以计算机科学和微电子技术发展为先导,汇集了计算机图形学、拓扑是以计算机科学和微电子技术发展为先导,汇集了计算机图形学、拓扑逻辑学、微电子工艺与结构学和计算数学等多种计算机应用学科最新成逻辑学、微电子工艺与结构学和计算数学等多种计算机应用学科最新成果的先进技术,它是在先进的计算机工作平台上开发出来的一整套电子果的先进技术,它是在先进的计算机工作平台上开发出来的一整套电子系统设计的软件工具。系统设计的软件工具。 EDA技术伴随着计算机、集成电路、电子系统设计的发展,经历了技术伴随着计算机、集成电
3、路、电子系统设计的发展,经历了计算机辅助设计(计算机辅助设计(Computer Assist Design,简称一简称一CAD)、计算机辅助)、计算机辅助工程设计(工程设计(Computer AssistEngineering,简称简称CAE)和电子设计自动化)和电子设计自动化(Electronic Design Automation,简称简称EDA)三个发展阶段。)三个发展阶段。下一页 返回1.1 EDA技术的发展过程技术的发展过程u 1.1.1 20世纪世纪70年代的计算机辅助设计(年代的计算机辅助设计(CAD)阶)阶段段早期的电子系统硬件设计采用的是分立元件,随着集成电路的出现和应早期的
4、电子系统硬件设计采用的是分立元件,随着集成电路的出现和应用,硬件设计进入到发展的初级阶段,初级阶段的硬件设计大量选用中用,硬件设计进入到发展的初级阶段,初级阶段的硬件设计大量选用中小规模集成电路,入们将这些器件焊接在电路板上,做成板级电子系统,小规模集成电路,入们将这些器件焊接在电路板上,做成板级电子系统,对电子系统的调试是在组装好的印制电路板(对电子系统的调试是在组装好的印制电路板(PrintedCircuit Board,简,简称称PCB)上进行的。与分立元件为基础的早期设计阶段不同,初级阶段)上进行的。与分立元件为基础的早期设计阶段不同,初级阶段硬件设计的器件选择是各种逻辑门、触发器、寄
5、存器和编码译码器等集硬件设计的器件选择是各种逻辑门、触发器、寄存器和编码译码器等集成电路,设计师只要熟悉各种集成电路制造厂商提供的标准电路产品说成电路,设计师只要熟悉各种集成电路制造厂商提供的标准电路产品说明书,并掌握明书,并掌握PCB布图工具和一些辅助性的设计分析工具,就可从事设布图工具和一些辅助性的设计分析工具,就可从事设计活动。计活动。下一页 返回上一页1.1 EDA技术的发展过程技术的发展过程传统的手工布线无法满足产品复杂性的要求,更不能满足工作效率的要传统的手工布线无法满足产品复杂性的要求,更不能满足工作效率的要求。这时,入们开始将产品设计过程中高重复性的繁杂劳动,如布图布求。这时,
6、入们开始将产品设计过程中高重复性的繁杂劳动,如布图布线工作用二维图形编辑与分析的线工作用二维图形编辑与分析的CAD工具替代,最具代表性的产品就是工具替代,最具代表性的产品就是美国美国ACCEL公司开发的公司开发的Tango布线软件。布线软件。EDA技术发展初期,技术发展初期,PCB布图布图布线工具受到计算机工作平台的制约(计算机性能的限制),能支持的布线工具受到计算机工作平台的制约(计算机性能的限制),能支持的设计工作有限且性能比较差,效率较低。设计工作有限且性能比较差,效率较低。 下一页 返回上一页1.1 EDA技术的发展过程技术的发展过程u1.1.2 20世纪世纪80年代的计算机辅助工程设
7、计(年代的计算机辅助工程设计(CAE)阶段阶段初级阶段的硬件设计是用大量不同型号的标准芯片实现电子系统设计,初级阶段的硬件设计是用大量不同型号的标准芯片实现电子系统设计,随着微电子工艺的发展,相继出现了集成上万只晶体管的微处理器、集随着微电子工艺的发展,相继出现了集成上万只晶体管的微处理器、集成几十万直到上百万存储单元的随机存取存储器(成几十万直到上百万存储单元的随机存取存储器(RAM)和只读存储器)和只读存储器(ROM)。此外,支持定制单元电路设计的硅编辑、掩膜编程的门阵)。此外,支持定制单元电路设计的硅编辑、掩膜编程的门阵列,如标准单元的半定制设计方法以及可编程逻辑器件等一系列微结构列,如
8、标准单元的半定制设计方法以及可编程逻辑器件等一系列微结构和微电子学的研究成果都为电子系统的设计提供了新天地。和微电子学的研究成果都为电子系统的设计提供了新天地。下一页 返回上一页1.1 EDA技术的发展过程技术的发展过程20世纪世纪80年代初的年代初的EDA工具主要以逻辑模拟、定时分析、故障仿真、自工具主要以逻辑模拟、定时分析、故障仿真、自动布局和布线为核心,重点解决电路设计没有完成之前的功能检验等问动布局和布线为核心,重点解决电路设计没有完成之前的功能检验等问题。到了后期,题。到了后期,EDA工具己经可以进行设计描述、综合与优化和设计结工具己经可以进行设计描述、综合与优化和设计结果验证。如果
9、说果验证。如果说20世纪世纪70年代的自动布局布线的年代的自动布局布线的CAD工具代替了设计工工具代替了设计工作中绘图的重复劳动,那么作中绘图的重复劳动,那么20世纪世纪80年代出现的具有自动综合能力的年代出现的具有自动综合能力的CAE工具则代替了设计师的部分设计工作,为成功开发电子产品创造了工具则代替了设计师的部分设计工作,为成功开发电子产品创造了有利条件。但是,大部分从原理图出发的有利条件。但是,大部分从原理图出发的EDA工具仍然不能适应复杂电工具仍然不能适应复杂电子系统设计的要求,而且具体化的元件图形制约着优化设计。子系统设计的要求,而且具体化的元件图形制约着优化设计。下一页 返回上一页
10、1.1 EDA技术的发展过程技术的发展过程u1.1.3 20世纪世纪90年代电子系统设计自动化(年代电子系统设计自动化(EDA )阶段阶段为了满足不同的系统用户提出的设计要求,最好的办法是由用户自己设为了满足不同的系统用户提出的设计要求,最好的办法是由用户自己设计芯片,让他们把想设计的电路直接设计在自己的专用芯片上。微电子计芯片,让他们把想设计的电路直接设计在自己的专用芯片上。微电子技术的发展,特别是可编程逻辑器件的发展,微电子厂家可以为用户提技术的发展,特别是可编程逻辑器件的发展,微电子厂家可以为用户提供各种规模的可编程逻辑器件,使设计者通过设计芯片实现电子系统功供各种规模的可编程逻辑器件,
11、使设计者通过设计芯片实现电子系统功能。能。EDA工具的发展,又为设计师提供了全线电子系统设计自动化工具。工具的发展,又为设计师提供了全线电子系统设计自动化工具。这个阶段发展起来的这个阶段发展起来的EDA工具,目的是在设计前期将设计师从事的许多工具,目的是在设计前期将设计师从事的许多高层次设计由工具来做,如可以将用户要求转换为设计技术规范,有效高层次设计由工具来做,如可以将用户要求转换为设计技术规范,有效地处理可用的设计资源与理想的设计目标之间的矛盾,按具体的硬件、地处理可用的设计资源与理想的设计目标之间的矛盾,按具体的硬件、软件和算法分解设计等。软件和算法分解设计等。下一页 返回上一页1.1
12、EDA技术的发展过程技术的发展过程由于微电子技术和由于微电子技术和EDA工具的发展,设计师可以在不太长的时间内使用工具的发展,设计师可以在不太长的时间内使用EDA工具,通过一些简单标准化的设计过程,利用微电子厂家提供的设工具,通过一些简单标准化的设计过程,利用微电子厂家提供的设计库完成数万门专用集成电路(计库完成数万门专用集成电路(ASIC)系统的设计与验证。)系统的设计与验证。20世纪世纪90年代,设计师逐步从使用硬件转向设计硬件,从电路级电子产年代,设计师逐步从使用硬件转向设计硬件,从电路级电子产品开发转向系统级电子产品开发(即片上系统集成品开发转向系统级电子产品开发(即片上系统集成Sys
13、tem on a chip),),因此因此EDA工具是以系统级设计为核心,包括系统行为级描述与结构级综工具是以系统级设计为核心,包括系统行为级描述与结构级综合,系统仿真与测试验证,系统划分与指标分配,系统决策与文件生成合,系统仿真与测试验证,系统划分与指标分配,系统决策与文件生成等一整套的电子系统设计自动化工具。等一整套的电子系统设计自动化工具。EDA工具不仅具有电子系统设计工具不仅具有电子系统设计的能力,而且能提供独立于工艺和厂家的系统级设计能力,具有高级抽的能力,而且能提供独立于工艺和厂家的系统级设计能力,具有高级抽象的设计构思手段。象的设计构思手段。下一页 返回上一页1.1 EDA技术的
14、发展过程技术的发展过程例如:提供方框图、状态图和流程图的编辑能力,具有适合层次描述和例如:提供方框图、状态图和流程图的编辑能力,具有适合层次描述和混合信号描述的硬件描述语言(如混合信号描述的硬件描述语言(如VHDL, AHDL或或Verilog-HDL),同),同时含有各种工艺标准元件库。只有具有上述功能的时含有各种工艺标准元件库。只有具有上述功能的EDA工具,才有可能工具,才有可能使电子系统工程师在不熟悉各种半导体厂家和各种半导体工艺的情况下,使电子系统工程师在不熟悉各种半导体厂家和各种半导体工艺的情况下,完成电子系统的设计。完成电子系统的设计。 随着入们面对的电子系统的规模越来越大,随着入
15、们面对的电子系统的规模越来越大,EDA技术中采用的自上而下技术中采用的自上而下(Top-Down)的设计方法给电子设计注入了新的活力。但是就)的设计方法给电子设计注入了新的活力。但是就EDA发发展的现状来说,数字系统的设计基本实现了设计自动化的要求,模拟电展的现状来说,数字系统的设计基本实现了设计自动化的要求,模拟电路因其复杂性,全自动化设计还需从事路因其复杂性,全自动化设计还需从事EDA技术的研究入员和从事集成技术的研究入员和从事集成电路工艺制造设计师们继续不懈的努力。电路工艺制造设计师们继续不懈的努力。上一页 返回1.2 EDA技术主要内容技术主要内容 EDA技术内容丰富,涉及面广,但从教
16、学和应用的角度出发,应了技术内容丰富,涉及面广,但从教学和应用的角度出发,应了解和掌握印制电路板图设计、可编程逻辑器件的原理、结构及应用、解和掌握印制电路板图设计、可编程逻辑器件的原理、结构及应用、EDA工具软件的使用、硬件描述语言(工具软件的使用、硬件描述语言(HDL),如),如VHDL。 其中,大规模可编程逻辑器件是利用其中,大规模可编程逻辑器件是利用EDA技术进行电子系统设计的技术进行电子系统设计的载体,硬件描述语言是利用载体,硬件描述语言是利用EDA技术进行电子系统设计的主要表达手段,技术进行电子系统设计的主要表达手段,软件开发工具是利用软件开发工具是利用 EDA技术进行电子系统设计的
17、智能化的自动化设计技术进行电子系统设计的智能化的自动化设计工具,实验开发系统则是利用工具,实验开发系统则是利用EDA技术进行电子系统设计的下载工具及技术进行电子系统设计的下载工具及硬件验证工具。也就是说,设计师用硬件描述语言(硬件验证工具。也就是说,设计师用硬件描述语言(HDL)描绘出硬件)描绘出硬件的结构和硬件的行为,用设计工具将这些描述综合映射成与半导体工艺的结构和硬件的行为,用设计工具将这些描述综合映射成与半导体工艺有关的硬件工艺文件,半导体器件有关的硬件工艺文件,半导体器件FPGA,CPLD等则是这些硬件工艺等则是这些硬件工艺文件的载体。文件的载体。下一页 返回1.2 EDA技术主要内
18、容技术主要内容 当这些当这些FPGA器件加载、配置上不同的工艺文件时,这个器件便具器件加载、配置上不同的工艺文件时,这个器件便具有了相应的功能。随着现代电子技术的飞速发展,以有了相应的功能。随着现代电子技术的飞速发展,以HDL表达设计意图、表达设计意图、FPGA作为硬件载体、计算机为设计开发工具、作为硬件载体、计算机为设计开发工具、EDA软件为开发环境的软件为开发环境的现代电子设计方法日趋成熟。现代电子设计方法日趋成熟。 近几年,硬件描述语言等设计数据格式的逐步标准化,不同设计风近几年,硬件描述语言等设计数据格式的逐步标准化,不同设计风格和应用的要求导致各具特色的格和应用的要求导致各具特色的E
19、DA工具被集成在同一个工具软件上,工具被集成在同一个工具软件上,从而使从而使EDA框架结构日趋标准化,集成设计环境日趋完善。框架结构日趋标准化,集成设计环境日趋完善。下一页 返回上一页1.2 EDA技术主要内容技术主要内容u1.2.1印制电路板图设计印制电路板图设计印制电路板(印制电路板(Printed Circuit Board,简称,简称PCB)图设计是电子系统设计)图设计是电子系统设计的一个重要组成部分,也是电子设备中的重要组装部件。由于它在生产的一个重要组成部分,也是电子设备中的重要组装部件。由于它在生产过程中采用了印刷业中的丝网漏印、照相制版和蚀刻等多种技术,有时过程中采用了印刷业中
20、的丝网漏印、照相制版和蚀刻等多种技术,有时也称为印刷电路板。也称为印刷电路板。下一页 返回上一页1.2 EDA技术主要内容技术主要内容早期的印制电路板图设计均由入工完成,一般由电路设计入员提供草图,早期的印制电路板图设计均由入工完成,一般由电路设计入员提供草图,由专业绘图员绘制黑白照相图,再进行后期制作。手工设计是一件十分由专业绘图员绘制黑白照相图,再进行后期制作。手工设计是一件十分费事、费力且容易出错的工作。随着计算机技术的飞速发展,新型器件费事、费力且容易出错的工作。随着计算机技术的飞速发展,新型器件和集成电路的应用越来越广泛,电路越来越复杂,使得可用手工完成的和集成电路的应用越来越广泛,
21、电路越来越复杂,使得可用手工完成的操作越来越多地依赖于计算机去完成。因此,计算机辅助电路设计成为操作越来越多地依赖于计算机去完成。因此,计算机辅助电路设计成为印制电路板图设计的必然趋势。印制电路板图设计的必然趋势。下一页 返回上一页1.2 EDA技术主要内容技术主要内容目前已有很多的目前已有很多的CAD软件可以用于印制电路板图的辅助设计。市场上可软件可以用于印制电路板图的辅助设计。市场上可见到的有见到的有SMARTWORK、ORCAD、Viewlogic、Mentor、Synopsys、AutoBoad、Protel等产品,这些软件的功能有强有弱,且各具特色。印等产品,这些软件的功能有强有弱,
22、且各具特色。印制电路板图的计算机辅助设计大致可分为两个阶段进行,即电路原理图制电路板图的计算机辅助设计大致可分为两个阶段进行,即电路原理图的绘制阶段和印制电路板图的设计阶段,因为印制电路板图的自动布线的绘制阶段和印制电路板图的设计阶段,因为印制电路板图的自动布线功能要以电路原理图作依据。功能要以电路原理图作依据。本教材将介绍应用本教材将介绍应用Protel99SE进行原理图和印制电路板的设计。进行原理图和印制电路板的设计。下一页 返回上一页1.2 EDA技术主要内容技术主要内容u1.2.2可编程逻辑器件可编程逻辑器件可编程逻辑器件(可编程逻辑器件(Programmable Logic Devi
23、ces简称简称PLD)是一种用户)是一种用户根据需要而自行构造逻辑功能的数字集成电路。它的基本设计方法是借根据需要而自行构造逻辑功能的数字集成电路。它的基本设计方法是借助于助于EDA软件,用原理图、状态机、布尔表达式、硬件描述语言等方法,软件,用原理图、状态机、布尔表达式、硬件描述语言等方法,生成相应的目标文件,最后再由编程器或下载电缆,下载到目标器件中生成相应的目标文件,最后再由编程器或下载电缆,下载到目标器件中去。去。这种利用这种利用PLD内建逻辑结构、由用户配置来实现任何组合逻辑和时序逻内建逻辑结构、由用户配置来实现任何组合逻辑和时序逻辑功能的器件,最初被视为分立逻辑电路和中小规模集成电
24、路的替代物,辑功能的器件,最初被视为分立逻辑电路和中小规模集成电路的替代物,随着设计技术和制造工艺的完善,器件性能、集成度、工作频率等指标随着设计技术和制造工艺的完善,器件性能、集成度、工作频率等指标不断提高,不断提高,PLD的应用范围越来越广,目前它已成为的应用范围越来越广,目前它已成为ASIC设计的主流。设计的主流。下一页 返回上一页1.2 EDA技术主要内容技术主要内容可编程逻辑器件(可编程逻辑器件(PLD),特别是现场可编程门阵列(),特别是现场可编程门阵列(FPGA)和复杂)和复杂可编程逻辑器件(可编程逻辑器件(CPLD),是新一代的数字逻辑器件,也是近几年来),是新一代的数字逻辑器
25、件,也是近几年来集成电路中发展最快的品种之一。这种器件具有高集成度、高速度、高集成电路中发展最快的品种之一。这种器件具有高集成度、高速度、高可靠性等最明显的特点,其时钟延迟可达纳秒级,结合其并行工作方式,可靠性等最明显的特点,其时钟延迟可达纳秒级,结合其并行工作方式,在超高速应用领域和实时测控方面有非常广阔的应用前景,在高可靠应在超高速应用领域和实时测控方面有非常广阔的应用前景,在高可靠应用领域,如果设计合理,将不会存在类似于用领域,如果设计合理,将不会存在类似于MCU的复位不可靠和的复位不可靠和PC可可能跑飞等问题。能跑飞等问题。FPGA/CPLD的高可靠性还表现在几乎可将整个系统下载于同一
26、芯片中,的高可靠性还表现在几乎可将整个系统下载于同一芯片中,实现所谓由大规模实现所谓由大规模FPGA构成的片上系统构成的片上系统SOPC(System On Programmable Chip),从而大大缩小了体积,易于管理和屏蔽。),从而大大缩小了体积,易于管理和屏蔽。下一页 返回上一页1.2 EDA技术主要内容技术主要内容由于由于FPGA/CPLD的集成规模非常大,可利用先进的的集成规模非常大,可利用先进的EDA工具进行电子工具进行电子系统设计和产品开发。由于开发工具的通用性,设计语言的标准化,以系统设计和产品开发。由于开发工具的通用性,设计语言的标准化,以及设计过程几乎与所用器件的硬件结
27、构没有关系,所以设计成功的各类及设计过程几乎与所用器件的硬件结构没有关系,所以设计成功的各类逻辑功能块软件有很好的兼容性和可移植性,它几乎可用于任何型号和逻辑功能块软件有很好的兼容性和可移植性,它几乎可用于任何型号和规模的规模的FPGA/CPLD中,从而使产品设计效率大幅度提高,在很短时间中,从而使产品设计效率大幅度提高,在很短时间内即可完成十分复杂的系统设计,这正是产品快速进人市场最宝贵的特内即可完成十分复杂的系统设计,这正是产品快速进人市场最宝贵的特征。美国征。美国TI公司认为,一个公司认为,一个ASIC 80的功能可用的功能可用IP(Intelligence Property)核等现成逻
28、辑合成。而未来大系统的设计仅仅是各类再应用)核等现成逻辑合成。而未来大系统的设计仅仅是各类再应用逻辑与逻辑与IP核(核(core)的拼装,设计周期将更短。)的拼装,设计周期将更短。下一页 返回上一页1.2 EDA技术主要内容技术主要内容与与ASIC设计相比,设计相比,FPGA/CPLD显著的优势是开发周期短,投资风险小,显著的优势是开发周期短,投资风险小,产品上市速度快,市场适应能力强和硬件升级回旋余地大,而且当产品产品上市速度快,市场适应能力强和硬件升级回旋余地大,而且当产品定型和产量扩大后,可将在生产中达到充分检验的定型和产量扩大后,可将在生产中达到充分检验的VHDL设计,迅速实设计,迅速
29、实现现ASIC投产。投产。下一页 返回上一页1.2 EDA技术主要内容技术主要内容u1.2.3硬件描述语言硬件描述语言VHDL硬件描述语言(硬件描述语言(HDL)是各种描述方法中最能体现)是各种描述方法中最能体现EDA优越性的描述方优越性的描述方法。所谓硬件描述语言,实际就是一个描述工具,其描述的对象就是待法。所谓硬件描述语言,实际就是一个描述工具,其描述的对象就是待设计电路系统的逻辑功能、实现该功能的算法、选用的电路结构以及其设计电路系统的逻辑功能、实现该功能的算法、选用的电路结构以及其他各种约束条件等。通常要求他各种约束条件等。通常要求HDL既能描述系统的行为,又能描述系统既能描述系统的行
30、为,又能描述系统的结构。的结构。下一页 返回上一页1.2 EDA技术主要内容技术主要内容HDL的使用与普通的高级语言相似,编制的的使用与普通的高级语言相似,编制的HDL程序也需要首先经过编程序也需要首先经过编译器进行语法、语义的检查,并转换为某种中间数据格式。但与其他高译器进行语法、语义的检查,并转换为某种中间数据格式。但与其他高级语言相区别的是,用硬件描述语言编制程序的最终目的是要生成实际级语言相区别的是,用硬件描述语言编制程序的最终目的是要生成实际的硬件,因此的硬件,因此HDL中有与硬件实际情况相对应的并行处理语句。此外,中有与硬件实际情况相对应的并行处理语句。此外,用用HDL编制程序时,
31、还需注意硬件资源的消耗问题(如门、触发器、连编制程序时,还需注意硬件资源的消耗问题(如门、触发器、连线等的数目),有的线等的数目),有的HDL程序虽然语法、语义上完全正确,但并不能生程序虽然语法、语义上完全正确,但并不能生成与之相对应的实际硬件,其原因就是要实现这些程序所描述的逻辑功成与之相对应的实际硬件,其原因就是要实现这些程序所描述的逻辑功能,消耗的硬件资源将十分巨大。目前主要有以下两种能,消耗的硬件资源将十分巨大。目前主要有以下两种HDL语言:语言:下一页 返回上一页1.2 EDA技术主要内容技术主要内容1.Verilog-HDL Verilog-HDL语言是在语言是在1983年由年由G
32、DA(Gateway Design Automation)公司的首创的。主要用于数字系统的设计。设计者可以)公司的首创的。主要用于数字系统的设计。设计者可以用它来进行各种级别的逻辑设计,可以用它进行数字逻辑系统的仿真用它来进行各种级别的逻辑设计,可以用它进行数字逻辑系统的仿真验证、时序分析、逻辑综合等。它是目前应用最广泛的硬件描述语言验证、时序分析、逻辑综合等。它是目前应用最广泛的硬件描述语言之一。其最大优点是与工艺无关性,这使得工程师在功能设计、逻辑之一。其最大优点是与工艺无关性,这使得工程师在功能设计、逻辑验证阶段可以不必过多考虑门级电路及其工艺实现的具体细节,只需验证阶段可以不必过多考虑
33、门级电路及其工艺实现的具体细节,只需要利用系统设计时对芯片的要求,施加不同的约束条件,即可设计出要利用系统设计时对芯片的要求,施加不同的约束条件,即可设计出实际电路。实际上,这是利用实际电路。实际上,这是利用EDA工具,把逻辑验证与具体工具库匹工具,把逻辑验证与具体工具库匹配、把布线及延时计算由计算机自动完成,从而减轻了设计者的劳动。配、把布线及延时计算由计算机自动完成,从而减轻了设计者的劳动。下一页 返回上一页1.2 EDA技术主要内容技术主要内容Verilog-HDL把数字系统当作一组模块来描述,每一个模块具有模块接把数字系统当作一组模块来描述,每一个模块具有模块接口以及关于模块内容的描述
34、,一个模块代表一个逻辑单元,这些模块用口以及关于模块内容的描述,一个模块代表一个逻辑单元,这些模块用网络相互连接,相互通信。由于网络相互连接,相互通信。由于Verilog-HDL是标准化的,所以能把完是标准化的,所以能把完成的设计移植到不同厂家的不同芯片中去。又由于成的设计移植到不同厂家的不同芯片中去。又由于Verilog-HDL设计的设计的信号位数很容易改变,所以可以通过对信号位数的修改,来适应不同的信号位数很容易改变,所以可以通过对信号位数的修改,来适应不同的硬件规模,而且在仿真验证时,仿真测试用例可以用同一种描述语言来硬件规模,而且在仿真验证时,仿真测试用例可以用同一种描述语言来完成。完
35、成。下一页 返回上一页1.2 EDA技术主要内容技术主要内容2.VHDLVHDL语言是美国国防部于语言是美国国防部于20世纪世纪80年代后期,出于军事工业的需要开年代后期,出于军事工业的需要开发的。发的。1984年年VHDL被被IEEE确定为标准化的硬件描述语言。确定为标准化的硬件描述语言。1993年年IEEE对对VHDL进行了修订,增加了部分新的进行了修订,增加了部分新的VHDL命令与属性,增强了命令与属性,增强了对系统的描述能力,并公布了新版本的对系统的描述能力,并公布了新版本的VHDL,即,即IEEE标准的标准的1076-1993版本。现在,版本。现在,VHDL已经成为系统描述的国际公认
36、标准,得到众多已经成为系统描述的国际公认标准,得到众多EDA公司的支持,越来越多的硬件设计者使用公司的支持,越来越多的硬件设计者使用VHDL描述数字系统。描述数字系统。下一页 返回上一页1.2 EDA技术主要内容技术主要内容VHDL涵盖面广,抽象描述能力强,支持硬件的设计、验证、综合与测涵盖面广,抽象描述能力强,支持硬件的设计、验证、综合与测试。试。VHDL能在多个级别上对同一逻辑功能进行描述,如可以在寄存器能在多个级别上对同一逻辑功能进行描述,如可以在寄存器级别上对电路的组成结构进行描述,也可以在行为描述级别上对电路的级别上对电路的组成结构进行描述,也可以在行为描述级别上对电路的功能与性能进
37、行描述。无论哪种级别的描述,都可以利用综合工具将描功能与性能进行描述。无论哪种级别的描述,都可以利用综合工具将描述转化为具体的硬件结构。述转化为具体的硬件结构。VHDL的基本结构包含有一个实体和一个结的基本结构包含有一个实体和一个结构体,而完整的构体,而完整的VHDL结构还包括配置、程序包与库。各种硬件描述语结构还包括配置、程序包与库。各种硬件描述语言中,言中,VHDL的抽象描述能力最强,因此运用的抽象描述能力最强,因此运用VHDL进行复杂电路设计进行复杂电路设计时,往往采用自顶向下结构化的设计方法。时,往往采用自顶向下结构化的设计方法。比较而言,比较而言,VHDL语言是一种高级描述语言,适用
38、于电路高级建模,综语言是一种高级描述语言,适用于电路高级建模,综合的效率和效果较好。合的效率和效果较好。Verilog-HDL语言是一种低级的描述语言,适用语言是一种低级的描述语言,适用于描述门级电路,容易控制电路资源,但其对系统的描述能力不如于描述门级电路,容易控制电路资源,但其对系统的描述能力不如VHDL语言。语言。下一页 返回上一页1.2 EDA技术主要内容技术主要内容u1.2.4 EDA开发工具开发工具EDA工具在工具在EDA技术应用中占据极其重要的位置,技术应用中占据极其重要的位置,EDA的核心是利用计的核心是利用计算机完成电子设计全程自动化,因此,基于计算机环境的算机完成电子设计全
39、程自动化,因此,基于计算机环境的EDA软件的支软件的支持是必不可少的。持是必不可少的。由于由于EDA的整个设计过程需要经过多个不同的技术环节,每个环节都要的整个设计过程需要经过多个不同的技术环节,每个环节都要用到专门的用到专门的EDA工具来处理。例如,设计输入时要用到设计输入编辑器,工具来处理。例如,设计输入时要用到设计输入编辑器,对设计做功能模拟时要用到仿真器,对对设计做功能模拟时要用到仿真器,对VHDL的行为描述进行逻辑综合的行为描述进行逻辑综合时要用到时要用到HDL综合器,把由综合器产生的网表文件转换成与指定的目标综合器,把由综合器产生的网表文件转换成与指定的目标器件相适应的器件相适应的
40、JEDEC文件要用到适配器,最后还需要用到下载器,将文件要用到适配器,最后还需要用到下载器,将JEDEC文件下载或配置到文件下载或配置到CPLD,FPGA中。中。下一页 返回上一页1.2 EDA技术主要内容技术主要内容现在,有多种支持现在,有多种支持CPLD和和FPGA的设计软件,有的设计软件是由芯片的设计软件,有的设计软件是由芯片制造商提供的,如制造商提供的,如Altera公司开发的公司开发的 MAX+plus和和Quartus软件包,软件包,Xilinx公司开发的公司开发的Foundation软件包和软件包和ISE;Lattice公司开发的用于公司开发的用于ispLSI器件的器件的ispE
41、XPERT System软件包;有的是由专业软件包;有的是由专业EDA软件商提软件商提供的,称为第三方设计软件,例如供的,称为第三方设计软件,例如Cadence, Mental,Symopsys和和DATA I/O公司的设计软件。第三方软件往往能够开发多家公司的器件。公司的设计软件。第三方软件往往能够开发多家公司的器件。在用第三方软件设计具体型号的器件时,需要器件制造商提供器件库和在用第三方软件设计具体型号的器件时,需要器件制造商提供器件库和适配器(适配器(Fitter)软件。)软件。本书主要介绍本书主要介绍Altera公司的公司的Quartus工具软件,它是一种集成的开发环工具软件,它是一种
42、集成的开发环境,是当今境,是当今EDA领域比较流行的工具软件。领域比较流行的工具软件。 上一页 返回1.3 数字系统设计的基本流程数字系统设计的基本流程u1.3.1自下而上和自上而下的设计概念自下而上和自上而下的设计概念传统的设计方法是指自下而上(传统的设计方法是指自下而上(Bottom-Up)的设计方法。系统设计师)的设计方法。系统设计师们根据自己的实践经验,利用现有的通用元器件,先完成各个部件的设们根据自己的实践经验,利用现有的通用元器件,先完成各个部件的设计、搭试、测量性能指标,再组成整个系统,而后经调试、测量看整个计、搭试、测量性能指标,再组成整个系统,而后经调试、测量看整个系统是否达
43、到规定的性能指标。其设计中除手工进行以外,还可尽量借系统是否达到规定的性能指标。其设计中除手工进行以外,还可尽量借助于助于CAD软件进行模拟和分析。软件进行模拟和分析。在现代的数字系统设计中更多采用的是自上而下(在现代的数字系统设计中更多采用的是自上而下(Top-Down)的设计)的设计方法,这种设计方法首先从系统设计入手,先从顶层进行功能方框图划方法,这种设计方法首先从系统设计入手,先从顶层进行功能方框图划分和结构设计入手,实现从设计、仿真、测试一体化。其方案的验证与分和结构设计入手,实现从设计、仿真、测试一体化。其方案的验证与设计、电路与设计、电路与PCB设计、设计、ASIC设计都由电子系
44、统设计师借助于设计都由电子系统设计师借助于EDA工工具来完成。具来完成。下一页 返回1.3 数字系统设计的基本流程数字系统设计的基本流程u1.3.2数字系统设计的流程数字系统设计的流程数字系统的设计一般采用自顶向下、由粗到细、逐步求精的方法。设计数字系统的设计一般采用自顶向下、由粗到细、逐步求精的方法。设计的最顶层是指系统的整体要求,最下层是指具体逻辑电路的实现。自顶的最顶层是指系统的整体要求,最下层是指具体逻辑电路的实现。自顶向下是指将数字系统的整体逐步分解为各个子系统和模块,若子系统规向下是指将数字系统的整体逐步分解为各个子系统和模块,若子系统规模较大,则还需要将子系统进一步分解为更小的子
45、系统和模块,层层分模较大,则还需要将子系统进一步分解为更小的子系统和模块,层层分解,直至整个系统中各子系统关系合理、并便于逻辑电路级的设计和实解,直至整个系统中各子系统关系合理、并便于逻辑电路级的设计和实现为止。现为止。数字系统的设计流程如数字系统的设计流程如图图1-1所示,下面分别讲述流程中各阶段的设计任所示,下面分别讲述流程中各阶段的设计任务。务。下一页 返回上一页1.3 数字系统设计的基本流程数字系统设计的基本流程1系统任务分析系统任务分析 数字系统设计中的第一步是明确系统的任务。设计任务书可用各种数字系统设计中的第一步是明确系统的任务。设计任务书可用各种方式提出对整个数字系统的逻辑要求
46、,常用的方式有自然语言、逻辑流方式提出对整个数字系统的逻辑要求,常用的方式有自然语言、逻辑流程图、时序图或几种方法的结合。当案娇较大或逻辑关系复杂时,系统程图、时序图或几种方法的结合。当案娇较大或逻辑关系复杂时,系统任务(逻辑要求)逻辑的表述和理解都不是一件容易的。任务(逻辑要求)逻辑的表述和理解都不是一件容易的。2确定逻辑算法确定逻辑算法 实现系统逻辑运算的方法称为逻辑算法,也简称为算法。一个数字实现系统逻辑运算的方法称为逻辑算法,也简称为算法。一个数字系统的逻辑运算往往有多种算法,设计者的任务不但是找出各种算法,系统的逻辑运算往往有多种算法,设计者的任务不但是找出各种算法,还必须比较优劣,
47、取长补短,从中确定最合理的一种。数字系统的算法还必须比较优劣,取长补短,从中确定最合理的一种。数字系统的算法是逻辑设计的基础,算法不同,则系统的结构也不同,算法的合理与否是逻辑设计的基础,算法不同,则系统的结构也不同,算法的合理与否直接影响系统结构的合理。确定算法是数字系统设计中最具创造性的一直接影响系统结构的合理。确定算法是数字系统设计中最具创造性的一环,也是最难的一步。环,也是最难的一步。下一页 返回上一页1.3 数字系统设计的基本流程数字系统设计的基本流程3系统划分系统划分 当算法明确后,应根据算法构造系统的硬件框架(也称为系统框当算法明确后,应根据算法构造系统的硬件框架(也称为系统框图
48、),将系统划分为若干个部分,各部分分别承担算法中不同的逻辑操图),将系统划分为若干个部分,各部分分别承担算法中不同的逻辑操作功能。如果某一部分的规模仍嫌大,则需进一步划分。划分后的各个作功能。如果某一部分的规模仍嫌大,则需进一步划分。划分后的各个部分应逻辑功能清楚,规模大小合适,便于进行电路级的设计。部分应逻辑功能清楚,规模大小合适,便于进行电路级的设计。4系统(或模块)逻辑描述系统(或模块)逻辑描述 当系统中各个子系统(指最低层子系统)和模块的逻辑功能和结构当系统中各个子系统(指最低层子系统)和模块的逻辑功能和结构确定后,则需要采用比较规范的形式来描述系统的逻辑功能。对系统的确定后,则需要采
49、用比较规范的形式来描述系统的逻辑功能。对系统的逻辑描述可先采用较粗略的逻辑流程图,再将逻辑流程图逐步细化为详逻辑描述可先采用较粗略的逻辑流程图,再将逻辑流程图逐步细化为详细逻辑流程图,最后将详细流程图表示成与硬件有对应关系的形式,为细逻辑流程图,最后将详细流程图表示成与硬件有对应关系的形式,为下一步的电路级设计提供依据。下一步的电路级设计提供依据。 下一页 返回上一页1.3 数字系统设计的基本流程数字系统设计的基本流程5逻辑电路级设计逻辑电路级设计 逻辑电路级设计是指选择合理的器件和连接关系以实现系统逻辑要逻辑电路级设计是指选择合理的器件和连接关系以实现系统逻辑要求。电路级设计的结果常采用两种
50、方式来表达:电路图方式和硬件描述求。电路级设计的结果常采用两种方式来表达:电路图方式和硬件描述语言方式。语言方式。EDA软件允许以这两种方式输入,以便作后续的处理。软件允许以这两种方式输入,以便作后续的处理。6.验证(仿真)验证(仿真) 当电路设计完成后必须验证设计是否正确。在早期,只能通过搭试当电路设计完成后必须验证设计是否正确。在早期,只能通过搭试硬件电路才能得到设计的结果。目前,数字电路设计的硬件电路才能得到设计的结果。目前,数字电路设计的EDA软件都具有软件都具有验证(也称为仿真、电路模拟)的功能,先通过电路验证(仿真),当验证(也称为仿真、电路模拟)的功能,先通过电路验证(仿真),当