时间:2026-06-27 来源:FPGA_UCY 关于我们 0
A B C D
LUT输出
0 0 0 0
0 0 0 1
0 0 1 0
...
...
1 1 1 1
通过这个真值表可以看出,LUT实现了与4输入与门电路完全相同的逻辑功能。实际上,基于LUT的实现方式比传统门电路具有更快的执行速度,并且能够实现更大规模的逻辑功能。
基于LUT的FPGA器件具有极高的集成度,其密度范围从数万门到数千万门不等,能够实现极其复杂的时序逻辑与组合逻辑电路功能,因此特别适用于高速、高密度的尖端数字逻辑电路设计领域。现代FPGA的主要构成部分包括可编程输入/输出单元、基本可编程逻辑单元、嵌入式SRAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬件模块等。全球主要的FPGA设计和制造商包括Xilinx、Altera(现为Intel子公司)、Lattice、Actel、Atmel和QuickLogic等,其中Xilinx、Altera和Lattice占据市场主导地位。
由于FPGA基于片内RAM存储其工作状态配置,因此工作时需要对片内RAM进行编程。用户可根据不同应用场景选择不同的配置模式:
并行模式:通过并行PROM或Flash存储器配置FPGA
主从模式:使用一片PROM配置多片FPGA
串行模式:通过串行PROM配置FPGA
外设模式:将FPGA作为微处理器的外设,由微处理器对其进行编程
目前,市场占有率最高的Xilinx和Altera公司生产的FPGA均基于SRAM工艺,使用时需要外接片外存储器保存配置程序。上电时,FPGA将外部存储器中的数据载入片内RAM,完成配置后进入工作状态;掉电后FPGA恢复为空片,内部逻辑消失。这种设计使得FPGA不仅能反复使用,还无需专用的FPGA编程器,只需通用的EPROM、PROM编程器即可。相比之下,Actel、QuickLogic等公司提供的反熔丝技术FPGA只能下载一次,但具有抗辐射、耐高低温、低功耗和高速等优点,在军品和航空航天领域应用广泛。Lattice公司则是系统内编程(ISP)技术的发明者,在小规模PLD应用领域具有独特优势。
三、FPGA芯片架构深度解析
当前主流FPGA仍基于查找表技术,但其性能已远超早期版本,并整合了常用功能(如RAM、时钟管理和数字信号处理)的硬核模块。FPGA芯片主要由六大核心部分组成:可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理系统、嵌入式块RAM、丰富的布线资源、底层内嵌功能单元和内嵌专用硬件模块。
1. 可编程输入输出单元
可编程输入/输出单元是芯片与外部电路的接口部分,负责满足不同电气特性下对输入/输出信号的驱动与匹配要求。FPGA内的I/O按组划分,每组都能独立支持不同的I/O标准。通过软件的灵活配置,可适配不同的电气标准与I/O物理特性,调整驱动电流大小,改变上拉/下拉电阻值。当前,I/O接口的工作频率不断提升,高端FPGA通过双倍数据速率寄存器技术可支持高达2Gbps的数据传输速率。
外部输入信号既可通过IOB模块的存储单元输入FPGA内部,也可直接输入。当外部输入信号经过IOB模块的存储单元输入时,其保持时间的要求可显著降低,通常默认值为0。
为便于管理和适应多种电气标准,FPGA的IOB被划分为若干个组,每个组的接口标准由其接口电压决定,同一组内只能有一种接口电压,但不同组可具有不同的接口电压。只有相同电气标准的端口才能互连,接口电压相同是实现接口标准兼容的基本条件。
2. 可配置逻辑块
可配置逻辑块是FPGA内的基本逻辑单元。不同器件的CLB数量和特性各有差异,但每个CLB都包含一个可配置开关矩阵,该矩阵由4或6个输入、若干选型电路和多路复用器和触发器组成。开关矩阵具有高度灵活性,可配置为处理组合逻辑、移位寄存器或RAM功能。
在Xilinx公司的FPGA器件中,CLB由多个相同的Slice和附加逻辑构成。每个CLB模块不仅可用于实现组合逻辑和时序逻辑,还可配置为分布式RAM和分布式ROM。
Slice是Xilinx定义的基本逻辑单位,其内部结构包含两个4输入函数、进位逻辑、算术逻辑、存储逻辑和函数复用器。算术逻辑包括一个异或门和一个专用与门,异或门使单个Slice能够实现2位全加操作,专用与门则用于提高乘法器效率;进位逻辑由专用进位信号和函数复用器组成,用于实现快速的算术加减法操作;4输入函数发生器可用于实现4输入LUT、分布式RAM或16位移位寄存器;进位逻辑包含两条快速进位链,显著提高了CLB模块的处理速度。
3. 数字时钟管理模块
业内大多数FPGA均提供数字时钟管理功能。Xilinx的最先进FPGA提供数字时钟管理和相位环路锁定功能。相位环路锁定能够提供精确的时钟综合,有效降低抖动,并实现滤波功能。
4. 嵌入式块RAM
大多数FPGA都具有内嵌的块RAM,这极大拓展了FPGA的应用范围和灵活性。块RAM可配置为单端口RAM、双端口RAM、内容地址存储器以及先进先出队列等常用存储结构。
内容地址存储器是其内部每个存储单元都包含比较逻辑的特殊存储器,写入CAM的数据会与内部每个数据进行比较,返回与端口数据相同的所有数据地址,因此在路由器的地址交换器中有广泛应用。除了块RAM,FPGA中的LUT也可灵活配置为RAM、ROM和FIFO等结构。在实际应用中,芯片内部块RAM的数量是选择芯片的重要考量因素。
单片块RAM的容量通常为18k比特,即深度为1024、位宽为18比特的结构。用户可根据需要调整其位宽和深度,但需遵循两个原则:修改后的容量不能超过18k比特;位宽最大不能超过36比特。当然,多片块RAM可级联形成更大的RAM,此时仅受芯片内块RAM总数限制,不再受上述原则约束。
5. 布线资源系统
布线资源负责连通FPGA内部所有功能单元,连线的长度和工艺特性决定了信号在连线上的驱动能力和传输速度。FPGA芯片内部具有丰富的布线资源,根据工艺、长度、宽度和分布位置的不同,可分为四个类别:
在实际设计中,工程师通常无需直接选择布线资源,布局布线器会根据输入逻辑网表的拓扑结构和约束条件自动选择合适的布线资源来连通各个模块单元。从本质上讲,布线资源的使用方式与设计结果具有密切而直接的关系。
6. 底层内嵌功能单元
内嵌功能模块主要包括延迟锁定环、锁相环、数字信号处理器和中央处理器等软处理核。日益丰富的内嵌功能单元使单片FPGA演变为系统级设计工具,具备软硬件协同设计能力,逐步向片上系统平台过渡。
延迟锁定环和锁相环具有相似功能,都能完成时钟的高精度、低抖动倍频和分频,以及占空比调整和相位移动功能。Xilinx芯片集成DLL,Altera芯片集成PLL,Lattice的新型芯片则同时集成PLL和DLL。这两种模块均可通过IP核生成工具方便地进行管理和配置。
7. 内嵌专用硬核
内嵌专用硬核是相对于底层嵌入的软核而言的,指FPGA中处理能力强大的硬核,其性能等效于ASIC电路。为提升FPGA性能,芯片生产商在芯片内部集成了多种专用硬核。例如:为提高FPGA的乘法运算速度,主流FPGA中都集成了专用乘法器;为适应通信总线与接口标准,许多高端FPGA内部集成了串并收发器,可实现数十Gbps的收发速度。
Xilinx公司的高端产品不仅集成了PowerPC系列CPU,还内嵌了DSP核心模块,其相应的系统级设计工具是EDK和Platform Studio,并据此提出了片上系统的概念。通过PowerPC、Miroblaze、Picoblaze等平台,能够开发标准的DSP处理器及相关应用,实现SOC的开发目标。
四、IP核分类与技术特点
智能属性核是具有知识产权的集成电路芯核总称,是经过反复验证的、具有特定功能的宏模块,与芯片制造工艺无关,可移植到不同的半导体工艺中。到了SOC发展阶段,IP核设计已成为ASIC电路设计公司和FPGA提供商的重要任务,也是其实力的体现。对于FPGA开发软件,其提供的IP核越丰富,用户设计就越方便,市场占有率就越高。目前,IP核已成为系统设计的基本单元,并作为独立设计成果被交换、转让和销售。
从IP核的提供方式上,通常分为软核、硬核和固核三类。从完成IP核所需成本角度,硬核代价最大;从使用灵活性角度,软核的可复用性最高。
1. 软核
软核在EDA设计领域指综合前的寄存器传输级模型;在FPGA设计中指对电路的硬件语言描述,包括逻辑描述、网表和帮助文档等。软核只经过功能仿真,需要经过综合及布局布线才能使用。其优点是灵活性高、可移植性强,允许用户自配置;缺点是对模块性能的预测性较低,后续设计中可能存在错误风险。软核是IP核应用最广泛的形式。
2. 固核
固核在EDA设计领域指带有平面规划信息的网表;在FPGA设计中可视为带有布局规划的软核,通常以RTL代码和对应具体工艺网表的混合形式提供。将RTL描述结合具体标准单元库进行综合优化设计,形成门级网表,再通过布局布线工具即可使用。与软核相比,固核的设计灵活性稍差,但可靠性显著提高。目前,固核也是IP核的主流形式之一。
3. 硬核
硬核在EDA设计领域指经过验证的设计版图;在FPGA设计中指布局和工艺固定、经过前端和后端验证的设计,设计人员不能对其修改。不能修改的原因主要有两个:首先是系统设计对各模块的时序要求严格,不允许打乱已有的物理版图;其次是保护知识产权的要求,不允许设计人员有任何改动。IP硬核的不允许修改特性使其复用面临一定困难,因此只能用于特定应用场景,使用范围相对较窄。
FPGA技术的持续发展使其在现代电子系统中扮演着越来越重要的角色,从简单的逻辑胶合到复杂的系统级芯片设计,FPGA的应用领域不断扩展。理解FPGA的工作原理和架构特点,对于数字电路设计工程师把握技术发展趋势、选择合适的设计方案具有重要意义。随着工艺技术的进步和设计工具的完善,FPGA将继续在通信、医疗、工业控制、航空航天和消费电子等领域发挥关键作用。