{PLD可编程逻辑器件}第11章可编程逻辑器件及其开发工具

上传人:卓****库 文档编号:140603448 上传时间:2020-07-30 格式:PPTX 页数:87 大小:974.56KB
返回 下载 相关 举报
{PLD可编程逻辑器件}第11章可编程逻辑器件及其开发工具_第1页
第1页 / 共87页
{PLD可编程逻辑器件}第11章可编程逻辑器件及其开发工具_第2页
第2页 / 共87页
{PLD可编程逻辑器件}第11章可编程逻辑器件及其开发工具_第3页
第3页 / 共87页
{PLD可编程逻辑器件}第11章可编程逻辑器件及其开发工具_第4页
第4页 / 共87页
{PLD可编程逻辑器件}第11章可编程逻辑器件及其开发工具_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《{PLD可编程逻辑器件}第11章可编程逻辑器件及其开发工具》由会员分享,可在线阅读,更多相关《{PLD可编程逻辑器件}第11章可编程逻辑器件及其开发工具(87页珍藏版)》请在金锄头文库上搜索。

1、第11章 可编程逻辑器件及其开发工具,本章主要内容,(1) 可编程逻辑器件概述 (2) FPGA的工作原理与基本结构 (3) FPGA的设计与开发,11.1 可编程逻辑器件(PLD)概述,11.1.1 PLD的产生 传统的硬件电路设计方法一般是先选用标准通用集成电路芯片,再由这些芯片“自下而上”地构成电路、子系统和系统。 采用这种设计方法,对系统进行设计并调试完毕后,所形成的设计文件主要是由若干张电原理图构成的文件。设计者在电原理图中详细标注各逻辑单元、器件名称及互相间的连接关系。 这种设计文件是用户使用和维护系统的依据。对于大系统,由于电路系统十分复杂,所以其电原理图可能需要成千上万张,这给

2、阅读、归档、修改和使用均带来极大的麻烦。,近年来发展起来的电子设计自动化EDA技术,采用“自上而下”的设计方法来进行逻辑电路的设计。 在这种崭新的设计方法中,可以由用户对整个电路系统进行方案设计和功能划分,系统地关键电路由一片或几片专用集成电路ASIC构成。 ASIC的设计与制造,已不再完全由半导体厂家独立承担,用户本身就可以在自己的实验室里设计出合适的ASIC器件,并且可以立即投入实际使用之中。 这种电子技术设计领域中的重大变革,主要得益于可编程逻辑器件PLD的产生与应用。,采用PLD技术,用户利用专门的硬件描述语言,根据自己的应用需求来定义和构造逻辑电路,描述其逻辑功能,利用EDA工具软件

3、,经过特定的编译或转换程序,生成相应的目标文件,再由编程器和下载电缆将设计文件配置到PLD器件中,即可得到满足用户要求的专用集成电路了。 PLD的产生与应用,不仅简化了电路设计,降低了成本,提高了系统的可靠性,而且还有力地推动了数字电路设计方法的革新。,11.1.2 PLD的发展,1.可编程只读存储器(PROM) 2.可编辑逻辑阵列(PLA) 3可编程阵列逻辑(PAL) 4通用阵列逻辑(GAL) 上述PROM、PLA、PAL和GAL器件结构简单,对开发软件的要求低,但它们的电路规模小,难以实现复杂的逻辑功能,所以均属简单可编程器件(SPLD)。 随着技术的发展,包括CPLD(Complex P

4、rogrammable Logic Device)和FPGA在内的复杂PLD器件迅速发展起来。,5. 现场可编程门阵列(FPGA) 1985年,XiLinx公司推出世界上第一片现场可编程门阵列FPGA。它是一种新型高密度的PLD器件,采用COMS-SRAM工艺制作,其内部有许多独立的可编程逻辑模块(CLB)组成,逻辑模块之间可以灵活地至连起来。 FPGA结构通常包括三种逻辑模块:可编程逻辑模块(CLB)、可编程输入/输出模块(I/OB)和可编程连线资源(PI)。 较复杂的FPGA结构中还有其他一些功能模块。,CLB的功能很强,不仅能实现逻辑函数,还可以配置成移位寄存器或RAM等复杂形式。 配置

5、数据存放在片内的SRAM或者熔丝图上,基于SRAM的FPGA器件工作前需要从芯片外部加载配置数据。 加载的配置数据可以存储在片外的E2PROM或者计算机上,设计人员可以控制加载过程,在现场修改器件的逻辑功能,即所谓现场可编程。,11.1.3 PLD的主要特点,1. 高密度 2. 低功耗 3. 高速度 4. 高开发效率 各种PLD均有相应开发工具软件给予支持,电路设计人员在很短的时间内就可以完成电路输入、编译、仿真、综合和配置(编程),直至最后芯片的制作,从根本上改变了传统的电子电路设计方法。 另外,PLD本身可以反复编程、擦除、从而使开发、设计效率得到极大的提高。,11.1.4 PLD的基本结

