从事电子行业的人必看(推荐给找工作的同学)
第一章 EDA技术综述
随着电子系统设计复杂程度的不断增加,仅靠手工进行电子系统的设计己经无法满足要求,迫切需要更高级、更快速和更有效的电子设计自动化EDA(Electronic Design Automation)工具,所谓电子设计自动化就是指设计者可以利用计算机以及相关应用软件完成设计工作。
EDA工具是以计算机的硬件和软件为基本工作平台,集数据库、图形学、图论与拓扑逻辑、计算数学、优化理论等多学科最新成果研制的计算机辅助设计通用软件包。
EDA技术是电子设计的发展趋势,利用EDA工具可以代替设计者完成电子系统设计中的大部分工作,EDA工具从数字系统设计的单一领域,发展到今天,应用范围己涉及模拟、微波等多个领域,可以实现各个领域电子系统设计的测试、设计仿真和布局布线等。设计者只要完成对电子系统的功能描述,就可以利用计算机和EDA工具,进行设计处理,最终得到设计结果。
一、 EDA发展回顾
EDA技术伴随着计算机、集成电路、电子系统设计的发展,经历了计算机辅助设计CAD(Computer Assist Design)、计算机辅助工程设计CAE(Computer Assist Engineering Design)和电子系统设计自动化ESDA(Electronic System Design Automation)三个发展阶段。
1.70年代的计算机辅助设计CAD阶段
早期的电子系统硬件设计采用的是分立元件,随着集成电路的出现和应用,硬件设计进入到发展的初级阶段。初级阶段的硬件设计大量选用中小规模标准集成电路,人们将这些器件焊接在电路板上,做成板级电子系统,对电子系统的调试是在组装好的PCB(Printed Circuit Board)板上进行的。与分立元件为基础的早期设计阶段不同,初级阶段硬件设计的器件选择是各种逻辑门、触发器、寄存器和编码译码器等集成电路,设计师只要熟悉各种集成电路制造厂家提供的标准电路产品的说明书,并掌握PCB布图工具和一些辅助性的设计分析工具,就可以从事设计活动。
由于设计师对图形符号使用数量能力有限,传统的手工布图方法又无法满足产品复杂性的要求,更不能满足工作效率的要求。这时,人们开始将产品设计过程中高重复性的繁杂劳动,如布图布线工作用二维图形编辑与分析的CAD工具替代,最具代表性的产品就是美国ACCEL公司开发的Tango布线软件。EDA技术发展初期,PCB布图布线工具受到计算机工作平台的制约(PC机问世才不久,从71年的微处理器4004到79年的16位微处理器68000),能支持的设计工作有限且性能比较差。
2. 80年代的计算机辅助工程设计CAE阶段
初级阶段的硬件设计是用大量不同型号的标准芯片实现电子系统设计。随着微电子工艺的发展,相继出现了集成上万只晶体管的微处理器、集成几十万直到上百万存储单元的随机存储器和只读存储器。此外,支持定制单元电路设计的硅编辑、掩膜编程的门阵列,如标准单元的半定制设计方法以及可编程逻辑器件(PAL和GAL)等一系列微结构和微电子学的研究成果都为电子系统的设计提供了新天地。因此,可以用少数几种通用的标准芯片实现电子系统设计。伴随计算机和集成电路的发展,EDA技术进入到计算机辅助工程设计阶段。80年代初,推出的EDA工具则以逻辑模拟、定时分析、故障仿真、自动布局和布线为核心,重点解决电路设计没有完成之前的功能检验等问题。利用这些工具,设计师能在产品制作之前预知产品的功能与性能、能生成产品制造文件,在设计阶段对产品性能的分析前进了一大步。
3. 90年代电子系统设计自动化ESDA阶段
为了满足千差万别的系统用户提出的设计要求,最好的办法是由用户自己设计芯片,让他们把想设计的电路直接设计在自己的专用芯片上。微电子技术的发展,特别是可编程逻辑器件的发展,微电子厂家可以为用户提供各种规模的可编程逻辑器件,使设计者通过设计芯片实现电子系统功能。EDA的工具发展,又为设计师提供了全线电子系统设计自动化ESDA工具。这个阶段发展起来的ESDA工具,目的是在设计前期将设计师从事的许多高层次设计由工具来做,如可以将用户要求转换为设计技术规范;有效地处埋可用的设计资源与理想的设计目标之间的矛盾;按具体的硬件、软件和算法分解设计等。由于微电子技术和ESDA工具的发展,设计师可以在不太长的时间内使用EDA工具,通过一些简单标准化的设计过程,利用微电子厂家提供的设计库完成数万门ASIC和集成系统的设计与验证。
90年代,设计师逐步从使用硬件转向设计硬件,从电路级电子产品开发转向系统级电子产品开发(即芯片上的系统一System on a chip)。因此ESDA工具是以系统级设计为核心,包括系统行为级描述与结构级综合,系统仿真与测试验证,系统划分与指标分配,系统决策与文件生成等一整套的电子系统设计自动化工具。ESDA工具不仅具有电子系统设计的能力,而且能提供独立于工艺和厂家的系统级设计能力,具有高级抽象的设计构思手段。例如,提供方框图、状态图和流程图的编辑能力,具有适合层次描述和混合信号描述的硬件描述语言(如VHDL、AHDL或Verilog-HDL),同时含有各种工艺的标准元件库。只有具备上述功能的EDA工具,才有可能使电子系统工程师在不熟悉各种半导体厂家和各种半导体工艺的情况下,完成电子系统的设计。
二、EDA系统构成
EDA技术研究的对象是电子设计的全过程,有系统级、电路级和物理级各个层次的设计:涉及的电子系统从低频、高频到微波,从线性到非线性,从模拟到数字,从通用集成电路到专用集成电路构造的电子系统,因此EDA技术研究的范畴相当广泛。如果从专用集成电路ASIC开发与应用角度看,EDA系统应当包含以下子模块:设计输入子模块、设计数据库子模块、分析验证子模块、综合仿真子模块、布局布线子模块等。
l.设计输入子模块
该模块接受用户的设计描述,并进行语义正确性、语法规则的检查,检查通过后,将用户的设计描述数据转换为EDA软件系统的内部数据格式,存入设计数据库备其它子模块调用。设计输入子模块不仅能接受图形描述输入、硬件描述语言(HDL)描述输入,还能接受图文混合描述输入。该子模块一般包含针对不同描述方式的编辑器,如图形编辑器、文本编辑器等,同时包含对应的分析器。
2.设计数据库子模块
该模块存放系统提供的库单元以及用户的设计描述和中间设计结果。
3.分析验证子模块
该模块包括各个层次的模拟验证、设计规则的检查、故障诊断等。
4.综合仿真子模块
该模块包括各个层次的综合工具,理想的情况是:从高层次到低层次的综合仿真全部由EDA工具自动实现。
5.布局布线子模块
该模块实现由逻辑设计到物理实现的映射,因此与物理实现的方式密切相关。例如,最终的物理实现可以是门阵列、可编程逻辑器件等。由于对应的器件不同,因此各自的布局布线工具会有很大的差异。
三、EDA工具发展趋势
1.设计输入工具的发展趋势
早期EDA工具设计输入普遍采用原理图输入方式,由元件符号和连线组成。这种以文字和图形作为设计载体的文件,可以将设计信息加载到后续的EDA工具,完成设计分析工作。原理图输入方式的优点是直观,能满足以设计分析为主的一般要求,但是原理图输入方式不适于用EDA综合工具。80年代末,电子设计开始采用新的综合工具,设计描述开始由原理图设计描述转向以各种硬件描述语言为主的编程方式。用硬件描述语言描述设计,更接近系统行为描述,且便于综合,更适于传递和修改设计信息,还可以建立独立于工艺的设计文件,不便之处是不太直观,要求设计师学会编程。
很多电子设计师都具有原理图设计的丰富经验,不具有编程经验,所以仍然希望继续在比较熟悉的符号与图形环境中完成设计,而不是利用编程完成设计。为此,EDA公司在90年代相继推出一批图形化免编程的设计输入工具,它们允许设计师用他们最方便并熟悉的设计方式,如框图、状态图、真值表和逻辑方程建立设计文件,然后由EDA工具自动生成综合所需的硬件描述语言文件。例如,ALTA Group的设计工具,以框图编辑器作为设计输入工具,然后可以生成“C”和“VHDL”源代码。“C”代码可送数字信号处理器DSP相关的开发系统,“VHDL”代码则送EDA综合工具。
2.具有混合信号处理能力的EDA工具
目前,数字电路设计的EDA工具远比模拟电路的EDA工具多,模拟集成电路EDA工具开发的难度较大,但是,由于物理量本身多以模拟形式存在,所以实现高性能的复杂电子系统的设计离不开模拟信号。因此,90年代以来EDA工具厂商都比较重视数/模混合信号设计工具的开发。对数字信号的语言描述IEEE己经制定了VHDL标准,对模拟信号的语言描述正在制定AHDL标准,此外还提出了对微波信号的MHDL描述语言。
3.发展更为有效的仿真工具
通常,可以将电子系统设计的仿真过程分成两个阶段:即设计前期的系统级仿真和设计过程中的电路级仿真。系统级仿真主要验证系统的功能;电路级仿真主要验证系统的性能,决定怎样实现设计所需的精度。在整个电子设计过程中仿真是花费时间最多的工作,也是占用EDA工具资源最多的一个环节。通常设计活动的大部分时间在做仿真,验证设计的有效性、测试设计的精度、处理和保证设计要求等。仿真过程中仿真收敛的快慢同样是关键因素之一。提高仿真的有效性一方面是建立合理的仿真算法,另一方面是系统级仿真中系统级模型的建模,电路级仿真中电路级模型的建模。预计在下一代EDA工具中,仿真工具将有一个较大的发展。
4.开发更为理想的设计综合工具
今天,电子系统和电路的集成规模越来越大,几乎不可能直接面向版图做设计,若要找出版图中的错误,更是难上加难。将设计者的精力从繁琐的版图设计和分析中转移到设计前期的算法开发和功能验证上,这是设计综合工具要达到的目的。高层次设计综合工具可以将低层次的硬件设计一直转换到物理级的设计,实现不同层次和不同形式的设计描述转换,通过各种综合算法实现设计目标所规定的优化设计。当然,设计者的经验在设计综合中仍将起到重要的作用,自动综合工具将有效地提高优化设计的效率。
设计综合工具由最初的只能实现逻辑综合,逐步发展到可以实现设计前端的综合直至设计后端的版图综合以及测试综合的理想且完整的综合工具。设计前端的综合工具也称高层次综合工具,可以实现从算法级的行为描述到寄存器传输级结构描述的转换,给出满足约束条件的硬件结构。在确定寄存器传输结构描述后,由逻辑综合工具完成硬件的门级结构描述。逻辑综合的结果将作为版图综合的输入数据,进行版图综合。版图综合则是将门级和电路级的结构描述转换成物理版图的描述,版图综合时将通过自动交互的设计环境,实现按面积、速度和功率完成布局布线的优化,实现最佳的版图设计。人们希望将设计测试工作尽可能地提前到设计前期,以便缩短设计周期,减少测试费用,因此测试综合贯穿在设计过程的始终。测试综合可以消除设计中的冗余逻辑、诊断不可测的逻辑结构、自动插入可测性结构、生成测试向量,当整个电路设计完成时,测试设计也随之完成。
面对当今飞速发展的电子产品市场,电子设计人员需要更加实用、快捷的EDA工具,使用统一的集成化设计环境,改变优先考虑具体物理实现方式的传统设计思路,而将精力集中到设计构思、方案比较和寻找优化设计等方面,以最快的速度开发出性能优良、质量一流的电子产品。今后的EDA工具将向着功能强大、简单易学、使用方便的方向发展。
搜索更多相关主题的帖子:
EDA 找工作 电子 计算机 应用软件 找工作 电子 行业 同学 推荐