Xilinx FPGA底层资源架构与设计规范

时间:2025-11-02  作者:Diven  阅读:0

题主最近开始接触和FPGA的方案验证相关的工作内容,需要把握FPGA内部资源的详细信息,所以又仔细查看了官方的器件手册。这一次给大家分享的内容主要涉及Xilinx FPGA内的CLBs,SelectIO和Clocking资源,适合对FPGA设计有时序要求,却还没有足够了解的朋友。

Xilinx FPGA底层资源架构与设计规范

参考器件上,虽然一些专用的资源都集中在高端的FPGA型号中,不过题主想了想,还是把放在该系列后续的文章中吧。下文中的举证皆来自Spartan6器件文档,所以也不会超出Spartan6涵盖内容。

传统的FPGA内部资源分类作三类,可配置逻辑模块(Configurable LogIC Block)、输入输出模块(InputOutput Block)和内部布线资源(Interconnect)三个部分,这些大家都知道的。随着FPGA的发展,为了满足对信号处理和片上储存的需要,又在前三类基础上增加了块RAM(BRAM)、时钟管理单元和硬件乘法器,之后又在部分系列里增加了PPC和高速串行输入与输出等等。

下文将要提到的CLB、SelectIO和Clocking资源里,SelectIO资源是比较丰富的一类,所以在顺序上把放在最后。

正文:

首先说说CLB吧,是一类最重要,其实也是最易于使用的结构。Xilinx把尽可能多的资源配置接口开放给用户,但是出于控制开发周期,并且提高系统稳定性的考虑,CLB不是其中,配置方案几乎全部由IDE实现过程智能分配,用户可以约束特殊SlICe的位置,但很少有这种必要,交给IDE来完成会更加有效。

来看看结构(有一些图片资料不好找,后期整合的时候会补全):

① CLB资源会根据FPGA的尺寸被内部时钟网络分割成若干个区域,一般每个区域是40个CLB单元高度;

② 每个CLB连接到一个开关矩阵来接入全局布线矩阵;

③ 一个CLB单元包含 一对Slice单元(两个Slice无直接连接,并且在CLB间成列分布,每个纵列的Slice有一条独立的进位链);

④ 一个CLB中下方的Slice记为Slice0,上方的记为Slice1;

⑤ 每个Slice包含4个查找表(LUTs),8个存储单元(FF),以及一些选择器和进位逻辑,这些单元用于提供逻辑、算术和ROM功能;

⑥ 有一部分Slice支持DistributedRAM和32位移位寄存器功能,被记为SLICEM,其记为SLICEL(一个CLB最多有一个SLICEM,每个CLB纵列至少有一个SLICEM,在DSP48E(XilinxFPGA内的硬件乘法器)纵列旁的两个CLB纵列,每一个CLB都有SLICEM)。

SLICEM
(DistributedRAM和ShiftRegisters资源都在LUTs上挂载)

最后看一下一个CLB中的资源总量:

当然具体到Slice中几种资源还有一些细节需要关注,主要是和LUTs的特性相关,不过等后面加入案例来讲吧。如果此前你已经对FPGA设计有一些经验和体会的话,现在想必已经对FPGA的查找表结构有了自己的理解。

还是简单提及一下LUTs的作用,就是查表,,,在我看来,就是一个6输入2输出的多功能选择器,可以直接把Verilog中always块的行为映射到行为上,通过对输入端口的连接配置,就能够实现我们需要的信号行为模型。完整的过程以后会加入案例来讲。让我们缓一口气,先进入下一个内容。

XilinxFPGA内部有复杂的时钟资源网络,来维护大数量逻辑资源条件下的时序要求和系统稳定。主要分为全局时钟线和局部时钟网络,在Spartan6上,还有数字时钟管理器(DCM)和数字锁相环(PLL)两种硬核资源,用以辅助时钟资源网络。Spartan6内部提供了16个全局时钟驱动buffer和40个局部时钟的,均匀地分布在上文提到的被时钟网络分割出来的各区域中:

