集成电路eda技术作业(精选8篇)
目
可编程逻辑器件与集成电路设计
姓
名
**
所在学院
理学院
专业班级
思源0901
学
号
09274027
指导教师
**
日
期
20**
年
**
月
日
可编程逻辑器件与集成电路设计
摘要:本文简述了集成电路的传统设计方法和现代设计方法,并对两者的区别进行了比较,以实例为基础介绍了集成电路的设计过程。对可编程逻辑器件的定义、分类、功能等进行详尽的阐述,介绍了可编程逻辑器件的设计过程,以可编程逻辑器件软件设计平台QuartusII为例,介绍了可编程逻辑器件软件设计平台的功能及使用方法,并对其他种类软件平台作出比较。对国内外集成电路设计公司作简要介绍,分析了PLD和FPGA芯片上的文字信息。
关键字:集成电路设计;可编程逻辑器件;软件设计平台;QuartusII;PLD;FPGA
1.集成电路的设计方法
1.1手工传统设计方法
传统的集成电路设计方法是指20世纪50-60年代的手工设计时代。
传统的集成电路设计方法的基本步骤是1.根据设计要求划分功能模块;2.确定输入和输出的关系,画出真值表,写出逻辑表达式;4.利用公式或卡诺图进行人工化简;5.根据化简后的逻辑表达式画出电路原理图;6.在面包板上进行实验,验证电路的正确性;7.若无错误,再在透明薄膜上用贴图符号贴PCB图;8.检查后送制板厂制板;9.对PCB板进行安装、调试,若有大的错误,修改设计,重复以上过程,重新制板。
传统集成电路设计方法的特点是采用自下而上(Bottom
Up)的设计方法,采用通用型逻辑器件搭积木式的方式,在系统硬件设计的后期进行仿真和调试,主要设计文件是电路原理图。
图1
1.2
EDA技术与现代设计方法
计算机出现后,人们可以借助计算机进行集成电路的辅助设计,这样就进入了20世纪70-80年代的CAD(计算机辅助)时代,利用计算机及其图形设备帮助集成电路设计人员进行设计工作,大大减少了手工设计时代的工作量,提高了集成电路的设计效率。到了80年代后期,CAD技术日渐成熟,集成电路的设计真正跨越到了EDA(电子设计自动化)的现代设计方法时代。
20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
EDA技术为电子系统设计带来了很大的变化:设计效率提高,设计周期缩短;设计质量提高;设计成本降低;能更充分地发挥设计人员的创造性;设计成果的重用性大大提高,省去了不必要的重复劳动。
现代的数字系统设计采用PLD,利用EDA开发工具,通过芯片设计来实现系统功能。普遍使用自顶向下(Top—Down)的设计方法,这里的“顶”就是指系统的功能;“向下”就是指将系统由大到小、由粗到精进行分解,直至可用基本模块实现。自顶向下设计方法的一般过程大致上可以分为四步,如下图所示。
Top-Down设计图
明确系统功能
确定总体方案
子系统具体实现
系统仿真实现
图2
明确系统功能:对要设计的系统的任务、要求、原理以及使用环境等进行充分调研,进而明确设计目标、确定系统功能,是一件至关重要的事。因为只有把它做好了,后面的设计工作才有意义,才有效率。
确定总体方案:明确了设计目标、确定系统功能之后,接下来要做的工作就是根据系统功能确定出系统设计的总体方案。
系统具体实现:系统方案确定以后.再从结构上对系统进行逻辑划分,导出系统的结构框图。一般把系统从逻辑上划分为数据子系统和控制子系统两部分。然后,再将各自划分为多个子系统模块,各模块的输入、输出信号要明确,有利于团队工作。这些子系统就可以依据基础的数字设计确定具体电路实现。系统如果有控制算法也包括选择控制算法及实现。
系统仿真实现:系统设计完成之后,最好先采用EDA软什对所设计的系统进行仿真后再用具体器件搭电路.以保证系统设计的正确性和可靠性。电路实现时,一般按自底向上的顺序进行。这样做不仅行利于单个电路的调试,而且也利于整个系统的联调。
因此,严格地讲,现代数字系统的完整设计过程应该是“自顶向下设计。自底向上集成”。
1.3从传统到现代设计方法的区别
从传统设计方法到现代设计方法,集成电路设计技术有了长足的进步。传统的集成电路设计方法,从根据设计目标得到真值表,到最后完成系统后的测试与调试,所有的工作均需人工完成。可以想象,随着数字集成电路的发展,从小规模集成电路(SSI)的小于10个逻辑门,到中规模集成电路(MSI)的几百个逻辑门,再到大规模集成电路的(LSI)几万门,最后甚至到超大规模集成电路(VLSI),甚大规模集成电路(ULSI)的几十万、几百万门电路,集成电路迅速的大规模化,使得传统设计方法根本无法完成得到真值表画出卡诺图等工作。它表现出了效率低下,一切手工完成,设计周期很长;容易出错;芯片种类多,数量大,受市场的限制;设计灵活性差;产品体积大等缺点。同时后续的电路调试和设计也需要很高的电路布局和布线的技巧,总而言之,这样的设计对于复杂数字系统来讲效率太低了。
现代的设计方法,自顶向下,可以实现具体任务的分工完成,并且用软件的方式设计硬件,从软件设计的硬件系统到硬件系统的转换是由EDA软件自动完成的,设计过程中可用软件进行各种仿真,现场可编程,在线升级,而且整个系统集成在一块儿很小的芯片上,体积小,功耗低,可靠性高,容易检查错误,便于修改,设计周期短、成功率很高,这些优点都是传统方法无法比拟的,大大提高了集成电路设计的效率。
所以说从传统方法到现代方法,集成电路的设计有了一个很大的跨越。
表1
2.可编程逻辑器件
2.1可编程逻辑器件定义
可编程逻辑器件英文全称为:programmable
logic
device
即
PLD。PLD是做为一种通用集成电路产生的,他的逻辑功能按照用户对器件编程来确定。一般的PLD的集成度很高,足以满足设计一般的数字系统的需要。这样就可以由设计人员自行编程而把一个数字系统“集成”在一片PLD上,而不必去请芯片制造厂商设计和制作专用的集成电路芯片了。
图3
PLD的基本结构如上图所示,图中与阵列和或阵列是PLD的主体。与阵列用以产生有关与项,或阵列把所有与项构成与或形式的逻辑函数。任何组合逻辑函数均可表示为与或表达式,因而用与门-或门两级电路可实现任何组合电路,又因为任何时序电路是由组合电路加上存储元件构成的,因而PLD的与或结构对实现数字电路具有普遍的意义。
2.2可编程逻辑器件分类及功能
可编程逻辑器件按集成度分类如下图。
图4
简单可编程逻辑器件有PROM、PLA、PAL、GAL。
PROM:与阵列固定,或阵列可编程的逻辑器件,最主要特征是只允许数据写入一次,如果数据输入错误只能报废。
PLA:
与或阵列均可编程,在可编程逻辑器件中,它的灵活性最高。由于它
具有与或阵列均能编程的特点,在实现函数时,只需形成所需的乘机项,使这列规模比输入数相同的与阵列固定、或阵列可编程的PROM小得多。但是目前PLA的编程缺少高质量的支持软件和编程工具,且器件价格偏高,门的利用率不高,因而未得到广泛应用。
PAL、GAL:与阵列可编程,或阵列固定的代表器件。这种结构中,或阵列固定若干个乘积项输出
。PAL和GAL门阵列结构把PROM器件的成本低、速度高、编程容易以及PLA器件的灵活性等优点结合在一起,成为早起实现可编程ASIC的主要器件
复杂可编程逻辑器件的两种主要类型是现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。
FPGA:提供了最高的逻辑密度、最丰富的特性和最高的性能。
现在最新的FPGA器件,可提供八百万“系统门”(相对逻辑密度)。
这些先进的器件还提供诸如内建的硬连线处理器、大容量存储器、时钟管理系统等特性,并支持多种最新的超快速器件至器件信号技术。
FPGA被应用于范围广泛的应用中,从数据处理和存储,以及到仪器仪表、电信和数字信号处理等。
CPLD:提供的逻辑资源少得多,最高约1万门。
但是,CPLD提供了非常好的可预测性,因此对于关键的控制应用非常理想。
而且CPLD器件需要的功耗极低。
2.3可编程逻辑器件设计过程
采用自顶向下(Top—Down)的设计方法确定各个子系统后,就需要借助于EDA软件进行系统设计实现。下图是基于EDA软件的PLD开发流程框图,由框图可见设计主要包括设计输入、设计处理、功能仿真和时序仿真、器件编程或下载和系统测试五个部分
FPGA
/
CPLD设计流程
设计准备
设计输入
Ø
图形输入
Ø
硬件描述语言HDL
设计处理
Ø
编译、优化综合Ø
适配、分割
Ø
布局、布线
器件编程(下载)
系统测试
时序仿真
功能仿真
HDL:
VHDL(IEEE)
Verilog
(IEEE)
AHDL
ABEL
EDA工具自动实现
对CPLD产生Pof文件
对FPGA产生Sof文件
图5
设计输入:采用原理图或硬件描述语言(HDL),描述出输入和输出的逻辑关系,将整个原理图或程序输入到计算机中。
设计处理:EDA工具可自动进行逻辑综合,将功能描述转换为门级描述,或转换成具体PLD的网表文件,将网表文件自动适配到具体芯片中进行布局布线。
功能仿真和时序仿真:在软件平台进行硬件仿真。
编程下载:到实际芯片中,在实验台上进行验证;
系统测试:测试成型系统,在每一阶段若有问题,可在计算机上直接修改设计,重复以上过程。
3.可编程逻辑器件软件设计平台
可编程逻辑器件的软件平台,都是由PLD/FPGA芯片厂家提供,基本都可以完成所有的设计输入(原理图或HDL),仿真,综合,布线,下载等工作。
3.1常用可编程逻辑器件软件设计平台比较
Altera公司:
QuartusII软件平台:
Quartus
II
是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
MaxplusII
E+MAX:免费PLD开发软件,界面与标准版的MaxplusII完全一样,只支持MAX7000和MAX3000系列器件,本身支持不复杂的VHDL和Verilog综合。
MaxplusII
Baseline:免费PLD开发软件,界面与标准版的MaxplusII完全一样,但需要通过使用MAX+PLUSII
Advanced
Synthsis插件才能支持VHDL/Verilog。支持MAX7000/3000和部分FLEX/ACEX芯片。
Xilinx公司
ISE软件平台: ISE是使用XILINX的FPGA的必备的设计工具,它可以完成FPGA开发的全部流程,包括设计输入、仿真、综合、布局布线、生成BIT文件、配置以及在线调试等,功能非常强大。
WebFITTER:免费PLD开发软件,不需下载,可在线编译,结果用e-mail发送到信箱。使用简单,但要求较快的联网速度。支持XC9500
和
CoolRunner系列。
WebPACK
ISE:免费PLD开发软件,支持XC9500,coolrunner,Spartan/II,部分Virtex/E/II器件。
Lattice公司
ispDesignEXPERT:PLD开发软件,目前最新软件改名为:ispLEVER
ispLEVER
Starter:免费PLD开发软件,支持600个宏单元以下的Lattice芯片的设计。
3.2
QuartusII软件设计平台简介
QuartusII是美国Altera公司自行设计的第四代PLD开发软件可以完成PLD的设计输入、逻辑综合、布局与布线、仿真、时序分析、器件编程的全过程,同时还支持SOPC(可编程片上系统)设计开发。
QuartusⅡ提供了方便的设计输入方式、快速的编译和直接易懂的器件编程。能够支持逻辑门数在百万门以上的逻辑器件的开发,并且为第三方工具提供了无缝接口。QuartusⅡ支持的器件有:Stratix
Ⅱ、Stratix
GX、Stratix、Mercury、MAX3000A、MAX
7000B、MAX
7000S、MAX
7000AE、MAX
Ⅱ、FLEX6000、FLEX10K、FLEX10KA、FLEX10KE、Cyclone、Cyclone
Ⅱ、APEX
Ⅱ、APEX20KC、APEX20KE和ACEX1K系列。QuartusⅡ软件包的编程器是系统的核心,提供功能强大的设计处理,设计者可以添加特定的约束条件来提高芯片的利用率。
Quartus
II软件的设计过程主要包括:
1.建立项目;
2.输入设计电路;
3.设计编译;
4.设计仿真
5.设计下载
其中QuartusII的输入可以有三种方式,(1)原理图输入方式:适用于对系统及各部分电路很熟悉的场合。(2)硬件描述语言输入方式:硬件描述语言是用文本方式描述设计,硬件描述语言有ABEL、AHDL、VHDL、Verilog等,其中VHDL和Verilog已成为IEEE标准。(3)波形输入方式
当在Quartus
Ⅱ中完成设计后,就应当将所设计的电路下载到CPLD芯片中,结合用户系统进行统一的调试。CPLD编程下载的方式较多,按计算机的接口可分为:串口下载(BitBlaster或MasterBlaster)、并口下载(ByteBlaster)、USB接口下载(MasterBlaster或APU)等方式。按器件可分为:CPLD编程(MAX3000、MAX5000、MAX7000、MAX
9000),FPGA下载(FLEX6000、FLEX8000、FLEX
10K、ACEX
1K、APEX
20K),存储器编程EPC1、EPC2等。
4.集成电路设计公司简介
4.1国内集成电路设计公司介绍
大唐微电子技术有限公司:作为目前国内规模最大的集成电路设计企业之一,大唐微电子积累了丰富的集成电路设计经验。多年来,公司在移动通信智能卡领域中,凭借独具特色的产品与服务,引领了中国国内移动通信智能卡市场稳健、快速的发展。大唐微电子是目前全球智能卡领域中生产规模最大、产业链最完整、生产设备最先进的智能卡企业之一;是全球唯一一家能够同时在芯片级、模块级、卡片级向客户提供全方位产品、服务与解决方案的企业;也是国家指定的中国第二代居民身份证专用集成电路设计和模块加工企业。目前,公司模块年生产能力达4亿枚,智能卡年发行能力超过2亿张。
炬力集成电路设计有限公司:是一家致力于集成电路设计与制造的大型半导体技术集团,美国的纳斯达克上市公司,总部设在环境优美的海滨城市珠海,旗下拥有三家子公司——炬力集成电路设计有限公司、炬才微电子(深圳)有限公司、北京炬力北方微电子有限公司。公司目前共有700多人,其中本科以上研发人员占80%以
4.2国外集成电路设计公司介绍
Xilinx(赛灵思):是全球领先的可编程逻辑完整解决方案的供应商。Xilinx研发、制造并销售范围广泛的高级集成电路、软件设计工具以及作为预定义系统级功能的IP(Intellectual
Property)核。客户使用Xilinx及其合作伙伴的自动化软件工具和IP核对器件进行编程,从而完成特定的逻辑操作。Xilinx公司成立于
1984年,Xilinx首创了现场可编程逻辑阵列(FPGA)这一创新性的技术,并于1985年首次推出商业化产品。目前Xilinx满足了全世界对
FPGA产品一半以上的需求。Xilinx产品线还包括复杂可编程逻辑器件(CPLD)。在某些控制应用方面CPLD通常比FPGA速度快,但其提供的逻辑资源较少。
Xlinx主要FPGA产品:Xilinx的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Spartan系列;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Virtex系列,用户可以根据自己实际应用要求进行选择。
在性能可以满足的情况下,优先选择低成本器件。
*
Spartan-3/3L:
新一代FPGA产品,结构与VirtexII类似,全球第一款90nm工艺FPGA,1.2v内核,于2003年开始陆续推出。
*
Spartan-3E:基于Spartan-3/3L,对性能和成本进一步优化
*
Spartan-6:xilinx最新推出的低成本FPGA
*
Virtex-II:2002年推出,0.15um工艺,1.5v内核,大规模高端FPGA产品
*
Virtex-II
pro:
基于VirtexII的结构,内部集成CPU和高速接口的FPGA产品
*
Virtex-4:
xilinx最新一代高端FPGA产品,包含三个子系列:LX,SX,FX
*
Virtex-5:65nm工艺的产品
*
Virtex-6:最新的高性能FPGA产品,45nm
*
Virtex-7:20**年推出的超高端FPGA产品。
Altera:自二十年前发明世界上第一个可编程逻辑器件开始,Altera公司秉承了创新的传统,是世界上“可编程芯片系统”(SOPC)解决方案倡导者。Altera结合带有软件工具的可编程逻辑技术、知识产权(IP)和技术服务,在世界范围内为14,000多个客户提供高质量的可编程解决方案。新产品系列将可编程逻辑的内在优势——灵活性、产品及时面市——和更高级性能以及集成化结合在一起,专为满足当今大范围的系统需求而开发设计。
Altera可编程解决方案包括:业内最先进的FPGA、CPLD和结构化ASIC技术;全面内嵌的软件开发工具;最佳的IP内核;可定制嵌入式处理器;现成的开发包;专家设计服务。
Altera主要FPGA产品:Altera的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Cyclone,CycloneII;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Startix,StratixII等,用户可以根据自己实际应用要求进行选择。在性能可以满足的情况下,优先选择低成本器件。
*
Cyclone(飓风):Altera中等规模FPGA,2003年推出,0.13um工艺,1.5v内核供电,与Stratix结构类似,是一种低成本FPGA系列,是目前主流产品,其配置芯片也改用全新的产品。
*
CycloneII:Cyclone的下一代产品,2005年开始推出,90nm工艺,1.2v内核供电,属于低成本FPGA,性能和Cyclone相当,提供了硬件乘法器单元
*
Stratix
:altera大规模高端FPGA,2002年中期推出,0.13um工艺,1.5v内核供电。集成硬件乘加器,芯片内部结构比Altera以前的产品有很大变化。
*
StratixII:
Stratix的下一代产品,2004年中期推出,90nm工艺,1.2v内核供电,大容量高性能FPGA。
*StrtratixV为altera目前的高端产品,采用28-nm工艺,提供了28G的收发器件,适合高端的FPGA产品开发
5.PLD及FPGA片上文字信息分析
图6
如上图FPGA芯片,左上角XILINX文字为设计生产该芯片的公司名称,KINTEX-7为芯片型号,Kintex-7
系列是赛灵思公司一种新型
FPGA,能以不到
Virtex-6
系列一半的价格实现与其相当性能,性价比提高了一倍,功耗降低了一半。下边文字为此芯片的具体型号等,最下方TAIWAN为芯片的产地。
参考文献
【1】
侯建军
《数字电子技术基础》高等教育出版社,2007年
【2】
朱明程
《可编程逻辑器件及应用》
西安电子科技大学出版社,2004年
【3】
百度百科
《PLD》
《FPGA》
《Xilinx》
《Altera》
【4】
陈忠平、高金定、高见芳
《基于Quartus
II的FPGA/CPLD设计与实践》
电子工业出版社
集成电路设计类EDA技术是以计算机为工作平台,融合先进的微电子技术、计算机技术的一项新技术[2,3],通过使用硬件描述语言(比如VHDL、Verilog HDL)或者原理图输入法进行电路设计,通过EDA软件完成中间环节,并针对特定的目标芯片编程下载,直至最后实现既定的电子线路功能。
1 市场对集成电路设计人才的需求
随着IC设计水平的进步,现在IC工程师能够根据用户需要快速设计各类基本功能模块,也能够设计集合各种功能的开发辅助系统。这样根据用户需要来快速裁剪,缩短了交货的周期,大量电子应用设计的工程师必须向集成电路设计方向转变。
目前,国内高校开设IC设计的学校不多,能够提供完整集成电路设计实验室的院校就更少。目前从事IC设计的工程师,大部分是微电子、电子技术、通信技术、计算机等相邻领域转行过来的。根据统计,2012年中国IC设计的人才需求是30万人,而目前中国大学培养的毕业生远远达不到需求数量。
2 EDA技术教学现状
人类的科技史告诉我们,工具的革新对于人类的进化和生产力的发展起到了至关重要的推动作用。所以,EDA技术的进步推动着电子系统设计向前飞速发展,面向超大规模集成电路设计的EDA技术对于集成电路设计的发展也必将产生强大的推动作用。
EDA技术必需融入到传统的电子类课程教学中,培养的学生才能适应目前的需要。传统的电子类专业包括电子工程、信息工程、通信工程、自动控制等,这些专业都以电路理论、电子线路基础、信号系统、数字电路等课程为基础课,这些课程的内容基本上是以分立元件设计或中小IC应用为主,较少涉及集成电路设计,因此在实际教学中,容易将IC设计与传统的电路设计方法相互分离分离,教学效果当然也不理想。
目前,开设较早的微电子专业多数偏重于器件物理,而现在的IC设计更偏向于系统级更大规模的设计,因此微电子专业要适当改变思路,重视底层设计的同时兼顾顶层设计;另一方面,传统的电子类专业学生数量很多,可是按照传统课程结构培养的学生往往很难适应IC设计的要求。这些都是集成电路设计专业面临的问题,当然,相关的EDA技术教学也面临同样的问题。
3 EDA技术教学的几点建议
3.1 教学方法
针对以上问题,经过多年相关教学认为,在EDA技术教学方法上必须改进,改变以前以教师为中心、以课堂讲授为主、以传授知识为基本目的的传统教学模式,而采用项目贯穿的方法,以十几个由简单到复杂,由验证性到综合性的设计为核心,如设计译码器、计数器、数字钟、抢答器、交通灯控制器等[4,5]。由一个设计展开教学内容的讲解,多个项目由简到难,直至完成一个较复杂的电子系统设计,所有知识点也就讲完。
学生学习和实验采用小组制。尤其到高年级,部分学生学习态度不太端正,个别学生养成了不良的学习习惯,按传统方法,这类对知识的掌握不理想。如果按照学生过去的考试成绩和意愿,分成若干学习小组,从课前预习、查询资料、上机操作到实验报告等皆可以组为单位来进行。学生通过小组分工合作,,不但可以提高学习效率,学生学习的目标感更强,更有责任心和成就感,这样的方式能够起到事半功倍的效果。
EDA技术是一类实践性很强的课程,在学习过程中一定要强调理论联系实践,将理论知识的讲授与学生的实际动手操作有机地结合起来,让学生能够学完就进实验室练习,练习完后再更深入的学习和理解,让学生在对教学内容的反复加深过程中去理解和掌握,这种理论教学与实践锻炼相结合的教学方式能充分调动学生的学习兴趣,提高了学生实际动手操作能力,解决了现在大学生动手能力差的问题。
3.2 教学手段
由于EDA技术偏重实践和开发环境的应用,传统的教学方法要不没法完成,要不枯燥而无法激起学生的学习兴趣,所以多媒体教学必须引入到课堂中。因为教学重点是要求学生掌握硬件描述语言(VHDL硬件描述语言或Verilog HDL硬件描述语言),综合应用Quartus(或者ISE)、Sypnify等数字电路设计工具进行数字系统设计,能够独立进行计算机电子电路辅助设计与电路分析、仿真,加强学生实际动手能力,因此应制作与本课程相配套的多媒体课件[5]。该课件以Power Point为基础,教学中充分利用EDA设计软件制作各种教学开发案例,使学生对器件、语言及EDA工具有更加直观清楚的理解和认识。
如今是一个网络的世界,在教学过程中要充分利用这种资源,通过建立QQ群及技术论坛,利用网络向学生提供大量的学习素材,教师与学生实现网上教学交流,建立网上学习的习惯。及时了解国内外精品课程建设,给学生推荐EDA技术、集成电路设计的精品课程网,使学生在课余时间可以直接在EDA技术精品课程网站学习,进一步扩充了学生的学习资料。
3.3 加强实践教学环节
实验教学基地应把把世界一流的EDA设计工具用于EDA实验教学、EDA竞赛、研究生特别培养计划等实验教学中,调动学生的学习积极性,提高学生的EDA知识水平和设计能力。有条件的情况下,举办高水平的技术讲座,开拓学生的知识视野。
由于本类课程要多实践,要积极鼓励学生成立课外创新设计小组,激发学生自主学习的热情,提高学生的科研能力,将教学活动延伸到课堂外,培养学生的创新能力,培养符合国家“卓越工程师”要求的合格大学生。
4 结束语
大规模集成电路设计的发展非常迅速,新的设计工具和设计方法发展很快,利用最新的EDA技术,根据EDA技术的教学特点,合理设置IC设计实践环节教学内容,使学生掌握最新的IC设计工具和设计理念,有利于提高学生的专业技能和培养学生的创新能力,符合国家培养“高素质、高层次、多样化、创造性”人才的总体培养目标。
参考文献
[1]曾繁泰,李冰,李晓林.EDA工程概论[M].北京:清华大学出版社,2002.
[2]郭勇.EDA技术基础[M].2版.北京:机械工业出版社,2005.
[3]尹常永.EDA技术与数字系统设计[M].西安:西安电子科技大学出版社,2004.
[4]郭炜,郭筝.SoC设计方法与实现[M].北京:电子工业出版社,2008.
1、FPGA芯片的发展主要体现在哪几个方面?未来的发展趋势是什么?
ANS:
2、EDA技术的优势是什么?
ANS: EDA依赖功能强大的计算机在EDA工具软件平台上自动的完成逻辑化简、逻辑分割、逻辑综合、结构综合,以及逻辑优化和仿真等功能,直至实现既定性能的电子线路系统功能。EDA使得设计者的工作几乎仅限于利用软件的方式,即利用硬件描述语言HDL和EDA工具软件来完成对系统硬件功能的实现
+ P 10
3、EDA的设计流程包括哪几个环节?
ANS: ①设计输入(原理图/HDL文本编辑)②综合 ③ FPGA/CPLD 适配 ④ 时序仿真与功能门级仿真 ⑤FPGA/CPLD编程下载 ⑥FPGA/CPLD器件电路硬件检测。
4、硬件描述语言的种类有哪些?
ANS: VHDL、Verilog HDL、SystemVerilog、System C 等
5、自顶向下设计方法的优点是什么?
ANS:
过程大部分由计算机完成,可植性强,便于系统的优化和升级,以及对模型进行及时的修改,以改进系统或子系统的功能,更正设计错误,提高目标系统的工作速度,减小面积耗用,降低功耗和成本等。在EDA技术应用中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程。
6、ip核可分为哪几类?
ANS: ①软IP、②固IP、③硬IP
7、ip在EDA技术的应用和发展中的意义是什么?
ANS:
IP就是将某些功能固化,而当EDA设计也需要这些功能的时候,就可以直接将植入了此功能的IP拿过来直接用,而不用再重新设计。这样既可以提高效率又可以减少设计风险。IP核具有规范的接口协议,良好的可移植与可测试性,为系统开发提供了可靠的保证。
【第二章】
1、可编程逻辑器件经历哪些发展过程? ANS:
2、Altera公司的PLD芯片主要有哪些系列? ANS:
按照推出的先后顺序:Classic、MAX、FLEX、APEX、ACEX、APEX
2、Cyclone/2/3/
4、MAX2、Stratix-1/2/3/4/6.【第三章】
1、一个完整的VHDL程序包括哪几个部分?其作用是什么? ANS: ①实体描述部分 ②结构体描述部分
作用 略
2、VHDL中标示符的命名规则是什么?
ANS: 标识符是设计者在VHDL程序中自己定义的,用于标识不同名称的词语。例如实体名、端口名等。具体规则如下:
·有效的字符:包括26个大小写英文字母,数字包括0~9以及下划线。
·任何标识符必须以英文字母开头
·必须是单一的下划线,且前后都要有字母或数字。·标识符中的英文字母不区分大小写。
·允许包含图形符号(如回车符、换行符等),也允许包含空格符。
3、端口模式有哪些?
ANS: ①IN
2、OUT
3、INOUT双向端口
4、BUFFER 缓冲端口
4、VHDL中有哪些基本的数据类型? ANS: bit、bit_vector、std_logic、std_logic_vector、boolean(布尔)、natural(自然数)、integer(整数)、signed(有符号)、unsigned(无符号)、array(数组类)、record(记录类型)、Subtype(子类型)、用户自定义类型。
5、常用的VHDL程序包有哪些?
ANS:STD_LOGIC_1164、STD_LOGIC_ARITH、STD_LOGIC_SIGNED、STD_LOGIC_UNSIGNED
【第五章】
1、简述信号和变量的区别
ANS:比较对象
信号SIGNAL
变量VARIABLE
基本用法
用于作为电路中的信号连线
用于作为进程中局部数据存储单元
适用范围
在整个结构体内的任何地方都适用
只能在所定义的进程中使用
行为特性
在进程最后才对信号赋值
立即赋值
简单的说,信号是全局的,用于结构体中并行语句间数据流的传递;变量则是局部的,他主要用于单个进程中中间变量的存储.2、进程的特点是什么?
ANS:(1)进程结构内部的所有语句都是顺序执行的。
(2)多进程之间是并行执行的,并可访问结构体或实体中所定义的信号。
(3)进程的启动是由进程标识符PROCESS后的信号敏感表所标明的信号来触发的,也可以用WAIT语句等待一个触发条件的成立。
(4)各进程之间的通信是由信号来传递的。(5)进程语句的顺序性(6)进程的启动与执行过程
当进程中定义的任一敏感型号发生更新(变化)时,由顺序语句定义的行为就要重复执行一次。当进程中最后一个语句执行完毕后,执行过程将自动返回到进程的起始端,以等待下一次敏感信号的变化。
3、VHDL语言有哪几种描述方式?
ANS: 行为描述、数据流描述、结构描述
【第六章】
1、列举5个宏功能模块
ANS: ① 算数组件,包括累加器、加法器、乘法器和LPM算数函数等。
② 组合电路,包括多路选择器、比较器和LPM门函数等。
③ I/O组件,包括时钟数据恢复(CDR)、锁相环(PLL)等。
④ 存储器编译器件,包括FIFO Partitioner、RAM和ROM宏功能模块等。
⑤ 存储组件,包括存储器、移位寄存器宏模块和LPM存储器函数等。
2、Quartus能够接受的两种RAM或ROM初始化文件的格式是? ANS:.mif
.hex
3、给出锁相环的工作原理。
ANS: 锁相环路是一个相位反馈自动控制系统。它由以下三个基本部件组成:鉴相器(PD)、环路滤波器(LPF)和压控振荡器(VCO)。其组成方框图如下所示。
锁相环的工作原理:
4、已知实验板上有一个10MHZ的有源晶振,现在要产生1MHZ的正弦波,请提出设计方案
【第七章】
1、状态机的优点
ANS:① 高效的顺序控制模型 ②容易利用现成的EDA优化工具③性能稳定④设计实现效率高⑤高速性能
2、一般的状态机结构包括哪几个部分?各自的功能是什么? ANS: ①说明部分、说明部分用tpye语句定义新的数据类型,其元素通常用状态机的状态名来定义。状态变量(即现态和次态)应定义为信号,便于信息额传递,并将状态变量的数据类型定义为含有既定状态元素的新定义的数据类型。说明部分一般放在architecture 和 begin之间。
②主控时序过程、所谓主控时序过程是指负责状态机运转和在时钟驱动下负责状态转换。压控振荡器的输出经过采集并分频; 和基准信号同时输入鉴相器;
鉴相器通过比较上述两个信号的频率差,然后输出一个直流脉冲电压; 控制VCO,使它的频率改变;
这样经过一个很短的时间,VCO 的输出就会稳定于某一期望值。③主控组合过程、顾名思义,主控组合进程也可称为状态译码过程,其任务是根据外部输入的控制信号,包括来自状态机外部的信号和来自状态机内部其他非主控的组合或时序进程的信号,以确定对外输出或对内部其他组合或时序进程输出信号的内容。④辅助过程、辅助进程用于配合状态机工作的组合进程或时序进程。
3、状态机的状态编码有哪几种?各自的优缺点是什么?
ANS:① 直接输出型编码
这种编码最典型的应用就是计数器。直接输出型编码方式就是所谓的用户自定义编码方式,它的优点是输出速度快,不太可能出现毛刺现象。缺点是程序的可读性差,用于状态译码的组合逻辑资源比其他以相同触发器数量触发器 4构成的状态机多,而且控制非法状态出现的容错技术要求比较高。
②顺序编码
优点是 这种编码方式最为简单,在传统设计技术中最为常用,其使用的触发器最少,剩余的非法状态也最少,容错技术较为简单。缺点也很多,如常常会占用状态转换译码组合逻辑较多的资源,特别是有的相邻状态或不相邻状态的状态转换时涉及多个触发器的同时状态转换,因此将耗费更多的转换时间,而且容易出现毛刺现象。
③一位热码状态编码
一位热码状态编码虽然占用了较多的触发器,但其简单的编码方式大为简化了状态译码逻辑,提高了状态转换速度,增强了状态机的工作稳定性,这对于含有较多的时序逻辑资源、相对较少的组合逻辑资源的FPGA器件是最好的解决方案。
常用的去除毛刺的方法有哪几种?
ANS: ①延时方式去毛刺
②逻辑方式去毛刺 ③ 定时方式去毛刺 P261
【第八章】
1、资源优化可以通过哪几种方式实现 ANS:①资源共享 ②逻辑优化 ③串行化
2、速度优化可以通过哪几种方式实现?
ANS:① 利用流水线设计技术 ②寄存器配平③关键路径法 ④乒乓操作法
【编程题】
1、用VHDL实现某一芯片的功能
2、计数并译码显示
第一部分 考核说明
一、学习目的和任务
电子设计自动化(EDA)技术是九十年代电子信息技术发展的重要成果,它使大规模集成电路的设计与制作进 入自动化阶段,是目前工业界广泛才应用的设计技术,而未来电子电路设计将是 EDA 的时代。学习本课程的目 的是使学生:系统地掌握 EDA 技术的基本概念和基本实践技能;具备通过可编程器件设计数字系统的本领;具 备学习后续相关课程的能力。通过本课程的学习使学生掌握可编程器件、EDA 开发系统软件、硬件描述语言和电子线路设计与技能训练等 各方面知识;提高工程实践能力;学会应用 EDA 技术解决一些简单的电子设计问题。
本课程主要任务是:
1、使学生掌握 EDA 开发工具 QUARTUSII 的常用工具的使用。
2、使学生掌握 EDA 设计流程及输入方法。
3、使学生掌握的硬件描述语言 VERILOG HDL 的基本应用。
4、使学生掌握原理图输入、VERILOG HDL 文本输入等硬件设计方法。
5、使学生掌握电路的仿真测试和硬件测试的方法,验证实际设计电路的。
二、教学内容及要求
总述:
1.EDA 技术基本概念 EDA 技术的内涵、实现目标,综合的概念,自顶向下的设计方法,EDA 与传统电子设计方法的比较。
2.EDA 设计流程及工具 FPGA/CPLD 设计流程,ASIC 设计流程,常用的 EDA 工具,IP 核的概念,QUARTUSⅡ的使用。
3.VERILOG HDL 硬件描述语言 VERILOG HDL 程序的结构与要素(包括 VERILOG HDL 程序的基本结构、结构体、文字规则、数据类型、操作符等),VERILOG HDL 的基本语句(包括顺序语句和并行语句),VERILOG HDL 子程序,VERILOG HDL 程序库和包,VERILOG HDL 的描述风格。状态 机的设计方法。
具体内容:
第一章 概述
教学内容: EDA 技术及其发展;EDA 技术实现目标;硬件描述语言 VERILOG HDL 介绍;VERILOG HDL 综合介绍;基于 VERILOG HDL 的自顶向下 设计方法;EDA 与传统电子设计方法的比较;EDA 的发展趋势。
教学要求: 掌握:EDA 较传统电子设计方法的优越性。了解EDA 技术及其发展方向。
第二章 EDA 设计流程及其工具
教学内容: FPGACPLD 设计流程;设计输入(原理图HDL 文本编辑);VERILOG HDL 综合流程学习(适配;时序仿真与功能仿真; 编程下载;硬件测试等);ASIC 及其设计流程(ASIC 设计方法;一般 ASIC 设计的流程);常用 EDA 工具(设 计输入编辑器;HDL 综合器;仿真器;适配器(布局布线器);下载器)QUARTUSII 概述;IP 核介绍。
教学要求: 熟练掌握:FPGACPLD 设计流程;QUARTUSII 操作界面及熟练使用。掌握:EDA 设计流程中硬件设备的正确使用,从而能完成更多的实验和开发项目。了解:IP 核。
第三章 FPGA/CPLD 结构与应用
教学内容: 简单 PLD 原理;CPLD 结构与工作原理;FPGA 结构与工作原理;FPGACPLD 测试技术;FPGA/CPLD 测试技 术; CPLD 和 FPGA 的编程与配置。
教学要求: 掌握:FPGACPLD 测试技术;CPLD 和 FPGA 的编程与配置方法。了解:CPLD/FPGA 结构与工作原理。
第四章 VERILOG HDL 设计初步
教学内容: 多路选择器 VERILOG HDL 描述(2 选 1 多路选择器的 VERILOG HDL 描述;VERILOG HDL 相关语句说明;VERILOG HDL 设计的基本概念和语 句小节);寄存器描述及其 VERILOG HDL 语言现象(D 触发器 VERILOG HDL 描述;D 触发器 VERILOG HDL 描述的语言现象说明;实现 时序电路的 VERILOG HDL 不同表达方式;异步时序电路设计;VERILOG HDL 设计基本概念和语言现象小节)1 位二进制全加 ; 器的 VERILOG HDL 设计(半加器描述和 CASE 语句;全加器描述和例化语句);VERILOG HDL 文本输入设计方法初步(编辑输入并保存
VERILOG HDL 源文件;将当前设计设定为工程;选择FPGA/CPLD器件,编译、综合和排错;时序仿真;硬件测试)。
教学要求: 熟练掌握: 理解掌握 VERILOG HDL 硬件描述语言的基本语句;4 选 1 多路选择器的 VERILOG HDL 描述程序设计; 触发器 VERILOG HDL描述程序设计。掌握:同步时序电路设计,全加器描述和例化语句。了解:异步时序电路设计。
第五章 VERILOG HDL 设计进阶
教学内容: 4 位加法数器的 VERILOG HDL 描述;不同工作方式的时序电路设计;双向电路和三态控制电路设计;进程语句结构;仿真。
教学要求: 掌握:4 位加法数器的 VERILOG HDL 描述。了解:进程语句结构。
第六章 原理图输入设计方法
教学内容: 1 位全加器设计向导;2 位十进制数字频率计设计(设计有时钟使能的两位十进制计数器;频率计主结构电路设 计;测频时序控制电路设计;频率计顶层电路设计);设计项目的其他信息和资源配置;参数可设置 LPM 兆功能 块(基于 LPM_COUNTER 的数控分频器设计;基于 LPM_ROM 的 4 位乘法器设计);波形输入设计方法。
教学要求: 熟练掌握:1 位全加器原理图输入设计;参数可设置 LPM 兆功能块的设计方式。掌握:2 位十进制数字频率计设计;波形输入设计方法。了解:设计项目的其他信息和资源配置
第七章 有限状态机设计
教学内容: 一般有限状态机的设计;Moore 型有限状态机的设计;Mealy 型有限状态机的设计;状态编码;状态机剩余状态 处理;LPM 模块的 VERILOG HDL 文本方式调用。
教学要求: 熟练掌握:Moore 型有限状态机的设计;Mealy 型有限状态机的设计。掌握:一般有限状态机的设计; 了解:LPM 模块的 VERILOG HDL 文本方式调用。
第八章 VERILOG HDL 结构与要素
教学内容: VERILOG HDL 文字规则;数据类型;VERILOG HDL 操作符;LPM 的 VERILOG HDL 文本方式调用。教学要求: 掌握:LPM 的 VERILOG HDL 文本方式调用。了解:VERILOG HDL 文字规则;VERILOG HDL 操作符。
第九章 VERILOG HDL 基本语句
内容: VERILOG HDL 可综合的基本语句(顺序语句、并行语句)及其结构与用法
教学要求: 掌握:VERILOG HDL 基本语句:顺序语句、并行语句及其结构与用法
重要内容:
一)EDA 基础知识
1. EDA 技术概念
2. EDA 技术发展的 3 个阶段(CAD,CAE,EDA)
3. EDA 技术实现目标
4. EDA 技术实现目标的途径
5. 硬件描述语言
6. VERILOG HDL的发展过程(1)含义(2)创建时间(3)特点
7. VERILOG HDL 综合,含义,内容
8. VERILOG HDL 的设计方法,分为哪几个阶段
9. 自顶向下,自底向上方法比较
10. FPGA/CPLD 设计流程 设计输入;功能仿真;综合;适配;时序仿真;编程下载
11. FPGA/CPLD 结构特点
12. ASIC 设计方法
13. ASIC 设计流程
14. 常用 EDA 工具及功能
15. IP 核概念
16. 常用缩写的含义:EDA,CAD,CAE,CAM,ASIC,PLD,FPGA/CPLD,VERILOG HDL,IP,SOC,SOPC,RTL,ISP,IEEE 等
二)VERILOG HDL 语言
1. VERILOG HDL 设计实体的基本结构,配置: 各部分的组成、功能
2. VERILOG HDL 语言要素(格式、使用方法、适用范围)1)VERILOG HDL 文字规则 :数字,字符串,标识名,下标名 2)VERILOG HDL 数据对象 :信号,变量,常数 3)VERILOG HDL 数据类型(预定义,用户自定义)标量类型,复合类型,存取类型,文件类型 4)VERILOG HDL 操作符:逻辑操作符,关系操作符,算术操作符,重载操作符
3. VERILOG HDL 语言的主要描述语句(组成、格式、使用方法、适用范围)
1)顺序语句:赋值语句;转向语句(IF,CASE,LOOP,NEXT,EXIT,WAIT);子程序调用 2)并行语句:进程,元件例化,并行过程调用,并行信号赋值
三)QUARTUS II 工具软件
1. QUARTUS II 的特点
2. 原理图输入设计法的基本操作:编程、编译、生成元件符号、功能仿真、引脚锁定、编程下载、硬件调试
3. 原理图输入的层次化设计
四)程序的分析与编程
(一)基本逻辑电路的设计 1. 组合逻辑电路 1)门电路:与门 AND;或门 OR;非门 NOT;异或门 XOR。例 4-18 三态门 例 5-13 2)比较器:一位比较器
例 4-10 四位二进制比较器 例 8-17,8-18 3)数据选择器:2 选 1 多路选择器 例 4-1,4-2,4-3 4 选 1 多路选择器 例 5-11
4)半加器 例 4-19 例 4-20 例 4-21 5)全加器 例 4-22 6)译码器:3-8 线译码器 例 8-23、7 段显示译码器 例 5-21 例 8-12 7)奇偶校验逻辑电路 例 9-4 9-30 8)编码器 8-3 优先编码器 例 5-19 2. 时序电路 1)触发器:D 触发器 例 4-7;JK 触发器;RS 触发器 例 9-16 2)计数器:二进制 例 5-2 例 9-28;十进制 例 5-3 3)寄存器:锁存寄存器 例 9-26 9-27;移位寄存器 例 5-4 4)(数控)分频器 例 5-23 5)频率计 例 5-24-27
(二)有限状态机 1. MOORE 型 例 7-2 2. MEALY 型 例 7-6 例 7-5
三、考试内容 大纲要求的熟练掌握及要求掌握的内容,其覆盖面应 90%以上,理解的内容要覆盖其全部的 60%以上,要求 了解的内容其覆盖面要占其全部的 30%以上。EDA 技术的基本概念与可编程器件的基本原理占全部内容的 30%,EDA 开发工具软件占全部内容的 20%,硬件描述语言占全部内容的 50%。试卷结构及题型及综合成绩 综合成绩依据
四、试卷结构及题型及综合成绩依据
1.试卷结构 基本题 50%左右,综合题 40%左右,提高题 10%左右。
2.题型 包括填空题、单项选择题、简答题(包括名词解释)、程序分析(包括改错、程序填空、程序解释、运行结 果分析等)及编程题(时序逻辑电路、组合逻辑电路)。填空题、单项选择题、名词解释、简答题以对基本概念的理解和硬件的内部结构,考核内容包括:应掌握的 基本概念、定义和基本计算及分析方法,理解和了解的内容也以此形式出题。程序分析、改错题及编程题以重点掌握 VERILOG HDL 语言的结构和使用方法为主,考核内容包括:VERILOG HDL 语言的基 本结构,库和程序包的应用,基本顺序语句的使用,并行语句(进程语句和元件例化语句)的使用,状态机设计方 法分析,对组合逻辑电路和时序逻辑电路的设计和编程。
3.综合成绩依据
综合成绩根据期末考试成绩、平时综合(平时成绩和实验)综合评定。平时成绩包括:作业、考勤、测验、实 验。
综合成绩=考试 70%+平时 15 %+实验 15 %。
五、考试方式 采用闭卷考试(笔试)形式,同时出 A、B 两套试题,其份量及难易程度大体相当。
六、试题数量及时间安排 试卷涵盖教学大纲规定内容的 90%以上,根据题
型,单项选择题 5 至 10 个、填空题 10 至 20 个空,简答题 3-5 个,程序分析 1-3 道,设计题 1-3 道。各个题型的分数比例如下:
1、单项选择题 10%
2、填空题 20%
3、简答题 20%
4、分析题 30%
5、编程题 20% 考试时间 120 分钟,考试日期一般安排在12~13周内进行。
汇报人:
尊敬的各位评委:
您们好!我是来自**。下面我将从课程设置、教学内容、教学手段和方法等七个方面来阐述我对这门课程建设的理解和认识。
首先,我们来看课程设置主要包括课程定位、岗位职业能力、性质和作用等内容。
本课程设置符合博州二园一区等当地产业经济需要,按照中级维修电工和电气设备安装工的岗位职业能力要求,确定本课程模块工作任务,符合专业定位方向,满足本专业的素质、知识、技能目标。2010年,学校将原电工和电子技术应用专业整合电气运行与控制复合专业,将《机械与电气识图》和《电工EDA》二门教材按任务驱动法模式和适用够用原则,重新融合原教学内容,整合成《机械识图与EDA技术》一门课程,更能适应专业大类模块教学要求。
在电气运行与控制专业的课程体系中,本课程是电气运行与控制专业的一门技术基础课程,其前导课程是公共课和部分专业技术基础课,为后续的电气设备维修、企业供电技术等专业课程学习服务,为提高综合技能和学生毕业后的职业生涯发展奠定良好基础。
根据电工类岗位及其工作任务,重新构建了制图基本规定、三视图等共12个模块、34个任务为学习内容,设置了工学结合的综合技能。同时,在学习内容和习题中适当穿插了职业资格考试和电类维修的新方法、新设备、新知识、新技能。
本课程的内容表现形式丰富多样,建设内容非常繁重,一是编写任务驱动式工学结合的校本教材,二是设计适应技术发展的课程体系,三是加强丰富教学资源建设。(演示protel 录像)加强课程建设所需要的的教材和教材参考书,教学辅导书等。下面以任务4机床电气控制线路原理图绘制为例,介绍教学内容组织方法,以下达任务书、演示电动机正反转示教板、课件为资讯,按五个步骤进行组织和实施。(演示超链接)
基于课程教学需要,主要采取了以模型、机床控制线路示教板等直观教具导入为主,实施以任务为引领的“教、学、做”一体化的教学模式。
在教学过程中灵活应用了任务驱动(演示超链接)、分层教学、录像视频(演示视图子任务超链接)、等多种教学手段,创设机电设备主要零部件识读等实训环境,并对教学模块进行考核评价,由学生自评,教师评价组成,完成任务流程和标准与工作过程相对接。
这些是实训时所用的设备,如计算机辅助设计室提供平面、三维CAD模型,MsterCAM9模型,PROTEL DXP软件应用等,充分利用信息技术教学。
在教学团队中,借助于武汉职院博州分院、博州湖北职教园的机遇,提升教师素质。“双师”型教师占90%,平均年龄33岁,其中,1人有7年企业工作经历,3人次获自治区级及以上综合表彰,2名援疆教师。企业兼职教师2人,担任电气控制线路的实践和DCS中控软件教学工作,教师队伍具体结构如图所示,完全能满足教学需要。
这是课程负责人部分成果,曾获人社部和区优秀支教教师等荣誉。这是本课程现有的实训条件,如计算机辅助设计室提供平面、三维CAD模型,MsterCAM9模型,Protel dxp 2004软件应用等,并充分利用信息技术进行教学。还有电工电子线路实训室、控制线路综合实训室,基本能满足制图、电气线路原理图绘制、创新设计等操作技能训练要求。
我校实训基地主要是博州境内的博兰水泥、中博水泥、华宝钙业、农五师热电公司等单位,为识读机电设备零件、原理图见习和实习提供了重要保障。课程建设的特色创新在于教学做一体化模式、五共培育的任务驱动课程体系,并为其它单位或学校提供机床电气控制线路原理图元件库。
学校高度重视精品课程建设,给予了制度、经费、设备设施等保障措施,同时,还采取了其它激励措施。
当然,本课程建设中还存在以下四个方面不足。
MAX+PLUSⅡ是美国ALTERA公司开发的EDA软件。它具有Windows操作系统的程序界面,采用全菜单操作和鼠标操作方式,是一个完全集成化、易学易用的可编程逻辑设计环境。它提供了功能强大、直观便捷和操作灵活的原理图输入设计功能,同时还配备了适用于各种需要的元件库,其中包含基本逻辑元件库(如与非门、反向器、D触发器等)、宏功能元件(包含了几乎所有74系列的器件)以及功能强大、性能良好的类似于IP核的兆功能块LPM库。但更为重要的是它提供了使用方便、精度良好的时序仿真器,对系统中任一元件的功能能进行精确的时序仿真,精度达0.1 ns,非常适合数字电路分析的要求。
一、MAX+PIUS软件的特点
MAX+plusⅡ是美国Altera公司推出的用于开发可编程逻辑器件的EDA工具。其主要优点有:
(l)多平台,MAX+plusⅡ可在基于Unix、Windows、Windows95/98、W indows2000、Windows XP等几乎所有目前流行的操作系统下运行。
(2)与结构无关,MAX+plusⅡCompiler(编译器)是系统的核心,它支持Altera的所有PLD系列,为设计者提供了一个真正与结构无关的可编程逻辑设计环境。该编译器还强有力地支持逻辑综合和逻辑化简,使设计者可以比较容易地将其设计集成到器件中。
(3)全集成化,MAX+plusⅡ的设计输入、编译处理、功能校验全部集成在统一的开发环境下,可以加快动态调试,缩短开发周期。
(4)兼容性强,MAX+plusⅡ与其他工业标淮的设计输入、逻辑综合和校验工具结合密切。设计者可以用Alter或标准的EDA设计输入工具生成一个逻辑设计,再用MAX+plusⅡCompiler将设计编译到ALtera器件中。
MAX+PLUSⅡ提供了丰富的逻辑功能库,包括74系统逻辑器件等效宏功能库,特殊功能模块库以及参数化的兆功能模块库,供设计者使用,学生利用这些库及自己添加的宏功能模块,可大大减轻学生的工作量。
二、MAX+PLUSⅡ实验在数字电路教学中的应用
一般数字电路的教学,是由理论教学、课程实验和课程设计等教学环节构成的。理论教学进行了一段时间,完成了一定内容的教学后,再安排实验,会增强学生对教学内容的感性认识。由于学生在学习某个内容时,起初产生的兴趣会随时间的推移而逐渐消失,我们在多媒体教学实践中,结合理论教学的进程,及时地利用电子设计软件在计算机上进行验证仿真,使学生对学习内容的感性认识加强,把实验与理论紧密地相结合,加深了对理论的认识。
例如,《数字电路》教材在讲解用集成计数器构成任意进制计数器时,介绍了两种方法:反馈清零法和反馈置数法。这里面牵涉的概念较多,如同步置数、异步置数、同步清零和异步清零等,而用到的词语“一闪”“短暂的过渡状态”“极短的瞬间’等又比较抽象,学生难以全面理解和掌握,而借助MAX+PLUS软件的原理图输入和仿真功能,我们可以很清楚地观察出电路的工作状态。
使用MAX+PLUSⅡ设计CPLD器件的流程图如图1所示。
三、结语
利用MAX+PLUS软件可以将数字电路中那些看不见摸不着的、抽象的理论用科学、直观的方式展示出来,深入浅出地分析各种电路的特性,教学与实验验证同步进行,加深了学生对理论的理解,激发了学生的学习兴趣,扩展了学生的思维空间,同时也为后续的可编程逻
辑器件(PLD)的学习埋下了伏笔,取得了非常好的教学效果。
摘要:介绍了MAX+PLUSⅡ软件的优点, 并将基于该软件的实验引入《数字电路》教学, 进行了理论教学与仿真验证相结合的探索, 将抽象的理论知识变成直观的感性认识, 取得了显著的教学效果。
1.EDA技术及其设计流程
■ 1.1EDA技术基本特征
电子设计自动化(Electronic Design Automation,EDA) 是以CAD为建构基础而逐渐完善起来的计算机辅助设计系统,是将大型可编程逻辑器件当作主要设计载体,将硬件描述语言当作核心表达方式,将计算机开发系统当作设计工具,以自动方式进行数字电子电路设计的一种现代化新技术[2]。
相较CAD而言,EDA表现出下述基本特征:
1)通过软件设计方式以完成对硬件电路的设计。在设计过程中,可录入相关原理图、波形以及VHDL语言等,下载配置之前的各个环节甚至无需借助任何硬件,另外,硬件设计所涉及的修改工作也比较简单,借助软件设计方式进行测试,便可实现对各种硬件电路的快速、合理设计;
2)以自动方式完成产品直面设计。应用EDA技术时能按照设计录入资料,以自动方式执行相关动作,最终形成所需的目标系统。具体而言,电子产品从电路功能仿真开始一直到结果测试结束的整个过程,均通过计算机进行自动化处理;
3) 拥有非常高的集成化程度,能够形成片上系统。EDA技术又被业界称作以芯片为基础的一种设计方法,在大型集成芯片快速发展的推动下,无论是复杂程度较高的数字电子电路的芯片化设计,又或者是专用性极高的集成电路ASIC设计,均已变为现实;
4) 目标系统支持现场直接编程,为应用时的升级工作提供了极大的便利;
5)开发时间短,设计投资少且拥有比较理想的灵活性[3]。
■ 1.2EDA技术设计流程
就设计方法层面看,EDA技术的诞生和应用在某种程度上使得数字电子电路设计跨入了一个新的领域,即用计算机设计模式代替了传统设计模式。EDA技术设计流程如下:设计指标→设计输入→逻辑编译→逻辑综合→布局布线→器件适配→功能仿真→下载编程→目标系统。
2.可编程逻辑器件PLD
对于数字逻辑器件,其发展先后经历了三大阶段,即分立元件阶段、中小型标准芯片阶段以及可编程逻辑器件阶段。随着ISP技术等的诞生和应用,设计者可以在实验室中快速开发出实际需要的集成数字电子电路芯片ASIC。
现阶段,国内外相当部分的知名生产厂家(如美国Lattice公司等)均向市场推出了新一代的、功能更为强大的ISP器件,同时提供了配套的开发软件( 如EXPERT等)。
3.硬件描述语言VHDL
以数字电子电路为对象,应用EDA技术进行开发设计时,首先要做的工作是设计输入,具体而言,对目标数字电子电路进行相关描述,主要包括两大内容:一个是硬件设计,另一个是测试方法。在专业集成电路设计技术快速发展的推动下,硬件描述语言(Hardware Description Languge,HDL) 诞生,并得以广泛应用,能够基于逻辑级抽象视角通过比较简洁的方式以实现对硬件电路的全面、细致描述,还能够鲜明突出硬件电路的专有特性,是EDA技术的重要组成部分,在设计输入方面发挥着相当关键的作用。
VHDL是现如今普及度较高的一种硬件描述语言,1987 年获得IEEE的正式承认,并当作一种标准硬件描述语言,大多用来描述数字电子电路系统,主要涉及三大方面,分别是结构、行为功能以及接口[4]。VHDL不仅涵盖了大量的具有明显硬件特征的描述语句,其还在语法和结构等方面和很多计算机高级语言比较接近。VHDL的程序结构的突出特点是,能够将某项设计实体划分为两大部分,一个是外部(又称之为端口),另一个是内部(又称之为构造体)。外部的功能是以设计实体以及端口引脚为对象进行命名及相关描述;内部的功能是以模块功能及其算法为对象予以相关描述。待完成对设计实体整个外部界面的定义之后,当其内部结构及相关功能设置结束时,其他设计时可对该实体进行直接调用。
相比于ABLE之类的硬件描述语言,VHDL在描述行为方面表现出了更大的优势,其可以摆脱具体器件结构的束缚,基于行为功能视角予以相关描述。对于VHDL,其基本特征集中表现在下述方面:1)VHDL属于一门高效的标准化语言,不仅如此,它也是一种拥有理想通用性的优化设计程序语言,已经被业界当成标准设计语言,在现如今普及应用的不同系列的EDA设计工具中得以广泛应用。由此可见,通过VHDL开发数字电子电路系统时,不会受到具体开发工具的影响;2)VHDL属于一门通用性的设计输入语言。它能够通过源程序这一形式对那些复杂程度较大的硬件电路运行状态进行描述,并将其提供给数字电路设计系统,然后在此基础上进行系统仿真;3)VHDL属于一种网表语言,其采用的语言结构使其能够很好地工作于计算机设计环境,是两种设计工具之间彼此通讯时采用的一种低级格式。具体而言,形成并提供门级网表文件,支持彼此替换,拥有较理想的兼容性;4)VHDL属于一门常用的测试语言,以数字电子电路为对象进行相关描述时,生成所谓的测试基准,然后对目标数字电子电路予以功能模拟以及仿真,从而查看目标数字电子电路是否可以满足相应的功能以及时序需求;5)VHDL属于一门比较典型的可读性语言,可比较理想地应用于计算机环境,且容易为编程人员所理解,拥有比较理想的可读性,值得一提的是,使用VHDL编写出来的源程序不仅是一种设计文件,同时它还是一种技术文档[5]。
4.现代数字电子电路设计之中EDA技术应用实例
下面以简易数字钟的设计为例探讨如何应用EDA技术予以实现。设计要求如下:设计一个具有时、分、秒显示能力的数字钟电路。
本次设计选用通用FPGA芯片,它能够基于设计者的实际需要构成相应的电路,不仅大幅精简了电子电路的实际连线,赋予电子电路更为理想的可靠性,与此同时,设计时无需在分离器件寻找和确定上多下功夫,能够将精力和时间主要花费在数字电子电路设计程序的编写方面。
■ 4.1 所用器件
主要包括两大部分, 一个是电子计算机( 配备了QUARTER Ⅱ软件),另一个是EDA技术实验箱( 配备了FPGA芯片)。
■ 4.2 设计方法
按照EDA技术“自上而下”这一设计规范,对设计过程进行分层处理:第一层:数字钟;第二层:秒计数、分计数、小时计数、译码显示;第三层:60 进制计数器、24 进制计数器、译码显示电路。在上述设计过程中,分别使用VHDL语言予以编程,首先对低层程序进行设计,得到支持调用的图元。
4.2.1 计数器VHDL语言描述
在计算机环境中,选用Quartus II软件,依据VHDL设计规范,编写出60 进制计数器所对应的设计程序。将其转化成图元,从而为顶层设计过程中的随时调用提供便利。对24 进制计数器所对应的设计程序进行编写时,以60 进制计数器所对应的设计程序为基础,仅需对进位判断标准进行调整即可,即将60 调整为24,其余部分保持一致[6]。
4.2.2 译码显示电路设计。
为有效利用EDA技术所具有的优越性,在设计过程中通过动态译码对电路进行扫描,其工作原理是让各个扫描信号所对应的频率能够大于人眼正常的视觉暂留频率,如此一来,便可以在某个时间内点亮单个七段数码管却可以使6 个于同一时间显现的特殊视觉效果,这不仅明显降低了电路功耗,节约了大量的器件资源,还明显增加了器件的服役期限。
4.2.3 顶层设计
在顶层设计过程中,以底层设计模块为对象,借助原理图方法将其有机组合到一起便能够得到一个完整的电子电路。
■ 4.3 编译下载
运用编译仿真的办法,将其下载和转移到FPGA芯片上,如此一来,便完成了设计,接下来需要通过实验箱资源对设计的正确性进行检验,如果发现错误,则需要在计算机环境中对程序进行相应的修改,最后再次编译下载即可。
5.结束语
“十一五”期间国家电网信息应用系统的建设进入高峰期, 尤其是SAP软件作为国家电网和各网省企业资源管理系统的建设和实施, 推进了公司的项目、人资、财务、物资、设备等多方面管理水平的提高。由于业务流程和关键数据分布于各个业务系统, 需要针对应用系统开发接口, 实现数据交换和业务流程整合。在建设过程中, 因应用集成的需求和实施方的不同, 技术人员水平的差异, 造成了应用集成的建设千差万别, 这对信息系统的改造和企业长期发展构成了隐形的成本。另一方面, 企业应用集成技术发展日新月异, Web服务 (Web Service) 作为新一代Web技术, 着力于变革目前的分布式软件应用的开发和部署环境, 面向服务的架构 (SOA) 逐渐成为企业应用集成的主导方向;企业服务总线 (ESB) 在分布式异构环境中为服务的统一管理和功能交互提供了基础架构;企业应用集成 (EAI) 也已经扩展到业务整合 (Business Integration) 的范畴;面向服务的架构经由消息中间件, 进而发展为面向流程、事件驱动的体系架构。通常所说的集成包括界面集成、数据集成、应用集成和流程集成4类[1], 主要讨论应用集成, 通过应用集成解决各业务应用之间的横向集成问题。
1 相关概念
1.1 Web Service技术
Web Service是近几年提出的一种新的面向服务的体系结构, 它通过向外界暴露出一个或一组能够通过Web进行调用的API, 使原来孤立的站点或应用系统之间能够相互通信和交互。Web Service所使用的是Internet上统一、开放的标准, 如HTTP、XML、SOAP、WSDL等。Web Service使用XML作为表示数据的基本格式, 使用XSD用来定义和扩展数据类型;使用SOAP定义消息的格式;使用WSDL描述Web Service及其函数、参数和返回值。Web Service的特点是简单性和扩展性, 这有助于大量异构系统之间相互访问和操作。
1.2 面向服务的架构
SOA是一种分布式组件模型。整个系统被设计和实现为一组相互交互的服务的目录或集合, 使得应用系统能够方便调用其他的服务, 而不必考虑服务的物理位置和具体实现。所有的服务遵循一致的接口和规范, 可以按照业务需求像搭积木一样快速组合和重用。随着服务目录的增长, 对于未来的项目来说, 需要开发的新代码将减少, 维护成本降低, 同时应用系统的稳定性将增强。SOA体系中不同组件间的工作流程如图1所示。
(1) 服务提供者:它是一个可通过网络寻址的实体, 接受和执行来自使用者的请求;
(2) 服务使用者:它是一组使用服务提供者所提供的一项或多项服务的组件;
(3) 服务储备库:服务储备库包含服务的描述, 服务提供者在该储备库中注册其服务, 而服务使用者访问该储备库已发现的所提供的服务。
2 面向消息中间件 (MOM)
SOA中最常用的传输机制是HTTP, 而HTTP是一个无连接的单向请求/应答协议, 消息到达的可靠性是没有保证的。面向消息的中间件通过消息服务器协调消息的传送, 实现了分布式系统可靠、高速、实时、异步的跨平台数据传输功能。面向消息的中间件具有3个主要特点:异步方式, 应用之间不直接通信, 而是将消息放入目标消息队列, 目标程序通过轮训或者消息服务器推送的方式获得消息, 完成集成应用间的协作, 也可以通过请求/应答模拟同步阻塞状态;消息的发送者和接受者之间可以是一对一或一对多的模式, 分别对应点到点 (point-to-point) 和发布/订阅模式 (public/subscribe) ;消息的传递路径、消息队列的维护、消息的可靠送达等特性不需要应用程序控制。
3 面向事件驱动的企业应用集成架构设计
3.1 事件驱动架构
事件驱动架构 (Event Driven Architecture, EDA) 定义了事件在松耦合的应用或服务间的响应方式。事件驱动系统由事件消费者和事件产生者组成, 事件消费者向事件管理器订阅事件, 事件产生者向事件管理器发布事件, 事件管理器把这个事件交给1个或多个基于订阅规则的事件消费者, 这种模式的优点是事件的产生者和消费者不需要知道对方详细信息, 事件产生者和消费者之间也不必像MOM那样维持消息传输的链路。消息的来源可以是JMS、Web服务调用、数据库表操作等, 通过事件管理器标识、收集和响应1个或多个应用的事件消息, 通过分析事件消息匹配的业务流程和规则, 将原始事件消息转换为1个或多个更规范、更具有针对性的消息, 在现实世界中实时的做出响应。事件驱动架构发送消息一般分2种形式, 一种是调用 (call) , 即请求/应答方式, 这种方式的目的一般是数据交换;另外一种是单路消息 (one-pass) , 这种方式的目的一般是触发异步的事件, 期待其他应用或组件的后续动作。
3.2 面向事件驱动和服务的应用集成架构
在SOA的体系结构中, 核心思想是以服务为中心, 主要目的是使得现有的技术平台间通用、可互操作, 并使得未来的应用和体系结构具有可扩展性。使用SOA将现有的、孤立的静态系统转化为模块化的、灵活的组件, 变为互联的服务集合。这些服务可以被企业边界内部或跨越企业边界的其他服务访问。在企业应用集成过程中数据共享和交换的传统解决方案基本上是一种复杂系统对接、紧密耦合的端到端的互联模式[2]。采用端到端的集成方式存在复杂度高、可管理性差、复用度低等缺点, 在企业应用集成中SOA和EDA的优点是互补的。分析SOA和EDA各自的优缺点后发现, 面向服务的模式适合请求/响应或者要求实时响应的业务问题, 服务的请求者和消费者是一对一并且是事先确定的, 这种模式可以满足基本的数据交换集成。EDA适合需要长时间运行的异步集成流程, 事件源不需要知道事件的接受者是谁, 只负责向事件管理器发布约定的事件, 由事件管理器对事件消息修改、规范、填充后调用相关的服务, 基于EDA模式的系统解耦了组件间的依赖关系, 比基于SOA或MOM的系统更加松耦合和灵活, 能够让企业在快速变化的环境中迅速做出反应, 从而提高企业竞争力 (见图2) 。
(1) 业务流程管理层。流程是一个具有起点和终点的有序活动序列, 由一件事件引起, 然后对信息进行转换, 并产生一个输出。业务流程是为了实现既定业务结果的一组逻辑上相关联的任务。业务流程管理 (BPM) 是一个图形化的管理工具, 可以对跨越应用、企业边界的各种规模的流程进行建模和分析。业务流程可以是比较简单、完全自动化的, 也可以是复杂的、需要人机交互的。
(2) 企业服务总线 (ESB) 。它是一个基于消息的开放标准, 用于基于SOA的解决方案的实现、部署和管理, 对于驻留的服务提供“坞站”, 可以对驻留的服务进行装配和编配, 并可将它们提供给总线上的其他任何服务使用。ESB主要的功能有:服务管理、事件处理、消息转换、消息路由、协议转换。其中, 事件管理器负责侦听来自业务系统的消息, 通过接口适配、服务路由、服务发现等操作将映射、变换后的消息发送到合适的消息队列, 将消息队列调度消息发送给可用的服务。
(3) 适配器层。引入适配器的主要目的是屏蔽底层的数据通信;服务虚拟化;为孤立的应用系统提供统一的、可重用接口;方便接入企业服务总线。引入适配器后, 应用组件只需要与适配器连接, 而不需要与每个应用系统相连。
(4) 业务服务层。在企业信息化的过程中, 部分关键业务信息、流程和功能存在于一些老的、过时的应用系统中, 这类系统称为遗留应用[3]。为了将遗留应用集成到SOA/EDA的解决方案中, 并复用遗留系统的核心业务逻辑和流程, 需要对遗留工程进行再工程 (reengineering) , 再工程通常需要评估遗留应用的规模、复杂度和缺陷, 改进业务逻辑, 获得有用的业务规则, 抽取组件, 包装组件, 生成服务接口。
4 SOA/EDA的应用
4.1 SOA/EDA应用事例
基于SOA/EDA的基建项目创建服务编排如图3所示。
现实业务中, 基建项目在应用系统中创建的基本流程为:业务人员根据下达的项目计划在投资计划系统中创建项目, 并维护项目的基本信息, 维护完成后同步至其他应用系统, 各应用系统根据投资计划系统提供的信息创建相应的项目。在基于SOA/EDA架构下, 投资计划系统产生的“基建项目创建”事件。对这一事件感兴趣的相关应用系统有基建管控系统、ERP系统、财务管控系统。投资计划系统在发出“基建项目创建”事件后, 调用ERP系统的“获取项目统一编码”服务, 并在事件消息中添加“项目统一编码”, 之后将事件消息的格式、协议转换为各应用所期望的格式, 从而完成基建项目信息在各应用系统中的同步。在实际应用时, 如果是对“更新项目统一编码”过程的“ERP项目创建”成功结果感兴趣, 只需要修改相应的服务编排流程即可, 无需修改服务, 这也体现了基于SOA/EDA的体系架构松耦合、可组合和可复用的优点。
4.2 SOA/EDA效果分析
甘肃电力企业应用集成建设工作, 按照SG186工程的整体规划和相关标准规范, 以现实业务为基础, 业务需求为驱动, 业务流程整合为导向, 集成技术架构遵循前沿性、开放性、可扩展性和实用性的原则。基于SOA/EDA的企业应用集成架构引入了企业服务总线, 屏蔽了各应用系统硬件平台、网络、物理位置和实现技术上的差异, 避免了信息交互的双方一对一的绑定。通过引入事件驱动机制, 应用和事件驱动的服务以松耦合的方式绑定在一起, 各应用系统独立地响应异步事件消息, 实现企业内部的数据共享、信息交互和业务流程整合。经实践表明, 基于SOA/EDA的企业应用集成架构为企业提供了统一的应用集成基础环境, 提高了企业适应快速变化的外部环境的能力, 增强了企业的核心竞争力, 为电网公司实现“两个转变”和初步建成“一强三优”的现代化公司的战略目标提供了坚强支撑。
5 结语
面向服务计算的基本前提是应用不再被视为运行在单个组织内的单一处理;不再按照应用程序的功能来衡量应用程序的价值;而是通过应用与周围环境的集成能力来衡量应用程序的价值[4]。结合企业应用集成的先进技术和电网企业现有的应用现状, 提出了一种基于SOA/EDA的电网企业应用集成架构, 该架构独立于特定的技术或特定的操作系统, 基于可组合、可复用的服务集合和事件驱动体系, 具有良好的可扩展性和可组合性, 对电网企业应用的数据交换、流程整合和应用集成具有一定的借鉴意义。
参考文献
[1]国家电网应用集成典型设计组.国家电网公司“SG186”工程一体化平台应用集成典型设计介绍[EB/OL].http://www.oracle.com/technology/global/cn/events/download/boao-meeting/app-integ-design-results.pdf, 2010-05-22.
[2]刘海涛, 赵江河, 苏剑.基于企业服务总线的配电网数据共享和交换平台[A].2008中国国际供电会议论文集[C].北京:中国电机工程学会, 2008.
[3]William M, Ulrich.Legacy Systems-Transformation Strategies[M].NJ:USA, Prentice Hall, 2002.
【集成电路eda技术作业】推荐阅读:
集成膜技术在回用水处理中的应用10-26
对于集成电路感悟07-06
集成电路培养方案11-22
集成汽车营销模式09-15
即时通讯系统集成06-19
集成吊顶市场分析06-25
智慧校园集成管理平台01-03
集成电路制造工艺实训报告10-19
集成吊顶质量检测报告07-04
系统集成心得体会12-05