6、构,PLD的基本结构是由“与阵列”、“或阵列”、输出缓冲电路和输出电路构成,反馈信号通过内部反馈通道馈送到输入端,如图11.1 所示。 “与阵列”和“或阵列”是PLD电路的主体,“与阵列”用来产生乘积项,“或阵列”用来产生乘积项之和。 输入缓冲电路可以使输入信号具有足够的驱动能力,并产生输入变量的原变量和反变量。,根据电路功能的不同,PLD可以由“或阵列”直接输出(组合电路方式),也可以通过触发器或寄存器输出(时序电路方式)。输出可以是高电平有效,也可以是低电平有效,输出端通常都采用三态门结构。 11.1 PLD的结构框图,11.2 PGA的工作原理与基本结构,11.2.1 FPGA的工作原理

7、 由于FPGA可以被反复擦写,因此它所实现的逻辑电路不是通过固定门电路的连接来完成,而是采用一种易于反复配置的结构,查找表可以很好地满足这一要求。 目前,主流FPGA都采用了基于SRAM的查找表结构,也有一些高可靠性要求的FPGA产品采用Flash或者熔丝工艺的查找表结构。可通过擦写文件改变查找表内容的方法来实现对FPGA的重复配置。,根据数字电路的基本原理,对于一个具有n个输入的逻辑运算,不管是与、或、非运算还是“异或”运算,最多有2n中输出结果。所以,如果事先将输入变量的所有取值可能及对应输出结果(即真值表)存放于一个RAM存储器中,然后通过查表来由输入找到对应的输出值,就相当于实现了与真

8、值表的内容相对应的逻辑电路的功能。 FPGA的基本原理就是如此,它通过擦写文件去配置查找表的内容,从而在相同的电路情况下实现了不同的逻辑功能。,查找表(Look-Up-Table)简称LUT,LUT实际上就是一个RAM。目前,FPGA中多数使用4输入的LUT,每一个LUT可以看成一个有4位地址线的161的RAM。 当用户通过原理图或硬件描述语言HDL描述了一个逻辑电路以后,FPGA开发软件就会自动计算逻辑电路的所有可能结果,并把这些计算结果(即逻辑电路的真值表)事先写入RAM中,这样,每输入一组逻辑值进行逻辑运算时,就等于输入一个地址进行查表,找到地址对应的内容后进行输出即可。,基于SRAM结

9、构的FPGA在使用时需要外接一个片外存储器(常用E2PROM)来保存设计文件所生成的配置数据。 上电时,FPGA将片外存储器中的数据读入片内RAM中,完成配置后进入工作状态; 掉电后,FPGA恢复为白片,内部逻辑消失。这样,FPGA可以反复擦写。这种特性非常易于实现设备功能的更新和升级。,11.2.2 FPGA的基本结构,FPGA的基本组成结构包括可编程输入/输出模块、可编程逻辑模块、可编程布线资源、内嵌块RAM、底层内嵌功能单元和内嵌专用硬件模块等,如图11.2所示。 图11.2 FPGA的结构框图,1. 可编程输入/输出模块(IOB) IOB使FPGA芯片与外界电路的接口部分,用于完成不同

10、电路特性下对输入/输出信号的驱动与配置要求。一种结构比较简单的FPGA芯片(Xilinx 公司的XC2064)的IOB结构如图11.3所示。 由图可见,它由一个输出缓冲器、一个输入缓冲器、一个D触发器和两个多路选择器(MUX1和MUX2)组成。一个IOB与一个外部引脚相连,在IOB的控制下,外部引脚可以为输入、输出或者双向信号使用。,图11.3 可编程输入/输出模块,每个IOB中含有一条可编程输入通道和一条可编程输出通道。当多路选择器MUX1输出为高电平时,输出缓冲器的输出端处于高阻态,外部I/O引脚用作输入端,输入信号经输入缓冲器转换为适合芯片内部工作的信号,同时,缓冲后的输入信号被送到D触

