版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章芯片基础FPGA设计与应用案例教程.2026FPGA芯片结构02Part2FPGA芯片结构2.1FPGA的可编程特性FPGA强大的现场可编程能力来源于其灵活的可编程结构,这些结构使得FPGA能够在不改变硬件本身的情况下,通过重新配置来适应不同的应用需求。FPGA器件的可编程结构主要包括三部分:可编程逻辑宏单元、可编程I/O单元和可编程互连。可编程逻辑宏单元:FPGA的核心部分,负责执行用户定义的逻辑功能。逻辑宏单元由多个查找表(LUT)和触发器组成。每个查找表可以配置成不同的逻辑功能,而触发器则用于存储状态信息。这种设计使得FPGA能够实现复杂的逻辑运算和时序控制。可编程I/O单元:即可编程输入输出单元。I/O单元位于FPGA芯片的四周,负责与外部电路进行数据交换。它们支持多种电气标准和接口协议,如LVTTL、LVCMOS等,确保FPGA可以与各种类型的设备无缝连接。123可编程互连:主要是一系列快速互连、长线资源和可编程开关矩阵。FPGA内部有丰富的可编程连线资源,通过配置这些资源,用户可以自定义逻辑宏单元之间的连接方式以及I/O单元与逻辑宏单元之间的连接路径。2FPGA芯片结构可编程架构2FPGA芯片结构查找表结构FPGA中实现逻辑的微小电路结构称为LUT(Look-UpTable,查找表),它的工作原理是预先计算出逻辑函数的真值表并存储在电路中,把输入信号组合作为地址来查找存储的结果以完成逻辑运算。可以说,LUT本质上就是一个RAM。如果有n个输入信号,LUT就包含2n个条目,当输入信号进入LUT时,用作地址信号对LUT内部预存的内容进行寻址,从而实现相应的逻辑函数。2FPGA芯片结构查找表结构目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16×1的RAM,可存储任意一个4输入组合逻辑函数的真值表。因为它实现函数的方式与传统逻辑电路有本质区别,是通过查表的方式实现。2FPGA芯片结构查找表结构逻辑与门实现查找表(LUT)实现
四个逻辑输入输出端四位地址输入地址单元存储内容00000000000001000010……0……011111111112FPGA芯片结构查找表结构FPGA中的每个查找表(LUT)后面通常会有一个触发器,用于存储状态信息。例如,一个5输入的LUT后面会有一个触发器,而一个6输入的LUT后面则有两个触发器。这种结构使FPGA能够实现时序逻辑电路。单个LUT输入数量有限,将多个LUT连接起来,可以实现更复杂的多输入的逻辑函数。LUT的规模越大,能实现的函数复杂度就越高,但同时也会增加资源占用和功耗。LUT通常基于SRAM(StaticRandom-AccessMemory,静态随机存取存储器)工艺实现的。SRAM是一种易失性存储器,数据读取和写入速度相对较快。在结构上,LUT可以看做多个SRAM存储单元组成的阵列,如4输入的LUT需要16个SRAM存储单元。SRAM存储单元的地址线连接到LUT的输入端口,当输入信号到来时,这个信号就可以当做地址方位SRAM。2FPGA芯片结构查找表结构目前大部分FPGA都是基于SRAM工艺,所以芯片在掉电后信息就会丢失,需要外加一片专用配置芯片,在上电的时候,由这个专用配置芯片把数据加载到FPGA中,然后FPGA就可以正常工作。这个配置时间很短,不会影响系统正常工作。SRAM高速存取的特性使得基于SRAM的LUT能够实现快速的查找和响应,非常适合用于实现复杂的组合逻辑功能。2FPGA芯片结构反熔丝结构与基于SRAM的FPGA不同,反熔丝是一种一次性可编程技术,用于在FPGA中永久地配置逻辑功能和I/O连接。反熔丝FPGA不需要每次上电时重新加载配置数据。反熔丝结构通过物理改变器件内部的连接状态来实现编程。在未编程状态下,反熔丝处于高阻抗状态,相当于开路。当需要对FPGA进行编程时,通过施加特定的电压脉冲,使得选定的反熔丝发生击穿,形成低阻抗路径,如图1-7所示。2FPGA芯片结构反熔丝结构反熔丝结构的FPGA因其非易失性、高安全性、抗辐射能力和低功耗等独特优势,在高可靠、高保密性的军用和航空航天领域得到广泛应用。Actel和QuickLogic公司是全世界主要的反熔丝和相关的软件开发工具供应商,其中Actel公司在开发基于反熔丝开发单元的FPGA方面处于领先地位。2FPGA芯片结构反熔丝结构ActelFPGA采用多路开关来实现数字逻辑。(a)组合逻辑模块(b)时序逻辑模块2FPGA芯片结构反熔丝结构例1.1某反熔丝FPGA的可编程逻辑宏单元由三个2路输入的多路开关和一个2输入或门组成,如图1-9所示。该宏单元共有8个输入和一个输出,可实现逻辑函数如何用这个反熔丝FPGA实现全加器的和输出。2FPGA芯片结构反熔丝结构分析:设全加器的两个加数为A和B,进位输入为Cn-1,和输出为S,进位输出为Cn。表1-3全加器的真值表输入输出ABCn-1SCn00000001100101001101100101010111001111112FPGA芯片结构反熔丝结构经过化简可得,S的逻辑表达式为S=(A⊕B)⊕Cn-1把输出S的表达式展开为与宏单元固有的逻辑表达式相对照可知宏单元各个输入端口的信号值可以是W=A,X=~A,S1=B,Y=~B,Z=B,S2=A,S3=Cn-1,S4=0.2FPGA芯片结构2.2AlteraFPGA芯片结构Altera公司生产的FPGA有多个系列,以最早推出的芯片FLEX10K为例,主要有LAB(LogicArrayBlock,逻辑阵列块)EAB(EmbeddedArrayBlock,嵌入式阵列块)IOE(Input/OutputElement,输入输出单元)快速互连2FPGA芯片结构逻辑阵列块(LAB)逻辑阵列块LAB指在FPGA芯片中间排成阵列形式的逻辑块,每个LAB包含8个LE(LogicElement,逻辑单元)和一些局部互连,有专属于本地的局部连线和控制连线。8个LE可以独立工作,也可以联合工作。2FPGA芯片结构逻辑单元LE逻辑单元LE是用于实现可编程逻辑的最小单元,每个LE中含有一个四输入查找表LUT、一个可编程寄存器、进位链、级联链和一些多路选择器。2FPGA芯片结构逻辑单元LELE中的可编程寄存器可以配置为D、T、JK、RS触发器,触发器上的时钟、清零和预置控制信号可以由全局信号、通用I/O引脚或任何内部逻辑驱动。有了可编程寄存器,LE就可以实现时序逻辑。实现组合逻辑时,LUT的输出结果可以走寄存器旁路绕过寄存器,直接驱动LE的两种输出,即通往快速通道的互连和通往LAB的本地互连。又或者由LUT驱动一个输出,寄存器驱动另一个输出,以提高LE利用率,这种功能称为寄存器打包。2FPGA芯片结构正常模式LE可以按下面四种模式运作:
运算模式加/减计数模式可清零计数模式每种模式下使用的LE资源不同,适应不同的设计需求。2FPGA芯片结构正常模式2FPGA芯片结构嵌入式阵列块EAB从芯片结构图可以看到,每一行LAB中间夹着一个嵌入式阵列块EAB,整个芯片中包含若干个EAB。EAB是一个灵活的RAM块,既可以实现常见的数字逻辑,也能作为内部存储器实现存储功能。2FPGA芯片结构嵌入式阵列块EABEAB中丰富的寄存器和多路选择器等资源可以实现各种复杂的组合逻辑和时序逻辑模块,比如构建多位的算术运算单元,实现加法、减法、乘法等运算;实现编码器、译码器等逻辑,在数字系统重承担信号的编解码工作;或者构建状态机对数字系统的流程和状态进行精确控制等。当FPGA需要存储空间时,将EAB用作RAM块比FPGA小型分布式RAM块阵列更有优势。分布式RAM块随着RAM大小的增加会产生不太可预测的延迟,也容易出现路由问题,因为必须连接小块RAM以形成更大的RAM块。相比之下,EAB可用于实现大型专用RAM块,以消除这些时序和路由问题。2FPGA芯片结构嵌入式阵列块EABEAB用作RAM时可以灵活配置成多种不同类型和大小的存储单元,以256×8,512×4,1024×2或2048×1的模式进行存储。2FPGA芯片结构嵌入式阵列块EAB它也可以当做ROM(只读存储器)使用,在设计阶段将不允许改变的数据或程序烧录进去,比如存储数字系统的启动引导程序、字符编码查找表等,为系统的稳定运行和快速数据查找提供支持。2FPGA芯片结构进位链和级联链LE之间的进位链提供了非常快的向前进位功能。进位信号通过进位链从低位LE进入高位LE,并且同时送入LE和进位链的下一部分。这个功能允许FLEX10K架构有效地实现任意宽度的高速计数器、加法器和比较器。使用级联链,FLEX10K架构可以实现多扇入的功能。有了级联链,可以把大的函数分成几个部分计算,相邻的LUT用来并行计算,由级联链把中间结果串联起来。级联链可以使用逻辑AND或逻辑OR(通过德摩根定律的反转)来连接相邻LE的输出。2FPGA芯片结构I/O单元分布在芯片最外圈的是可编程I/O单元IOE。IOE包含一个双向I/O缓冲区和一个寄存器,该寄存器既可以用作需要快速设置时间的外部数据的输入寄存器,也可以用作需要快速时钟输出性能的数据的输出寄存器。2FPGA芯片结构2.3XlinxFPGA芯片结构XC4000系列芯片结构示意图大量分布在器件四周的IOB和居于中间的CLB。IOB(Input/OutputBlock,I/O块)是可编程输入输出,CLB(ConfigurableLogicBlock,可配置逻辑块)是Xilinx公司对可编程逻辑宏单元的命名。2FPGA芯片结构可配置逻辑块CLB可配置逻辑块CLB的结构它通过两个函数发生器F’和G’(输入分别为F1-F4和G1-G4)提供函数实现的无限可能,大部分组合逻辑函数只需要四个或少于四个的输入,因此函数发生器F’和G’能够以查找表LUT的方式独立实现任意定义的四输入布尔函数。2FPGA芯片结构可配置逻辑块CLB除此之外,CLB还有第三个函数发生器H’。H’有三个输入,其中两个可以接收F’和G’的输出,另一个输入源于外部CLB。因此,基于这样的电路结构可以在单个CLB内实现最多9个变量的函数,比如奇偶校验或者对两组四输入进行扩展比较。2FPGA芯片结构可配置逻辑块CLB整个CLB共有13个输入和4个输出,为函数发生器和存储单元提供通道,将信息传输到CLB之外的可编程互连资源中。函数发生器的输出F'或H'可以连接到X输出,G'或H'可以连接到Y输出,所有函数发生器的输出都可以通过寄存器连接到YQ或XQ输出。2FPGA芯片结构一个5变量的任意函数CLB可用于实现以下功能:一个不超过4变量的任意函数、一个不超过另外4个变量的任意函数和一个不超过3个另外变量的任意函数
4变量的任意函数以及一些6变量函数一些多达9个变量的函数。2FPGA芯片结构开关矩阵XC4000系列芯片里,所有内部连接都由具有可编程开关点和开关矩阵的金属段组成,以实现所需的布线。芯片通过结构化、有层次的布线资源矩阵实现高效的自动布线。在CLB的行和列之间有丰富的布线资源,水平的单长线、双长线与垂直的单长线、双长线相交,相交处组成开关矩阵(ProgrammableSwitchMatrix,PSM)2FPGA芯片结构开关矩阵水平和垂直的单长和双长线路在一个称为可编程开关矩阵(PSM)的交叉点相交。每个开关矩阵由可编程导通晶体管组成,用于在线路之间建立连接。类似地,双长信号可以被路由到可编程开关矩阵其他三个边上的任意或所有双长线路。2FPGA芯片结构开关矩阵单长线路提供最大的互连灵活性,并在相邻块之间提供快速布线。每个CLB有八条垂直和八条水平单长度线。这些线在每两行CLB或每两列CLB之间的相交处形成开关矩阵。每个开关矩阵由若干可编程开关晶体管组成,用以建立线与线之间的连接。单长线、双长线的连接可以有多种连接方式,图1-18开关矩阵内部的连接示意图。2FPGA芯片结构开关矩阵单长度线路在通过开关矩阵时会产生延迟。因此,它们不适合长距离路由信号,通常用于在局部区域内传导信号;双长线路由金属段网格组成,每个金属段的长度是单长线路的两倍。2FPGA芯片结构
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB42-T 2544-2026 装配式混合框架结构技术规程
- 2026年高考地理十校联考全真模拟试卷(十四)及答案
- 2026年度艾滋病防治知识竞赛试卷(一)及答案
- 2026年骨伤科护理用具的研发与应用课件
- 摭谈基于语文综合性学习的初中作文教学设计研究
- 项目风险防范责任保证承诺书范文8篇
- 产品研发流程标准化手册产品开发与优化指南
- 虚拟现实技术应用与产业发展研究报告
- 管理合规清正廉洁保证承诺书(3篇)
- 科学预防传染病培养健康生活方式五年级主题班会课件
- 国家安全青春同行
- 2025四川九州电子科技股份有限公司招聘人力资源管理岗测试笔试历年参考题库附带答案详解
- 铝方通吊顶施工技术措施方案
- DB63-T 1143-2012 青海省受损砌体结构安全性鉴定实施导则
- 运动损伤的预防、治疗与恢复
- 2024-2025学年浙江省杭州市西湖区十三中教育集团八年级下学期期中检测道德与法治试卷
- 《贵州省普通国省干线公路养护科学决策指南》
- 《广东省既有建(构)筑物加固 改造工程成本取费导则》
- DG-TJ08-401-2025 公共厕所规划和设计标准
- 卫健委课题申报书模板
- 高边坡锚杆加固施工技术方案
评论
0/150
提交评论