基于EDA技术的研究综述.docx
- 文档编号:5950386
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:15
- 大小:878.42KB
基于EDA技术的研究综述.docx
《基于EDA技术的研究综述.docx》由会员分享,可在线阅读,更多相关《基于EDA技术的研究综述.docx(15页珍藏版)》请在冰豆网上搜索。
基于EDA技术的研究综述
基于从上到下的集成电路的EDA技术
1.EDA技术概述
EDA是电子设计自动化(ElectronicDesignAutomation)的缩写。
该技术基于计算机辅助设计,是应用电子技术、计算机技术、信息处理技术、智能化技术等多种技术发展到一定阶段的产物。
EDA技术是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件完成。
是一门用软件方式设计电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化,逻辑布局布线、逻辑仿真,完成对于特定目标芯片的适配编泽、逻辑映射、编程下载等,最终形成集成电子系统或专用集成芯片的新技术。
EDA是现代电子设计技术的核心,在现代集成电路设计中占据非常重要地位。
而FPGA(FieldProgrammableGateArray现场可编程门阵列)作为可编程逻辑器件的典型代表,它的出现及日益完善适应了当今时代的数字化发展浪潮。
2.EDA技术的发展历程
EDA技术是伴随着计算机、集成电路、电子系统的设计发展起来的,大致可以分为三个发展阶段。
20世纪70年代的CAD(计算机辅助设计)阶段:
这一阶段的主要特征是利用计算机辅助进行电路原理编辑,PCB布局布线。
使得设计师从传统高度重复繁杂的绘图劳动中解脱出来。
20世纪80年代的CAE(计算机辅助工程设计)阶段:
这一阶段的主要特征是以逻辑摸拟.定时分析、故障仿真、自动布局布线为核心,重点解决电路设计的功能检测等问题,使设计能在产品制作之前预知产品的功能与性能。
20世纪90年代是EDA(电子设计自动化)阶段:
这一阶段的主要特征是以高级描述语言、系统级仿真和综合技术为特点,采用“自顶向下”的设计理念.将设计前期的许多高层次设计由EDA工具来完成。
支持硬件描述语言的EDA工具的出现.使复杂数字系统设计自动化成为可能,只要用硬件描述语言将数字系统的行为描述正确,就可以进行该数字系统的芯片设计与制造。
EDA技术在进入21世纪后,得到了更大的发展,突出表现在以下几个方面:
1.使电子设计成果以自主知识产权的方式得以明确表达和确认成为可能;
2.在仿真和设计两方面支持标准硬件描述语言的功能强大的EDA软件不断推出;
3.电子技术全方位纳入EDA领域;
4.EDA使得电子领域各学科的界限更加模糊,更加互为包容。
3.EDA技术的主要内容
EDA技术在硬件实现方面融合了大规模集成电路制造技术、IC版图设计技术、ASIC技术、自动测试技术等,在计算机辅助工程方向融合了计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)、计算机辅助工程(CAE)技术、以及多种计算机语言的设计概念。
而在现代电子学方面,EDA则容纳了更多内容,如电子线路设计理论,数字信号处理技术,数字系统建模和优化技术,以及基于微波技术的长线技术理论等。
4.传统集成电路设计和EDA设计
4.1传统的集成电路设计方法
传统的集成电路设计方法是指20世纪50-60年代的手工设计时代。
传统的集成电路设计方法的基本步骤是
1.根据设计要求划分功能模块;
2.确定输入和输出的关系,画出真值表,写出逻辑表达式;
3.利用公式或卡诺图进行人工化简;
4.根据化简后的逻辑表达式画出电路原理图;
5.在面包板上进行实验,验证电路的正确性;
6.若无错误,再在透明薄膜上用贴图符号贴PCB图;
7.检查后送制板厂制板;
8.对PCB板进行安装、调试,若有大的错误,修改设计,重复以上过程,重新制板。
传统集成电路设计方法的特点是采用自下而上(BottomUp)的设计方法,采用通用型逻辑器件搭积木式的方式,在系统硬件设计的后期进行仿真和调试,主要设计文件是电路原理图。
4.2EDA技术设计方法
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真过程,直至完成对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
现代的数字系统设计采用PLD,利用EDA开发工具,通过芯片设计来实现系统功能。
普遍使用自顶向下(Top—Down)的设计方法,这里的“顶”就是指系统的功能;“向下”就是指将系统由大到小、由粗到精进行分解,直至可用基本模块实现。
EAD的层次化设计理念,从整个系统功能出发,按一定原则将系统进行逐层分解。
系统设计分解过程与结构如图1所示。
由图可见,在这样的图形结构中包括两种基本结构,一种是表示模块之间连接的“结构描述”,另一种表示模块性能的性能描述。
首先给出系统功能描述,然后再进行功能分解,逐层设计。
图1系统层次化设计
自顶向下设计方法的一般过程大致上可以分为四步:
1.明确系统功能:
对要设计的系统的任务、要求、原理以及使用环境等进行充分调研,进而明确设计目标,确定系统功能。
2.确定总体方案:
明确了设计目标、确定系统功能之后,接下来要做的工作就是根据系统功能确定出系统设计的总体方案。
3.系统具体实现:
系统方案确定以后.再从结构上对系统进行逻辑划分,导出系统的结构框图。
一般把系统从逻辑上划分为数据子系统和控制子系统两部分。
然后,再将各自划分为多个子系统模块,各模块的输入、输出信号要明确。
这些子系统就可以依据基础的数字设计确定具体电路实现。
4.系统仿真实现:
系统设计完成之后,最好先采用EDA软件对所设计的系统进行仿真后再用具体器件搭电路.以保证系统设计的正确性和可靠性。
电路实现时,一般按自底向上的顺序进行。
严格地讲,现代数字系统的完整设计过程应该是“自顶向下设计,自底向上集成”。
5.基于现代电子的设计流程介绍EDA技术
5.1大规模可编程器件
大规模可编程逻辑器件PLD(ProgrammableLogicDevices)是EDA得以实现的硬件基础。
利用PLD,通过编程,可灵活方便地构建和修改数字电子系统。
PLD是数字集成系统逻辑器件,是数字集成电路的半成品,在其芯片上按一定排列方式集成了大量的门和触发器等基本逻辑元件,使用者可利用某种开发工具对其进行加工,即按设计要求将这些片内的元件连接起来,使之完成某个逻辑电路或系统的功能,成为一个可在实际电子系统中使用的专用集成电路。
目前,PLD尚无统一和严格的分类标准,主要有以下几种分类方法。
1.按集成密度分类
PLD按集成密度上可分为低密度可编程逻辑器件LDPLD和高密度可编程逻辑器件HDPLD两类,如下图3所示。
图3可编程逻辑器件分类
2.按编程方式分类
PLD的编程方式可分为一次性编程OTP器件和多次编程MTP器件。
3.根据各编程元件的结构及编程方式分类
采用一次性编程的熔丝(Fuse)或反熔丝(Antifuse)元件的PLD,如PROM、PAL和EPLD等。
采用紫外线擦出、电可编程元件,即采用EPROM、UVCMOS工艺的多次可编程器件。
采用电擦出、电可编程元件。
其中一种是采用E2PROM工艺结构的PLD;另一种是采用快闪存储存元件结构的可多次编程器件。
基于查找表的LUT(Look-UpTable)技术、SRAM工艺的FPGA。
当前PLD主要向两个方向发展:
CPLD和FPGA。
而随着近年来半导体技术的飞速发展,现代高密度现场可编程逻辑器件FPGA,其设计性能及性价比已能够与掩膜ASIC抗衡。
5.1.1简单可编程逻辑器件
简单可编程逻辑器件有PROM、PLA、PAL、GAL。
PROM:
与阵列固定,或阵列可编程的逻辑器件,最主要特征是只允许数据写入一次,如果数据输入错误只能报废。
PLA:
与或阵列均可编程,在可编程逻辑器件中,它的灵活性最高。
由于它具有与或阵列均能编程的特点,在实现函数时,只需形成所需的乘积项,使这列规模比输入数相同的与阵列固定、或阵列可编程的PROM小得多。
但是目前PLA的编程缺少高质量的支持软件和编程工具,且器件价格偏高,门的利用率不高,因而未得到广泛应用。
PAL、GAL:
与阵列可编程,或阵列固定的代表器件。
这种结构中,或阵列固定若干个乘积项输出。
PAL和GAL门阵列结构把PROM器件的成本低、速度高、编程容易以及PLA器件的灵活性等优点结合在一起,成为早起实现可编程ASIC的主要器件
5.1.2复杂可编程器件
复杂可编程逻辑器件的两种主要类型是现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。
FPGA与CPLD的辨别和分类主要是根据其结构特点和工作原理。
通常的分类方法是:
将以乘积项结构方式构成逻辑行为的器件称为CPLD,将以查表法结构方式构成逻辑行为的器件称为FPGA。
1.EPLD和CPLD的基本结构
EPLD、CPLD是从PLA、GAL发展起来的阵列型高密度PLD器件,具有高密度、高速度和低功耗等特点。
由可编程逻辑单元、可编程I/O单元和可编程内部连线3部分组成,如图4所示
图4EPLD和CPLD基本结构
1.可编程逻辑宏单元
逻辑宏单元内部主要包括与或阵列、可编程触发器和多路选择器等电路,能独立地配置为时序或组合工作方式。
EPLD器件与GAL器件相似,其逻辑宏单元与I/O做在一起,称为输出逻辑宏单元,但其宏单元及与阵列数目比GAL大得多。
CPLD器件的宏单元在内部,称为内部逻辑宏单元。
EPLD、CPLD除了密度高之外,许多优点都反映在逻辑宏单元上:
多触发器结构和“隐埋”触发器结构。
GAL器件每个输出宏单元只有一个触发器,而EPLD和CPLD的宏单元内通常含两个或两个以上的触发器,其中只有一个触发器与输出端相连,其余触发器的输出不与输出端相连,但可以通过相应的缓冲电路反馈到与阵列,从而与其他触发器一起构成较复杂的时序电路。
这些不与输出端相连的触发器就称为“隐埋”触发器。
这种结构对于引脚数有限的EPLD和CPLD器件来说,可以增加触发器数目,即增加其内部资源。
乘积项共享结构。
乘积项共享结构提高了资源利用率,可以实现快速复杂的逻辑函数。
异步时钟和时钟选择。
一般GAL器件只能实现同步时序电路,在EPLD和CPLD器件中各触发器的时钟可以异步工作,有些器件中触发器的时钟还可以通过数据选择器或时钟网络进行选择。
此外,逻辑宏单元内触发器的异步清零和异步置位也可以用乘积项进行控制,因而使用更加灵活。
2.可编程I/O单元
输入/输出单元简称I/O单元(或IOC),它是内部信号到I/O引脚的接口部分。
由于阵列型HDPLD通常只有少数几个专用输入端,大部分端口均为I/O端,而且系统的输入信号常常需要锁存,因此I/O常作为一个独立单元来处理。
3.可编程连线阵列
可编程连线阵列的作用是在各逻辑宏单元之间以及逻辑宏单元和I/O单元之间提供互连网络。
各逻辑宏单元通过可编程连线阵列接收来自专用输入或输入端的信号,并将宏单元的信号反馈到其需要到达的目的地。
这种互连机制有很大的灵活性,它允许在不影响引脚分配的情况下改变内部的设计。
5.1.3现场可编程门阵列FPGA
1.FPGA基本结构如图5所示
图5FPGA基本结构
其结构包含以下几个方面:
(1)可编程逻辑功能块(CLB):
多个逻辑功能块通常规则地排成一个阵列结构,分布于整个芯片。
(2)可编程输入/输出块(IOB):
完成芯片内部逻辑与外部管脚之间的接口,围绕在逻辑单元阵列四周。
(3)可编程内部互连资源(IR):
包括各种长度的连线线段和一些可编程连接开关。
用户可以通过编程决定每个单元的功能以及它们的互连关系,从而实现所需的逻辑功能。
2.FPGA可编程的内部连线资源
(1)在FPGA中,大量的连线资源是通过可编程开关矩阵实现互连的。
(2)连线按相对长度分为单长度线、双长度线和长线。
这里的长度是指连线跨越CLB的个数。
其内部连线资源图如图6所示
图6FPGA内部连线资源
5.1.4FPGA和CPLD结构特点比较
尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点:
①CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。
换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。
②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。
③在编程上FPGA比CPLD具有更大的灵活性。
CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。
④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。
⑤CPLD比FPGA使用起来更方便。
CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。
而FPGA的编程信息需存放在外部存储器上,使用方法复杂。
⑥CPLD的速度比FPGA快,并且具有较大的时间可预测性。
这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。
⑦在编程方式上:
CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。
CPLD又可分为在编程器上编程和在系统编程两类。
FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。
其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。
⑧CPLD保密性好,FPGA保密性差。
⑨一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。
5.2EDA的硬件描述描述语言(HDL)
HDL是电子系统硬件行为描述、结构描述、数据流描述的语言。
目前利用硬件描述语言可以进行数字电子系统的设计。
随着研究的深入,利用硬件描述语言进行模拟电子系统设计或混合电子系统设计,也正在探索中。
任何一种EDA工具,都需要一种硬件描述语言作为EDA工具的工作语言。
在我国比较有影响的硬件描述语言有:
ABEL—HD语言、VerilogHDL语言、AHDL语言和VHDL语言。
5.2.1ABEL—HDL语言
这是一种早期的硬件描述语言。
在可编程逻辑器件的设计中,可方便准确的描述所设计的电路逻辑功能。
支持逻辑电路的多种表达形式,其中包括逻辑方程,真值表和状态图。
5.2.2VerilogHDL
VerilogHDL是在C语言的基础上发展起来的一种硬件描述语言,后来VerilogHDL成为IEEE标准,即IEEEStandard1364--1995。
VerilogHDL的最大特点就是易学易用。
5.2.3AHDL
AHDL是一种模块化的高级语言,完全集成于MAX+plusII或者QuartusII系统之中,特别适于描述复杂的组合逻辑、组运算、状态机、真值表和参数化逻辑。
设计者可以方便地应用MAX+plusII或QuartusII对AHDL进行文本编辑、编译、调试等工作,尤其是在消息处理器中对错误自动定位的功能使调试十分方便。
它的缺点是移植性不好,通常只用于ALTERA公司自己的开发系统。
5.2.4VHDL
VHDL语言即超高速集成电路硬件描述语言。
该语言设计技术齐全、方法灵活、可与制作工艺无关、编程易于共享,所以成为硬件描述语言的主流,成为标准硬件描述语言。
目前,VHDL语言已成为FPGA/CPLD编程最常用的工具。
VHDL作为EDA的重要组成都分,提供了借助计算机进行数字系统设计的一种很好的手段。
VHDL标准,规范,语法较为严格,采用VHDL的设计便于重复利用交流,VHDL所具有的类属描述语句和子程序调用等功能,使设计者对完成的设计,不必改变源程序,只需改变类属参数或函数,就可改变设计的规模和结构。
5.3EDA软件
EDA软件在EDA技术应用中占据极其重要的地位,EDA的核心是利用计算机实现电路设计的自动化,因此基于计算机环境下的EDA工具软件的支持足必不可少的。
EDA软件品种繁多,大致可分为三大类。
第一类是电路图设计软件,主要完成电路原理图的绘制和印制电路版图的绘制。
第二类是电子电路仿真软件,主要完成电子电路和系统的仿真。
第三类是片上系统开发软件,主要完成复杂电子系统的设计、仿真、编译和下载,在单芯片上实现电子系统。
5.3.1常用的电路图仿真软件有以下三种。
(1)Protel:
Protel系列软件是澳大利亚Altium的产品,早期的版本用于设计PCB。
后来增加了绘制电路原理图的功能,直至增加了电路仿真功能和可编程器件开发功能。
(2)OrCAD:
OrCAD包括OrCADCapture电路原理图输入模块、A/DPSpice电路原理图仿真模块、OrCADLayoutPC设计模块和PLD设计模块。
设计者在屏幕上绘制电路图,设置电路元件、器件的参数,生成电路中各种激励信号源,生成多种格式要求的电连接网表,运行PSpice软件,将分析结果用图形显示出来。
(3)EDA2002:
EDA2002主要用于电器图、电路原理图、印制电路板的计算机辅助仿真设计。
EDA2002采用一体化,制板设计,输出,布局布线,设计优化,设计校验;建立元件库,建立封装库等功能。
该软件有先进的管理器,可以管理各类文件。
5.3.2仿真软件
常用的仿真软件有以下4种。
(1)TinaPro:
TinaPro能对较为复杂的模拟电路、数字电路和模数式混合电子电路进行仿真的软件,为用户提供了超过了两万个元器件和多种信号源及十多种测试仪器的元器件库。
在构建电路时,不需要添加测试仪器,只需要标出测试点,就可以进行分析,分析结果可展现在相关图表中或保存到相关文档中。
(2)EWB和multisim
EWB(ElectronicsWorkBench)提供了上万种元、器件和七中测试仪器,设计者可以从中选取所需的元件和仪器,在电路图编辑器中快速地创建电路,并通过十多种不同的分析模式对不同的电路进行分析仿真,从而分析所设计电路的性能指标。
multisim是EWB的升级版,它继承了EWB的优点,同时在功能和操作上进行了较大规模的改动,扩充了器件库中器件的数量,增加了测试仪器重复使用性,增加了电路仿真分析功能。
(3)Pspice:
PSpice是由Spice发展而来的通用电路分析程序。
它能运行模拟电路分析、数字电路分析和模拟数字混合电路分析。
Spice可以用众多元、器件构成电路,这些元、器件以符号、模型和封装3种分别存放在扩展名为slb、lib和plb三种类型的库文件中。
slb库中的元、器件用于绘制电路图;lib中的元、器件模型用于电路仿真分析;plb中的元、器件封装形式用于绘制印制电路板的版图.
(4)SystemView:
SystemView提供并开发电子系统的模拟和数字工具、核心库和扩展功能的特殊应用库。
设计者通过构建框图的形式组成系统,设置参数,进行仿真。
其主要功能有:
动态系统仿真、通信系统仿真、离散系统的Z域分析、连续系统的Laplace域分析、模拟和数字滤波器设计、信号频谱和功率谱分析等。
5.3.3片上系统开发软件
常用的片上系统开发软件有以下3种。
(1)QuartusII:
QuartusII是MUX+PLUSII开发软件的升级换代产品,它可以开发从普通的逻辑电路到智能化的电子系统。
用户可通过原理图输入方式和语言输入方式来表达设计要求和组成系统;具有文件编译、功能仿真、硬件配置、程序下载、嵌入分析等功能;
(2)TCAD:
TCAD包括原理图设计工具Scholar、仿真工具Smartpice、版图设计Expert、DRC检查Savage、网表提取工具Maveric、原理图与版图对照工具Guardian---LVS。
(3)ZeniEDASystem:
ZeniEDASystem系统是IC设计产品,其工具集包括ZeniSE(SchematicEditor)原理编辑器、ZeniPDT(physicaldesigntool)版图编辑工具、ZeniVERI(physicalDesignVerificationTools)版图验证工具、ZeniPE(ParasiticParameterExtraction)寄生参数提取和ZeniVDE(VisualHDLDesignEnvironment)可视化HDL设计环境。
6.PLD和FPGA封装技术以及片上文字信息分析
6.1CPLD和FPGA的封装介绍
封装最初的定义是:
保护电路芯片免受周围环境的影响(包括物理、化学的影响)。
所以,在最初的微电子封装中,是用金属罐(metalcan)作为外壳,用与外界完全隔离的、气密的方法,来保护脆弱的电子元件。
但是,随着集成电路技术的发展,尤其是芯片钝化层技术的不断改进,封装的功能也在慢慢异化。
通常认为,封装主要有四大功能,即功率分配、信号分配、散热及包装保护。
它的作用是从集成电路器件到系统之间的连接,包括电学连接和物理连接。
目前,集成电路芯片的I/O线越来越多,它们的电源供应和信号传送都是要通过封装来实现与系统的连接;芯片的速度越来越快,功率也越来越大,使得芯片的散热问题日趋严重;由于芯片钝化层质量的提高,封装用以保护电路功能的作用其重要性正在下降。
电子封装的类型很复杂。
从使用的包装材料来分,我们可以将封装划分为金属封装、陶瓷封装和塑料封装;从成型工艺来分,我们又可以将封装划分为预成型封装(pre-mold)和后成型封装(post-mold);至于从封装外型来讲,则有SIP(singlein-linepackage)、DIP(dualin-linepackage)、PLCC(plastic-leadedchipcarrier)、PQFP(plasticquadflatpack)、SOP(small-outlinepackage)、TSOP(thinsmall-outlinepackage)、PPGA(plasticpingridarray)、PBGA(plasticballgridarray)、CSP(chipscalepackage)等等;若按第一级连接到第二级连接的方式来分,则可以划分为PTH(pin-through-hole)和SMT(surface-mount-technology)二大类,即通常所称的插孔式(或通孔式)和表面贴装式。
DIP封装的管脚从封装体的两端直线式引出。
DIP的外形通常是长方形的,管脚从长的一边伸出。
绝大部分的DIP是通孔式,但亦可是表面贴装式。
对DIP来说,其管脚数通常在8至64(8、14、16、18、20、22、24、28、40、48、52和64)之间,其中,24至40管脚数的器件最常用于逻辑器件和处理器,而14至20管脚的多用于记忆器件,主要取决于记忆体的尺寸和外形。
当器件的管脚数超过48时,DIP结构变得不实用并且浪费电路板空间。
称为芯片载体(chipcarrier)或quad的封装,四边都有管脚,对高引脚数器件来说,是较
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 EDA 技术 研究 综述
![提示](https://static.bdocx.com/images/bang_tan.gif)