FPGA技术教程(通俗易懂)ppt课件_第1页
FPGA技术教程(通俗易懂)ppt课件_第2页
FPGA技术教程(通俗易懂)ppt课件_第3页
FPGA技术教程(通俗易懂)ppt课件_第4页
FPGA技术教程(通俗易懂)ppt课件_第5页
已阅读5页,还剩162页未读 继续免费阅读

下载本文档

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

文档简介

. 1、FPGA技术、第二章CPLD/FPGA的概要、第一章可编程逻辑设备的发展历史、第三章硬件描述语言VHDL/VerilogHDL的概要、第四章QuartusII的VerilogHDL建模与仿真、第二章、第一章可编程逻辑可编程逻辑器件的发展历史、可编程逻辑器件的分类、初始、FPGA、现在4、1、可编程器件的大致发展过程如下:1)20世纪70年代,出现了保险丝编程的PROM和PLA器件。 70年代末,AMD公司改良了PLA,发售了PAL器件。 2 ) 20世纪80年代初,拉蒂斯公司发明了比电可改写的PAL更柔软的GAL通用阵列逻辑器件。 3 ) 20世纪80年代中期,Xilinx公司提出了现场可编程概念,生产了世界上第一台FPGA设备。 FPGA改变内部连接的接线进行编程。 4 ) 20世纪80年代末,晶格公司提出系统可编程概念(ISP ),发布了具有系统可编程能力的CPLD设备。 CPLD的设计修改并编程具有固定内部连接电路的逻辑功能。 5 )可编程集成电路技术在5)1990年代后半期得到了迅速的发展,设备的可用逻辑门的数量超过百万门,出现了嵌入有复杂的功能模块(例如加法器、乘法器、RAM、CPU核、DSP核等)的SOPC。 5、2、可编程器件的分类1 .按集成度划分,分为高密度和低密度PLD器件。 1 )集成密度小于1000栅极/一张的LDPLD也被称为简单PLD。 可编程只读存储器(prom ) PLA (可编程逻辑阵列) pal (可编程阵列逻辑) gal (通用阵列逻辑GenericArrayLogic)2)集成度为每1000门/张的hdpldfpga (fildpror ) cpld (complexprogrammablelogicddevice )、6、2 .结构上为:1)积项结构设备:在“andor”阵列结构中,大多数简单PLD和CPLD属于该范畴2 )查找表结构设备:从查找表开始.将编程过程划分为1 )保险丝(Fuse )型设备:编程过程根据设计的保险丝地图文件切断对应的保险丝,实现编程的目的。 编程后,即使系统断电,保存的编程信息也不会丢失。 2 )反熔丝(Antifuse )型元件: Actel公司上市,通过程序破坏漏极层,得到2点间的导通。 反熔丝PLD耐辐射,耐高低温,功耗低,速度快,对军品和航天有很大好处。 前两个是OTP设备。 3)EPROM型:紫外线消除电可编程逻辑设备在高编程电压下编程,需要再次编程时用紫外线消除。 前三个用得不多。 4)EEPROM型:电可擦可编程逻辑器件。 CPLD采用了这种编程技术。 5)SRAM型: SRAM寻找表结构的元件,大部分FPGA采用了这个编程过程。 关闭电源后程序信息丢失,每次打开电源时,都需要从设备外部存储器将程序数据写回SRAM。 允许无限次的编程。 6)Flash(Fastflash )型:闪存技术,Actel公司发表。 采用该编程过程的设备可以进行多次编程,切断电源后不需要重新配置。 CPLD采用了这种编程技术。 8、第二章CPLD/FPGA的概要、一、简单的PLD结构二、FPGA/CPLD的结构三、FPGA/CPLD的基本原理四、FPGA的设计方法五、FPGA设计流程9、二维逻辑块阵列构成了PLD设备的逻辑结构的核心。 输入输出模块:由连接逻辑模块的互连资源、连接资源:各种长度的连接段构成,也有用于逻辑模块之间、逻辑模块输入输出模块之间的连接的可编程连接开关。 10、1 .简单PLD的任何结构性组合函数均以-或表达式表示,如F=AB BCD。 PLD是在“and门阵列”和“or门阵列”中添加输入输出电路而构成的。 一些初始的PLD是可编程的and阵列,一些是or阵列可编程的,而一些是and阵列和or阵列可编程的。. 11,1 .输入缓冲器2.PLD的互补输入3.PLD和阵列显示,4.PLD中或阵列显示5 .阵列线连接显示, 12,编程前的6.PROM的PLD阵列图, 13,2, FPGA/CPLD的结构FPGA/CPLD的结构分别具有特征和优点,总而言之,由三大部分构成的:1 .在逻辑阵列块LAB(LogicArrayBlock )或CLB(ConfigurableLogicBlock ),PLD 2 .输入输出块iob (I/o块)3.连接逻辑块的可编程连接阵列pia (programmableinterconnectarray )或者互连资源IR(InterconnectResources )可以是各种长度的整数倍、14、规模大,任何数字逻辑功能都可以完成,在实现系统集成之前验证设计的正确性,修正开发成本低的设计,不改造硬件电路,减少开发周期短的PCB面积,提高系统可靠性,提高PLD(CPLD/FPGA )的优点: CPLD与FPGA不同,制造技术不同,实现功能不同,FPGA:查找表技术SRAM工艺,CPLD :积项技术,Flash/EEPROM工艺,FPGA:时序逻辑电路,CPLD:组合逻辑电路,16,3,CPLD/CPLD 基于查找表的PLD的基本构造和逻辑实现原理、基于积项的PLD的基本构造和逻辑实现原理、基于积项的PLD的基本构造和逻辑实现原理、该FPGA的构造分为宏单元、可编程连接(PIA )、I/O控制块这3部分。 宏单元是设备的基本结构,实现基本逻辑功能的可编程连接负责信号传输,连接所有宏单元的I/O控制块负责输入输出的电气特性控制,例如可以设定开路集电极输出、转换速率控制、三态输出等此外,INPUT/GCLK1、INPUT/GCLRn、INPUT/OE1、INPUT/OE2是全局时钟、清零和输出使能信号,这些信号通过专用连接线连接到设备内的各宏小区,到各宏小区的信号延迟相同,延迟最小化、18、宏单元的具体结构、and或阵列、各交叉点为可编程熔丝、导通实现与逻辑、“or”阵列、可编程d触发器、19、积项结构的逻辑实现原理、f=f1 f2=A*C*! D B*C*! d,20,查找表的原理和构造,查找表LUT实质上是1个RAM,n位的地址线可以配置在n-1的RAM中。 当用户说明逻辑电路时,软件将计算所有可能的结果并将其写入RAM。 对每个信号进行逻辑运算等于输入地址并检查表,找出与地址对应的内容并输出结果,检查21、XilinxSpartan-II内部结构、22、Altera的FLEX/ACEX等芯片内部结构、23、表结构的逻辑实现原理D=A*C*! D B*C*! d .24、FPGA还是CPLD? 另外,由于CPLD的组合逻辑的功能强,宏单元能够分解十几个到20-30个的组合逻辑输入。 由于FPGA的LUT只能处理四个输入的组合逻辑,因此CPLD适用于设计解码等复杂的组合逻辑。 然而,FPGA的制造技术包括在FPGA芯片中的非常多的LUT和触发器,在许多情况下,通常仅能有数千万个CPLD的512个逻辑单元,并且如果芯片价格除以逻辑单元的数目,则FPGA的平均逻辑单元成本显着低于CPLD。 25、4、FPGA的设计方法、FPGA的一般设计方法有“自上而下”和“自下而上”,目前,大型FPGA设计一般选择“自上而下”的设计方法。 所谓“自上而下”设计方法,简单来说就是采用完全独立于芯片制造商及其产品结构的记述语言,在功能层定义设计产品,结合功能模拟技术确保设计的正确性,在功能定义完成后,利用逻辑集成技术,将功能记述转换为某个具体的结构芯片的网络列表文件,并由制造商布局布线的结果返回到同一仿真器,进行后验证,包括功能和计时,以确保布局布线导致的栅极延迟和线延迟不会影响设计性能。, 26,自上而下设计方法学,顶级模块,子模块1,子模块2,子模块3,叶单元,叶单元,叶单元,27,5,FPGA设计流程,(1)设计定义,(2)设计输入,布尔式HDL语言设计,(3)功能模拟,27,5,FPGA设计流程RTL代码中引用的制造商提供宏模块/IP,(4)逻辑整合,(5)前模拟,(6)布局布线,(7)后模拟,(8)静态时间序列分析(9)系统测试,28, 第3章VerilogHDL语言一、VerilogHDL设计模块的基本结构二、VerilogHDL词法结构三、VerilogHDL语句四、VerilogHDL记述方式五、VerilogHDL设计流程六、VerilogHDL记述数字电路的例子,二、硬件记述语言是可以描述硬件电路的功能、信号连接关系和时序(时间序列)关系的语言,用形式化数字电路和数字系统的方法来描述。 常用的硬件描述语言为VHDL、VerilogHDL,成为IEEE的工业标准硬件描述语言,得到了众多EDA公司的支持。30、VHDLVHDL主要可以用来描述数字系统的结构、动作、功能和接口。 VerilogHDLVerilogHDL是一种基于c语言发展的硬件描述语言,具有简洁、高效、易于使用的特点。 一种时延和波形生成机制,包括介绍.31、32、VerilogHDL语言、能力设计行为特征、设计数据流特征、设计结构结构、响应监控和设计验证。 提供了编程语言接口,可在模拟、验证过程中从设计外部访问设计。 包括模拟的具体控制和执行。 另外,主要功能基本逻辑门例如and、or、nand等也内置于语言中的交换级别的基本结构模型例如pmos、nmos等也内置于语言中,设计建模的两种数据类型能够描述分层设计, 可以使用模块实例结构描述在结构级别使用门和模块实例语句来结构描述任何层次,而VerilogHDL设计模块的基本结构VerilogHDL程序设计由模块(module )组成,设计模块的基本结构如图所示完整的VerilogHDL设计模块包括四个部分:端口定义、I/O声明、信号类型声明和功能描述。 1模块端口定义模块端口定义为了声明电路设计模块的输入输出端口,端口定义形式如下:模块模块名称(端口1、端口2、端口3、)。 在端口定义的括号中,设计电路模块是与外部连接的所有输入输出端口信号或引脚,设计实体是与外部的通信接口,是从外部可见的部分(不包括电源和接地端子),多个端口间用“、”分隔。 例如,1比特全加法器adder模块的端口或定义为模块adder (s、CO、a、b、CI )的模块名称adder、34,2信号类型声明信号类型声明声明声明设计电路的功能描述中使用的信号的数据类型和函数。 信号的数据类型主要是导线、寄存器(reg )、整数(integer )、实数(real )、时间(time )等。 信号声明的形式是wiremsb:lsb端口1、端口2、端口3、. regmsb:lsb端口1、端口2、端口3、3功能描述性功能描述是VerilogHDL程序设计中最主要的部分,用于描述设计模块的内部结构和模块端口之间的逻辑关系功能描述可以通过assign语句、instantiate方法、always块语句、initial块语句等方法实现,通常将设计模块描述的方法称为建模。 使用、 35,assign语句进行建模非常简单,只需在“assign”后添加公式即可。 assign语句通常适合分配给称为连续赋值方法的组合逻辑。 例11位全加法器的设计1位全加法器的逻辑符号: s是全加法器的和输出端,CO是进位输出端,a和b是2个进位输入端,CI是低位进位输入端。.36、全加法器的VerilogHDL源程序使用模块adder1(s、CO、a、b、CI ); inputA,b,CI; outputS,CO; wireS、CO、a、b、CI; assignCO,S=A B CI; 结束模块“assign co,S=A B CI; 语句实现1位全加法器的进位输出CO和输出s的建模。 在语句表达式中,使用组合运算符将两个1位操作数CO、s组合为一个2位操作数。 37、通过元件实例化(instantiate )方式对元件实例化方式进行模型化的模型化,利用VerilogHDL提供的库来实现。 例如,可以写为andandand3(y,a,b,c ),and是VerilogHDL库的and门设备名称,myand3是实例化的3输入侧and门名称,y是and门输出侧,a、b、c是输入侧。 通过always块语句对always块语句进行建模,可以生成各种逻辑,经常用于时间序列逻辑的功能描述。 编程模块可以包含一个或多个always语句。 程序执行中,满足某个条件时,反复执行always结构内的语句。 在图中表示、38、例如28比特二进制相加计数器的设计8比特二进制相加计数器的逻辑符号。 OUT是8比特二进制计数器的输出端(8比特向量),即COUT是进位输出端(1比特) DATA,并行数据输入端(8比特向量) LOAD是计数器的预设控制输入端,并且当LOAD=1时,OUT=DATA; CLK是时钟控制输入端,其中上升沿是有效边缘的CLR是同步复位输入端,并且当CLK的上升沿到达时,通过CLR=1复位计数器,并且OUT=00000000。 (逻辑符号图是计算

温馨提示

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

评论

0/150

提交评论