我们可以通过例化BUFG和BUFIO等原语调用这些资源,为GTP(H/X/Z)和DDR、AD/DA这样的高速信号组提供更低相位偏移的时钟参考,但是时钟资源的分配有比较多的使用规则,在资源有限而布线拮据的情况下,时常会被Xilinx规则检查器告知使用违例。之后题主会结合一些真实案例来引导大家去规避这样的错误。

时钟资源所用的篇幅也很短,事实上涉及到时钟的问题很多,但是要在需要的时候再去认识才有价值,不然没有依据的去了解,也没有什么价值。接下来看看FPGA内部最为丰富的I/O资源,毕竟现在市场上FPGA最和最擅长的,就是做接口,下文包含的很多内容,在多个系列的FPGA上都是差不多的规范:

① FPGA的I/O资源被分布在若干个Bank中,每个Bank中有20个I/O Tile;

② 一个Tile包含2个IOB,2个ILOGIC,2个OLOGIC和2个IOEDLAY,用于对双端(差分)信号配对;

③ IOB包含输入、输出和三态驱动,可配置为不同的I/O标准;IOB直连一对I(O)LOGIC,I(O)LOGIC包含数据I/O的逻辑资源和三态控制,I(O)LOGIC也可以通过调用相关原语配置为I(O)SERDES,实现数据的串并行转换;

IOB单元支持大量的接口标准,可以对负载能力和转换速率进行控制。并且同Bank内支持复合电压输出,以驱动一些低压I/O标准,不过对参考电平的选择有一些规则。

对于单端和双端信号I/O,可以选择很多种buffer配置方式去驱动这些信号,当然IDE的实现过程中也帮我们配置好了很多,作为用户,常用的像IBUFG、IBUFR这样的时钟驱动资源,IBUFDS、OBUFDS实现信号单双端转换,以及用OBUFT实现三态控制等等。

猜您喜欢

电子元件的焊接过程中,贴片电阻体积小、性能稳定而被应用。焊接贴片电阻的方式通常是使用焊锡丝进行连接,但很多人对于焊锡丝的作用和焊接方法仍存在疑问。本文将详细探讨...
2025-04-15 23:00:41

发光二极管(LED)是应用于照明和显示技术的半导体器件。能够将电能转化为光能,因而在现代生活中越来越普及。很多人在使用LED时可能会产生疑问,发光二极管的电流究...
2025-03-29 12:31:07

瓷管电阻优异的耐高温性能和稳定的电阻值,应用于各种高功率电路中。作为瓷管电阻的知名品牌,金凤冠高品质的产品和良好的市场口碑,受到了众多电子制造商的青睐。本文将围...
2019-02-26 19:33:30


手上有一块黑金AX309的板子,Jtag口的排针间距是2.0mm,而我zturn board上的下载线间距是2.54mm,贼尴尬。然后焊了一个转接板解决了,但是...
2020-03-15 10:31:00

现代生活中,配件的使用越来越普遍。无论是在电子产品、家居用品还是各类机械设备中,配件都扮演着非常重要的角色。其中,11.5X1.5MM配件因其独特的尺寸和多样的...
2025-02-26 21:33:48

插件电阻作为电子元件中常见的,其种类繁多,各具特点。从材料上看,插件电阻主要分为碳膜电阻、金属膜电阻和线绕电阻。碳膜电阻具有较高的稳定性和可靠性,适合一般用途;...
2014-08-26 00:00:00

安全保护元件的重要性日益凸显。温度保险丝作为关键的过热保护装置,应用于家电、电子设备及工业机械中。华册作为国内知名的温度保险丝制造品牌,其产品以高品质和多样化的...
2023-12-29 00:58:30

快速看懂贴片电阻规格参数,只需掌握以下几点:1. 尺寸代码: 贴片电阻尺寸用四位数字表示,例如「0402」,前两位「04」表示长度为0.04英寸(约1.0mm)...
2024-11-26 11:29:11

台庆(TAI-TECH)作为一家享有盛誉的制造商,高质量的插件电阻系列赢得了认可。其插件电阻不仅性能很好,而且型号多样,满足不同应用需求。本文将详细介绍台庆(T...
2015-10-20 23:09:30