《电子技术与数字电路》课件第11章 可编程逻辑器件及其开发工具.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《电子技术与数字电路》课件第11章 可编程逻辑器件及其开发工具.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子技术与数字电路 电子技术与数字电路课件第11章 可编程逻辑器件及其开发工具 电子技术 数字电路 课件 11 可编程 逻辑 器件 及其 开发 工具
- 资源描述:
-
1、第第1111章章 可编程逻辑器件及其开发工具可编程逻辑器件及其开发工具本章主要内容本章主要内容(1)可编程逻辑器件概述可编程逻辑器件概述(2)FPGA的工作原理与基本结构的工作原理与基本结构(3)FPGA的设计与开发的设计与开发11.1 可编程逻辑器件(可编程逻辑器件(PLD)概述)概述11.1.1 PLD的产生的产生n传统的硬件电路设计方法一般是先选用标准通用集成电路传统的硬件电路设计方法一般是先选用标准通用集成电路芯片,再由这些芯片芯片,再由这些芯片“自下而上自下而上”地构成电路、子系统和地构成电路、子系统和系统。系统。n采用这种设计方法,对系统进行设计并调试完毕后,所形采用这种设计方法,
2、对系统进行设计并调试完毕后,所形成的设计文件主要是由若干张电原理图构成的文件。设计成的设计文件主要是由若干张电原理图构成的文件。设计者在电原理图中详细标注各逻辑单元、器件名称及互相间者在电原理图中详细标注各逻辑单元、器件名称及互相间的连接关系。的连接关系。n这种设计文件是用户使用和维护系统的依据。对于大系统,这种设计文件是用户使用和维护系统的依据。对于大系统,由于电路系统十分复杂,所以其电原理图可能需要成千上由于电路系统十分复杂,所以其电原理图可能需要成千上万张,这给阅读、归档、修改和使用均带来极大的麻烦。万张,这给阅读、归档、修改和使用均带来极大的麻烦。n近年来发展起来的电子设计自动化近年来
3、发展起来的电子设计自动化EDA技术,采用技术,采用“自上自上而下而下”的设计方法来进行逻辑电路的设计。的设计方法来进行逻辑电路的设计。n在这种崭新的设计方法中,可以由用户对整个电路系统进在这种崭新的设计方法中,可以由用户对整个电路系统进行方案设计和功能划分,系统地关键电路由一片或几片专行方案设计和功能划分,系统地关键电路由一片或几片专用集成电路用集成电路ASIC构成。构成。nASIC的设计与制造,已不再完全由半导体厂家独立承担,的设计与制造,已不再完全由半导体厂家独立承担,用户本身就可以在自己的实验室里设计出合适的用户本身就可以在自己的实验室里设计出合适的ASIC器器件,并且可以立即投入实际使
4、用之中。件,并且可以立即投入实际使用之中。n这种电子技术设计领域中的重大变革,主要得益于可编程这种电子技术设计领域中的重大变革,主要得益于可编程逻辑器件逻辑器件PLD的产生与应用。的产生与应用。n采用采用PLD技术,用户利用专门的硬件描述语言,根据自己技术,用户利用专门的硬件描述语言,根据自己的应用需求来定义和构造逻辑电路,描述其逻辑功能,利的应用需求来定义和构造逻辑电路,描述其逻辑功能,利用用EDA工具软件,经过特定的编译或转换程序,生成相应工具软件,经过特定的编译或转换程序,生成相应的目标文件,再由编程器和下载电缆将设计文件配置到的目标文件,再由编程器和下载电缆将设计文件配置到PLD器件中
5、,即可得到满足用户要求的专用集成电路了。器件中,即可得到满足用户要求的专用集成电路了。nPLD的产生与应用,不仅简化了电路设计,降低了成本,的产生与应用,不仅简化了电路设计,降低了成本,提高了系统的可靠性,而且还有力地推动了数字电路设计提高了系统的可靠性,而且还有力地推动了数字电路设计方法的革新。方法的革新。11.1.2 PLD的发展的发展1.可编程只读存储器可编程只读存储器(PROM)2.可编程逻辑阵列可编程逻辑阵列(PLA)3可编程阵列逻辑可编程阵列逻辑(PAL)4通用阵列逻辑通用阵列逻辑(GAL)n上述上述PROM、PLA、PAL和和GAL器件结构简单,对开发软器件结构简单,对开发软件的
6、要求低,但它们的电路规模小,难以实现复杂的逻辑件的要求低,但它们的电路规模小,难以实现复杂的逻辑功能,所以均属简单可编程器件功能,所以均属简单可编程器件(SPLD)。n随着技术的发展,包括随着技术的发展,包括CPLD(Complex Programmable Logic Device)和和FPGA在内的复杂在内的复杂PLD器件迅速发展起来。器件迅速发展起来。5.现场可编程门阵列现场可编程门阵列(FPGA)n1985年,年,XiLinx公司推出世界上第一片现场可编程门阵列公司推出世界上第一片现场可编程门阵列FPGA。它是一种新型高密度的。它是一种新型高密度的PLD器件,采用器件,采用COMS-S
7、RAM工艺制作,其内部有许多独立的可编程逻辑模块工艺制作,其内部有许多独立的可编程逻辑模块(CLB)组成,逻辑模块之间可以灵活地至连起来。)组成,逻辑模块之间可以灵活地至连起来。nFPGA结构通常包括三种逻辑模块:结构通常包括三种逻辑模块:可编程逻辑模块可编程逻辑模块(CLB)、)、可编程输入可编程输入/输出模块输出模块(I/OB)和)和可编程连线可编程连线资源资源(PI)。)。n较复杂的较复杂的FPGA结构中还有其他一些功能模块。结构中还有其他一些功能模块。n CLB的功能很强,不仅能实现逻辑函数,还可以配置成移的功能很强,不仅能实现逻辑函数,还可以配置成移位寄存器或位寄存器或RAM等复杂形
8、式。等复杂形式。n 配置数据存放在片内的配置数据存放在片内的SRAM或者熔丝图上,基于或者熔丝图上,基于SRAM的的FPGA器件工作前需要从芯片外部加载配置数据。器件工作前需要从芯片外部加载配置数据。n加载的配置数据可以存储在片外的加载的配置数据可以存储在片外的E2PROM或者计算机上,或者计算机上,设计人员可以控制加载过程,在现场修改器件的逻辑功能,设计人员可以控制加载过程,在现场修改器件的逻辑功能,即所谓现场可编程。即所谓现场可编程。11.1.3 PLD的主要特点的主要特点1.高密度高密度 2.低功耗低功耗 3.高速度高速度4.高开发效率高开发效率n各种各种PLD均有相应开发工具软件给予支
9、持,电路设计人员均有相应开发工具软件给予支持,电路设计人员在很短的时间内就可以完成电路输入、编译、仿真、综合在很短的时间内就可以完成电路输入、编译、仿真、综合和配置(编程),直至最后芯片的制作,从根本上改变了和配置(编程),直至最后芯片的制作,从根本上改变了传统的电子电路设计方法。传统的电子电路设计方法。n另外,另外,PLD本身可以反复编程、擦除、从而使开发、设计本身可以反复编程、擦除、从而使开发、设计效率得到极大的提高。效率得到极大的提高。11.1.4 PLD的基本结构的基本结构n PLD的基本结构是由的基本结构是由“与阵列与阵列”、“或阵列或阵列”、输出缓、输出缓冲电路和输出电路冲电路和输
10、出电路构成,反馈信号通过内部反馈通道馈送构成,反馈信号通过内部反馈通道馈送到输入端,如图到输入端,如图11.1 所示。所示。n“与阵列与阵列”和和“或阵列或阵列”是是PLD电路的主体,电路的主体,“与阵列与阵列”用来产生乘积项,用来产生乘积项,“或阵列或阵列”用来产生乘积项之和。用来产生乘积项之和。n输入缓冲电路可以使输入信号具有足够的驱动能力,并产输入缓冲电路可以使输入信号具有足够的驱动能力,并产生输入变量的原变量和反变量。生输入变量的原变量和反变量。n根据电路功能的不同,根据电路功能的不同,PLD可以由可以由“或阵列或阵列”直接输出直接输出(组合电路方式),也可以通过触发器或寄存器输出(时
11、(组合电路方式),也可以通过触发器或寄存器输出(时序电路方式)。输出可以是高电平有效,也可以是低电平序电路方式)。输出可以是高电平有效,也可以是低电平有效,输出端通常都采用三态门结构。有效,输出端通常都采用三态门结构。11.1 PLD的结构框图的结构框图11.2 PGA的工作原理与基本结构的工作原理与基本结构11.2.1 FPGA的工作原理的工作原理n由于由于FPGA可以被反复擦写,因此它所实现的逻辑电路不可以被反复擦写,因此它所实现的逻辑电路不是通过固定门电路的连接来完成,而是采用一种易于反复是通过固定门电路的连接来完成,而是采用一种易于反复配置的结构,查找表可以很好地满足这一要求。配置的结
12、构,查找表可以很好地满足这一要求。n目前,主流目前,主流FPGA都采用了基于都采用了基于SRAM的查找表结构,也的查找表结构,也有一些高可靠性要求的有一些高可靠性要求的FPGA产品采用产品采用Flash或者熔丝工艺或者熔丝工艺的查找表结构。可通过擦写文件改变查找表内容的方法来的查找表结构。可通过擦写文件改变查找表内容的方法来实现对实现对FPGA的重复配置。的重复配置。n根据数字电路的基本原理,对于一个具有根据数字电路的基本原理,对于一个具有n个输入的逻辑个输入的逻辑运算,不管是与、或、非运算还是运算,不管是与、或、非运算还是“异或异或”运算,最多有运算,最多有2n中输出结果。所以,如果事先将输
13、入变量的所有取值可中输出结果。所以,如果事先将输入变量的所有取值可能及对应输出结果(即真值表)存放于一个能及对应输出结果(即真值表)存放于一个RAM存储器存储器中,然后通过查表来由输入找到对应的输出值,就相当于中,然后通过查表来由输入找到对应的输出值,就相当于实现了与真值表的内容相对应的逻辑电路的功能。实现了与真值表的内容相对应的逻辑电路的功能。nFPGA的基本原理就是如此,它通过擦写文件去配置查找的基本原理就是如此,它通过擦写文件去配置查找表的内容,从而在相同的电路情况下实现了不同的逻辑功表的内容,从而在相同的电路情况下实现了不同的逻辑功能。能。n查找表(查找表(Look-Up-Table)
14、简称简称LUT,LUT实际上就是一实际上就是一个个RAM。目前,。目前,FPGA中多数使用中多数使用4输入的输入的LUT,每一个,每一个LUT可以看成一个有可以看成一个有4位地址线的位地址线的161的的RAM。n当用户通过原理图或硬件描述语言当用户通过原理图或硬件描述语言HDL描述了一个逻辑电描述了一个逻辑电路以后,路以后,FPGA开发软件就会自动计算逻辑电路的所有可开发软件就会自动计算逻辑电路的所有可能结果,并把这些计算结果(即逻辑电路的真值表)事先能结果,并把这些计算结果(即逻辑电路的真值表)事先写入写入RAM中,这样,每输入一组逻辑值进行逻辑运算时,中,这样,每输入一组逻辑值进行逻辑运算
15、时,就等于输入一个地址进行查表,找到地址对应的内容后进就等于输入一个地址进行查表,找到地址对应的内容后进行输出即可。行输出即可。n基于基于SRAM结构的结构的FPGA在使用时需要外接一个片外存储在使用时需要外接一个片外存储器(常用器(常用E2PROM)来保存设计文件所生成的配置数据。)来保存设计文件所生成的配置数据。n上电时,上电时,FPGA将片外存储器中的数据读入片内将片外存储器中的数据读入片内RAM中,中,完成配置后进入工作状态;完成配置后进入工作状态;n掉电后,掉电后,FPGA恢复为白片,内部逻辑消失。这样,恢复为白片,内部逻辑消失。这样,FPGA可以反复擦写。这种特性非常易于实现设备功
16、能的可以反复擦写。这种特性非常易于实现设备功能的更新和升级。更新和升级。11.2.2 FPGA的基本结构的基本结构nFPGA的基本组成结构包括可编程输入的基本组成结构包括可编程输入/输出模块、可编程输出模块、可编程逻辑模块、可编程布线资源、内嵌块逻辑模块、可编程布线资源、内嵌块RAM、底层内嵌功、底层内嵌功能单元和内嵌专用硬件模块等,能单元和内嵌专用硬件模块等,如图如图11.2所示所示。图图11.2 FPGA的结构框图的结构框图1.可编程输入可编程输入/输出模块(输出模块(IOB)nIOB使使FPGA芯片与外界电路的接口部分,用于完成不同芯片与外界电路的接口部分,用于完成不同电路特性下对输入电
17、路特性下对输入/输出信号的驱动与配置要求。一种结输出信号的驱动与配置要求。一种结构比较简单的构比较简单的FPGA芯片(芯片(Xilinx 公司的公司的XC2064)的)的IOB结构如图结构如图11.3所示。所示。n由图可见,它由一个输出缓冲器、一个输入缓冲器、一个由图可见,它由一个输出缓冲器、一个输入缓冲器、一个D触发器和两个多路选择器(触发器和两个多路选择器(MUX1和和MUX2)组成。一)组成。一个个IOB与一个外部引脚相连,在与一个外部引脚相连,在IOB的控制下,外部引脚的控制下,外部引脚可以为输入、输出或者双向信号使用。可以为输入、输出或者双向信号使用。图图11.3 可编程输入可编程输
18、入/输出模块输出模块n每个每个IOB中含有一条可编程输入通道和一条可编程输出通中含有一条可编程输入通道和一条可编程输出通道。道。当多路选择器当多路选择器MUX1输出为高电平时输出为高电平时,输出缓冲器的,输出缓冲器的输出端处于高阻态,外部输出端处于高阻态,外部I/O引脚用作输入端,输入信号引脚用作输入端,输入信号经输入缓冲器转换为适合芯片内部工作的信号,同时,缓经输入缓冲器转换为适合芯片内部工作的信号,同时,缓冲后的输入信号被送到冲后的输入信号被送到D触发器的触发器的D输入端和多路选择器输入端和多路选择器MUX2的一个输入端。的一个输入端。n 用户可编程选择直接输入方式(即不经用户可编程选择直
19、接输入方式(即不经D触发器而直接触发器而直接送入送入MUX2)或者寄存器输入方式(即经)或者寄存器输入方式(即经D触发器寄存后触发器寄存后再送入再送入MUX2)。)。n当多路选择器当多路选择器MUX1输出为低电平时输出为低电平时,外部,外部I/O引脚作输引脚作输出端使用。出端使用。2.可编辑逻辑模块(可编辑逻辑模块(CLB)nCLB是可编辑逻辑的主体,以矩阵形式安排在器件中心,是可编辑逻辑的主体,以矩阵形式安排在器件中心,其实际数量和特性依器件不同而不同。其实际数量和特性依器件不同而不同。n每个每个CLB中包含组合逻辑电路、存储电路和由一些多路选中包含组合逻辑电路、存储电路和由一些多路选择器组
20、成的内部控制电路,外有择器组成的内部控制电路,外有4个通用输入端个通用输入端A、B、C、D,2个输出端个输出端X、Y和一个专用的时钟输入端和一个专用的时钟输入端K,如图如图11.4所示。所示。n组合逻辑电路部分可以根据需要将其编程为组合逻辑电路部分可以根据需要将其编程为3种不同的组种不同的组合逻辑形式,分别产生一个合逻辑形式,分别产生一个4输入变量的函数、两个输入变量的函数、两个3输入输入变量的函数和一个变量的函数和一个5输入变量的函数,输入变量可以来自输入变量的函数,输入变量可以来自CLB的的4个输入端,也可以来自个输入端,也可以来自CLB内部触发器的内部触发器的Q端输端输出,使整个控制逻辑
21、具有较强的灵活性。出,使整个控制逻辑具有较强的灵活性。图图11.4 FPGA(XC2064)的的CLB结构结构3.可编程布线资源(可编程布线资源(PI)nFPGA芯片内部有着丰富的布线资源。根据工艺、连线长芯片内部有着丰富的布线资源。根据工艺、连线长度、宽度和布线位置的不同而划分为度、宽度和布线位置的不同而划分为4种类型种类型。n第一类是全局布线资源第一类是全局布线资源,用于芯片内部全局时钟和全局复,用于芯片内部全局时钟和全局复位位/置位信号的布线;置位信号的布线;n第二类是长线资源第二类是长线资源,用于完成芯片中各模块间信号的长距,用于完成芯片中各模块间信号的长距离传输,或用于以最短路径将信
22、号传送到多个目的地的情离传输,或用于以最短路径将信号传送到多个目的地的情况;况;n第三类是短线资源第三类是短线资源,它具有连线短、延迟小的特点,例如,它具有连线短、延迟小的特点,例如CLB的输出的输出X与它上下相邻的与它上下相邻的CLB输入的连接;输入的连接;n第四类是分布式的布线资源第四类是分布式的布线资源,用于专有时钟、复位等控制,用于专有时钟、复位等控制信号线。信号线。n需要说明的是,在实际设计中,设计者并不需要直接选择需要说明的是,在实际设计中,设计者并不需要直接选择布线资源,布局布线器(软件)可自动地根据输入逻辑网布线资源,布局布线器(软件)可自动地根据输入逻辑网表的拓扑结构和约束条
23、件选择布线资源来连通各个模块单表的拓扑结构和约束条件选择布线资源来连通各个模块单元。元。4.内嵌块内嵌块RAM(BRAM)n目前大多数目前大多数FPGA都具有内嵌块都具有内嵌块RAM(BLOCK RAM),),这大大拓展了这大大拓展了FPGA的应用范围和灵活性。的应用范围和灵活性。FPGA内嵌的内嵌的块块RAM一般可以灵活地配置为单端口一般可以灵活地配置为单端口RAM、双端口、双端口RAM、内容地址存储器内容地址存储器CAM(Content Addressable Memory)和和FIFO等常用存储结构。等常用存储结构。n在在CAM存储器存储器内部的每个存储单元中都有一个比较逻辑,内部的每个
24、存储单元中都有一个比较逻辑,写入写入CAM中的数据会和其内部存储的每一个数据进行比中的数据会和其内部存储的每一个数据进行比较,并返回与端口数据相同的所有内部数据的地址。这种较,并返回与端口数据相同的所有内部数据的地址。这种功能特性在路由的地址交换器中有广泛的应用。功能特性在路由的地址交换器中有广泛的应用。5.底层内嵌功能单元底层内嵌功能单元n底层内嵌功能单元指的是那些通用程度较高的嵌入式功能底层内嵌功能单元指的是那些通用程度较高的嵌入式功能模块,如模块,如DLL(Delay Locked Loop)、)、PLL(Phase Locked Loop)、DSP和和CPU等。等。n正是由于集成了丰富
25、的内嵌功能单元,才使正是由于集成了丰富的内嵌功能单元,才使FPGA能够满能够满足各种不同场合的需求。足各种不同场合的需求。nDLL和和PLL具有类似的功能,可以完成时钟高精度,低抖具有类似的功能,可以完成时钟高精度,低抖动的倍频和分频,以及占空比调整和移相等功能。动的倍频和分频,以及占空比调整和移相等功能。6.内嵌专用硬核内嵌专用硬核n内嵌专用硬核(内嵌专用硬核(Hard Core)是相对底层嵌入的软核而言)是相对底层嵌入的软核而言的。的。FPGA中处理能力强大的硬核,等效于中处理能力强大的硬核,等效于ASIC电路。电路。n为了提高为了提高FPGA的乘法速度,主流的的乘法速度,主流的FPGA都
展开阅读全文