11、发器的D输入端和多路选择器MUX2的一个输入端。 用户可编程选择直接输入方式(即不经D触发器而直接送入MUX2)或者寄存器输入方式(即经D触发器寄存后再送入MUX2)。 当多路选择器MUX1输出为低电平时,外部I/O引脚作输出端使用。,2. 可编辑逻辑模块(CLB) CLB是可编辑逻辑的主体,以矩阵形式安排在器件中心,其实际数量和特性依器件不同而不同。 每个CLB中包含组合逻辑电路、存储电路和由一些多路选择器组成的内部控制电路,外有4个通用输入端A、B、C、D,2个输出端X、Y和一个专用的时钟输入端K,如图11.4所示。 组合逻辑电路部分可以根据需要将其编程为3种不同的组合逻辑形式,分别产生一

12、个4输入变量的函数、两个3输入变量的函数和一个5输入变量的函数,输入变量可以来自CLB的4个输入端,也可以来自CLB内部触发器的Q端输出,使整个控制逻辑具有较强的灵活性。,图11.4 FPGA(XC2064) 的CLB结构,3. 可编程布线资源(PI) FPGA芯片内部有着丰富的布线资源。根据工艺、连线长度、宽度和布线位置的不同而划分为4种类型。 第一类是全局布线资源,用于芯片内部全局时钟和全局复位/置位信号的布线; 第二类是长线资源,用于完成芯片中各模块间信号的长距离传输,或用于以最短路径将信号传送到多个目的地的情况; 第三类是短线资源,它具有连线短、延迟小的特点,例如CLB的输出X与它上下

13、相邻的CLB输入的连接;,第四类是分布式的布线资源,用于专有时钟、复位等控制信号线。 需要说明的是,在实际设计中,设计者并不需要直接选择布线资源,布局布线器(软件)可自动地根据输入逻辑网表的拓扑结构和约束条件选择布线资源来连通各个模块单元。,4. 内嵌块RAM(BRAM) 目前大多数FPGA都具有内嵌块RAM(BLOCK RAM),这大大拓展了FPGA的应用范围和灵活性。FPGA内嵌的块RAM一般可以灵活地配置为单端口RAM、双端口RAM、内容地址存储器CAM(Content Addressable Memory)和FIFO等常用存储结构。 在CAM存储器内部的每个存储单元中都有一个比较逻辑,

14、写入CAM中的数据会和其内部存储的每一个数据进行比较,并返回与端口数据相同的所有内部数据的地址。这种功能特性在路由的地址交换器中有广泛的应用。,5. 底层内嵌功能单元 底层内嵌功能单元指的是那些通用程度较高的嵌入式功能模块,如DLL(Delay Locked Loop)、PLL(Phase Locked Loop)、DSP和CPU等。 正是由于集成了丰富的内嵌功能单元,才使FPGA能够满足各种不同场合的需求。 DLL和PLL具有类似的功能,可以完成时钟高精度,低抖动的倍频和分频,以及占空比调整和移相等功能。,6. 内嵌专用硬核 内嵌专用硬核(Hard Core)是相对底层嵌入的软核而言的。FP

15、GA中处理能力强大的硬核,等效于ASIC电路。 为了提高FPGA的乘法速度,主流的FPGA都集成了专用乘法器; 为了适用通信总线与接口标准,很多高端的FPGA内部都集成了串并收发器(SERDES),可以达到几十吉比特/秒(G bps)的收发速度。,11.2.3 IP核简介,IP (Intelligent Property)核是具有知识产权的集成电路芯核的总称,是经过反复验证的、具有特定功能的宏模块,与芯片制造工艺无关,可以移植到不同的半导体工艺中。 目前,IP核已经变成系统设计的基本单元,并作为独立设计成果被交换,转让和销售。 从IP核的提供方式上,通常将其分为软核、硬核和固核三种类型。从完成

16、IP核所花费的成本来讲,硬核代价最大;从使用灵活性来讲,软核的可复用性最高。,1. 软核 在EDA设计领域中,软核指的是综合(Synthesis)之前的寄存器传输级(RTL)模型。 具体在FPGA设计中,指的是对电路的硬件语言描述,包括逻辑描述、网表和帮助文档等。软核只经过功能仿真,需要经过综合以及布局布线后才能使用。其优点是灵活性高,可移植性强,允许用户自己配置。 其缺点是对模块的可预测性较低,在后续设计中存在发生错误的可能性,存在一定的设计风险。软核是IP较应用最广泛的形式。,2. 固核 在EDA设计领域中,固核指的是带有平面规划信息的网表。具体在FPGA设计中,可以看作带有布局规划的软核,通常以RTL代码和对应具体工艺网表的混合形式提供。 将RTL描述结合具体标准单元库进行综合优化设计,形成门级网表,再通过布局布线工具即可使用。 与软核相比,固核的设计灵活性稍差,但在可预测性上有较大提高。目前,固核也是IP核的主流形成之

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号