1 EDA技术
EDA(电子线路设计座自动化)是以计算机为工作平台、以硬件描述语言(VHDL)为设计语言、以可编程器件(CPLD/FPGA)为实验载体、以ASIC/SOC芯片为目标器件、进行必要的元件建模和系统仿真的电子产品自动化设计过程。EDA是电子设计领域的一场革命,它源于计算机辅助设计,计算机辅助制造、计算机辅助测试和计算机辅助工程。利用EDA工具,电子设计师从概念,算法、协议开始设计电子系统,从电路设计,性能分析直到IC版图或PCB版图生成的全过程均可在计算机上自动完成。EDA代表了当今电子设计技术的最新发展方向,其基本特征是设计人员以计算机为工具,按照自顶向下的设计方法,对整个系统进行方案设计和功能划分,由硬件描述语言完成系统行为级设计,利用先进的开发工具自动完成逻辑编译、化简、分割、综合、优化、布局布线、仿真及特定目标芯片的适配编译和编程下载,这被称为数字逻辑电路的高层次设计方法。
1.1 EDA软件简介
“EDA”就是Electronic Design Automation(电子设计自动化),也就是能够帮助人们设计电子电路或系统的软件工具,该工具可以使设计更复杂的电路和系统成为可能。目前进入我国并具有广泛影响的EDA软件有:muhisim7、OW_AD、Protel、Viewlogio、Mentor、Synopsys、PCBW Id、Cadence、MicmSim等等,这些软件各具特色,大体分为芯片级设计工具、电路板级设计工具、可编程逻辑器件开发工具和电路仿真工具等几类;其中Protel是国内最流行、使用最广泛的一种印制电路板设计的首选软件,由澳大利亚protd Technology公司出品,过去只是用来进行原理图输入和PCB版图设计,从Protel 98开始,加入了模拟数字混合电路仿真模块和可编程逻辑器件设计模块,1999年Protel推出了功能更加强大的EDA综合设计环境Protel 99,它将EDA的全部内容整合为一体,成为完整的EDA软件,因而该软件发展潜力很大,但它最具特色和最强大的功能仍是原理图输人和PCB版图设计。
1.2 EDA技术的主要内容
EDA技术涉及面很广,内容丰富,从教学和实用的角度看,主要应掌握如下4个方面的内容:一是大规模可编程逻辑器件;二是硬件描述语言;三是软件开发工具;四是实验开发系统。其中,大规模可编程逻辑器件是利用EDA技术进行电子系统设计的载体,硬件描述语言是利用EDA技术进行电子系统设计的主要表达手段,软件开发工具是利用EDA技术进行电子系统设计的智能化的自动设计工具,实验开发系统则是利用EDA技术进行电子系统设计的下载工具及硬件验证工具。
1.3 EDA技术的主要特征
作为现代电子系统设计的主导技术,EDA具有几个明显特征:
1.3.1 用软件设计的方法来设计硬件
硬件系统的转换是由有关的开发软件自动完成的,设计输入可以是原理图VHDL语言,通过软件设计方式的测试,实现对特定功能硬件电路的设计,而硬件设计的修改工作也如同修改软件程序一样快捷方便,设计的整个过程几乎不涉及任何硬件,可操作性、产品互换性强。
1.3.2 基于芯片的设计方法
EDA设计方法又称为基于芯片的设计方法,集成化程度更高,可实现片上系统集成,进行更加复杂的电路芯片化设计和专用集成电路设计,使产品体积小、功耗低、可靠性高;可在系统编程或现场编程,使器件编程、重构、修改简单便利,可实现在线升级;可进行各种仿真,开发周期短,设计成本低,设计灵活性高。
1.3.3 自动化程度高
EDA技术根据设计输入文件,将电子产品从电路功能仿真、性能分析、优化设计到结果测试的全过程在计算机上自动处理完成,自动生成目标系统,使设计人员不必学习许多深入的专业知识,也可免除许多推导运算即可获得优化的设计成果,设计自动化程度高,减轻了设计人员的工作量,开发效率高。
1.3.4 自动进行产品直面设计
EDA技术根据设计输入文件(HDL或电路原理图),自动地进行逻辑编译、化简、综合、仿真、优化、布局、布线、适配以及下载编程以生成目标系统,即将电子产品从电路功能仿真、性能分析、优化设计到结果测试的全过程在计算机上自动处理完成;
1.4 EDA的技术要点
1.4.1 可编程逻辑器件-PLD
数字逻辑器件的发展直接反映了从分立元件、中小规模标准芯片过渡到可编程逻辑器件的过程。ISP技术和HDPLD器件使设计人员能够在实验室中方便地开发专用集成数字电路芯片ASIC。当前,国内外许多著名厂商均已开发出新一代ISP器件以及相应的开发软件(如Synario、EXPERT、Fundation、MAX+Plus2等)。
1.4.2 “自顶而下”的设计方法
10年前,电子设计的基本思路还是选择标准的集成电路“自底向上”(Bottom-Up)地构造出一个新的系统。这样的设计方法如同一砖一瓦建造楼房,不仅效率低、成本高而且容易出错,高层次的设计给我们提供了一种“自顶向下”(Top-Down)的全新设计方法,这种方法首先从系统入手,在顶层进行功能方框图的划分和结构设计,在方框图一级进行仿真、纠错,并用硬件描述语言对高层的系统进行描述,在系统一级进行验证,然后用综合优化工具生成具体的门电路网表,其对应的物理实现级可以是印刷电路板或专用集成电路,由于设计的主要仿真和调试过程是在高层次上完成的,这既有利于早期发现结构设计上的错误,避免设计工时的浪费,同时也减少了逻辑功能仿真的工作量,提高了设计的一次成功率。
2 数字的电路设计
20世纪90年代以来,电子信息类产品的开发明显出现两个特点:一是产品的复杂程度加深;二是产品的上市时限紧迫。随着计算机性价比的提高及可编程逻辑器件的出现,对传统的数字电子系统设计方法进行了解放性的革命,现代电子系统设计方法是设计师自己设计芯片来实现电子系统的功能,将传统的固件选用及电路板设计工作放在芯片设计中进行。然而电路设计本质上是基于门级描述的单层次设计(主要以数字电路为主),设计的所有工作(包括设计输入、仿真和分析、设计修改等)都是在基本逻辑门这一层次上进行的,显然这种设计方法不能适应新的形势,为此引入一种高层次的电子设计方法,也称为系统的设计方法。
数字电路设计性本身就是一种综合性的设计,其设计电路中一般包含不同类型的电路,在设计过程中,不可避免地存在许多错误和不足 如果直接按照这一设计的电路在电路板上进行安装、调试,其结果往往使电路调试费时费力,甚至会引起元器件和仪器设备损坏等问题,导致设计不能达到预期效果。应用EDA技术在仿真软件平台上设计数字电路,能帮助熟悉和掌握最先进的电路设计方法和技能。在电子技术高速发展的今天,新器件、新电路不断涌现,而设计条件受经费等因素的制约,一般不能及时更新。采用软件仿真的方法,在计算机上虚拟一个先进测试仪器、元器件品种齐全的电子工作台,可进行验证性、测试性、设计性等实验的针对性训练,培养使用计算机及分析、应用和创新电路的能力。“以仿代实”, “以软代硬”应该成为当代设计发展的潮流之一。
3基于EDA技术进行数字电路设计的研究
EDA技术在数字系统中的应用以基于Altera的EPM7128SLC84-15芯片和MAX+PlusII 10.0软件平台的数字钟的设计为例,讨论EDA技术在数字系统中的具体应用。
3.1 EDA技术设计流程
在设计方法上,EDA技术为数字电子电路设计领域带来了根本性的变革,将传统的“电路设计硬件搭试调试焊接”模式转变为在计算机上自动完成,如图1所示。
图1:设计流程
3.2 设计要求
具有时、分、秒、计数显示功能,以24小时循环计时。具有清零和调节小时、分钟功能。具有整点报时功能。
3.3 输入设计源文件
一个设计项目由一个或多个源文件组成,它们可以是原理图文件、硬件描述语言文件、混合输入文件,点击Source/New菜单,选择你所要设计源文件的类型,进入设计状态,完成源文件设计,存盘、退出;另在一张原理图编辑器窗口中,通过File/Matching Symbol菜单,建立一张原理图符号,生成一个与原理图文件相同名、相同功能的逻辑宏元件,它自动加到元件列表中,可以在更高层的图纸中反复调用;
3.3 逻辑编译
逻辑编译选择器件EPM7128SLC84—15,使用MAX+PlusⅡ编译器编译设计项目,通过编译器自动进行错误检查、网表提取、逻辑综合、器件适配,最终产生器件编程文件(.jed)。
3.4 综合
综合就是利用EDA软件系统的综合器将VHDL的软件设计与硬件的可实现性挂钩,这是将软件转化为硬件电路的关键步骤。综合器对源文件的综合是针对某一FPGA/CPI D供应商的产品系列的。因此,综合后的结果具有硬件可实现性。EDA提供了良好的逻辑综合与优化功能,它能够将设计人员设计的逻辑级电路图自动地转换为门级电路,并生成相应的网表文件、时序分析文件和各种报表,若设计没有错误,最终可生成可以编程下载.sof文件。
3.5 器件适配
综合通过后必须利用FPGA/CPLD布局/布线适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、布局布线等操作。适配后产生时序仿真用的网表文件和下载文件, 如JED或POF文件。适配对象直接与器件的结构细节相对应。
3.6 功能仿真
通常,在设计过程中每一个阶段都要进行仿真验证其正确性。在综合前,要进行行为仿真,将VHDI源程序直接送到VHDI 仿真器中仿真,此时的仿真只是根据VHDI 的语义进行的,与具体电路没有关系。综合后,可利用产生的网表文件进行功能仿真,以便了解设计描述与设计意图的一致性。功能仿真仅对设计描述的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求,仿真过程不涉及具体器件的硬件特性,如延迟特性。时序仿真根据适配后产生的网表文件进行的仿真,是接近真实器件运行的仿真,仿真过程中已将器件硬件特性考虑进去了,因此仿真精度要高得多。时序仿真的网表文件中包含了较为精确的延迟信息。
3.7 编程下载
通过仿真确定设计基本成功后,即可通过Byteblaster下载电缆线将设计项目以JTAG的方式下载到器件中,完成设计所有工作。通过此例的设计流程讲述可知,EDA技术及其工具在数字电路系统(包括模拟电路系统)中正发挥着越来越重要的作用,其应用的深度和广度正在向更深层次延伸。
3.8 目标系统
用VHDL语言描述编码电路。译码电路用CASE语句完成查表译码,其中有近4O种可能的情况。通过求出伴随式的值,把有一个错误的数据取反纠正过来,其他情况给出信号,指出有错误。编译码电路选用ALTERA公司生产的器件EPF1OK10TC144-3,其中编码电路占用了32个逻辑单元,译码电路占用了163个逻辑单元。对编码译码电路做功能仿真。测试使用看来,当数据输人全为‘1’,如果总线上传来的数据最后一位出错.为‘0’,正确数据异或而成的数据检查线DC使得译码器能把最后一位改为‘1’;如数据输人是“00000001”,编码器的DC为“19”而一旦出现两个错误.如最高位和最低位,译码器指示是不可纠正的错误;如数据正确传输,译码器指示没有错误。
4 本文作者创新点
目前,现代集成电路技术的发展使以现场可编程门阵列为代表的大容量可编程逻辑器件的等效门数迅速提高,其规模直逼标准门阵列,达到了系统集成的水平。特别是进入二十世纪90年代后,随着CPLD、FPGA等现场可编程逻辑器件的逐渐兴起,VHDL、Verilog等通用性好、移植性强的硬件描述语言的普及,ASIC技术的不断完善,EDA技术在现代数字系统和微电子技术应用中起着越来越重要的作用。从通常意义上来说,现代电子系统的设计已经再也离不开EDA技术的帮助了。
参考文献:
[1] 王锁萍.龚建荣等.电子设计教程.成都:电子科技大学出版社,2000.2
[2] 潘松,黄蛀生.EDA技术实用教程.北京:科学出版社.2002.10.
[3] 曾繁泰,李冰,李晓林.EDA工程概论[M].北京,清华大学出版社,2002.
[4] 蒋卓勤,邓玉元.Multisim2001及其在电子设计中的应用[M].西安:电子科技大学出版社,2003.
[5] 徐志军等.大规模可编程逻辑器件及其应用[M].电子科技大学出版社.