还剩48页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
的硬件结构FPGA欢迎来到硬件结构课程本课程将全面介绍现代现场可编程门阵列FPGA()的内部构造、工作原理及关键组件通过系统梳理从最基础FPGA FPGA的逻辑单元到复杂的片上系统架构,帮助学习者建立对可编程硬件的深入理解本课程适合电子工程、计算机工程专业的学生以及对数字系统设计有兴趣的工程师学习者需具备基本的数字电路知识,包括组合逻辑、时序逻辑等基础概念完成课程后,您将能够理解内部构造,并为后续的开发FPGA FPGA与应用打下坚实基础什么是?FPGA可编程逻辑器件定义与、对比ASIC CPU现场可编程门阵列(,与应用专用集成电路()相比,具有更高的灵活性Field-Programmable GateArray ASIC FPGA)是一种集成电路,其内部包含大量可配置逻辑块和可编和更短的开发周期,但通常功耗更高、成本更高且性能较低FPGA程互连资源与固定功能的集成电路不同,允许用户在一旦制造完成,其功能就固定不变,而可以反复重FPGAASICFPGA现场(即实际使用环境中)对其功能进行配置和重新配置新配置相比中央处理器(),采用并行处理架构,能够同时CPU FPGA本质上是一种软硬件,其硬件结构固定,但功能可通过执行多个操作,在特定应用(如信号处理、加密算法等)中表现FPGA配置改变,为电子系统设计提供了前所未有的灵活性这种可编出色则是按顺序执行指令的通用处理器,更适合复杂的CPU程性使能够实现几乎任何数字电路功能控制流程FPGA的发展历史FPGA1年1984发明了第一个商用,,包含个可配置逻辑块()Xilinx FPGAXC206464CLB和约个门电路,标志着可编程逻辑时代的开始8002年代1990开始集成乘法器、块等硬核资源,功能逐渐丰富容量以摩FPGA RAM FPGA尔定律的速度增长,从千门级迅速发展到百万门级3年代2000单元、高速收发器被引入架构,开始应用于高性能计算领域DSP FPGA FPGA配置技术从早期的熔丝方式发展为基于的配置方式SRAM4年后2010出现,将硬核处理器与集成在同一芯片上加速单元被引SoC FPGA FPGA AI入,为人工智能应用提供硬件支持国产企业崛起,全球市场格局多元FPGA化应用领域概览FPGA人工智能图像与视频处理的并行计算架构使其成为能够实时处理高分辨率视FPGA FPGA模型推理的理想平台,在边缘频流,在医疗成像、工业视觉和AI嵌入式系统计算中尤为重要目前正安全监控领域有广泛应用其并通信与网络FPGA成为神经网络加速的重要硬件选行架构特别适合复杂的图像滤波FPGA被用于实现定制化嵌入式在基站、光通信、网络择算法系统,在航空航天、工业控制和FPGA5G设备中广泛应用,提供高带宽、汽车电子等领域发挥关键作用低延迟的数据处理能力例如,据预测,年全球市2024FPGA现代路由器和交换机中的数据包场规模将达到约亿美元,年增90处理单元大多基于实现长率超过FPGA8%的基本工作原理FPGA设计输入工程师使用硬件描述语言(如或)描述数字电路功能,或通过Verilog VHDL图形化工具创建电路设计这一阶段定义了将要实现的逻辑功能FPGA综合与实现设计经过综合工具转换为逻辑网表,然后通过布局布线工具将逻辑功能映射到的物理资源上这个过程会生成一个比特流文件,包含所有配置信息FPGA配置下载比特流通过接口或配置存储器加载到中这些配置数据决定了每JTAG FPGA个可编程元素的功能和连接方式,使形成特定的数字电路结构FPGA运行与重构加载配置后,开始按设计功能运行与传统集成电路不同,可以FPGA FPGA通过重新加载新的配置数据来改变其功能,实现硬件的软更新的逻辑结构总览FPGA可编程互连资源连接各功能模块的道路系统功能模块实现特定功能的硬件单元可配置逻辑块的基本构建单元FPGA的硬件结构可分为三大基本部分最基础的可配置逻辑块()是实现逻辑功能的基本单元,由查找表()和触发器()FPGA CLB/LE LUTFF等组成;功能模块包括存储器、乘法器、单元等专用资源;可编程互连资源则是连接各个模块的神经网络,决定了信号的传输路径DSP这三层结构形成了层次化的设计体系,基本逻辑资源通过编程形成功能模块,功能模块通过互连资源集成为完整系统的可编程性主要FPGA体现在逻辑单元的功能配置和互连资源的路径选择上基本组成模块概览查找表()LUT查找表是中实现组合逻辑的核心元件,本质上是一个小型的存储器通过预先存储特定的真值FPGA表内容,可以实现任意的布尔函数现代中的通常有个输入端口,能够高效实现LUT FPGA LUT4-6复杂的组合逻辑功能触发器()FF触发器是实现时序逻辑的基本单元,负责在时钟信号控制下存储状态信息中大多使用型触FPGA D发器,配合丰富的控制信号(如时钟使能、同步异步复位等),为设计提供灵活的时序控制能力/单元IO输入输出单元是与外部世界交互的接口,支持多种电气标准现代的单元通常包含/FPGA FPGA IO输入缓冲器、输出驱动器、三态控制和可编程的上拉下拉电阻等元件,提供灵活的接口配置选项/片上存储器集成了不同类型的存储资源,包括分布式和块式这些资源可用于实现缓冲区、队FPGA RAMRAM列、状态机等需要存储功能的模块,提高设计的性能和资源利用效率查找表()结构LUT多路输入信号典型接收个二进制输入LUT3-6地址解码器将输入组合转换为存储单元地址存储单元阵列存储预设的真值表内容(个位)2^n输出信号选择根据输入组合选择对应的输出值查找表()是中最基本的逻辑单元,其本质是一个可编程的真值表实现电路以输入为例,它包含个存储单元(),每个存储单元存LUT FPGA4LUT162^4=16储位数据输入信号、、、的组合共有种可能,每种组合对应存储器中的一个地址位置1A BC D16当配置时,真值表的内容被写入存储单元工作时,接收输入信号,通过解码器确定查找地址,然后输出该地址位置存储的数据值这种结构使FPGA LUT LUTLUT能够实现任意的输入组合逻辑函数,如、、或更复杂的自定义函数4AND ORXOR触发器()结构FF触发器基本结构控制信号集成时序电路应用D中的触发器主要采用型(数据)触现代中的触发器通常配备丰富的控触发器在设计中用于实现各种时序FPGA DFPGA FPGA发器结构,由主从锁存器组成在时钟上制信号,包括时钟使能()、同步复位电路,如寄存器、计数器、状态机等通CE升沿到来时,输入数据被锁存并传输到()和异步复位()等这些控制过组合多个触发器和组合逻辑,可以构建D SRAR输出端这种简单而可靠的结构是实现信号极大地增强了触发器的功能灵活性,出从简单的移位寄存器到复杂的处理器控Q时序逻辑的基础使设计者能够实现更复杂的时序控制逻辑制单元等各种时序系统可配置逻辑单元()概述CLB/LE基本构建模块结构特点可配置逻辑单元(通常由一组、触发器、Configurable CLB/LE LUT)或逻辑元件多路复用器和进位链等组成这种Logic Block,CLB()是结构既可以实现组合逻辑(通过Logic Element,LE FPGA的基本构建模块,类似于生物学中),又可以实现时序逻辑(通LUT的细胞不同厂商可能使用不同过触发器),极大提高了设计灵活的术语,但概念相似使用性现代中,一个通常Xilinx FPGACLB术语,而称之包含多个逻辑切片或单元CLB IntelAltera为或LE LAB功能封装将基本逻辑元件(和)封装成更高级的功能模块,为综合工具CLB/LE LUTFF提供了更有效的资源单位这种封装简化了布局布线过程,提高了资源利用率和性能在物理布局上,通常按规则的二维阵列分布在芯片上CLB/LE内部结构详细图解CLB逻辑切片组成内部连接资源典型的包含个逻辑切片()每个切片进一步包内部包含丰富的局部互连资源,用于连接各个、触发CLB2-4Slice CLBLUT含多个、触发器以及相关的多路复用器和控制逻辑这种层器和其他功能元件这些内部连接通常比全局布线更快、更高效,LUT次化的结构使能够实现更复杂的功能,同时保持较高的布线能够形成紧密耦合的功能单元CLB效率特殊的进位链()结构允许相邻之间直接传Carry ChainCLB现代(如架构)中的切片进一步细分递进位信号,使算术运算(如加法器、计数器)能够高效实现FPGA XilinxUltraScale为不同类型,例如具有存储能力的和仅用于逻辑实现的这种专用连接显著提高了算术电路的性能和资源利用率SLICEM这种分化增强了资源的专用性和利用效率SLICEL数字时钟管理()DCM/PLL时钟产生相位调整可以从输入时钟生成多个频DCM/PLL提供动态或静态的相位调整功能,可用率相关的时钟信号,实现频率合成例于校准时钟与数据的相位关系,优化高如,从输入时钟生成、50MHz75MHz速接口的时序余量精确的相位控制对等输出时钟,满足不同模块的100MHz内存接口等高性能设计至关重要DDR时钟需求时钟分配抖动过滤连接到全局和区域时钟分布具有滤波特性,可以减少输入时钟DCM/PLL PLL网络,确保时钟信号以最小偏斜分布到的抖动,输出更稳定的时钟信号这对芯片各个区域,这是保证时序一致性的于高速串行接口和精密时序应用尤为重关键要片上存储器种类Block RAMBRAM块式是中的专用存储资源,通常以固定大小的存储块分布在芯片上RAM FPGA现代的通常为容量,支持各种宽度和深度配置FPGA BRAM18-36Kb BRAM具有真正的双端口特性,允许两个独立端口同时访问,非常适合实现大容量缓冲区、数据队列或的指令数据存储器CPU/Distributed RAM分布式是利用资源实现的小容量,分散在整个的逻辑资源中RAM LUT RAM FPGA这种容量较小(通常为位),但访问速度快、分布灵活,适合实现RAM16-64小型查找表、寄存器文件或状态机的状态存储分布式的一个优势是与逻辑RAM单元紧密集成,减少了布线延迟资源ROM中的可以通过初始化或分布式实现这些只读存储器在FPGA ROMBRAM RAM配置时加载初始数据,常用于存储常量、查找表数据或微代码等资源特别ROM适合实现固定算法的计算单元,如三角函数计算器、生成器等CRC结构细节Block RAM多端口访问能力灵活的数据宽度配置通常支持真正的双端口结构(),允许支持灵活的宽度深度配置,例如,一个BRAM TrueDual-Port BRAM/18Kb BRAM两个独立端口同时进行读写操作这种特性使适用于需可以配置为×位、×位、×位等多种形式BRAM2K91K1851236要并行访问的应用,如多处理器系统中的共享内存或视频帧缓冲这种灵活性使设计者能够根据应用需求优化存储资源的使用区还支持奇偶校验位,可用于实现错误检测和纠正()BRAM ECC除了标准的双端口模式外,还可以配置为简单双端口功能在高可靠性应用中,这一特性对保护数据完整性至关重要BRAM(,一个写端口和一个独立的读端口)或单根据不同厂商的系列,单个块的容量通常在Simple Dual-Port FPGABRAM16-端口()模式,以满足不同应用的需求之间Single-Port36Kb分布式与其用途RAM分布式()是中一种特殊的存储资源,它利用查找表()的结构实现小容量的随机存取存储器RAM DistributedRAMFPGA LUT由于本质上是一个小型存储单元,通过适当配置,它可以作为使用,典型容量为位(基于输入)LUT RAM16-644-6LUT分布式具有访问延迟低、分布灵活的特点,特别适合实现小型的寄存器文件、缓冲区或状态机的状态存储与RAM FIFOBlock RAM相比,分布式虽然总容量较小,但由于直接集成在逻辑单元中,能够提供更低的访问延迟和更高的带宽,尤其适合时序关键路径RAM上的小容量存储需求与队列实现FIFO写入控制存储区域读出控制状态标志管理数据输入和写指针,实现写地使用或分布式实管理数据输出和读指针,实现读地产生满空半满等状态信号,支持Block RAMRAM//址自动递增现数据存储址自动递增流控制先进先出队列()是中常见的缓冲结构,用于在不同时钟域或处理速率不同的模块之间传输数据中的通常基于或分布式FIFO FPGA FPGA FIFOBlock RAM实现,配合专用的控制逻辑实现数据的排队和管理RAM根据读写时钟的关系,可分为同步(读写使用相同时钟)和异步(读写使用不同时钟)异步在跨时钟域设计中尤为重要,它通过格雷码FIFO FIFO FIFOFIFO计数器和多级同步器确保指针比较的可靠性,防止亚稳态问题现代通常提供专用的控制器硬核或核,简化了的实现过程FPGA FIFOIP FIFO运算单元集成DSP25x1858乘法器规格奇偶位典型单元支持的乘法位宽乘加累计()的输出位宽DSP MAC900MHz运行频率高性能中单元的典型时钟速度FPGA DSP数字信号处理()单元是现代中的专用硬核资源,针对算术运算(特别是乘法和累加)DSP FPGA进行了优化典型的单元包含预加器、乘法器、累加器和逻辑单元,能够高效实现乘法累加DSP()操作,这是数字滤波器、卷积计算、矩阵乘法等算法的核心操作MAC与使用实现的软核乘法器相比,单元具有更高的性能和更低的功耗例如,的LUT DSPXilinx单元除了基本的乘加功能外,还支持动态操作选择、模式检测和多级联等高级功DSP48E2DSP能,使其适用于复杂的信号处理算法在加速应用中,单元常用于实现神经网络的卷积和AI DSP矩阵乘法操作多功能资源IO输入输出缓冲器高速收发器/的单元包含可编程的输入缓冲器和输出驱动器,支持不同的电现代集成了高速串行收发器(),支持多的数据传FPGA IO FPGA SerDesGbps平标准输入缓冲器通常集成了施密特触发器以提高噪声容限;输出驱输速率这些收发器支持、以太网、等高速协议,通常包PCIe SATA动器则提供可调节的驱动强度,以适应不同的负载条件含时钟恢复、均衡器、预加重等先进功能,用于优化高速信号完整性特殊接口支持可编程终端电阻许多的资源专门针对特定接口进行了优化,如内存接口、单元通常包含可编程的上拉下拉电阻和终端匹配电阻,用于优化信FPGA IODDR IO/接口等这些专用包含相位对齐电路、校准逻辑和特殊号完整性这些可编程电阻消除了外部匹配网络的需要,节省了ADC/DAC IOPCB的时序控制单元,显著简化了高性能接口的实现空间并提高了设计灵活性全局与局部时钟资源配置存储器()Configuration Memory型配置结构配置过程与存储SRAM大多数现代采用基于的配置技术配置数据存储在由于型在断电后失去配置,因此系统通常需要外部FPGA SRAMSRAM FPGA静态随机存取存储器()单元中,这些单元分布在整个芯非易失性存储器(如或)来永久存储配置数据SRAM FlashEEPROM片上,控制各个可编程元素的功能和连接单元具有易于上电时,配置数据从外部存储器加载到的配置中,SRAM FPGASRAM重编程的特性,支持无限次重配置,但代价是断电后数据丢失这个过程称为配置或编程配置数据通常以比特流()形式组织,包含所有配置Bitstream每个配置单元通常控制一个多路复用器选择、一个信息以及校验和安全信息现代支持多种配置模式,如主SRAM LUTFPGA的内容、一个可编程连接点的状态或其他可配置元素的设置所动串行模式、模式、从机并行模式等,以适应不同的系统JTAG有这些配置单元共同定义了的功能电路结构需求FPGA典型型配置流程SRAM FPGA内部设置与启动配置数据加载配置完成后,执行最终的内部设置,包括上电初始化FPGA配置数据从外部存储器或主机系统传输到复位释放、初始时钟启动等随后,的用FPGA FPGA上电后,内部电路执行复位和初始化过程数据传输过程中会执行校验,确保数据完整户逻辑开始按照配置的功能运行,配置完成信号FPGA CRC在这个阶段,FPGA会清除内部寄存器,准备接性现代FPGA通常支持配置数据压缩,减少存(DONE)置位,指示系统配置已成功完成收配置数据的特定引脚(如储需求和加载时间FPGA MODE)决定了将使用哪种配置模式pins配置数据的安全性是一个重要考量,特别是在商业产品中为保护知识产权,厂商通常提供比特流加密功能,使用硬件加密引擎和片上存储的密钥FPGA来解密配置数据只有具有正确密钥的才能正确解密和使用配置数据,有效防止配置数据被未授权复制或逆向工程FPGA非易失性类型FPGA型型Flash FPGAAntifuse FPGA型将配置数据存储在(反熔丝)技术使用一Flash FPGAAntifuse片上存储器中,实现了断电次性可编程的连接点,配置后无Flash后配置保持的能力这种上法更改这种具有极高的安FPGA FPGA电即可直接运行,无需外部配置全性(几乎不可能逆向工程)和存储器,简化了系统设计代表抗辐射特性,常用于航空航天和产品有的军事应用的Microsemi MicrosemiRTAX系列和的和系列是典型的SmartFusion LatticeRTSX Antifuse系列型的缺点是只能编程一次,不MachXO FlashFPGA FPGA配置过程较型更慢,重编支持现场更新SRAM程次数有限配置后电源管理非易失性可以实现更灵活的电源管理策略例如,系统可以完全断电以FPGA节省能源,而不必担心丢失配置数据在电池供电的应用中,这种特性尤为重要某些非易失性还支持快速唤醒模式,从睡眠状态恢复到全功能状态FPGA的时间仅为微秒级热插拔与动态重配置部分重配置功能模块交换现代支持在不干扰其他正在运行通过部分重配置,可以在不同功能模块FPGA的部分的情况下,只重新配置芯片的特间切换,例如在不同的通信协议处理器定区域这种技术称为部分重配置之间切换,或动态加载特定算法加速器(),使这种硬件虚拟化提高了芯片资源利用Partial Reconfiguration能够在运行时动态更改功能率FPGA热插拔支持现场修复某些支持电气热插拔,允许在系FPGA动态重配置允许在不中断系统运行的情统通电的情况下插入或移除板卡FPGA况下修复硬件错误或更新功能,类似于这需要特殊的缓冲器设计和电源管理IO软件补丁这对高可用性系统(如通信策略,以防止插拔过程中的电气损伤基站或服务器)尤为重要封装与物理结构FPGA封装封装引脚布局与功能划分BGA QFP球栅阵列()是四侧引脚扁平封装(芯片的引脚通常按功能区域划分,Ball GridArray,BGA QuadFlat Package,FPGA现代高端的主要封装形式在)主要用于低端和中端如电源地、配置引脚、时钟输入、通用、FPGA BGAQFP FPGA QFP/IO芯片底部排列大量焊球连接点,提供高密的引脚沿芯片四周排列,便于手工焊接和高速收发器等在物理设计中,需要考虑度和良好的散热性能根据引脚数量和视觉检查,但密度较低对于引脚数较信号完整性、电源完整性和热管理等因素,IO IO排列方式,常见的变种包括少的小型,仍然是经济实用的合理布局关键信号和电源平面BGA FBGAFPGAQFP(细间距)和(塑料)选择BGA PBGABGA全局布线结构的全局布线结构是一个复杂的可编程互连网络,用于连接分散在芯片各处的逻辑资源这个网络通常采用分层架构,包括长线FPGA()、中线()和短线()长线资源用于传输全局信号如时钟和复位,spanning entirechip connectingregions localconnections具有低延迟和低偏差特性;中线连接不同功能块之间,提供较为灵活的布线选择;短线则在局部区域内提供高密度连接交换矩阵()是布线网络的关键节点,允许信号在不同层次的布线资源之间切换路径每个交换矩阵包含大量可编程开关Switch Matrix点,这些开关的状态由配置存储器控制现代使用基于或的交换技术,在面积、速度和功耗之间取得FPGA Pass-Transistor Multiplexer平衡布线资源通常占据芯片面积的,是芯片设计的重要组成部分FPGA50-70%局部布线资源直接互连交换结构直接互连是最短的布线资源,连接相邻的逻辑单元,具有最小的局部交换结构负责在逻辑单元、专用资源(如、)DSP BRAM延迟和最高的带宽典型的直接互连包括与相邻之和全局布线资源之间建立连接这些交换结构通常采用多级多路CLB CLB间的连接、内部切片之间的连接,以及专用进位链(复用器组织,具有更快的传输速度和更高的连接密度因交换点CLB Carry)等这些资源特别适合时间关键路径和需要高速数据传数量有限,布线资源可能成为设计的瓶颈Chain输的结构为优化高速数据路径,现代在特定区域(如列、FPGA DSP某些直接互连是硬连线()的,即不受配置存储器列附近)提供增强型布线资源这些资源具有更高的带hardwired BRAM控制,而是固定电路连接这类连接进一步减少了传输延迟,但宽和更低的延迟,专门用于支持高性能计算模块之间的数据传输也降低了配置灵活性典型的硬连线包括进位链和某些专用数据同时,芯片边缘区域通常有专门的布线资源,用于连接单IO IO路径元和内部逻辑片上资源分布规则阵列布局列式专用资源环绕式分布IO内部资源通常以规则的二维矩阵专用资源(如、单元)单元通常分布在芯片的外围区域,形FPGA Block RAM DSPIO形式排列,形成一个海洋结构逻辑通常以列或块的形式嵌入逻辑单元阵列成环绕式结构在某些高性能中,FPGA单元()是最基本的资源,均中例如,采用列式结构,单元进一步分区,特定区域专门用于CLB/LE Xilinx FPGA IO匀分布在整个芯片上,形成规则的阵列单元和按垂直列分布;高速收发器、存储器接口等特殊功能DSP BRAMIO这种规则排列简化了布局布线过程,并则使用(逻辑阵列块)单元与内部逻辑之间有专门的布线资Intel FPGA LAB IO支持可扩展的架构设计和嵌入式存储列相间排列的方式这种源,确保高速信号的完整性列式结构便于资源管理和高速互连设计电源与地线设计多电源域设计电源管理策略现代通常采用多电源域设计,为满足低功耗要求,支持多种FPGA FPGA不同功能模块使用独立的电源网络电源管理策略,如时钟门控、区域关典型的至少需要核心逻辑电源断和动态电压调整这些技术允许在FPGA(,通常为)、不使用特定功能区域时降低其功耗VCCINT
0.9-
1.2V辅助电源(,通常为某些还支持多电源启动序列控VCCAUX
1.8-FPGA)以及电源(,可配制,确保各电源按正确顺序上电,防
2.5V IOVCCO置为多种电平)高性能还可止锁存效应和异常电流FPGA能有专用的收发器电源和电源PLL地网分隔与噪声抑制为抑制数字噪声,采用复杂的接地策略,包括数字地、模拟地和地的分FPGA IO隔与特定点连接芯片内部集成去耦电容,减少电源噪声设计中需要考虑PCB电源完整性问题,通常需要在周围放置大量的去耦电容,并使用完整的电FPGA源地平面/输入输出标准支持/标准类型电压范围特点典型应用低功耗通用接口,,LVCMOS
1.2V-
3.3V SPII2C兼容传统接口,LVTTL
3.3V TTLGPIO差分低压差分高速数据传输,芯片LVDS
2.5V间通信阻抗匹配终端内存接口SSTL
1.5V-
1.8V DDR高速收发间高速链路HSTL
1.5V-
1.8V FPGA的单元支持多种电气标准,能够与各种外部设备接口单端标准包括(低压FPGA IOLVCMOS)和(低压),适用于通用接口和中低速信号;差分标准包括(低压差分信CMOS LVTTLTTL LVDS号)、(高速收发逻辑)和(桩系列收发逻辑),适用于高速信号传输和特定接口类型HSTL SSTL的单元通常按组(称为)进行管理,同一组内的单元共享相同的参考电压和电源FPGA IO IO BankIO电压这种分组简化了规划,但也要求设计者合理安排信号,避免跨电压域的问题现代的IOFPGA还具有可编程的驱动强度、上下拉电阻和输入迟滞特性,为系统集成提供更大的灵活性IO片上调试资源集成逻辑分析仪()ILA现代集成了片上逻辑分析仪资源,允许在不增加外部探针的情况下观察内部信号模块可以捕获和存储感兴趣信号的波形数据,帮助开发者调试复杂设计这种无FPGA ILA侵入式调试方法大大简化了高速设计的验证过程边界扫描()JTAG几乎所有都支持()边界扫描接口,提供配置、调试和测试功能通过接口,开发者可以下载配置数据、控制片上调试资源,并执行边界FPGA JTAGIEEE
1149.1JTAG扫描测试以验证连接的完整性链也可以连接多个设备,形成系统级测试架构PCB JTAG系统级调试功能除了基本的信号捕获功能外,高端还提供更复杂的调试功能,如虚拟()允许动态调整内部信号值,系统监视器()可以监控芯片温度和电压,片上FPGA IOVIO SYSMON逻辑探针可以非侵入式地监控关键信号这些功能共同构成了强大的片上调试系统典型芯片内部结构框图FPGA架构关键资源分布Xilinx Artix-7是第七代系列中的低成本高效能产品线芯片的外围是资源带,包含了可配置的单元和高Artix-7Xilinx FPGAArtix-7IOIO其内部架构采用工艺,组织为规则的资源阵列,主要包速收发器时钟资源主要分布在芯片的中心区域,通过全局时钟28nm括可配置逻辑块()、块式()、切片、线分发到各个区域芯片被划分为多个时钟区域,每个区域有独CLB RAMBRAM DSP时钟管理单元()和高速收发器等功能模块立的时钟管理资源CMT资源按规则网格排列,构成了的主体部分与早期相比,集成了更丰富的硬核资源,包括片CLB FPGABRAM FPGAArtix-7和资源则以垂直列的形式分布在阵列中,大约每上()、更复杂的时钟管理单元(含和)DSP CLB10-ADC XADCPLL MMCM列会出现一列或资源这种分布确保了逻辑以及高速控制器等这些硬核资源显著提高了特定应用的12CLB BRAM DSP PCIe资源能够方便地访问存储和算术资源性能和资源效率布线资源也更加丰富,提供了更高的连接灵活性和更低的信号延迟架构特点XilinxFPGA可扩展逻辑单元高性能架构DSP的采用基于输入的切片经过多代优化,Xilinx CLB6LUT XilinxDSP的架构,每个包含若干个切采用结构,CLB Series-7DSP48E1片,每个切片又包含多个和包含×乘法器、前置加法器LUT2518触发器架构进一步和位累加器;则升UltraScale48UltraScale增强了结构,提供更高的集级到,增加了更多CLB DSP58E2成度和性能从到功能这些单元专为高Virtex-6ALU DSP系列,布局已优性能信号处理和加速设计,支UltraScale LUTAI化,使得布线更加高效、时延更持高达的操作频率891MHz低互连架构创新引入了名为的互连架构,采用列式布局和优化的交换UltraScale UltraFast矩阵设计,大幅降低了布线拥塞和信号延迟被划分为多个时钟区域FPGA(),每个区域有独立的时钟资源,支持更灵活的时钟网络规Clock Regions划()架构特点Intel AlteraFPGA系列Stratix高端旗舰产品,面向最苛刻应用系列Arria中端产品,平衡性能与成本系列Cyclone低成本产品,适合大批量应用(收购后)的架构采用了逻辑阵列块()作为基本单元,每个包含多个自适应逻辑模块()是Intel AlteraFPGALABLAB ALMALM Intel FPGA的核心逻辑结构,一个包含输入的适应性、加法器和个寄存器,比传统的输入提供更高的逻辑密度这种架构使得ALM8LUT44LUT IntelFPGA在逻辑密度上具有优势的另一个特色是架构(引入),通过增加寄存器阶段()优化关键路径时序这些寄存器分布IntelFPGAHyperFlex Stratix10Hyper-Register在芯片的布线资源中,可以在不改变设计功能的前提下插入关键路径,显著提高时序性能和系列还集成了技Stratix10Agilex HardCopyASIC术,将配置单元与高性能结构相结合,提供更低的功耗和更高的性能SRAM ASIC、等厂商架构Lattice Microsemi特色架构(现属)架构Lattice MicrosemiMicrochip半导体专注于小型、低功耗市场,其产品系列包的以高可靠性和安全性闻名,主要产品线包括Lattice FPGAMicrosemi FPGA括、和系列系列以极低的功耗、和系列系列iCE40ECP5CrossLink iCE40PolarFire IGLOO2SmartFusion2PolarFire和小尺寸著称,广泛应用于移动设备和物联网领域,采用非易失采用非易失性配置技术,具备出色的抗辐射性能和低功耗Flash性配置技术,支持即时启动其特有的硬核资源包括、特性,广泛应用于航空航天和国防领域I2C SPI控制器和低功耗振荡器等系列是一种,集成了SmartFusion2SoC FPGAARM Cortex-系列针对视频桥接和信号处理优化,包含专用的视频处理器和各种模拟外设的特色在于其安CrossLink M3Microsemi FPGA接口和协议转换硬核的通常采用扁平化的资源全功能,包括防篡改设计、安全启动和密钥管理等,为关键应用Lattice FPGA分布,逻辑单元密度较高,布线资源相对简化,优化用于特定应提供硬件安全保障其逻辑结构采用设计,一个VersaTile用场景可配置为、触发器或位,提供更高的资源VersaTile LUTD RAM灵活性国内芯片结构分析FPGA近年来,中国产业快速发展,形成了以紫光同创、安路科技、高云半导体和智多晶等为代表的本土厂商紫光同创的主力产品采用FPGA FPGA工艺制程,其逻辑单元基于输入结构,类似早期架构,但在资源和特殊功能单元上有独特设计,以满足国内应用需55-28nm4LUT XilinxIO求安路科技的产品在结构上采用了类似的可配置逻辑块设计,但在和存储资源分布上有所创新FPGA XilinxDSP国产在架构上兼顾了技术成熟度和创新性,多数采用已验证的基本架构(如输入),同时在特定领域增加创新,如安全加密单元、FPGA6LUT国产接口协议支持等相比国际主流厂商,国产在尖端工艺和高端产品线上仍有差距,但在中低端市场已具备较强竞争力值得注意的FPGA是,国产设计工具链也取得了长足进步,逐步建立了从设计输入到比特流生成的完整自主工具链FPGA新一代结构趋势FPGA处理器集成从软核处理器到硬核ARM/RISC-V加速架构AI专用张量处理单元与神经网络引擎片上网络类结构连接异构计算资源NoC安全硬核加密引擎与可信执行环境新一代正向异构计算平台发展,超越传统的可编程逻辑角色硬核处理器集成是重要趋势,从早期的软核FPGA(占用逻辑资源)发展到现在的硬核处理器(作为独立硅知产嵌入芯片)例如,系列集成了FPGA XilinxZynq双核四核处理器;集成了四核;更新的架构开始集成/ARM Cortex-A IntelAgilex ARM Cortex-A53RISC-V处理器,提供更大的架构灵活性专用加速单元是另一重要发展方向新一代引入了针对深度学习优化的矩阵乘法引擎和张量处理单元,如AI FPGA系列的引擎和的张量计算单元,这些单元专为卷积神经网络等算法优化,提供比传Xilinx VersalAI IntelAgilex AI统更高的计算效率同时,大容量(高带宽内存)开始集成到高端中,解决应用的内存带宽瓶DSP HBM FPGA AI颈安全硬核也成为新趋势,包括物理不可克隆功能()、完整性监控和安全启动PUF结构(SoC FPGA FPGA+ARM处理器子系统内存与接口控制器通常由系列处理器核心构成,集成控制器、以太网、控制ARM Cortex-A DDRMAC USB包含缓存、和协处理器等完整组件器等硬核外设控制器,这些控制器与处理器MMU高端可能集成多核处理器,如四子系统紧密集成,不占用可编程逻辑资源SoC FPGA核或处理器子系通常包含多层高性能互连总线,ARMCortex-A53A72SoC FPGA统运行标准操作系统,如或实时操作如总线,连接处理器、外设和可编程逻Linux AXI系统辑全系统集成可编程逻辑部分包含复杂的时钟管理系统,协调不同部分的基本与普通相同,包含、、FPGALUT DSP时序的最大优势在于消除了等资源可编程逻辑通过高带宽接口SoC FPGABRAM和外部处理器之间的延迟瓶颈,显著(如桥)连接到处理器子系统,允许设FPGA AXI提高系统性能和功耗效率同时支持基于处计者实现自定义硬件加速器逻辑可通过处理器的软件开发和基于的硬件加速理器动态重配置,支持硬件虚拟化FPGA高速及片上通信SerDes接口类型最高速率典型应用关键特性服务器加速高带宽、低延迟PCIe Gen416GT/s以太网×网络设备高密度、长距离100G25Gbps4数据转换器接口确定性延迟JESD204B/C32Gbps芯片间通信低协议开销Aurora28Gbps视频传输高分辨率支持DisplayPort
8.1Gbps高速串行收发器()是现代中关键的资源,支持多种高速通信协议每个SerDes FPGAIO通道通常包含发送器()和接收器()部分,包含串行化单元、驱动放大器和SerDes TXRX TX预加重电路;包含均衡器、时钟数据恢复()电路和解串器高端的支持RX CDRFPGA SerDes的数据率,适应、以太网等高速标准28-58Gbps PCIeGen5400G现代集成了多种片上高速通信协议控制器,如控制器、以太网、控制FPGA PCIeMAC Interlaken器等这些控制器通过硬核实现,性能更高、资源占用更少硬核协议控制器通常连接到片上互连总线,如总线,构成完整的片上通信网络这种集成简化了高速接口的设计,允许设计者AXI专注于应用逻辑而非接口协议实现多芯片封装与结构3D技术系统级封装()堆叠Chiplet SiP
2.5D/3D是将不同功能块作为独立芯片设计,系统级封装将多个裸片()、无源器件甚在封装中,多个芯片并排放置在硅中介Chiplet Die
2.5D然后通过先进封装技术集成在一起这种方法至微机电系统集成在单个封装中现代层()上,通过微凸点互FPGA SiliconInterposer允许使用不同工艺制程制造不同功能单元,然采用技术集成内存、光学引擎或特连;堆叠则将芯片直接堆叠在另一芯片之SiP HBM3D后将最佳组合封装在一起例如,可以使用殊模拟器件例如,上,通过硅通孔()实现互连这些技Xilinx VirtexTSV工艺制造处理器核心,而用工艺将芯片与内术大幅提高了集成度和带宽,同时改善了功耗7nm16nm UltraScale+HBMFPGAHBM2制造,以平衡性能和成本存堆叠集成,提供超过的内存带宽和采用了类SerDes400GB/s XilinxVersal IntelStratix10似技术,为异构计算提供了新可能硬件资源分配策略FPGA资源均衡原则避免单一资源类型成为设计瓶颈时序优先策略在时序关键路径上使用优化资源功能分区方法按功能模块划分资源区域功耗敏感设计合理利用片上资源降低功耗设计的一个核心挑战是如何有效分配和使用有限的硬件资源资源均衡原则要求设计者合理分配不同类型的资源,避免任何单一资源类型的耗尽例如,过度使用而忽FPGALUT略可能导致性能下降和功耗增加时序优先策略则建议在时序关键路径上优先使用高性能资源,如专用进位链、单元等,以满足时序约束DSP DSP功能分区方法将设计按功能模块划分到不同区域,减少跨区域布线,提高性能这种方法特别适合流水线处理结构或具有明确数据流向的设计功耗敏感设计则通过各种技术降低功耗,如使用替代分布式存储大量数据、使用单元替代实现乘法器、利用时钟使能减少动态功耗等典型的设计痛点包括资源不平衡导致的利用率低、Block RAMRAMDSP LUT布线拥塞、时钟域交叉和存储带宽瓶颈等问题硬件描述语言()简介FPGA HDL与对比与硬件结构映射Verilog VHDLHDL和是设计中最常用的两种硬件描述语言硬件描述语言中的不同语法结构最终会映射到的不同硬件Verilog VHDLFPGA FPGA语法类似语言,简洁易学,在北美和亚洲地区更为流资源上组合逻辑(如语句、块)通常映射到Verilog Cassign always@*行;基于语言,语法严谨,类型检查严格,在欧洲和资源;时序逻辑(如块)映射到VHDL AdaLUT always@posedge clk军工领域应用广泛两种语言在功能上基本等价,都支持触发器;内存结构(如二维数组、变量)可能映射到分布式RTL reg(寄存器传输级)设计方法和行为级建模或;数学运算(特别是乘法)通常映射到RAM Block RAM单元DSP现代开发中,两种语言常常混合使用,顶层设计采用一种FPGA语言,而核或子模块可能使用另一种语言此外,近年来高层编写高效代码需要理解底层硬件结构例如,理解的IP HDLFPGA次综合()技术兴起,允许使用等高级进位链结构可以优化加法器设计;了解的双端口特HLS C/C++/SystemC Block RAM语言描述算法,再自动转换为代码,简化了复杂算法的硬件性可以设计更高效的存储器访问模式;认识到的输入数量限RTL LUT实现过程制可以避免过于复杂的组合逻辑编译工具会尝试优化代码映射,但设计者的硬件意识仍然至关重要逻辑综合与布局布线逻辑综合逻辑综合是将代码转换为网表()的过程综合工具首先解析HDL NetlistHDL代码,建立内部表示;然后进行逻辑优化,如常数传播、死代码消除、逻辑简化等;最后将优化后的逻辑映射到目标的基本资源上,生成初步网表这一FPGA阶段主要关注功能正确性和资源使用技术映射技术映射将抽象逻辑元素转换为特定架构的物理资源例如,将任意宽FPGA度的逻辑函数分解成适合实现的子函数;确定哪些乘法操作使用,LUT DSP哪些使用;决定存储结构是映射到分布式还是好的技LUTRAMBlock RAM术映射可以显著减少资源使用并提高性能布局布线布局确定每个逻辑元素在上的物理位置,布线则确定元素间的连接FPGA路径这一步骤直接影响时序性能和功耗布局布线工具使用复杂算法在性能、资源使用和可布线性之间寻找平衡通常需要多次迭代,根据时序分析结果调整布局布线策略,直到满足设计约束时序分析与约束建立时间与保持时间关键路径分析建立时间()要求数关键路径是设计中时序余量最小Setup Time据信号在时钟上升沿前必须稳定的路径,决定了最大可能的时钟的最小时间;保持时间(频率时序分析工具会报告关键Hold)要求数据信号在时钟上升路径的详细信息,包括起点、终Time沿后必须保持稳定的最小时间点、组合逻辑延迟、布线延迟等违反建立时间约束通常可以通过优化设计通常从改进关键路径开降低时钟频率解决,而保持时间始,策略包括调整逻辑结构、优违例则更难解决,可能需要插入化布局、增加流水线级等延迟或修改设计结构时序约束文件时序约束通过特定格式的文件定义,如的文件或的文件Xilinx XDCIntel SDC典型约束包括时钟定义(频率、抖动)、输入输出延迟、虚拟路径、多周期/路径等完善的时序约束对于工具正确评估设计时序至关重要约束不足或过度约束都会导致时序收敛问题低功耗设计要点时钟管理资源优化时钟信号是动态功耗的主要来源,FPGA合理选择硬件资源可降低功耗,例如使通过时钟门控()和时钟Clock Gating用替代分布式存储大BlockRAMRAM使能()可以在不需要时Clock Enable量数据,使用单元替代实现乘DSPLUT关闭特定模块的时钟,显著降低功耗2法减少不必要的寄存器和逻辑,避免使用最少的时钟域,避免高扇出时钟网冗余计算和数据移动络算法优化电源管理从算法层面减少计算复杂度,如使用分利用的电源管理功能,如部分关FPGA布式算法分解复杂运算,利用稀疏性或断()和动态电Partial PowerDown数据局部性减少内存访问流水线设计压调整在不同电源域之间正确处理信允许使用较低的时钟频率,同时保持总号,使用异步或其他同步机制跨电FIFO体吞吐量源域传输数据容错与可靠性机制设计实例流水灯1LED电路结构资源分配实现流程流水灯是入门的经典例子,通过一组分频器模块使用一个位计数器(实现为触设计首先使用或描述时钟分频FPGA32Verilog VHDL灯按序点亮和熄灭,形成流动效果该发器链)和一个比较器(实现为);流和计数逻辑,然后通过综合工具转换为网表LED LUT设计主要包含一个分频器(将系统时钟分频至动控制模块包含一个位计数器和状态逻辑,布局布线过程将设计映射到实际资源上,4FPGA可见频率)、一个计数器(用于确定当前点亮总共使用约个和个触发器整个设并生成最终的配置比特流整个设计简单但完10LUT40哪个)和输出控制逻辑(将计数值转换计使用极少的资源(不到),主要整地展示了开发流程,是理解硬LED FPGA1%FPGA FPGA为驱动信号)分布在靠近引脚的逻辑单元中,简化了布件结构与编程模型的良好起点LED IO线并减少了信号延迟设计实例简易嵌入式2CPU处理器架构资源分配与性能简易软核是理解处理器架构和资源利用的绝佳案例一个简单的位核心通常占用约个CPU FPGA32RISC CPU2,000-5,000典型的简易实现包括指令存储器(使用)、寄、个触发器和几个时钟频率CPU BlockRAM LUT2,000-4,000BlockRAM存器文件(使用分布式)、算术逻辑单元(,使用可达,取决于流水线深度和优化程度指令存储RAM ALU50-150MHz和)、控制单元(使用状态机)和数据通路(连接各器和数据存储器是资源密集型模块,通常占用多个;LUT DSPBlockRAM功能单元的多路复用器和总线结构)中的乘法器可利用单元实现高效运算ALU DSP指令译码单元将指令分解为操作码和操作数,然后生成控制信号片上互连资源分配对性能影响显著关键数据路径(如从CPU驱动其他单元译码器通常使用实现组合逻辑,或使用微码寄存器到再回到寄存器)需要高效布线以最小化延迟流LUT ALU实现更复杂的指令集在架构中,译码逻辑较简单,水线寄存器的插入位置会影响临界路径和最大时钟频率合理分ROM RISC而架构则需要更复杂的译码器结构配时钟资源,为不同功能模块提供适当的时钟树,也是提高性能CISC的关键实际开发板结构解析开发板是学习和开发应用的理想平台,通常包含芯片、配置系统、电源管理单元和丰富的外设接口芯片是核心组件,周FPGA FPGA FPGAFPGA围布置了配置电路(通常包括存储器和接口)电源系统是开发板的关键部分,通常包含多个电压转换器,为的不同电源域提供Flash JTAGFPGA稳定电源典型的开发板需要提供个不同电压,如()、(辅助)、(核心)等3-
53.3V IO
2.5V
1.0V外设接口是开发板的重要组成部分,常见接口包括和拨码开关等基础设备;内存接口;、以太网等高速通信接口;、LED IODDR PCIeHDMI VGA等显示接口;卡、等存储接口;以及各种传感器接口开发板通常还包含时钟发生器(提供工作所需的主时钟)、调试接口(如SD USBFPGA、、逻辑分析器连接器)和扩展接口(用于连接子板或自定义外设)良好的开发板设计需要考虑信号完整性、电源完整性和热管理等UART JTAG因素硬件结构未来发展FPGA5nm50+制程工艺TD/mm²最先进工艺节点未来几年内预计的逻辑密度FPGA100+TB/s新一代的总带宽FPGAIO硬件结构的发展呈现三大趋势智能化、异构集成和通用性增强智能化体现在加速单元的深度FPGA AI集成,如专用的神经网络处理器、稀疏矩阵加速器和量化优化引擎这些单元针对深度学习算法优化,提供比传统更高的计算效率异构集成则通过先进封装技术将不同功能芯片(如、内存、DSP FPGAHBM单元)集成在单个封装内,形成系统级解决方案RF通用性增强使逐渐向可编程平台发展,集成更强大的处理器子系统、更多标准接口和更丰富的FPGA SoC专用硬核业内前沿方向包括新型非易失性存储技术替代配置单元,降低功耗并支持即时启动;SRAM可重构计算单元,在运行时动态调整粒度和结构;片上光互连,使用硅光子学技术大幅提高芯片内和芯片间通信带宽;以及可编程模拟单元,支持混合信号系统设计未来的将超越传统定义,成为完整的FPGA可编程计算平台总结与课后思考关键概念回顾理解要点思考问题的基本硬件结构包括可配置逻辑的可编程性主要体现在查找表内如何根据应用需求选择合适的架FPGAFPGAFPGA块、专用功能模块和可编程互连资源容、互连开关状态和功能模块配置上构?不同的逻辑实现方式(如LUT vs了解、触发器、、存储器等基通过编程这些元素,可以实现几乎任何)如何影响性能和资源利用率?LUTDSPDSP本组件的结构和功能是掌握设计数字电路功能掌握的层次化结的硬件结构如何影响设计方法和FPGAFPGAFPGA的基础不同厂商架构有共性也构和资源分布特点,是高效使用优化策略?随着工艺进步和架构创新,FPGAFPGA有差异,理解这些差异有助于选择最适资源的关键新一代向异构计算在未来计算领域将扮演什么角色?FPGAFPGA合特定应用的平台平台发展,集成更多专用加速单元和处理器核心。
个人认证
优秀文档
获得点赞 0