MMMMEDA课程综述.doc_第1页
MMMMEDA课程综述.doc_第2页
MMMMEDA课程综述.doc_第3页
MMMMEDA课程综述.doc_第4页
MMMMEDA课程综述.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课 程 综 述课程名称 在 系 统 编 程 技 术 任课教师 谭 敏 班级 电子信息工程(12专升本)姓名 闵 小 辉 学号 1205061025 日期 2013年6月25日 0EDA课程综述EDA(Electronic Design Automation,电子设计自动化)技术基于计算机辅助设计,它融合了应用电子技术、计算机技术、信息处理技术、智能化技术的最新成果,以实现电子产品的自动设计。EDA是现代电子设计技术的核心,在现代集成电路设计中占据重要地位。随着深亚微米与超深亚微米技术的迅速发展,FPGA设计越来越多地采用基于VHDL的设计方法及先进的EDA工具。FPGA(Field Programmable Gate Array,现场可编程门阵列)作为可编程逻辑器件的典型代表,它的出现及日益完善适应了当今时代的数字化发展浪潮,它正广泛应用在现代数字系统设计中。本文详细阐述了EDA技术与FPGA设计应用。一、 EDA、EDA技术及其应用与发展1、EDA技术简单介绍EDA代表了当今电子设计技术的最新发展方向,其基本特征是设计人员以计算机为工具,按照自顶向下的设计方法,对整个系统进行方案设计和功能划分,由硬件描述语言完成系统行为级设计,利用先进的开发工具自动完成逻辑编译、化简、分割、综合、优化、布局布线(PAR,Place And Route)、仿真及特定目标芯片的适配编译和编程下载,这被称为数字逻辑电路的高层次设计方法。作为现代电子系统设计的主导技术,EDA具有两个明显特征:即并行工程(Concurrent Engineering)设计和自顶向下(Top-down)设计。其基本思想是从系统总体要求出发,分为行为描述(Behaviour Description)、寄存器传输级(RTL,Register Transfer Level)描述、逻辑综合(Logic Synthesis)三个层次,将设计内容逐步细化,最后完成整体设计,这是一种全新的设计思想与设计理念。与传统电子设计技术和单片机技术相比,EDA技术及电路系统的优越性表现在: 自主知识产权 。开发技术标准化、规范化、IP Core(Intellectual Property)的可利用性。自顶向下的设计方案,设计效率高和规模大。4、现代电子开发技术的发展方向,全方位仿真、充分利用现代计算机技术。先进的编程下载技术-isp, 和硬件测试技术-JTAG。对于硬件经验要求不高,仅需集中精力于系统本身功能的实现。FPGA的纯硬件加密的可靠性要好得多。高速性能好。高可靠性。可设计成单片系统- SYSTEM ON A CHIP - SOC。利用EDA技术进行电子系统设计,最后实现的目标 作为EDA技术最终实现目标的ASIC,可以通过三种途径来完成。:第一:超大规模可编程逻辑器件。第二: 半定制或全定制ASIC。 第三. 混合ASIC。2、“自顶向下”的设计方法 10年前,电子设计的基本思路还是选择标准集成电路“自底向上”(BottomUp)的构造出一个新的系统,这样的设计方法就如同一砖一瓦建造金字塔,不仅效率低、成本高而且容易出错。 高层次设计给我们提供了一种“自顶向下”(TopDown)的全新设计方法,这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计。在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。然后用综合优化工具生成具体门电路的网表,其对应的物理实现级可以是印刷电路板或专用集成电路。由于设计的主要仿真和调试过程是在高层次上完成的,这一方面有利于早期发现结构设计上的错误,避免设计工作的浪费,同时也减少了逻辑功能仿真的工作量,提高了设计的一次成功率。3、ASIC设计 现代电子产品的复杂度日益加深,一个电子系统可能由数万个中小规模集成电路构成,这就带来了体积大、功耗大、可靠性差的问题,解决这一问题的有效方法就是采用ASIC(Application Specific Integrated Circuits)芯片进行设计。ASIC按照设计方法的不同可分为:全定制ASIC,半定制ASIC,可编程ASIC(也称为可编程逻辑器件)。 设计全定制ASIC芯片时,设计师要定义芯片上所有晶体管的几何图形和工艺规则,最后将设计结果交由IC厂家掩膜制造完成。优点是:芯片可以获得最优的性能,即面积利用率高、速度快、功耗低。缺点是:开发周期长,费用高,只适合大批量产品开发。 半定制ASIC芯片的版图设计方法有所不同,分为门阵列设计法和标准单元设计法,这两种方法都是约束性的设计方法,其主要目的就是简化设计,以牺牲芯片性能为代价来缩短开发时间。 可编程逻辑芯片与上述掩膜ASIC的不同之处在于:设计人员完成版图设计后,在实验室内就可以烧制出自己的芯片,无须IC厂家的参与,大大缩短了开发周期。 可编程逻辑器件自七十年代以来,经历了PAL、GAL、CPLD、FPGA几个发展阶段,其中CPLD/FPGA属高密度可编程逻辑器件,目前集成度已高达200万门/片,它将掩膜ASIC集成度高的优点和可编程逻辑器件设计生产方便的特点结合在一起,特别适合于样品研制或小批量产品开发,使产品能以最快的速度上市,而当市场扩大时,它可以很容易的转由掩膜ASIC实现,因此开发风险也大为降低。二、实现EDA技术的主流器件FPGA今天,数字电子系统的设计方法及设计手段都发生了根本性变化,正由分立数字电路向复杂可编程逻辑器件(CPLD,complex Programmable Logic Device)及专用集成电路(ASIC,Application Specific Integrated Circuit)转变。FPGA与CPLD(Programmable Logic Device,复杂可编程逻辑器件)都属于PLD的范畴,它们在现代数字系统设计中正占据越来越重要的地位。 FPGA是由用户编程来实现所需逻辑功能的数字集成电路,它不仅具有设计灵活、性能高、速度快等优势,而且上市周期短、成本低廉。FPGA设计与ASIC前端设计十分类似,在半导体领域中FPGA应用日益普及,已成为集成电路中最具活力和前途的产业。同时,随着设计技术和制造工艺的完善,器件性能、集成度、工作频率等指标不断提升,FPGA已越来越多地成为系统级芯片设计的首选。FPGA由PAL(可编程阵列逻辑)、GAL(通用阵列逻辑)发展而来,其基本设计思想是借助于EDA开发工具,用原理图、状态机、布尔表达式、硬件描述语言等方法进行系统功能及算法描述,设计实现并生成编程文件,最后通过编程器或下载电缆用目标器件来实现。 FPGA器件采用逻辑单元阵列(LCA,Logic Cell Array)结构、SDRAM工艺,其中LCA由三类可编程单元组成。 (1)可配置逻辑块(CLB,Configurable Logic Block):被称为核心阵列,是实现自定义逻辑功能的基本单元,散布于整个芯片; (2)输入/输出模块(IOB,Input/Output Block):排列于芯片四周,为内部逻辑与器件封装引脚之间提供可编程接口; (3)可编程互连资源(PI,Programmable Interconnect):包括不同长度的连线线段及连接开关,其功能是将各个可编程逻辑块或I/O块连接起来以构成特定电路。 全球生产FPGA的厂家很多,但影响力最大的是Xilinx公司和Altera公司,世界上第一片FPGA是在20世纪80年代中期Xilinx公司率先推出的。不同厂家生产的FPGA在可编程逻辑块的规模、内部互连线结构及所采用的可编程元件上存在较大差异,实际使用时应注意区分。 FPGA设计应用及优化策略: 1FPGA设计层次分析 FPGA设计包括描述层次及描述领域两方面内容。通常设计描述分为6个抽象层次,从高到低依次为:系统层、算法层、寄存器传输层、逻辑层、电路层和版图层。对每一层又分别有三种不同领域的描述:行为域描述、结构域描述和物理域描述。 系统层是系统最高层次的抽象描述,针对于电子系统整体性能。算法层又称为行为层,它是在系统级性能分析和结构划分后对每个模块的功能描述。算法层所描述的功能、行为最终要用数字电路来实现。而数字电路本质上可视为由寄存器和组合逻辑电路组成,其中寄存器负责信号存储,组合逻辑电路负责信号传输。寄存器传输层描述正是从信号存储、传输的角度去描述整个系统。寄存器和组合逻辑本质上是由逻辑门构成,逻辑层正是从逻辑门组合及连接角度去描述整个系统。 传统的综合工具是将寄存器传输级(RTL)的描述转化为门级描述。随着以行为设计为主要标志的新一代系统设计理论的不断成熟,能够将系统行为级描述转化为RTL描述的高层次综合技术不断涌现。 作为现代集成电路设计的重点与热点,FPGA设计一般采用自顶向下、由粗到细、逐步求精的方法。设计最顶层是指系统的整体要求,最下层是指具体的逻辑电路实现。自顶向下是将数字系统的整体逐步分解为各个子系统和模块,若子系统规模较大则进一步分解为更小的子系统和模块,层层分解,直至整个系统中各子模块关系合理、便于设计实现为止。2VHDL在FPGA设计中的应用集成电路设计规模及复杂度不断增大,用传统原理图方法进行系统级芯片设计已不能满足设计要求,而硬件描述语言(HDL,Hardware Description Language)在进行大规模数字系统设计时具有诸多优势,因此利用硬件描述语言进行系统行为级设计已成为FPGA与ASIC设计的主流。目前最流行、最具代表性的硬件描述语言是美国国防部(DOD)开发的VHDL(VHSIC Hardware Description Language)和GDA(Gateway Design Automation)公司开发的Verilog HDL。VHSIC代表Very High Speed Integrated Circuit,因此VHDL即甚高速集成电路硬件描述语言。VHDL语法严格,1987年即成为IEEE标准,即IEEE STD 1076-1987,1993年进一步修订成为IEEE STD 1076-1993。VHDL作为IEEE标准,已得到众多EDA公司支持,其主要优点有: 描述能力强,支持系统行为级、寄存器传输级和门级三个层次设计;可读性好、移植性强,其源文件既是程序又是文档,便于复用和交流;支持自顶向下的设计和基于库(Library-based)的设计;支持同步、异步及随机电路的设计; 与工艺无关,生命周期长。VHDL语言主要应用在行为层和寄存器传输层,这两层可充分发挥出VHDL面向高层的优势。利用VHDL实现数字电路的实质是利用综合工具将高层次描述转化为低层次门级描述,其中综合可分为三个层次:高层次综合(High-Level Synthesis)、逻辑综合(Logic Synthesis)和版图综合(Layout Synthesis)。 3基于VHDL的FPGA系统行为级设计基于VHDL的FPGA设计基本流程及详细流程分别如图2和图3所示,具体包括以下重要环节:设计输入(Design Entry)、设计综合(Design Synthesis)、设计约束(Design Constraints)、设计实现(Design Implement)、设计仿真(Design Simulation)和器件编程(Device Programming)。设计输入主要采用HDL(硬件描述语言)、ECS(Engineering Schematic Capture,原理图编辑器)和FSM(Finite State Machine,有限状态机);设计综合就是依据逻辑设计描述和约束条件,利用开发工具进行优化处理,将HDL文件转变为硬件电路实现方案,其实质就是优化设计目标的过程;设计约束主要包括设计规则约束、时间约束、面积约束三种,通常时间约束的优先级高于面积约束;设计实现对于FPGA分为编译规划、布局布线(PAR,Place And Route)、程序比特流文件产生;对于CPLD则是编译、配置、比特流文件产生;设计仿真分为功能仿真和时序时延仿真。功能仿真在设计输入之后、综合之前进行,只进行功能验证,又称为前仿真。时序时延仿真在综合和布局布线之后进行,能够得到目标器件的详细时序时延信息,又称为后仿真;器件编程是指在功能仿真与时序时延仿真正确的前提下,将综合后形成的位流编程下载到具体的FPGA/CPLD芯片中,又称芯片配置。FPGA/CPLD编程下载通常可使用JTAG编程器、PROM文件格式器和硬件调试器三种方式,其中JTAG(Joint Test Action Group,联合测试行动组)是工业标准的IEEE 1149.1边界扫描测试的访问接口,用作编程功能可省去专用的编程接口,减少系统引出线,有利于各可编程逻辑器件编程接口的统一,因此应用广泛。三、 VHDL语言基础1.实体的组成 实体由实体名、类型表、端口表、实体说明部分和实体语句部分组成。根据IEEE标准,实体组织的一般格式为:ENTITY 实体名 IS GENERIC(类型表); -可选项 PORT(端口表); -必需项 实体说明部分; -可选项 BEGIN 实体语句部分;END ENTITY 实体名1、 结构体结构体具体指明了该设计实体的行为,定义了该设计实体的功能,规定了该设计实体的数据流程,指派了实体中内部元件的连接关系。用VHDL语言描述结构体有4种方法:(1) 行为描述法:采用进程语句,顺序描述被称设计实体的行为。(2) 数据流描述法:采用进程语句,顺序描述数据流在控制流作用下被加工、处理、存储的全过程。(3) 结构描述法:采用并行处理语句描述设计实体内的结构组织和元件互连关系。(4) 采用多个进程(process)、多个模块(blocks)、多个子程序(subprograms)的子结构方式。结构体的一般书写格式为:ARCHITECTURE 结构体名 OF 实体名 IS定义语句, 内部信号, 常数,数据类型, 函数定义BEGIN并行处理语句; 进程语句; END 结构体名;一个结构体的组织结构从“ARCHITECTURE 结构体名 OF 实体名 IS”开始,到“END 结构体名”结束。3、端口名端口名是赋于每个外部引脚的名称,名称的含义要明确,如D开头的端口名表示数据,A开头的端口名表示地址等。端口名通常用几个英文字母或一个英文字母加数字表示。下面是合法的端口名:CLK,RESET,A0,D34、模式模式用来说明数据、信号通过该端口的传输方向。端口模式有in、out、buffer、inout。(1)输入(in)输入仅允许数据流入端口。输入信号的驱动源由外部向该设计实体内进行。输入模式主要用于时钟输入、控制输入(如Load、Reset、Enable、CLK)和单向的数据输入,如地址信号(address)。不用的输入一般接地,以免浮动引入干扰噪声。(2)输出(out)输出仅允许数据流从实体内部输出。端口的驱动源是由被设计的实体内部进行的。输出模式不能用于被设计实体的内部反馈,因为输出端口在实体内不能看作可读的。输出模式常用于计数输出、单向数据输出、设计实体产生的控制其他实体的信号等。一般而言,不用的输出端口不能接地,避免造成输出高电平时烧毁被设计实体。(3)缓冲(buffer)缓冲模式的端口与输出模式的端口类似,只是缓冲模式允许内部引用该端口的信号。缓冲端口既能用于输出,也能用于反馈。(4)双向模式(inout)双向模式可以代替输入模式、输出模式和缓冲模式。在设计实体的数据流中,有些数据是双向的,数据可以流入该设计实体,也有数据从设计实体流出,这时需要将端口模式设计为双向端口。双向模式的端口允许引入内部反馈,所以双向模式端口还可以作为缓冲模式用。由上述分析可见,双向端口是一个完备的端口模式。5、数据类型(types) 数据类型端口说明除了定义端口标识名称、端口定义外,还要标明出入端口的数据类型。VHDL语言的IEEE 1706/93标准规定,EDA综合工具支持的数据类型为布尔型(boolean)、位型(bit)、位矢量型(bit-vector)和整数型(integer)。由IEEE std_logic_1164所约定的、由EDA工具支持和提供的数据类型为标准逻辑(standard logic)类型。标准逻辑类型也分为布尔型、位型、位矢量型和整数型。为了使EDA工具的仿真、综合软件能够处理这些逻辑类型,这些标准库必须在实体中声明或在USE语句中调用。 6、信号定义由结构体的一般书写格式知道,结构体名称后面是信号定义,位于关键字ARCHITECTURE和BEGIN之间,用于对结构内部使用的信号、常数、数据类型、函数进行定义。特别需要注意的是,这是结构体内部,而不是实体内部,因为实体中可能有几个结构体。另外,实体说明中定义I/O信号为外部信号,而结构体定义的信号为内部信号。结构体的信号定义和实体的端口说明一样,应有信号名称和数据类型定义,但不需要定义信号模式,不用说明信号方向,因为是结构体内部连接用信号。7、VHDL语言的主要描述语句在用VHDL语言描述系统的硬件行为时,按语句执行的顺序可分为顺序语句和并行语句。顺序语句主要用来实现模型的算法部分;而并行语句则基本上用来表示黑盒的连接关系。黑盒中所包含的内容可以是算法描述或一些相互连接的黑盒。(1)顺序语句VHDL提供了一系列丰富的顺序语句,用来定义进程、过程或函数的行为。所谓“顺序”,意味着完全按照程序中出现的顺序执行各条语句,而且还意味着在结构层次中前面语句的执行结果可能直接影响后面语句的结果。(2)并行语句由于硬件语言所描述的实际系统,其许多操作是并行的,所以在对系统进行仿真时,系统中的元件应该是并行工作的。并行语句就是用来描述这种行为的。并行描述可以是结构性的也可以是行为性的。而且,并行语句的书写次序并不代表其执行的顺序,信号在并行语句之间的传递,就犹如连线在电路原理图中元件之间的连接。主要的并行语句有以下几种:l 块(BLOCK)语句l 进程(PROCESS)语句l 生成(GENERATE)语句l 器件(COMPONENT)和器件例化(COMPONENT_INSTANT)语句四、 EDA技术的特点、应用和展望1、EDA技术的特点EDA技术代表了当今电子设计技术的最新发展方向,它的基本特征是采用高级语言描述,即硬件描述语言HDL(HardwareDescriptionLanguage),就是可以描述硬件电路的功能。信号连接关系及定时关系的语言。它比电原理图更有效地表示硬件电路的特性,同时具有系统仿真和综合能力,具体归纳为以下几点:1)现代化EDA技术大多采用“自顶向下(Top-Down)”的设计程序,从而确保设计方案整体的合理和优化,避免“自底向上(Bottom-up)”设计过程使局部优化,整体结构较差的缺陷。2)HDL给设计带来很多优点:语言公开可利用;语言描述范围宽广;使设计与工艺无关;可以系统编程和现场编程,使设计便于交流、保存、修改和重复使用,能够实现在线升级。3)自动化程度高,设计过程中随时可以进行各级的仿真、纠错和调试,使设计者能早期发现结构设计上的错误,避免设计工作的浪费,同时设计人员可以抛开一些具体细节问题,从而把主要精力集中在系统的开发上,保证设计的高效率、低成本,且产品开发周期短、循环快。4)可以并行操作,现代EDA技术建立了并行工程框架结构的工作环境。从而保证和支持多人同时并行地进行电子系统的设计和开发。2、EDA技术的作用EDA技术在电子工程设计中发挥着不可替代的作用,主要表现在以下几个方面:验证电路设计方案的正确性设计方案确定之后,首先采用系统仿真或结构模拟的方法验证设计方案的可行性,这只要确定系统各个环节的传递函数(数学模型)便可实现。这种系统仿真技术可推广应用于非电专业的系统设计,或某种新理论、新构思的设计方案。仿真之后对构成系统的各电路结构进行模拟分析,以判断电路结构设计的正确性及性能指标的可实现性。这种量化分析方法对于提高工程设计水平和产品质量,具有重要的指导意义。电路特性的优化设计元器件的容差和工作环境温度将对电路的稳定性产生影响。传统的设计方法很难对这种影响进行全面的分析,也就很难实现整体的优化设计。EDA技

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论