




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章可编程逻辑器件6.1概述6.2简单可编程逻辑器件(SPLD)6.3复杂可编程逻辑器件(CPLD)6.4现场可编程逻辑阵列(FPGA)
6.1概
述
数字逻辑器件的发展如图6-1所示(图中的白色区块表示对应的半导体技术和产品虽然已经出现,但没有得到大规模的推广和应用)。
图6-1数字逻辑器件的发展
由于可编程逻辑器件的逻辑功能和电路结构可以通过电学和逻辑编程的方式进行变换,因此最先出现的SPLD的功能和意义并不仅仅局限于将印制板上多个分立的54或74标准逻辑器件集成到一个SPLD芯片中,它提高了系统的性能和可靠性,降低了印制板和系统的成本,更重要的是,SPLD芯片的逻辑功能和电路结构将可以按照系统的功能需求进行编程,极大地方便了系统原型的建构、系统功能的验证和完善,具有重要的设计方法学的突破意义。随着SPLD的成功应用、推广以及半导体技术的不断成熟和发展,性能更先进、功能更复杂的复杂可编程逻辑器件和现场可编程逻辑阵列也在不断推出并得到推广应用。可编程逻辑器件的分类如图6-2所示。
图6-2可编程逻辑器件的分类
6.2简单可编程逻辑器件(SPLD)
如图6-2所示,简单可编程逻辑器件可分为PROM、PLA、PAL和GAL等不同种类的器件,这些SPLD的结构可以统一概括为图6-3所示的基本结构,由输入电路、与阵列、或阵列和输出电路四部分组成。其中,与阵列和或阵列用于实现逻辑函数和功能,它是SPLD的核心部分。
图6-3SPLD器件的基本结构
6.2.1PROM器件
第一种SPLD是PROM器件。PROM器件于1970年问世,主要用来存储计算机的程序指令和常数,但设计人员也利用PROM来实现查找表和有限状态机等一些简单的逻辑功能。实际上,利用PROM器件可以方便地实现任意组合电路,这是通过一个固定的与阵列和一个可编程的或阵列组合来实现的。一个具有三输入、三输出的未编程PROM器件的结构如图6-4所示。在该结构中,与阵列固定地生成所有输入信号的逻辑小项,而或阵列则通过编程,实现任意小项之和。
图6-4未编程的PROM器件的结构
如果我们希望实现一个如图6-5所示的简单组合逻辑电路,则图6-4中或阵列的编程情况如图6-6所示。图6-5一个简单的组合逻辑电路
图6-6-PROM中的或阵列编程
6.2.2PLA器件
为了克服PROM器件中固定与阵列的局限,设计人员在1975年推出了可编程逻辑阵列器件。PLA器件是简单可编程器件中配置最灵活的一种器件,它的与阵列和或阵列都是可以编程的。一个未编程的PLA器件的结构如图6-7所示。
我们利用PLA器件来实现下列等式:
则对应的PLA器件的与阵列和或阵列的编程情况如图6-8所示。
图6-7未编程的PLA器件的结构
图6-8PLA器件的与阵列和或阵列的编程
6.2.3PAL器件
为了克服PLA器件速度慢的问题,设计人员于20世纪70年代末期推出了一种新型的器件:可编程阵列逻辑(PAL,ProgrammableArrayLogic)器件。PAL器件的结构与PROM器件的正好相反,与阵列是可编程的,而或阵列则是固定的。未编程的PAL器件的结构如图6-9所示。
图6-9未编程的PAL器件的结构
6.3复杂可编程逻辑器件(CPLD)
虽然各家公司生产的CPLD存在一定的差异,但CPLD的基本结构相同,如图6-10所示。CPLD中包含多个SPLD模块,这些SPLD模块之间通过可编程的互连矩阵连接起来。在
对CPLD编程时,不但需要对其中的每一个SPLD模块进行编程,而且SPLD模块之间的互连线也需要通过可编程互连阵列进行编程。不同生产厂家,不同产品系列的CPLD中所采用的可编程开关存在着差异,可编程开关可以利用EPROM、E2PROM、FLASH和SRAM单元来实现。
图6-10CPLD的基本结构
CPLD通常可以实现数千至上万个等效逻辑门,同时CPLD的集成度、速度和体系结构复杂度也在不断地提高。典型的CPLD的特征参数如表6-1所示。
6.4现场可编程逻辑阵列(FPGA)
为了弥补可编程器件和ASIC芯片之间的差距,Xilinx公司于1984年推出了一种新型的可编程逻辑器件,它被称为现场可编程逻辑阵列,即FPGA(FieldProgrammableGateArrays)。FP_x0002_GA和SPLD、CPLD的关系如图6-11所示。
图6-11FPGA和SPLD、CPLD的对比
FPGA的基本结构如图6-12所示。对于FPGA结构的一种形象化的描述是:大量的可编程逻辑功能模块的“小岛”,被可编程的、互连的“海洋”所包围。
图6-12FPGA的基本结构
从CPLD发展到FPGA,并不仅仅是规模和集成度的进一步提升,FPGA的体系结构远远复杂于CPLD,它们的对比如图6-13所示。从图中可以看出,CPLD更适合于实现具有更多的组合电路,而寄存器数目受限的简单设计,同时,CPLD的连线延迟是可以准确地预估的,它的输入/输出引脚数目较少;FPGA更适合于实现规模更大,寄存器更加密集的针对数据路径处理的复杂设计,FPGA具有更加灵活的布线策略、更多的输入/输出引脚数目。
图6-13CPLD和FPGA的体系结构比较
6.4.2FPGA的特征
典型的FPGA的特征参数如表6-2所示。随着半导体工艺技术的不断发展和商业竞争的日趋激烈,FPGA的集成度、复杂度、速度和I/O引脚数目也在不断提高,同时,FPGA的体系架构也在不断发展,容量更大的嵌入式RAM模块、嵌入式处理器硬核和软核、专用硬件乘法器、高速通信模块等功能模块被集成到FPGA中。结合先进的EDA设计工具,这些新型FPGA可以支持设计者在很短的时间内完成复杂的设计。
FPGA器件的编程技术包括SRAM、反熔丝、EPROM和E2PROM四种,它们的特点如下:
(1)基于SRAM的编程技术。
(2)基于反熔丝的编程技术。
(3)基于EPROM的编程技术。
(4)基于E2PROM的编程技术。
基于SRAM技术的FPGA器件可以实现在系统内部的在线动态编程,这对系统的快速原型设计和开发带来了极大的便利。由于在原型系统设计和开发中,往往需要对FPGA器件的功能进行多次修改,因此基于SRAM技术的FPGA器件是原型系统设计和开发中的最佳选择。主流FP_x0002_GA生产厂家所采用的编程技术如表6-3所示。
6.4.3基于SRAM技术的FPGA的结构特点
FPGA的基本结构如图6-14所示,在芯片的中央是逻辑模块的阵列,这些逻辑模块之间通过可编程的互连布线矩阵相连接。在芯片的四边是一个由I/O单元组成的环,I/O单元可以通过编程来支持不同的接口标准。FPGA的这种灵活的结构可以支持和覆盖范围极为广大的同步时序电路和组合电路的编程和实现。
图6-14FPGA的基本结构
如上所述,FPGA的特点是包含大量的可编程模块。组成FPGA的基本要素包括:
•逻辑单元;
•布线矩阵和全局信号;
•I/O单元;
•时钟策略;
•多路选择器;
•存储器。
1.FPGA中的逻辑单元
逻辑单元(LC,LogicCell)是FPGA中最底层的逻辑功能模块,虽然不同的FPGA厂家或同一厂家不同产品系列中的逻辑单元的结构都存在差异,但其基本结构是类似的。典型的逻辑单元的结构如图6-15所示。
图6-15典型逻辑单元的结构
利用查找表来实现一个组合电路的例子如图6-16所示。图6-16用查找表实现一个组合电路
为了支持更高层次的逻辑功能的实现,FPGA厂家可以将多个基本逻辑单元组合在一起,形成一个大的逻辑结构。不同的FPGA厂家或同一厂家的不同产品系列利用基本逻辑单元构成的逻辑结构的大小、功能、特点都存在差异,这些大的逻辑结构也有不同的命名,如可配置逻辑模块、逻辑阵列模块、宏逻辑阵列模块等。以Xilinx公司的命名规则为例,如图6-17所示,包含三个层次,最小的组成单位是逻辑单元,两个逻辑单元组成一个位片(Slice),四个位片构成一个可配置逻辑模块。
图6-17由多个基本逻辑单元组成的大的逻辑模块
2.FPGA中的布线矩阵和全局信号
FPGA器件中的基本布线单元是水平和垂直方向上的布线通道和可编程布线开关。不同FP_x0002_GA厂家或不同FPGA产品系列中的布线通道数是不同的。水平和垂直方向上的布线通道的功能是为布线开关提供一种互连机制。布线开关可以编程,提供180°和90°布线通路。布线开关被安排在由基本逻辑单元构成的可配置逻辑模块所形成的每一行、每一列的中间。布线开关通过互连线段与可配置逻辑模块的输入/输出相连。
一种典型的布线矩阵结构如图6-18所示。
图6-18
图6-19所示实现了一种进位链结构。
图6-19进位链结构与布线
3.FPGA中的I/O单元
环绕在CLB阵列外围四边上的I/O单元环,其作用是实现FPGA与系统中其他芯片之间的接口和互连。I/O单元数与FPGA内部逻辑门数之间的比例是FPGA的一个重要参数,高的逻辑门数与I/O单元数比例表明该FPGA是以逻辑门为中心的设计,高的I/O单元数与逻辑门数比例表明该FPGA是以I/O单元为中心的设计。FPGA器件中I/O单元环的结构如图6-20所示。
图6-20FPGA中I/O单元环的结构
种简单的I/O单元的结构如图6-21所示,它包含输入/输出触发器、控制信号、多路选择器和时钟信号。I/O单元的输入/输出信号既可以通过触发器缓存,也可以不缓存。I/O单元的输出电路部分可以支持三态电路输出。由于CMOS电路在不定状态下会产生功耗,因此FPGA上不用的输入引脚不可浮空,否则会产生额外的功耗。一种解决方案是将不用的引脚配置为输出引脚。
图6-21一种简单的I/O单元的结构
为了实现与不同种类的逻辑电路器件的互连,FPGA中的I/O单元必须支持多种I/O接口标准,这是通过I/O单元的配置来实现的。I/O单元所支持的配置内容包括:
•输出信号的上拉或下拉;
•I/O引脚的未使用状态;
•I/O信号的偏斜率;
•I/O单元的驱动能力;
•所支持的I/O标准;
•阻抗特性。
4.FPGA中的时钟策略
Xilinx公司的Spartan3系列芯片的时钟布线策略如图6-22所示,该布线策略分为系统布线和局部布线两个层次。
系统(时钟)布线往往开始于FPGA器件的中间,然后对称地分枝扩散到各个局部模块。对局部模块内部的时钟布线就是局部布线,对局部模块内部的时钟布线也相应地采取对称型的分枝扩散形式来进行。
图6-22Xilinx公司的Spartan3系列芯片的时钟布线策略
FPGA中的时钟参数控制是通过时钟管理模块来完成的。时钟管理模块负责管理、调整FP_x0002_GA片内局部和系统时钟的基本参数。时钟模块对时钟信号进行调制,主要是基于锁相环(PLL,Phase-LockedLoop)和延迟锁相环(DLL,DelayLockLoop)技术。时钟管理模块的功能如图6-23所示,根据从FPGA芯片外输入的外部时钟信号,时钟管理模块生成具有不同性能参数的时钟信号,这些时钟信号通过时钟网络来进行传播。
图6-23时钟管理模块的功能
时钟管理模块的功能包括抖动信号消除、频率综合、相移和自动偏斜校正四方面。其中,抖动信号消除功能是针对外部输入FPGA器件的时钟信号而言的。该信号的上升沿和下降沿与理想的时钟信号的上升沿和下降沿相比,存在着超前或滞后的情况,这种情况被称为时钟信号的抖动,如图6-24所示。经过时钟管理模块处理后的时钟信号的边沿将与理想信号的边沿对齐。
图6-24输入时钟信号的抖动
时钟管理模块的频率综合功能是指时钟管理模块可以针对时钟输入信号,产生频率为原时钟输入信号频率乘以或除以某一整数的新的时钟信号,以满足设计的特定频率需要。频率综合的示意图如图6-25所示。图6-25时钟信号的频率综合
时钟管理模块的相移功能是指时钟管理模块可以针对时钟输入信号,产生相位延迟于原时钟输入信号一定值的新的时钟信号。例如,针对输入时钟信号,可以生成常用的延迟0°、120°和240°的三相时钟,或延迟0°
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆八中学、九十五中学等校2024-2025学年普通中考第一次适应性检测试题物理试题含解析
- 新疆应用职业技术学院《企业与公司制度》2023-2024学年第二学期期末试卷
- 河北省沧州任丘市重点中学2024-2025学年初三考前全真模拟密卷化学试题试卷(1)含解析
- 山东省潍坊市寒亭达标名校2025届初三省重点高中三校联考语文试题试卷含解析
- 厦门大学《流行歌曲演唱》2023-2024学年第二学期期末试卷
- 西南交通大学希望学院《节奏训练III》2023-2024学年第一学期期末试卷
- 浙江省金华市重点中学2025年高三下学期5月月考数学试题含解析
- 浙江东方职业技术学院《城市绿地系统规划》2023-2024学年第二学期期末试卷
- 宁德职业技术学院《生物分离工(全英文)》2023-2024学年第二学期期末试卷
- 南阳理工学院《中国音乐史与作品欣赏》2023-2024学年第二学期期末试卷
- 2024年温州快鹿集团有限公司招聘笔试参考题库含答案解析
- 人工智能基础-AI介绍
- 全国优质课一等奖高中物理必修一《实验:探究平抛运动特点》精美课件
- 煤矿井下密闭专项设计
- 心脏康复护理专家共识PPT
- 配电箱每日检查记录表
- VDA6.3-2023版审核检查表
- 分泌性中耳炎教学课件
- 浙江省杭州市萧山区第二学期六年级语文期中试题(含答案)
- 江苏省2022年五年制专转本英语真题
- 普通地质学教材
评论
0/150
提交评论