配套课件-EDA技术与VHDL程序设计基础教程.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《配套课件-EDA技术与VHDL程序设计基础教程.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 配套 课件 EDA 技术 VHDL 程序设计 基础教程
- 资源描述:
-
1、EDA技术与VHDL程序开发基础教程重点内容:重点内容:l EDAEDA技术发展和应用技术发展和应用l EDAEDA工程设计流程工程设计流程l EDAEDA集成开发工具集成开发工具 EDA技术与VHDL程序开发基础教程 EDA(Electronic Design Automation)工程是现代电子信息工程领域中一门发展迅速的新技术。EDA的定义有广义和狭义之分,广义定义EDA包括半导体工艺设计自动化、可编程器件设计自动化、电子系统设计自动化、印制电路板设计自动化、仿真与测试故障诊断自动化等。狭义定义的EDA就是电子设计自动化。EDA技术主要有四个方面:1、可编程逻辑器件,即应用EDA技术完成
2、电子系统设计的载体;2、硬件描述语言(VHDL 或者 Verilog)。它用来描述系统的结构和功 能,是EDA的主要表达手段;3、配套的软件工具。它用来完成电子系统的智能化设计;4、实验开发系统。在整个EDA设计电子系统的过程中,实验开发系统是实现可编程器件下载和验证的工具,EDA技术与VHDL程序开发基础教程 现代EDA技术是20世纪90年代初从计算机辅助设计、辅助制造和辅助测试等工程概念发展而来的。它的成熟主要经历了三个阶段,即:计算机辅助设计(CAD,Computer Aided Design)计算机辅助工程设计(CAED,Computer Aided Engineering Desig
3、n)电子设计自动化(EDA,Electronic System DesignAutomation)。随着工艺的进步和EDA技术的不断发展,软硬件协同设计将显得越来越重要。EDA技术的应用也将向广度和深度两个方向继续发展,今后还会超越电子设计的范畴,从而进入其他领域。随着SOC和SOPC的发展,IP核复用的概念越来越为业界所接受,这也正符合VHDL语言的设计理念。所以,未来电子系统的设计与规划将不再是电子工程师的专利。EDA技术与VHDL程序开发基础教程EDA技术的应用范畴很广主要有:1、PCB印制电路板的设计2、ASIC全定制数字电路 的设计3、FPGA/CPLD等可编程器 件上的电子系统设计
4、EDA技术与VHDL程序开发基础教程PCB(Printed Circuit Board)印制电路板主要用作电子系统的载体,工程师通常将集成电路元件焊接在PCB板上完成整个电子系统的搭建、控制、通信等功能 点阵系统的原理图和版图 点阵系统的版图 EDA技术与VHDL程序开发基础教程ASIC(Application Specific Intergrated Circuits)专用集成电路是EDA技术应用在电子系统设计的高端产物。这种芯片的集成度极高,有全定制和半定制两种。ASIC设计流程和所个步骤所使用的软件工具 EDA技术与VHDL程序开发基础教程CPLD(Complex Programmabl
5、e Logic Device)复杂可编程逻辑器件和FPGA(Field Programmable Garry Array)现场可编程门阵列随着EDA技术的发展已经成为电子设计领域的重要角色,其应用相当广泛。高集成度、高速度和高可靠性是CPLD/FPGA最明显的特点。CPLD/FPGA的一般设计流程 EDA技术与VHDL程序开发基础教程一个完整的EDA工程通常要涉及到系统建模、逻辑综合、故障测试、功能仿真、时序分析、形式验证等内容。1、设计输入 2、逻辑综合和优化 3、布局布线和适配 4、工程设计的仿真 5、目标器件的编程和下载 6、硬件电路的后仿真验证和测 试 VHDL开发FPGA/CPLD电
6、子系统的流程图 EDA技术与VHDL程序开发基础教程目前比较流行的用于可编程器件的EDA集成开发工具主要有Altera公司的MAX+Plus II和Quartus II、Xilinx公司的Foundation和ISE以及Lattice公司的ispDesignEXPERT和ispLEVER。Quartus II的GUI界面 它支持原理图、VHDL和Verilog语言文本输入方式和波形或EDIF格式的文件作为输入,且支持这些文件的混合设计。EDA技术与VHDL程序开发基础教程EDA技术与VHDL程序开发基础教程 System Generator和Matlab联合开发DSP系统 EDA技术与VHDL
7、程序开发基础教程1 1、EDAEDA技术的学习方法技术的学习方法从实用角度讲,EDA技术需要掌握四个方面,即:1)、可编程逻辑器件;2)、硬件描述语言(VHDL 或者 Verilog);3)、配套的软件工具;4)、实验开发系统;2 2、EDAEDA技术的学习方法技术的学习方法 读者在学习EDA技术的过程中首先接触的就是VHDL的基本编程,在这里应该熟练掌握基本门电路、多路选择器和状态机的编写。然后掌握配套的CPLD/FPGA开发软件,通过实际的案例和应用设计边学边用。EDA技术与VHDL程序开发基础教程重点内容:重点内容:l CPLDCPLD结构和工作原理结构和工作原理l FPGAFPGA结构
8、和工作原理结构和工作原理l FPGA FPGA配置方式配置方式l CPLD/FPGA CPLD/FPGA应用选型应用选型EDA技术与VHDL程序开发基础教程 可编程逻辑器件 PROM、PLA和PAL的原理和特性 基于二极管和三极管的一次可编程PROM单元 EDA技术与VHDL程序开发基础教程 PLA是Programmable Logic Array的缩写,它的出现主要是为了解决PROM的速度和输入端受到限制的问题。右图通过这种阵列结构PLA可以实现大量的组合函数,虽然不能完全覆盖所有的输入组合,但其较多的输入端和更快的速度使得它的应用超过了PROM。EDA技术与VHDL程序开发基础教程 可编程
9、阵列逻辑PAL是PLA的一个发展版,与PLA类似,它也有一个宽输入。可编程的“与”阵列。最大的不同是PAL的“或”阵列不再可编程,而是变成了固定的。EDA技术与VHDL程序开发基础教程可编程特性分类:从可编程特性分类可将PLD分为一次可编程和重复可编程两类。一次可编程器件主要以PROM、PAL和熔丝型FPGA为代表,其他的器件大多数是可重复编程的。熔丝型器件编程的主要原理是利用较大的编程电流将特定位置的熔丝烧断,从而完成所需的逻辑函数输出 对于多次可编程的器件而言,用紫外线擦除的器件一般只能使用几十次,而采用电擦除方式的器件编程次数会比紫外线方式的稍多一些,如果是采用E2MOS工艺的器件,擦写
10、次数可以达到上千次。EDA技术与VHDL程序开发基础教程 可编程逻辑器件中的编程元件通常有五种:熔丝型开关可编程低阻电路EPROMEEPROMSRAM内部互联结构分类如果从内部互联结构分类,可编程逻辑器件可以分为CPLD和FPGA两类。EDA技术与VHDL程序开发基础教程 描述PLD内部电路结构的方法与普通逻辑电路的表示方法不同。它需要将芯片内部结构配置与逻辑图一一对应起来,从而使得器件制造商和电路设计这较容易掌握。PLD的表示方法在电路层、物理层以及版图的布局之间都有非常巧妙的映射,因而读起来十分方便。1.互补输入缓冲电路2.三态输出缓冲电路EDA技术与VHDL程序开发基础教程 3.与或逻辑
11、与或逻辑是可编程器件的核心部件。如图所示,(a)中三条竖线A、B、C均为输入线,输入到与门的横线为乘积线。乘积线与输入线的交叉点为编程点,在编程点处有编程器件,如熔丝或可编程的MOS器件等。当输入线与乘积线相连通时,在编程点处以“”表示。(b)中三条竖线A、B、C也为输入线,输入到或门的横线为和线。和线与输入线的交叉点为编程点。当输入线与和线相连通时,在编程点处以“”表示。可以看出,图中电路表示的逻辑表达式分别为Y=AB和Y=A+B+C。EDA技术与VHDL程序开发基础教程 CPLD的基本结构 可编程逻辑阵列块类似于一个低密度的PAL/GAL,包括乘积项的与阵列、乘积项分配和逻辑宏单元等。基于
12、乘积项阵列型CPLD的基本结构 EDA技术与VHDL程序开发基础教程 ispLSI2128的结构示意图,它由输入(Input)、全局布线区(GRP)、通用逻辑块(GLB)、I/O单元、宏块和控制电路等组成。每个宏块包括8个通用逻辑块(GLB)、2个输出布线区(ORP)、1个32位输入总线和33个引脚。EDA技术与VHDL程序开发基础教程 111111111111111111&1&1&1&11GLB结构:通用逻辑块GLB是Gerneric Logic Block的缩写,也是整个器件的逻辑核心。它由与阵列、乘积项共享阵列(Product Term Sharing Array)、输出逻辑宏单元(OL
13、MC)和控制电路四部分组成,分布在GRP的四周,可实现类似GAL/PAL的功能 EDA技术与VHDL程序开发基础教程 1.输出逻辑宏单元2.控制电路3.全局布线区属于ispLSI中的一种专用内部互联结构。起作用是将GLB的输出信号或I/O单元的输入信号与GLB的输入端连接 EDA技术与VHDL程序开发基础教程 4、I/O单元结构I/O单元常称为输入/输出单元,是器件外部封装引脚与内部信号之间的接口电路 EN1EDA技术与VHDL程序开发基础教程5、宏块结构 每个宏块包含8个GLB、16位输入总线、2个输出布线区(ORP)、32个I/O单元、2个专用输入和1个公用乘积项GOE。EDA技术与VHD
14、L程序开发基础教程 Altera公司的CPLD器件总结起来可以概括为五个部分:可编程逻辑阵列块(LAB);宏单元;扩展乘积项;输入/输出块;互联资源;MAX7128结构原理图EDA技术与VHDL程序开发基础教程2、宏单元。由3个功能块组成:逻辑阵列、乘积项选择矩阵和可编程寄存器。各部分可以被独自配置为时序逻辑和组合逻辑工作方式。1.可编程逻辑阵列块(LAB),对于每个LAB有下列输入信号。A来自作为通用逻辑输入的PIA的36个信号B全局控制信号,用于寄存器辅助功能C从I/O引脚到寄存器的直接输入通道EDA技术与VHDL程序开发基础教程 3.扩展乘积项 利用扩展项可保证在实现逻辑综合时,用尽可能
15、少的逻辑资源实现尽可能快的工作速度。具体的扩展乘积项分为共享扩展项和并联扩展项。并联扩展项的原理图 共享扩展乘积项结构 EDA技术与VHDL程序开发基础教程 4.可编程连线阵列PIA5.输入/输出控制块(I/O)EDA技术与VHDL程序开发基础教程 1.基于SRAM编程的FPGA 基于SRAM编程的FPGA以Xilinx的逻辑单元阵列(LCA,Logic Cell Array)为例 FPGA由可配置逻辑模块(CLB,Configurable Logic Block)、可编程布线资源(PI,Progammable Interconnection)和可编程输入/输出模块(IOB,Input/Out
16、put Block)三部分组成。EDA技术与VHDL程序开发基础教程 2.基于反熔丝编程的FPGA 采用反熔丝编程的FPGA具有集成度高、功耗低、保密性强、抗辐射和抗干扰性好等优点。EDA技术与VHDL程序开发基础教程 Altera公司的FPGA FLEX 10K系列的FPGA是工业界第一款嵌入式PLD器件,采用了可重复配置的CMOS SRAM工艺和灵活逻辑单元矩阵(FLEX,Flexble Logic Element Matrix)框架,具有高密度、低成本、低功耗等特点。内部包括四个部分:嵌入式阵列块逻辑阵列块快速通道/互联通道输入/输出单元EDA技术与VHDL程序开发基础教程 1.逻辑阵列
17、块(LAB)2.嵌入式阵列块 EDA技术与VHDL程序开发基础教程 3.快速通道/互联通道 4、输入/输出单元 EDA技术与VHDL程序开发基础教程 XilinxXilinx公司的公司的FPGA FPGA 主要包含:1、可配置的逻辑模块(CLB)EDA技术与VHDL程序开发基础教程2、可编程布线资源(PI)。由纵横分布在CLB阵列之间的金属线网络和位于纵横线交叉点上的可编程开关矩阵组成。3、可编程的输入/输出模块(IOB)由输入触发器、输入缓冲器和输出触发/锁存器、输出缓冲器组成,每个IOB控制一个外部引出端。EDA技术与VHDL程序开发基础教程 FPGA的配置方式是指FPGA用来完成设计师的
18、逻辑配置和外部连接方式。逻辑配置是指FPGA的下载,即开发系统将用户的设计输入进行编译产生配置数据文件,然后装入FPGA芯片内部的可配置存储器的过程。1、主动串行配置 主动串行配置模式需要附加一个外部串行存储器EPROM或PROM。在配置之前需事先将配置数据写入外部存储器,每当电源接通后,FPGA将自动地从外部串行PROM或EPROM中读取串行配置数据,EDA技术与VHDL程序开发基础教程2、主动并行配置 主动并行配置同样适用EPROM做外部存储器,事先将配置数据写入EPROM芯片内。EDA技术与VHDL程序开发基础教程3、菊花链配置 在数字系统的应用设计中,当单片FPGA不足以实现完整的功能
19、时,可以采用多个FPGA芯片。EDA技术与VHDL程序开发基础教程1、器件逻辑资源的选择 能够影响逻辑资源占用的因素有很多,主要有:A描述语言和描述风格;BHDL综合器的选择;C综合策略的选择;D逻辑功能单元的性质额实现方法;2、芯片速度的选择。芯片速度的选择应与系统工作频率相吻合,3、器件功耗的选择。就低功耗而言,FPGA具有绝对的优势。4、器件封装的选择5、CPLD/FPGA的选择。FPGA的主要应用有三个方面:A直接使用与电路系统;B硬拷贝;C逻辑验证;EDA技术与VHDL程序开发基础教程重点内容:重点内容:l VHDLVHDL程序基本结构程序基本结构l VHDLVHDL基本词法与基本语
20、句基本词法与基本语句l VHDL VHDL描述风格描述风格 EDA技术与VHDL程序开发基础教程 HDLHDL语言的种类语言的种类1、ABEL-HDL。是一种早期的硬件描述语言,可方便准确的描述所设计的电路逻辑功能,并被很多电子系统设计自动化(EDA)软件所支持。2、AHDL。是Altera公司开发一种HDL语言。它的特点是易学易用,3、VHDL。中文全称为超高速集成电路硬件描述语言4、Verilog。是1983年由GD(GateWay Design Automation)公司的Phil Moorby首创的。EDA技术与VHDL程序开发基础教程EDA技术与VHDL程序开发基础教程 VHDLVH
21、DL语言的特点语言的特点 硬件描述能力强;设计技术齐全、方法灵活、支持广泛;对设计描述具有相对的独立性;具有很强的移植能力;易于共享和复用;具有丰富的仿真语句和库函数;设计结构清晰、易读易懂;容易实现系统的更新和升级;数据类型丰富、安全性好;EDA技术与VHDL程序开发基础教程 VHDLVHDL和和VerilogVerilog的比较的比较 Verilog HDL在底层建模方面要强于VHDL,但系统建模覆盖面较小。而VHDL在系统级建模方面则可以像高级语言一样更灵活的描述系统行为。EDA技术与VHDL程序开发基础教程 用VHDL进行数字电路设计时,无论电路规模的大小,均要使用一个完整的VHDL程
22、序结构,这个完整的程序结构包括五部分,它们分别是(参见上一节给出的VHDL七段译码器代码):实体(Entity);结构体(Architecture);配置(Configuration);包集合(Package);库(Library);EDA技术与VHDL程序开发基础教程 VHDLVHDL的设计简述的设计简述 其描述结构中包括IEEE标准库说明、程序包、实体和结构体等几个部分。四选一多路数据选择器 结构体(Architecture)是占VHDL程序比重最大的部分也是VHDL的核心部分,EDA技术与VHDL程序开发基础教程 实体说明是VHDL程序设计中最基本的组成部分,主要用来描述设计实体的外部接
23、口信号,定义设计单元的输入输出端口,属于整个VHDL所描述电路结构的通信界面,为可视部分,但它并不描述所要设计系统的具体功能。端口说明语句描述了目标系统与外界通信的接口,即指明实体的输入输出信号,以及一些端口的模式信息,包括端口的名称、数据的类型和数据的传输方向(端口模式)。EDA技术与VHDL程序开发基础教程 结构体是VHDL程序的核心,它描述了目标系统的行为、元件以及它们之间的连接关系。结构体的基本格式包括四个部分:结构体引导语句(ARCHITECTURE)结构体说明语句功能描述语句结束语句(END)VHDLVHDL的结构体的结构体EDA技术与VHDL程序开发基础教程 VHDL语言与其他高
24、级语言一样,具有计算机编程语言的一般特性,其语言要素是组成编程语句的基本单元,主要有数据对象(Object)、数据类型(Type)、操作数(Operations)和运算操作符(Operator)。1、标识符。包括短标识符和扩展标识符2、对象。在VHDL语言中,凡是可以赋值的客体叫做对象(Object)。VHDL对象包括专门的数据类型,即常量(CONSTANT)、信号(SIGNAL)、变量(VARIABLE)和文件(FILES)。3、数据类型。在VHDL标准中,IEEE一共定义了10种基本的数据类型。同时,为了方便设计,VHDL还容许工程师根据自己需要自定义数据类型,这就给数字系统设计提供了很大
25、的自由空间,从而为EDA工具的高层次综合、仿真提供可能。常用数据类型:整数、实数类型、位类型、位矢量类型、布尔类型、时间类型、枚举类型、数组类型。EDA技术与VHDL程序开发基础教程类型转换类型转换 由于VHDL对数据类型的限制比较严格,不同类型的对象不能带入,因而很多程序设计常常会遇到数据转换的问题。为了进行不同数据类型的转换,VHDL提供了三种方法来完成这一功能,即类型标记法、函数转换法和常数转换法。运算操作符运算操作符 与其他程序设计语言相似,VHDL中的表达式也是由运算符将基本元素连接起来形成。这里的基本元素包括对象名、文字、函数调用及用括号括起来的表达式。在VHDL语言中共有4类操作
展开阅读全文