资源描述
EDA 技术实用教程技术实用教程第第 1 1 章章 概概 述述EDA?EDA:Electronic Design Automation即:电子设计自动化即:电子设计自动化EDA?ICIC设计制造设计制造 FPGA/CPLD FPGA/CPLD应用应用 PCB PCB设计设计回溯回溯 20世纪世纪70年代,计算机作为一种运算年代,计算机作为一种运算工具已在科研领域得到广泛应用。这一工具已在科研领域得到广泛应用。这一阶段人们开始利用计算机取代手工劳动,阶段人们开始利用计算机取代手工劳动,辅助进行集成电路版图编辑、辅助进行集成电路版图编辑、PCB布局布局布线等工作。布线等工作。回溯回溯 20世纪世纪80年代,集成电路设计进入了年代,集成电路设计进入了CMOS时代。复杂可编程器件进入商业应用,时代。复杂可编程器件进入商业应用,CAE和和CAD技术的应用更为广泛,它们在技术的应用更为广泛,它们在PCB设计方面的原理图输入、自动布局布线设计方面的原理图输入、自动布局布线即即PCB分析,以及逻辑设计、逻辑仿真、布分析,以及逻辑设计、逻辑仿真、布尔方程综合和化简等方面担任了重要的角色。尔方程综合和化简等方面担任了重要的角色。回溯回溯 进入进入90年代,随着硬件描述语言的标准化得到进年代,随着硬件描述语言的标准化得到进一步的确立,与此同时电子技术在通信、计算机及一步的确立,与此同时电子技术在通信、计算机及家电产品生产中的市场需求和技术需求,极大的推家电产品生产中的市场需求和技术需求,极大的推动了全新的电子设计自动化技术的应用和发展。集动了全新的电子设计自动化技术的应用和发展。集成电路设计工艺步入了超深亚微米阶段,百万门以成电路设计工艺步入了超深亚微米阶段,百万门以上的大规模可编程逻辑器件的陆续面世,记忆基于上的大规模可编程逻辑器件的陆续面世,记忆基于计算机技术的面向用户的低成本大规模计算机技术的面向用户的低成本大规模ASIC设计技设计技术应用,促进了术应用,促进了EDA技术的形成。技术的形成。CAD计算机辅助设计计算机辅助设计CAE计算机辅助工程计算机辅助工程EDA电子设计自动化电子设计自动化ESDA电子系统设计自动化电子系统设计自动化 不难理解,不难理解,EDA技术已不是某一学科的分技术已不是某一学科的分支,或某种新的技能技术,应该是一门综合性支,或某种新的技能技术,应该是一门综合性学科。它融合多学科于一体,打破了软件和硬学科。它融合多学科于一体,打破了软件和硬件间的壁垒,使计算机的软件技术与硬件实现、件间的壁垒,使计算机的软件技术与硬件实现、设计效率和产品性能合二为一,它代表了电子设计效率和产品性能合二为一,它代表了电子设计技术和应用技术的发展方向。设计技术和应用技术的发展方向。EDA技术实现目标技术实现目标目标:是完成专用集成电路目标:是完成专用集成电路ASIC的设计和实现的设计和实现EDA技术技术ASIC设计设计数字数字ASICFPGA/CPLD可编程可编程ASIC 设计设计门阵列)门阵列)标准单元标准单元全定制全定制ASIC设计设计混合混合ASIC设计设计PCB FPGA-Field Programmable Gate Array (现场可编程门阵列)现场可编程门阵列)CPLD-Complex Programmable Logic Device (复杂可编程逻辑器件)(复杂可编程逻辑器件)ASIC Application Specific Integrated Circuit (专用集成电路)(专用集成电路)EDA技术实现目标技术实现目标1.1.超大规模可编程逻辑器件超大规模可编程逻辑器件 FPGA、CPLD特点:直接面向用户,特点:直接面向用户,具有极大的灵活性和通用性,使用方便具有极大的灵活性和通用性,使用方便硬件测试和实现快捷,开发效率高,成本硬件测试和实现快捷,开发效率高,成本低,上市时间短,技术维护简单,工作可低,上市时间短,技术维护简单,工作可靠性好等。靠性好等。EDA技术实现目标技术实现目标2、半定制或全定制、半定制或全定制ASIC统称为掩模统称为掩模(MASK)ASIC,或直接称,或直接称ASIC。特点:用户设计特点:用户设计ICIC,ICIC 厂家生产厂家生产三种级别:三种级别:A、半导体元件、连线的大小与尺寸,电路全定制、半导体元件、连线的大小与尺寸,电路全定制 B、片内晶体管固定,用户设计连线、片内晶体管固定,用户设计连线 半定制半定制 C、库内含标准单元,如、库内含标准单元,如SSI逻辑块、逻辑块、MSI逻辑块、数逻辑块、数据通道模块、存储器、据通道模块、存储器、IP,乃至系统级模块。用户在,乃至系统级模块。用户在EDAEDA工具上进行开发工具上进行开发/粘贴。粘贴。掩模掩模ASIC 门阵列门阵列ASIC 标准单元标准单元ASIC 全定制芯片全定制芯片 EDA技术实现目标技术实现目标 3、混合、混合ASIC 混合混合ASIC:指既具有面向用户的可编程功能和逻辑资:指既具有面向用户的可编程功能和逻辑资源,同时也含有可方便调用和配置的硬件标准单元模块,源,同时也含有可方便调用和配置的硬件标准单元模块,如如CPU、RAM、ROM、硬件加法器、乘法器、锁相环等。、硬件加法器、乘法器、锁相环等。Xilinx和和Altera公司已经推出了这方面的器件,公司已经推出了这方面的器件,如如Virter-II Pro系列和系列和Stratix系列等。混合系列等。混合ASIC为为SoC的设计实现成为便捷的途径。的设计实现成为便捷的途径。硬件描述语言硬件描述语言VHDL VHDLVHSIC(Very High Speed Integrated Circuit)Hardware Description Language VHDLVerilog HDLSystemVerilogSystemC 具有很强的电路描述和建模能力具有很强的电路描述和建模能力 具有与具体硬件电路无关和与设计平台无关的特性具有与具体硬件电路无关和与设计平台无关的特性 具有良好的电路行为描述和系统描述的能力具有良好的电路行为描述和系统描述的能力 硬件描述语言是硬件描述语言是EDA技术的重要组成部分,技术的重要组成部分,VHDL是作为电子设计主流硬件的描述语言之一。是作为电子设计主流硬件的描述语言之一。VHDL语言具有很强的电路描述和建模能力,语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率而大大简化了硬件设计任务,提高了设计效率和可靠性。和可靠性。用用VHDL进行电子系统设计的一个很大的优进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,而点是设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素、花不需要对不影响功能的与工艺有关的因素、花费过多的时间和精力。费过多的时间和精力。VHDL综合综合 SynthesisSynthesis(综合)(综合)-字面含义:通过组合某些模块,把设计抽象层次字面含义:通过组合某些模块,把设计抽象层次中的一种表示转化为另一种表示的过程。中的一种表示转化为另一种表示的过程。EDA中综合:将用行为和功能层次表达的电子系中综合:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配统转换为低层次的便于具体实现的模块组合装配的过程。的过程。VHDL综合综合 把把VHDL描述转化为门级电路描述,设计过程描述转化为门级电路描述,设计过程中的每一步都可称为一个综合环节。中的每一步都可称为一个综合环节。(1 1)从自然语言转换到)从自然语言转换到VHDLVHDL语言算法表示,即自语言算法表示,即自然语言综合;然语言综合;(2 2)从算法表示转换到寄存器传输级()从算法表示转换到寄存器传输级(RTLRTL),),即从行为域到结构域的综合即从行为域到结构域的综合行为综合;行为综合;(3 3)从)从RTLRTL级表示转换到逻辑门的表示(包括触级表示转换到逻辑门的表示(包括触发器),即逻辑综合;发器),即逻辑综合;(4 4)从逻辑门表示转换到版图表示()从逻辑门表示转换到版图表示(ASICASIC设计),设计),或转换到或转换到FPGAFPGA的配置网表文件,可称为版图综合的配置网表文件,可称为版图综合或结构综合。有了版图信息就可以把芯片生产出或结构综合。有了版图信息就可以把芯片生产出来了。有了对应的配置文件,就可以使对应的来了。有了对应的配置文件,就可以使对应的FPGAFPGA变成具有专门功能的电路器件。变成具有专门功能的电路器件。编译器和综合器功能比较编译器和综合器功能比较 VHDL综合器运行流程综合器运行流程 1、工艺库:对程序描述的功能,实现的电路原、工艺库:对程序描述的功能,实现的电路原理结构框图可确定,但对不同系列的芯片,其理结构框图可确定,但对不同系列的芯片,其功能模块或工艺库不同,实现的具体结构不同。功能模块或工艺库不同,实现的具体结构不同。VHDL综合器运行流程综合器运行流程 约束条件:目的是获得优化电路。当综合器把约束条件:目的是获得优化电路。当综合器把VHDL源码翻译源码翻译成通用原理图时,将识别各功能模块,每种功能模块成通用原理图时,将识别各功能模块,每种功能模块(如加法如加法)的实现方案有多种,有的面积小,速度慢;有的速度快,面的实现方案有多种,有的面积小,速度慢;有的速度快,面积大。积大。VHDL行为描述强调的是电路的行为和功能,而不是行为描述强调的是电路的行为和功能,而不是电路如何实现。选择电路的实现方案是综合器的任综合器电路如何实现。选择电路的实现方案是综合器的任综合器选择一种能充分满足各项约束条件且成本最低的实现方案。选择一种能充分满足各项约束条件且成本最低的实现方案。VHDL综合器运行流程综合器运行流程 约束条件:目的是获得优化电路。当综合器把约束条件:目的是获得优化电路。当综合器把VHDL源码翻译源码翻译成通用原理图时,将识别各功能模块,每种功能模块成通用原理图时,将识别各功能模块,每种功能模块(如加法如加法)的实现方案有多种,有的面积小,速度慢;有的速度快,面的实现方案有多种,有的面积小,速度慢;有的速度快,面积大。积大。VHDL行为描述强调的是电路的行为和功能,而不是行为描述强调的是电路的行为和功能,而不是电路如何实现。选择电路的实现方案是综合器的任综合器电路如何实现。选择电路的实现方案是综合器的任综合器选择一种能充分满足各项约束条件且成本最低的实现方案。选择一种能充分满足各项约束条件且成本最低的实现方案。可分为设计规则、时间约束、面积约束。通常时间约束的优先级高于面积约束。VHDL未得到全面的支持和标准化。即未得到全面的支持和标准化。即VHDL综合器并不支持标准综合器并不支持标准VHDL的全集的全集(全部语句程全部语句程序序),而只能支持其子集,即部分语句。而且不,而只能支持其子集,即部分语句。而且不同的同的VHDL综合器所支持的综合器所支持的VHDL子集也不完全子集也不完全相同这样一来,对于相同的源代码,不同的相同这样一来,对于相同的源代码,不同的VHDL综合器可能综合出在结构和功能上并不完综合器可能综合出在结构和功能上并不完全相同的电路系统。全相同的电路系统。对于相同对于相同VHDL源代码,不同的源代码,不同的VHDL综合器综合器可能综合出在结构和功能上并不完全相同的电路可能综合出在结构和功能上并不完全相同的电路系统。系统。基于基于VHDL的自顶向下设计方法的自顶向下设计方法 n1、传统电子系统的设计方法、传统电子系统的设计方法-自底向上自底向上n首先确定构成系统的最底层的电路模块或元件的结首先确定构成系统的最底层的电路模块或元件的结构和功能然后根据主系统的功能要求,将它们组构和功能然后根据主系统的功能要求,将它们组合成更大的功能块,使它们的结构和功能满足高层合成更大的功能块,使它们的结构和功能满足高层系统的要求。以此流程,逐步向上递推,直至完成系统的要求。以此流程,逐步向上递推,直至完成整个目标系统的设计。整个目标系统的设计。n例:对一个电子系统的设计,首先决定使用的器件例:对一个电子系统的设计,首先决定使用的器件类别和规格,如类别和规格,如74系列的器件、某种系列的器件、某种RAM和和ROM、某类某类CPU或单片机以及某些专用功能芯片等;然后或单片机以及某些专用功能芯片等;然后是构成多个功能模块,如数据采集控制模块、信号是构成多个功能模块,如数据采集控制模块、信号处理模块、数据交换和接口模块等,直至最后利用处理模块、数据交换和接口模块等,直至最后利用它门完成整个系统的设计。它门完成整个系统的设计。n特点是必须首先关注并致力于解决系统最底层特点是必须首先关注并致力于解决系统最底层硬硬件的可获得性件的可获得性,以及它们的功能特性方面的诸多,以及它们的功能特性方面的诸多细节问题;在整个逐级设计和测试过程中,始终细节问题;在整个逐级设计和测试过程中,始终必须顾及具体目标器件的必须顾及具体目标器件的技术细节技术细节。在这个设计。在这个设计过程中的任一时刻,最底层目标器件的更换,或过程中的任一时刻,最底层目标器件的更换,或某些技术参数不满足总体要求,或缺货,或由于某些技术参数不满足总体要求,或缺货,或由于市场竞争的变化,临时提出降低系统成本,提高市场竞争的变化,临时提出降低系统成本,提高运行速度等等运行速度等等不可预测的外部因素不可预测的外部因素,都将可能使,都将可能使前面的工作前面的工作前功尽弃前功尽弃,工作又得重新开始。,工作又得重新开始。n结论:是一种低效、低可靠性、费时费力、且成结论:是一种低效、低可靠性、费时费力、且成本高昂的设计方法。本高昂的设计方法。基于基于VHDL的自顶向下设计方法的自顶向下设计方法 自顶向下的优点自顶向下的优点n1、自动化程度高,人为介入少。综合工具可、自动化程度高,人为介入少。综合工具可以将高级别的模型转化生成为门级模型,我们以将高级别的模型转化生成为门级模型,我们主要是根据仿真的结果和优化的指标,控制逻主要是根据仿真的结果和优化的指标,控制逻辑综合的方式和指向。辑综合的方式和指向。n2、可移植性好:、可移植性好:VHDL设计优秀的可移植性、设计优秀的可移植性、EDA平台的通用性以及与具体硬件结构的无平台的通用性以及与具体硬件结构的无关性,使得前期的设计可以容易地应用于新的关性,使得前期的设计可以容易地应用于新的设计项目,则项目设计的周期可以显著缩短。设计项目,则项目设计的周期可以显著缩短。n3、可分解为不同的工作小组完成不同的模块。、可分解为不同的工作小组完成不同的模块。EDA与传统电子设计方法的比较与传统电子设计方法的比较手工设计方法的缺点:手工设计方法的缺点:1)复杂电路的设计、调)复杂电路的设计、调试十分困难。试十分困难。2)如果某)如果某一过程存在错误,查找一过程存在错误,查找和修改十分不便。和修改十分不便。3)设)设计国过程中产生大量文计国过程中产生大量文档,不易管理。档,不易管理。4)对于)对于集成电路设计而言,设计集成电路设计而言,设计实现过程与具体生产工艺实现过程与具体生产工艺直接相关,因此可移植性直接相关,因此可移植性差。差。5)只有在设计出现)只有在设计出现样机或生产出芯片后才能样机或生产出芯片后才能进行实测。进行实测。EDA技术有很大不同:技术有很大不同:1)采用硬件描述语言作为设计输)采用硬件描述语言作为设计输入。入。2)库的引入。)库的引入。3)设计文档)设计文档的管理。的管理。4)强大的系统建模、电)强大的系统建模、电路仿真功能。路仿真功能。5)具有自主知识产)具有自主知识产权。权。6)开发技术的标准化、规范)开发技术的标准化、规范化以及化以及IP核的可利用性。核的可利用性。7)适用)适用于高效率大规模系统设计的自顶于高效率大规模系统设计的自顶向下设计方案。向下设计方案。8)全方位的利用)全方位的利用计算机自动设计、仿真和测试技计算机自动设计、仿真和测试技术。术。9)对设计者的硬件知识和硬)对设计者的硬件知识和硬件经验要求低。件经验要求低。10)高速性能好。)高速性能好。11)纯硬件系统的高可靠性。)纯硬件系统的高可靠性。EDA与传统电子设计方法的比较与传统电子设计方法的比较FPGA和和DSP芯片实现芯片实现FIR滤波器的速度对比滤波器的速度对比Million Samples Per Second兆采样数兆采样数/秒秒Million Instructions Per Second兆条指令Million Instructions Per Second兆条指令兆条指令EDA与传统电子设计方法的比较与传统电子设计方法的比较EDA的发展趋势的发展趋势 超大规模集成电路的集成度和工艺水平不断提高,深亚微米超大规模集成电路的集成度和工艺水平不断提高,深亚微米工艺已走向成熟,在一个芯片上完成的系统级的集成已成为工艺已走向成熟,在一个芯片上完成的系统级的集成已成为可能可能 可编程逻辑器件开始进入传统的可编程逻辑器件开始进入传统的ASIC市场市场 EDA工具和工具和IP核应用更为广泛核应用更为广泛 高性能的高性能的EDA工具得到长足的发展工具得到长足的发展 计算机硬件平台性能大幅度提高,为复杂的计算机硬件平台性能大幅度提高,为复杂的SoC设计提供了设计提供了物理基础。物理基础。系统集成芯片成为系统集成芯片成为IC设计的发展方向,这一发展趋设计的发展方向,这一发展趋势表现在如下几个方面:势表现在如下几个方面:EDA的发展趋势的发展趋势 使电子设计成果以自主知识产权的方式得以明确表达和确认使电子设计成果以自主知识产权的方式得以明确表达和确认成为可能;成为可能;在仿真和设计两方面支持标准硬件描述语言的功能强大的在仿真和设计两方面支持标准硬件描述语言的功能强大的EDAEDA软件不断推出;软件不断推出;EDA技术全方位渗透电子技术领域,使得电子领域各学科的技术全方位渗透电子技术领域,使得电子领域各学科的界限更加模糊,更加互为包容;界限更加模糊,更加互为包容;硬件描述语言进一步发展;硬件描述语言进一步发展;EDA技术在进入技术在进入21世纪后,得到了更大的发展,突世纪后,得到了更大的发展,突出表现在以下几个方面:出表现在以下几个方面:更大规模的更大规模的FPGAFPGA和和CPLDCPLD器件的不断推出;器件的不断推出;基于基于EDAEDA工具的工具的ASICASIC设计标准单元已涵盖大规模电子系统及设计标准单元已涵盖大规模电子系统及IPIP核模块;核模块;ASICASIC设计完全依赖于设计完全依赖于EDAEDA技术;技术;软硬件软硬件IP核在电子行业产业领域、技术领域和设计应用领域核在电子行业产业领域、技术领域和设计应用领域得到进一步确认;得到进一步确认;SOCSOC高效低成本设计技术的成熟;高效低成本设计技术的成熟;SOPCSOPC片上可编程系统出现。片上可编程系统出现。SOCSystem On a ChipSOPC:System On a ProgrammableChip片上可编程系统片上可编程系统 将电路设计、系统设计、硬件设计、软件将电路设计、系统设计、硬件设计、软件设计和体系设计集合于一身的设计。设计和体系设计集合于一身的设计。CPU Core+Interfaces&Peripherals+DSP+Software SystemsVerilog System C新的新的HDL语言语言 C 直接对直接对C进行综合(有了雏形)进行综合(有了雏形)C综合综合p经常不断地学习,你就什么都知道。你知道得越多,你就越有力量pStudyConstantly,AndYouWillKnowEverything.TheMoreYouKnow,TheMorePowerfulYouWillBe写在最后Thank You在别人的演说中思考,在自己的故事里成长Thinking In Other PeopleS Speeches,Growing Up In Your Own Story讲师:XXXXXX XX年XX月XX日
展开阅读全文