概述
Xilinx® 7 系列 FPGA 包含四个 FPGA 系列,可满足从低成本、小尺寸、成本敏感、高容量应用到对连接带宽、逻辑容量和信号处理能力要求最高的超高端高性能应用的全部系统需求。7 系列 FPGA 包括:
- Spartan®-7 系列: 针对低成本、最低功耗和高 I/O 性能进行了优化。提供低成本、极小外形封装,以实现最小的 PCB 面积。
Xilinx 7 系列 FPGA(包括 Spartan-7、Artix-7、Kintex-7、Virtex-7)的技术特性。涵盖基于 28nm 工艺的架构优势、逻辑单元、块 RAM、DSP Slice、时钟管理、I/O 接口、收发器及 PCIe 集成模块等核心功能。提供了各系列的器件对比、封装选项、电气特性及配置加密信息,适用于高性能系统设计与硬件选型参考。

Xilinx® 7 系列 FPGA 包含四个 FPGA 系列,可满足从低成本、小尺寸、成本敏感、高容量应用到对连接带宽、逻辑容量和信号处理能力要求最高的超高端高性能应用的全部系统需求。7 系列 FPGA 包括:
7 系列 FPGA 基于最先进的高性能、低功耗 (HPL)、28 nm、高 K 金属栅极 (HKMG) 工艺技术,实现了无与伦比的系统性能提升,提供 2.9 Tb/s 的 I/O 带宽、200 万逻辑单元容量和 5.3 TMAC/s 的 DSP 性能,同时比上一代器件功耗降低 50%,为 ASSP 和 ASIC 提供了完全可编程的替代方案。
表 1:7 系列 FPGA 系列对比
| 最大能力 | Spartan-7 | Artix-7 | Kintex-7 | Virtex-7 |
|---|---|---|---|---|
| 逻辑单元 | 102K | 215K | 478K | 1,955K |
| 块 RAM (1) | 4.2 Mb | 13 Mb | 34 Mb | 68 Mb |
| DSP Slice | 160 | 740 | 1,920 | 3,600 |
| DSP 性能 (2) | 176 GMAC/s | 929 GMAC/s | 2,845 GMAC/s | 5,335 GMAC/s |
| MicroBlaze CPU (3) | 260 DMIPS | 303 DMIPS | 438 DMIPS | 441 DMIPS |
| 收发器 | - | 16 | 32 | 96 |
| 收发器速度 | - | 6.6 Gb/s | 12.5 Gb/s | 28.05 Gb/s |
| 串行带宽 | - | 211 Gb/s | 800 Gb/s | 2,784 Gb/s |
| PCIe 接口 | - | x4 Gen2 | x8 Gen2 | x8 Gen3 |
| 存储器接口 | 800 Mb/s | 1,066 Mb/s | 1,866 Mb/s | 1,866 Mb/s |
| I/O 引脚 | 400 | 500 | 500 | 1,200 |
| I/O 电压 | 1.2V–3.3V | 1.2V–3.3V | 1.2V–3.3V | 1.2V–3.3V |
| 封装选项 | 低成本、键合线 | 低成本、键合线、裸片倒装 | 裸片倒装和高性能倒装 | 最高性能倒装 |
注释:
表 2:Spartan-7 FPGA 按器件分类特性摘要
| 器件 | 逻辑单元 | CLB | DSP Slice (2) | 块 RAM 块 (3) | CMT (4) | PCIe | GT | XADC 块 | 总 I/O Bank (5) | 最大用户 I/O |
|---|---|---|---|---|---|---|---|---|---|---|
| Slice (1) | 最大分布式 RAM (Kb) | 18 Kb | 36 Kb | 最大 (Kb) | ||||||
| XC7S6 | 6,000 | 938 | 70 | 10 | 10 | 5 | 180 | 2 | 0 | 0 |
| XC7S15 | 12,800 | 2,000 | 150 | 20 | 20 | 10 | 360 | 2 | 0 | 0 |
| XC7S25 | 23,360 | 3,650 | 313 | 80 | 45 | 22.5 | 810 | 3 | 0 | 0 |
| XC7S50 | 52,160 | 8,150 | 600 | 120 | 75 | 37.5 | 1,350 | 5 | 0 | 0 |
| XC7S75 | 76,800 | 12,000 | 832 | 140 | 90 | 45 | 1,620 | 8 | 0 | 0 |
| XC7S100 | 102,400 | 16,000 | 1,100 | 160 | 120 | 60 | 2,160 | 8 | 0 | 0 |
表 3:Spartan-7 FPGA 器件 - 封装组合和最大 I/O
| 封装 | CPGA196 | CSGA225 | CSGA324 | FTGB196 | FGGA484 | FGGA676 |
|---|---|---|---|---|---|---|
| 尺寸 (mm) | 8 x 8 | 13 x 13 | 15 x 15 | 15 x 15 | 23 x 23 | 27 x 27 |
| 球间距 (mm) | 0.5 | 0.8 | 0.8 | 1.0 | 1.0 | 1.0 |
| 器件 | HR I/O(1) | HR I/O(1) | HR I/O(1) | HR I/O(1) | HR I/O(1) | HR I/O(1) |
| XC7S6 | 100 | 100 | 100 | |||
| XC7S15 | 100 | 100 | 100 | |||
| XC7S25 | 150 | 150 | 100 | |||
| XC7S50 | 210 | 100 | 250 | |||
| XC7S75 | 338 | 400 | ||||
| XC7S100 | 338 | 400 |
注释:
表 4:Artix-7 FPGA 按器件分类特性摘要
| 器件 | 逻辑单元 | 可配置逻辑块 (CLB) | DSP48E1 Slice (2) | 块 RAM 块 (3) | CMT (4) | PCIe (5) | GTPS | XADC 块 | 总 I/O Bank (6) | 最大用户 I/O (7) |
|---|---|---|---|---|---|---|---|---|---|---|
| Slice (1) | 最大分布式 RAM (Kb) | 18 Kb | 36 Kb | 最大 (Kb) | ||||||
| XC7A12T | 12,800 | 2,000 | 171 | 40 | 40 | 20 | 720 | 3 | 1 | 4 |
| XC7A15T | 16,640 | 2,600 | 200 | 45 | 50 | 25 | 900 | 5 | 1 | 4 |
| XC7A25T | 23,360 | 3,650 | 313 | 80 | 45 | 22.5 | 810 | 3 | 1 | 4 |
| XC7A35T | 33,280 | 5,200 | 400 | 90 | 100 | 50 | 1,800 | 5 | 1 | 4 |
| XC7A50T | 52,160 | 8,150 | 600 | 120 | 150 | 75 | 2,700 | 5 | 1 | 4 |
| XC7A75T | 75,520 | 11,800 | 892 | 180 | 210 | 105 | 3,780 | 6 | 1 | 8 |
| XC7A100T | 101,440 | 15,850 | 1,188 | 240 | 270 | 135 | 4,860 | 6 | 1 | 8 |
| XC7A200T | 215,360 | 33,650 | 2,888 | 740 | 730 | 365 | 13,140 | 10 | 1 | 16 |
表 5:Artix-7 FPGA 器件 - 封装组合和最大 I/O
| 封装 (1) | CPG236 | CPG238 | CSG324 | CSG325 | FTG256 | SBG484 | FGG484(2) | FBG484(2) | FGG676(3) | FBG676(3) | FFG1156 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 尺寸 (mm) | 10x10 | 10x10 | 15x15 | 15x15 | 17x17 | 19x19 | 23x23 | 23x23 | 27x27 | 27x27 | 35x35 |
| 球间距 (mm) | 0.5 | 0.5 | 0.8 | 0.8 | 1.0 | 0.8 | 1.0 | 1.0 | 1.0 | 1.0 | 1.1 |
| 器件 | GTP(4) | I/O HR(5) | GTP(4) | I/O HR(5) | GTP | I/O HR(5) | GTP(4) | I/O HR(5) | GTP(4) | I/O HR(5) | GTP(4) |
| XC7A12T | 2 | 100 | 2 | 100 | 2 | 150 | |||||
| XC7A15T | 4 | 150 | 4 | 4 | 250 | ||||||
| XC7A25T | 2 | 100 | 2 | 100 | 2 | 150 | |||||
| XC7A35T | 4 | 150 | 4 | 4 | 250 | ||||||
| XC7A50T | 4 | 150 | 4 | 4 | 250 | ||||||
| XC7A75T | 8 | ||||||||||
| XC7A100T | 8 | ||||||||||
| XC7A200T |
注释:
表 6:Kintex-7 FPGA 按器件分类特性摘要
| 器件 | 逻辑单元 | 可配置逻辑块 (CLBs) | DSP Slice(2) | 块 RAM 块 (3) | CMT (4) | PCIe (5) | GTXs | XADC 块 | 总 I/O Bank (6) | 最大用户 I/O (7) |
|---|---|---|---|---|---|---|---|---|---|---|
| Slice (1) | 最大分布式 RAM (Kb) | 18 Kb | 36 Kb | 最大 (Kb) | ||||||
| XC7K70T | 65,600 | 10,250 | 838 | 240 | 270 | 135 | 4,860 | 6 | 1 | 8 |
| XC7K160T | 162,240 | 25,350 | 2,188 | 600 | 650 | 325 | 11,700 | 8 | 1 | 8 |
| XC7K325T | 326,080 | 50,950 | 4,000 | 840 | 890 | 445 | 16,020 | 10 | 1 | 16 |
| XC7K355T | 356,160 | 55,650 | 5,088 | 1,440 | 1,430 | 715 | 25,740 | 6 | 1 | 24 |
| XC7K410T | 406,720 | 63,550 | 5,663 | 1,540 | 1,590 | 795 | 28,620 | 10 | 1 | 16 |
| XC7K420T | 416,960 | 65,150 | 5,938 | 1,680 | 1,670 | 835 | 30,060 | 8 | 1 | 32 |
| XC7K480T | 477,760 | 74,650 | 6,788 | 1,920 | 1,910 | 955 | 34,380 | 8 | 1 | 32 |
表 7:Kintex-7 FPGA 器件 - 封装组合和最大 I/O
| 封装 (1) | FBG484 | FBG676(2) | FFG676(2) | FBG900(3) | FFG900(3) | FFG901 | FFG1156 |
|---|---|---|---|---|---|---|---|
| 尺寸 (mm) | 23x23 | 27x27 | 27x27 | 31x31 | 31x31 | 31x31 | 35x35 |
| 球间距 (mm) | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| 器件 | GTX (4) | I/O | GTX (4) | I/O | GTX | I/O | GTX (4) |
| HR(5) | HP(6) | HR(5) | HP(6) | ||||
| XC7K70T | 4 | 185 | 100 | 8 | 200 | 100 | |
| XC7K160T | 4 | 185 | 100 | 8 | 250 | 150 | 8 |
| XC7K325T | 8 | 250 | 150 | 8 | 250 | 150 | 16 |
| XC7K355T | |||||||
| XC7K410T | 8 | 250 | 150 | 8 | 250 | 150 | 16 |
| XC7K420T | |||||||
| XC7K480T |
注释:
表 8:Virtex-7 FPGA 特性摘要
| 器件 | 逻辑单元 | 可配置逻辑块 (CLBs) | DSP Slice(2) | 块 RAM 块 (3) | CMT (4) | PCIe (5) | GTX | GTH | GTZ | XADC 块 | 总 I/O Bank (6) | 最大用户 I/O (7) | SLR (8) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Slice (1) | 最大分布式 RAM (Kb) | 18 Kb | 36 Kb | 最大 (Kb) | |||||||||
| XC7V585T | 582,720 | 91,050 | 6,938 | 1,260 | 1,590 | 795 | 28,620 | 18 | 3 | 36 | 0 | 0 | 1 |
| XC7V2000T | 1,954,560 | 305,400 | 21,550 | 2,160 | 2,584 | 1,292 | 46,512 | 24 | 4 | 36 | 0 | 0 | 1 |
| XC7VX330T | 326,400 | 51,000 | 4,388 | 1,120 | 1,500 | 750 | 27,000 | 14 | 2 | 0 | 28 | 0 | 1 |
| XC7VX415T | 412,160 | 64,400 | 6,525 | 2,160 | 1,760 | 880 | 31,680 | 12 | 2 | 0 | 48 | 0 | 1 |
| XC7VX485T | 485,760 | 75,900 | 8,175 | 2,800 | 2,060 | 1,030 | 37,080 | 14 | 4 | 0 | 56 | 0 | 1 |
| XC7VX550T | 554,240 | 86,600 | 8,725 | 2,880 | 2,360 | 1,180 | 42,480 | 20 | 2 | 0 | 80 | 0 | 1 |
| XC7VX690T | 693,120 | 108,300 | 10,888 | 3,600 | 2,940 | 1,470 | 52,920 | 20 | 3 | 0 | 80 | 0 | 1 |
| XC7VX980T | 979,200 | 153,000 | 13,838 | 3,600 | 3,000 | 1,500 | 54,000 | 18 | 3 | 0 | 72 | 0 | 1 |
| XC7VX1140T | 1,139,200 | 178,000 | 17,700 | 3,360 | 3,760 | 1,880 | 67,680 | 24 | 4 | 0 | 96 | 0 | 1 |
| XC7VH580T | 580,480 | 90,700 | 8,850 | 1,680 | 1,880 | 940 | 33,840 | 12 | 2 | 0 | 48 | 8 | 1 |
| XC7VH870T | 876,160 | 136,900 | 13,275 | 2,520 | 2,820 | 1,410 | 50,760 | 18 | 3 | 0 | 72 | 16 | 1 |
(注:原文第 6 页表格内容不完整,仅列出表头,故此处省略)
表 11:Virtex-7 HT FPGA 器件 - 封装组合和最大 I/O
| 封装 (1) | FLG1155 | FLG1931 | FLG1932 |
|---|---|---|---|
| 尺寸 (mm) | 35 x 35 | 45 x 45 | 45 x 45 |
| 球间距 | 1.0 | 1.0 | 1.0 |
| 器件 | GTH | GTZ | I/O HP(2) |
| XC7VH580T | 24 | 8 | 400 |
| XC7VH870T |
注释:
创建大容量 FPGA 面临许多挑战,Xilinx 通过 SSI 技术解决了这些问题。SSI 技术使得多个超级逻辑区域 (SLR) 能够结合在一个无源中介层上,采用业界领先的成熟制造和组装技术,创建一个拥有超过一万个 SLR 间连接的单个 FPGA,提供具有低延迟和低功耗的超高带宽连接。Virtex-7 FPGA 中使用两种类型的 SLR:Virtex-7 T 器件中使用的逻辑密集型 SLR,以及 Virtex-7 XT 和 HT 器件中使用的 DSP/块 RAM/收发器资源丰富的 SLR。SSI 技术使得生产比传统制造方法能力更强的 FPGA 成为可能,从而能够以更快的速度和更低的风险制造出有史以来容量最高、性能最强的 FPGA。数千个跨接 SLR 的超长线 (SLL) 路由资源和超高性能时钟线确保设计能够无缝地跨越这些高密度可编程逻辑器件。
CLB 架构的一些关键特性包括:
7 系列 FPGA 中的 LUT 可以配置为一个 6 输入 LUT(64 位 ROM)带一个输出,或配置为两个 5 输入 LUT(32 位 ROM)带独立输出但共用地址或逻辑输入。每个 LUT 输出可以选择性地在触发器中寄存。四个这样的 LUT 及其八个触发器,以及多路复用器和算术进位链构成一个 Slice,两个 Slice 构成一个可配置逻辑块 (CLB)。每个 Slice 中的八个触发器中的四个(每个 LUT 一个)可以选择性地配置为锁存器。
所有 Slice 中的 25% 至 50% 还可以将其 LUT 用作分布式 64 位 RAM、32 位移位寄存器 (SRL32) 或两个 SRL16。现代综合工具充分利用这些高效的逻辑、算术和存储特性。
时钟管理架构的一些关键亮点包括:
每个 7 系列 FPGA 拥有多达 24 个时钟管理单元 (CMT),每个 CMT 由一个混合模式时钟管理器 (MMCM) 和一个锁相环 (PLL) 组成。
MMCM 和 PLL 共享许多特性。两者都可以作为宽范围频率的频率合成器和输入时钟的抖动滤波器。两个组件的核心都是一个压控振荡器 (VCO),它根据从鉴频鉴相器 (PFD) 接收的输入电压来加速或减速。
有三组可编程分频器:D、M 和 O。预分频器 D(可通过配置及之后的 DRP 编程)降低输入频率,并馈送到传统 PLL 鉴频鉴相器的一个输入端。反馈分频器 M(可通过配置及之后的 DRP 编程)作为乘法器,因为它对 VCO 输出频率进行分频后馈送到鉴相器的另一个输入端。必须适当选择 D 和 M,以使 VCO 保持在其指定的频率范围内。VCO 有八个等间距的输出相位(0°、45°、90°、135°、180°、225°、270°和 315°)。每个相位都可以被选择来驱动一个输出分频器(PLL 有 6 个,O0 到 O5;MMCM 有 7 个,O0 到 O6),每个分频器可通过配置编程为 1 到 128 之间的任何整数。
MMCM 和 PLL 有三种输入抖动滤波选项:低带宽、高带宽或优化模式。低带宽模式具有最佳的抖动衰减,但相位偏移不是最小。高带宽模式具有最佳的相位偏移,但抖动衰减不是最佳。优化模式允许工具找到最佳设置。
MMCM 可以在反馈路径(作为乘法器)或一个输出路径中拥有一个分数计数器。分数计数器允许 1/8 的非整数增量,从而可以将频率合成能力提高 8 倍。
MMCM 还可以提供固定或动态相位偏移,偏移增量很小,取决于 VCO 频率。在 1600 MHz 时,相位偏移时间增量为 11.2 ps。
每个 7 系列 FPGA 提供六种不同类型的时钟线(BUFG、BUFB、BUFIO、BUFH、BUFMR 和高性能时钟),以满足高扇出、短传播延迟和极低偏斜的不同时钟需求。
在每个 7 系列 FPGA(XC7S6 和 XC7S15 除外)中,32 条全局时钟线具有最高的扇出,可以到达每个触发器时钟、时钟使能、置位/复位以及许多逻辑输入。在任何时钟区域内,有 12 条由水平时钟缓冲器 (BUFH) 驱动的全局时钟线。每个 BUFH 可以独立使能/禁用,允许在一个区域内关闭时钟,从而提供对哪些时钟区域消耗功耗的精细控制。全局时钟线可以由全局时钟缓冲器驱动,这些缓冲器也可以执行无毛刺时钟多路复用和时钟使能功能。全局时钟通常由 CMT 驱动,这可以完全消除基本的时钟分配延迟。
区域时钟可以驱动其区域内所有时钟目的地。一个区域被定义为 50 个 I/O 和 50 个 CLB 高、芯片一半宽的区域。7 系列 FPGA 拥有 2 到 24 个区域。每个区域有四条区域时钟走线。每个区域时钟缓冲器可以由四个时钟能力输入引脚中的任何一个驱动,其频率可以选择性地除以 1 到 8 之间的任何整数。
I/O 时钟特别快,仅服务于 I/O 逻辑和串行器/解串器 (SerDes) 电路,如 I/O 逻辑部分所述。7 系列器件具有从 MMCM 到 I/O 的直接连接,用于低抖动、高性能接口。
块 RAM 的一些关键特性包括:
每个 7 系列 FPGA 拥有 5 到 1,880 个双端口块 RAM,每个存储 36 Kb。每个块 RAM 有两个完全独立的端口,除了存储的数据外,两者不共享任何东西。
每次存储器访问,无论是读还是写,都由时钟控制。所有输入(数据、地址、时钟使能和写使能)都被寄存。没有时钟,什么都不发生。输入地址始终被时钟控制,保持数据直到下一次操作。可选的输出数据流水线寄存器允许更高的时钟速率,但代价是多一个周期的延迟。
在写操作期间,数据输出可以反映先前存储的数据、新写入的数据,或者保持不变。
每个端口可以配置为 32K×1、16K×2、8K×4、4K×9(或 8)、2K×18(或 16)、1K×36(或 32)或 512×72(或 64)。两个端口可以有任何不同的数据宽高比,没有任何限制。
每个块 RAM 可以分为两个完全独立的 18 Kb 块 RAM,每个都可以配置为从 16K×1 到 512×36 的任何宽高比。前面描述的整个 36 Kb 块 RAM 的所有特性也适用于每个较小的 18 Kb 块 RAM。
只有在简单双端口 (SDP) 模式下,才能访问大于 18 位(18 Kb RAM)或 36 位(36 Kb RAM)的数据宽度。在此模式下,一个端口专用于读操作,另一个端口专用于写操作。在 SDP 模式下,一侧(读或写)可以是可变的,而另一侧固定为 32/36 或 64/72 位。
双端口 36 Kb RAM 的两侧都可以是可变宽度的。
两个相邻的 36 Kb 块 RAM 可以配置为一个级联的 64K×1 双端口 RAM,无需任何额外逻辑。
每个 64 位宽的块 RAM 可以生成、存储和利用额外的八个汉明码位,并在读取过程中执行单比特错误校正和双比特错误检测 (ECC)。当写入或读取外部 64 至 72 位宽的存储器时,也可以使用 ECC 逻辑。
内置的 FIFO 控制器用于单时钟(同步)或双时钟(异步或多速率)操作,递增内部地址并提供四个握手标志:满 (full)、空 (empty)、几乎满 (almost full) 和几乎空 (almost empty)。几乎满和几乎空标志可自由编程。与块 RAM 类似,FIFO 的宽度和深度是可编程的,但写和读端口始终具有相同的宽度。
首字直通 (First word fall-through) 模式在第一次读操作之前就将第一个写入的字呈现在数据输出上。在第一个字被读出后,此模式与标准模式没有区别。
DSP 功能的一些亮点包括:
DSP 应用使用许多二进制乘法器和累加器,最好在专用的 DSP Slice 中实现。所有 7 系列 FPGA 都拥有许多专用的、全定制、低功耗的 DSP Slice,在保持系统设计灵活性的同时,兼顾了高速度和小面积。
每个 DSP Slice 主要由一个专用的 25×18 位二进制补码乘法器和一个 48 位累加器组成,两者均可高达 741 MHz 运行。乘法器可以被动态旁路,两个 48 位输入可以馈送到单指令多数据 (SIMD) 算术单元(双 24 位加/减/累加或四 12 位加/减/累加)或逻辑单元,该逻辑单元可以对两个操作数产生任意十种不同的逻辑功能。
DSP 包含一个额外的预加器,通常用于对称滤波器。这种预加器提高了密集设计的性能,并将 DSP Slice 数量减少多达 50%。DSP 还包含一个 48 位宽的模式检测器,可用于收敛性或对称舍入。当与逻辑单元结合使用时,模式检测器还能够实现 96 位宽的逻辑功能。
DSP Slice 提供了广泛的流水线和扩展能力,提高了许多应用的速率和效率,这些应用超越了数字信号处理,例如宽动态总线移位器、存储器地址发生器、宽总线多路复用器和内存映射 I/O 寄存器文件。累加器也可以用作同步加/减计数器。
输入/输出功能的一些亮点包括:
I/O 引脚的数量取决于器件和封装尺寸。每个 I/O 都是可配置的,可以符合大量的 I/O 标准。除了电源引脚和少数专用配置引脚外,所有其他封装引脚都具有相同的 I/O 能力,仅受某些分组规则约束。7 系列 FPGA 中的 I/O 分为高范围 (HR) 和高性能 (HP) 两类。HR I/O 提供最宽的电压支持范围,从 1.2V 到 3.3V。HP I/O 针对最高性能操作进行了优化,电压范围为 1.2V 至 1.8V。
7 系列 FPGA 中的 HR 和 HP I/O 引脚按 bank 组织,每个 bank 有 50 个引脚。每个 bank 有一个共同的 VCCO 输出电源,也为某些输入缓冲器供电。某些单端输入缓冲器需要内部产生或外部施加的参考电压 (VREF)。每个 bank 有两个 VREF 引脚(配置 bank 0 除外)。单个 bank 只能有一个 VREF 电压值。
Xilinx 7 系列 FPGA 采用多种封装类型以满足用户需求,包括用于最低成本的小尺寸键合线封装;传统的高性能倒装芯片封装;以及在更小尺寸和高性能之间取得平衡的裸片倒装封装。在倒装芯片封装中,硅片通过高性能倒装工艺连接到封装基板。受控 ESR 分立去耦电容器安装在封装基板上,以优化在输出同时开关 (SSO) 条件下的信号完整性。
单端输出使用传统的 CMOS 推挽输出结构,向 VCCO(高)或地(低)驱动,并且可以置于高阻态。系统设计人员可以指定压摆率和输出强度。输入始终处于活动状态,但在输出活动时通常被忽略。每个引脚可以选择性地具有弱上拉或弱下拉电阻。
大多数信号引脚对可以配置为差分输入对或输出对。差分输入引脚对可以选择性地用内部 100Ω电阻端接。所有 7 系列器件都支持 LVDS 以外的差分标准:RSDS、BLVDS、差分 SSTL 和差分 HSTL。
每个 I/O 都支持存储器 I/O 标准,例如单端和差分 HSTL,以及单端 SSTL 和差分 SSTL。SSTL I/O 标准可以支持高达 1,866 Mb/s 的数据速率,用于 DDR3 接口应用。
三态数字控制阻抗 (T_DCI) 可以控制输出驱动阻抗(串联端接),或者可以为输入信号提供到 VCCO 的并联端接或到 VCCO/2 的分裂(戴维南)端接。这允许用户为使用 T_DCI 的信号消除片外端接。除了节省电路板空间外,端接在输出模式或三态时会自动关闭,与片外端接相比节省了大量功耗。I/O 还具有用于 IBUF 和 IDELAY 的低功耗模式,以进一步节省功耗,特别是在用于实现存储器接口时。
所有输入和输出都可以配置为组合式或寄存式。所有输入和输出都支持双数据速率 (DDR)。任何输入和某些输出可以单独延迟最多 32 个增量,每个增量为 78 ps、52 ps 或 39 ps。这种延迟通过 IDELAY 和 ODELAY 实现。延迟步进数可以通过配置设置,并且在使用过程中也可以递增或递减。
许多应用将高速、位串行 I/O 与器件内部较慢的并行操作相结合。这需要在 I/O 结构内部包含串行器和解串器 (SerDes)。每个 I/O 引脚拥有一个 8 位 IOSERDES(ISERDES 和 OSERDES),能够执行可编程宽度为 2、3、4、5、6、7 或 8 位的串并或并串转换。通过级联两个相邻引脚的 IOSERDES(默认为差分 I/O),还可以支持 10 位和 14 位的更宽转换。ISERDES 具有特殊的过采样模式,能够进行异步数据恢复,适用于诸如基于 1.25 Gb/s LVDS I/O 的 SGMII 接口等应用。
低功耗千兆位收发器的一些亮点包括:
将超快串行数据传输到光模块、同一 PCB 上的 IC 之间、经过背板或更长距离,正变得越来越流行和重要,以使客户线卡能够扩展到 100 Gb/s 乃至 400 Gb/s。这需要专用的片上电路和能够应对这些高数据速率下信号完整性问题的差分 I/O。
7 系列 FPGA 中的收发器数量范围从 Artix-7 系列中的多达 16 个收发器电路,到 Kintex-7 系列中的多达 32 个,再到 Virtex-7 系列中的多达 96 个。每个串行收发器都是一个组合的发送器和接收器。各种 7 系列串行收发器使用环形振荡器和 LC 振荡器组合,或者对于 GTZ,使用单一的 LC 振荡器架构,以实现灵活性和性能的理想结合,同时允许 IP 在家族成员之间移植。不同的 7 系列家族成员提供不同的最高数据速率。GTP 最高工作于 6.6Gb/s,GTX 最高工作于 12.5Gb/s,GTH 最高工作于 13.1Gb/s,GTZ 最高工作于 28.05Gb/s。可以使用基于 FPGA 逻辑的过采样来实现更低的数据速率。串行发送器和接收器是独立的电路,使用先进的 PLL 架构将参考频率输入乘以某些可编程数值(最高 100),以产生位串行数据时钟。每个收发器都有大量用户可定义的特性和参数。所有这些都可以在器件配置期间定义,并且许多也可以在操作期间修改。
发送器本质上是一个并串转换器,转换比为 16、20、32、40、64 或 80。此外,GTZ 发送器支持高达 160 位的数据宽度。这允许设计者在高性能设计中权衡数据路径宽度与时序裕量。这些发送器输出通过单通道差分输出信号驱动 PC 板。TXOUTCLK 是适当分频的串行数据时钟,可直接用于寄存来自内部逻辑的并行数据。输入的并行数据通过一个可选的 FIFO 馈送,并具有用于 8B/10B、64B/66B 或 64B/67B 编码方案的额外硬件支持,以提供足够的跳变。位串行输出信号驱动两个封装引脚,输出差分信号。该输出信号对具有可编程的信号摆幅以及可编程的预加重和去加重,以补偿 PC 板损耗和其他互连特性。对于较短通道,可以降低摆幅以减少功耗。
接收器本质上是一个串并转换器,将输入的位串行差分信号转换为 16、20、32、40、64 或 80 位的并行字流。此外,GTZ 接收器支持高达 160 位的数据宽度。这允许 FPGA 设计者权衡内部数据路径宽度与逻辑时序裕量。接收器接收输入的差分数据流,通过可编程的线性和决策反馈均衡器(以补偿 PC 板和其他互连特性),并使用参考时钟输入启动时钟识别。不需要单独的时钟线。数据模式使用非归零 (NRZ) 编码,并通过使用所选编码方案可选地保证足够的数据跳变。然后,并行数据使用 RXUSRCLK 时钟传输到 FPGA 逻辑中。对于短通道,收发器提供一种特殊的低功耗模式 (LPM),可将功耗降低约 30%。
收发器提供带外 (OOB) 信令,通常用于在高速串行数据传输未激活时,从发送器向接收器发送低速信号。这通常在链路处于断电状态或尚未初始化时完成。这有利于 PCI Express 和 SATA/SAS 应用。
集成 PCI Express 模块的亮点包括:
所有 Artix-7、Kintex-7 和 Virtex-7 器件都包含至少一个用于 PCI Express 技术的集成块,可配置为端点或根端口,符合 PCI Express 基本规范修订版 2.1 或 3.0。根端口可用于构建兼容的根复合体 (Root Complex) 的基础,允许通过 PCI Express 协议进行自定义 FPGA 到 FPGA 通信,并将 ASSP 端点设备(如以太网控制器或光纤通道 HBA)连接到 FPGA。
该模块可根据系统设计要求进行高度配置,可以 1、2、4 或 8 通道运行在 2.5 Gb/s、5.0 Gb/s 和 8.0 Gb/s 数据速率。对于高性能应用,该模块的高级缓冲技术提供高达 1,024 字节的灵活最大有效负载大小。该集成模块连接到集成的高速收发器以实现串行连接,并连接到块 RAM 以实现数据缓冲。这些元素结合起来实现了 PCI Express 协议的物理层、数据链路层和事务层。
Xilinx 提供了一个轻量级、可配置、易于使用的 LogiCORE™IP 封装,将各种构建模块(用于 PCI Express 的集成块、收发器、块 RAM 和时钟资源)结合到端点或根端口解决方案中。系统设计人员可以控制许多可配置参数:通道宽度、最大有效负载大小、FPGA 逻辑接口速率、参考时钟频率以及基址寄存器解码和过滤。
Xilinx 为该集成模块提供了两种封装:AXI4-Stream 和 AXI4(内存映射)。请注意,传统的 TRN/本地链接 (Local Link) 不适用于 7 系列器件中用于 PCI Express 的集成模块。AXI4-Stream 是为现有集成模块客户设计的,支持从 TRN 轻松迁移到 AXI4-Stream。AXI4(内存映射)是为 Xilinx 平台工作室/EDK 设计流程和基于 MicroBlaze™处理器的设计而设计的。
有关 PCI Express 设计解决方案的更多信息和文档,请参阅相关技术文档。
有许多高级配置特性,包括:
Xilinx 7 系列 FPGA 将其定制配置存储在 SRAM 型内部锁存器中。根据器件大小和用户设计实现选项,配置位最多可达 450 Mb。配置存储器是易失性的,每次 FPGA 上电时必须重新加载。随时拉低 PROGRAM_B 引脚也可以重新加载此存储器。有几种加载配置的方法和数据格式,由三个模式引脚决定。
SPI 接口(x1、x2 和 x4 模式)和 BPI 接口(并行 NOR x8 和 x16)是用于配置 FPGA 的两种常用方法。用户可以直接将 SPI 或 BPI 闪存连接到 FPGA,FPGA 的内部配置逻辑从闪存中读取比特流并自行配置。FPGA 会自动动态检测总线宽度,无需任何外部控制或开关。支持的总线宽度为:SPI 的 x1、x2 和 x4;BPI 的 x8 和 x16。更宽的总线宽度可以提高配置速度,并减少 FPGA 上电后启动所需的时间。并非所有器件 - 封装组合都支持某些配置选项,如 BPI。有关详细信息,请参阅 UG470《7 系列 FPGA 配置用户指南》。
在主模式 (Master mode) 下,FPGA 可以从内部产生的时钟驱动配置时钟,或者为了更高速的配置,FPGA 可以使用外部配置时钟源。这使得在保持主模式易用性特点的同时实现高速配置。FPGA 也支持高达 32 位宽的从模式 (Slave mode),这对于处理器驱动的配置特别有用。
FPGA 能够使用 SPI 或 BPI 闪存用不同的映像重新配置自身,无需外部控制器。如果数据传输过程中出现任何错误,FPGA 可以重新加载其原始设计,确保过程结束时 FPGA 可操作。这对于最终产品发货后更新设计特别有用。客户可以用早期版本的设计发货,从而更快地将产品推向市场。此功能允许客户在产品已经在现场时,使其最终用户保持最新的设计。
动态重配置端口 (DRP) 使系统设计人员能够轻松访问 MMCM/PLL、XADC、收发器和 PCI Express 集成块的配置和状态寄存器。DRP 的行为类似于一组内存映射寄存器,用于访问和修改模块特定的配置位以及状态和控制寄存器。
在所有 7 系列 FPGA(XC7S6 和 XC7S15 除外)中,包含敏感客户 IP 的 FPGA 比特流可以通过 256 位 AES 加密和 HMAC/SHA-256 认证进行保护,以防止未经授权的设计复制。FPGA 在配置期间使用内部存储的 256 位密钥进行实时解密。该密钥可以存放在电池备份 RAM 或非易失的 eFUSE 位中。
大多数配置数据可以在不影响系统操作的情况下回读。通常,配置是一种全有或全无的操作,但 Xilinx 7 系列 FPGA 支持部分重配置。这是一个极其强大和灵活的特性,允许用户更改 FPGA 的部分区域,而其他部分保持不变。用户可以对这部分区域进行分时复用,以将更多 IP 适配到更小的器件中,从而节省成本和功耗。在适用于某些设计时,部分重配置可以极大地提高 FPGA 的通用性。
XADC 架构的亮点包括:
所有 Xilinx 7 系列 FPGA(XC7S6 和 XC7S15 除外)都集成了一种称为 XADC 的新型灵活模拟接口。当与 7 系列 FPGA 的可编程逻辑能力相结合时,XADC 可以满足广泛的数据采集和监控需求。欲了解更多信息,请参阅 UG480《7 系列 FPGA 和 Zynq-7000 All Programmable SoC XADC 双通道 12 位 1 MSPS 模数转换器用户指南》。
XADC 包含两个 12 位 1 MSPS ADC,带有独立的跟踪保持放大器、一个片上模拟多路复用器(支持多达 17 个外部模拟输入通道)以及片上温度和电源传感器。这两个 ADC 可以配置为同时采样两个外部输入模拟通道。跟踪保持放大器支持一系列模拟输入信号类型,包括单极性、双极性和差分。模拟输入可以支持至少 500 KHz 的信号带宽,采样率为 1 MSPS。可以使用外部模拟多路复用器模式和专用模拟输入来支持更高的模拟带宽。
XADC 可选地使用片上参考电路(±1%),从而无需任何外部有源元件即可进行基本的片上温度和电源轨监控。要实现 ADC 的完整 12 位性能,建议使用外部 1.25V 参考 IC。
如果设计中未实例化 XADC,则默认情况下它会数字化所有片上传感器的输出。最新的测量结果(连同最大值和最小值读数)存储在专用寄存器中,可随时通过 JTAG 接口访问。用户定义的报警阈值可以自动指示过温事件和不可接受的电源变化。用户指定的限制(例如 100°C)可用于启动自动断电。
表 12 显示了不同器件系列中可用的速度和温度等级。某些器件可能并非在每个速度和温度等级中都可用。
表 12:7 系列速度等级和温度范围
| 器件系列 | 器件 | 速度等级、温度范围和操作电压 |
|---|---|---|
| Spartan-7 | 所有器件 | -2C (1.0V) 商业级 0°C 至 +85°C\n-2I (1.0V) 工业级 -40°C 至 +100°C\n-1C (1.0V) 商业级 0°C 至 +85°C\n-1I (1.0V) 工业级 -40°C 至 +100°C\n-1Q (1.0V) 扩展级 (Q) -40°C 至 +125°C\n-1LI (0.95V) 低功耗工业级 -40°C 至 +100°C |
| Artix-7 | 所有器件 | -3E (1.0V) 扩展级 (E) 0°C 至 +100°C\n-2C (1.0V) 商业级 0°C 至 +85°C\n-2I (1.0V) 工业级 -40°C 至 +100°C\n-2LE (1.0V 或 0.9V) 低功耗扩展级 0°C 至 +100°C\n-1C (1.0V) 商业级 0°C 至 +85°C\n-1I (1.0V) 工业级 -40°C 至 +100°C\n-1LI (0.95V) 低功耗工业级 -40°C 至 +100°C |
| Kintex-7 | XC7K70T, XC7K160T, XC7K325T, XC7K355T, XC7K410T, XC7K420T, XC7K480T | -3E (1.0V) 扩展级 (E) 0°C 至 +100°C\n-2C (1.0V) 商业级 0°C 至 +85°C\n-2I (1.0V) 工业级 -40°C 至 +100°C\n-2LE (1.0V 或 0.9V) 低功耗扩展级 0°C 至 +100°C\n-2LI (0.95V) 低功耗工业级 -40°C 至 +100°C\n-1C (1.0V) 商业级 0°C 至 +85°C\n-1I (1.0V) 工业级 -40°C 至 +100°C |
| Virtex-7 T | XC7V585T, XC7V2000T | -3E (1.0V) 扩展级 (E) 0°C 至 +100°C\n-2C (1.0V) 商业级 0°C 至 +85°C\n-2I (1.0V) 工业级 -40°C 至 +100°C\n-2LE (1.0V) 低功耗扩展级 0°C 至 +100°C\n-1C (1.0V) 商业级 0°C 至 +85°C\n-1I (1.0V) 工业级 -40°C 至 +100°C\n*(针对 XC7V2000T)* -2GE (1.0V), -2LE (1.0V) |
| Virtex-7 XT | XC7VX330T, XC7VX415T, XC7VX485T, XC7VX550T, XC7VX690T, XC7VX980T, XC7VX1140T | -3E (1.0V) 扩展级 (E) 0°C 至 +100°C\n-2C (1.0V) 商业级 0°C 至 +85°C\n-2I (1.0V) 工业级 -40°C 至 +100°C\n-2LE (1.0V) 低功耗扩展级 0°C 至 +100°C\n-1C (1.0V) 商业级 0°C 至 +85°C\n-1I (1.0V) 工业级 -40°C 至 +100°C\n*(针对 XC7VX980T, XC7VX1140T)* 额外选项:-2GE (1.0V) |
| Virtex-7 HT | 所有器件 | -2C (1.0V) 商业级 0°C 至 +85°C\n-2GE (1.0V) 千兆位以太网级 0°C 至 +100°C\n-2LE (1.0V) 低功耗扩展级 0°C 至 +100°C\n-1C (1.0V) 商业级 0°C 至 +85°C |

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online