7系列FPGA数据手册
7系列FPGA数据手册:概述
DS180 (v2.6.1) 中文版 2020年9月8日
概述
Xilinx® 7系列FPGA包含四个FPGA系列,可满足从低成本、小尺寸、成本敏感、高容量应用到对连接带宽、逻辑容量和信号处理能力要求最高的超高端高性能应用的全部系统需求。7系列FPGA包括:
- Spartan®-7 系列: 针对低成本、最低功耗和高I/O性能进行了优化。提供低成本、极小外形封装,以实现最小的PCB面积。
- Artix®-7 系列: 针对需要串行收发器和高DSP及逻辑吞吐量的低功耗应用进行了优化。为高吞吐量、成本敏感型应用提供最低的总物料清单成本。
- Kintex®-7 系列: 针对最佳性价比进行了优化,与上一代相比性能提升2倍,开创了一类新的FPGA。
- Virtex®-7 系列: 针对最高的系统性能和容量进行了优化,系统性能提升2倍。通过堆叠硅片互联(SSI)技术实现最高性能的设备。
7系列FPGA基于最先进的高性能、低功耗(HPL)、28 nm、高K金属栅极(HKMG)工艺技术,实现了无与伦比的系统性能提升,提供2.9 Tb/s的I/O带宽、200万逻辑单元容量和5.3 TMAC/s的DSP性能,同时比上一代器件功耗降低50%,为ASSP和ASIC提供了完全可编程的替代方案。
7系列FPGA特性摘要
- 基于真正的6输入查找表(LUT)技术的先进高性能FPGA逻辑,可配置为分布式存储器。
- 36 Kb双端口块RAM,内置FIFO逻辑,用于片上数据缓冲。
- 高性能SelectIO™技术,支持高达1,866 Mb/s的DDR3接口。
- 高速串行连接性,内置多千兆位收发器,速率从600 Mb/s到最高6.6 Gb/s至28.05 Gb/s,提供特殊的低功耗模式,针对芯片到芯片接口进行了优化。
- 用户可配置的模拟接口(XADC),包含双通道12位1MSPS模数转换器,带有片上温度和电源传感器。
- DSP Slice,包含25×18乘法器、48位累加器和预加器,用于高性能滤波,包括优化的对称系数滤波。
- 强大的时钟管理单元(CMT),结合了锁相环(PLL)和混合模式时钟管理器(MMCM)模块,实现高精度和低抖动。
- 使用MicroBlaze™处理器快速部署嵌入式处理。
- 用于PCI Express® (PCIe)的集成块,支持高达x8 Gen3的端点(Endpoint)和根端口(Root Port)设计。
- 广泛的配置选项,包括支持通用存储器、带有HMAC/SHA-256认证的256位AES加密,以及内置的SEU检测与校正。
- 低成本、键合线、裸片倒装和高信号完整性倒装封装,在同一封装内提供不同家族成员间的轻松迁移。
- 所有封装均提供无铅(Pb-free)版本,选定封装提供含铅(Pb)选项。
- 采用28 nm、HKMG、HPL工艺、1.0V内核电压工艺技术以及0.9V内核电压选项(实现更低功耗)设计,实现高性能和最低功耗。
表 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 |
| 封装选项 | 低成本、键合线 | 低成本、键合线、裸片倒装 | 裸片倒装和高性能倒装 | 最高性能倒装 |
注释:
- 额外的存储器可用分布式RAM的形式提供。
- 峰值DSP性能数据基于对称滤波器实现。
- 峰值MicroBlaze CPU性能数据基于微控制器预设。
Spartan-7 FPGA 特性摘要
表 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 |
注释:
- HR = 高范围I/O,支持1.2V至3.3V的I/O电压。
Artix-7 FPGA 特性摘要
表 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 |
注释:
- 每个7系列FPGA Slice包含四个LUT和八个触发器;只有部分Slice可以使用其LUT作为分布式RAM或SRL。
- 每个DSP Slice包含一个预加器、一个25x18乘法器、一个加法器和一个累加器。
- 块RAM本质上大小为36 Kb;每个块也可以用作两个独立的18 Kb块。
- 每个CMT包含一个MMCM和一个PLL。
- Artix-7 FPGA的PCI Express接口块支持高达x4 Gen2。
- 不包括配置Bank 0。
- 此数字不包括GTP收发器。
- CP、CS、FT和FG封装中的GTP收发器支持高达6.25 Gb/s的数据速率。
- HR = 高范围I/O,支持1.2V至3.3V的I/O电压。
- 所有列出的封装均为无铅(Pb-free)。某些封装提供含铅(Pb)选项。
- FGG484和FBG484封装的器件引脚布局兼容。
- FGG676和FBG676封装的器件引脚布局兼容。
Kintex-7 FPGA 特性摘要
表 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 |
注释:
- 每个7系列FPGA Slice包含四个LUT和八个触发器;只有部分Slice可以使用其LUT作为分布式RAM或SRL。
- 每个DSP Slice包含一个预加器、一个25x18乘法器、一个加法器和一个累加器。
- 块RAM本质上大小为36 Kb;每个块也可以用作两个独立的18 Kb块。
- 每个CMT包含一个MMCM和一个PLL。
- Kintex-7 FPGA的PCI Express接口块支持高达x8 Gen2。
- 不包括配置Bank 0。
- 此数字不包括GTX收发器。
- 所有列出的封装均为无铅(Pb-free)。某些封装提供含铅(Pb)选项。
- FBG676和FFG676封装的器件引脚布局兼容。
- FBG900和FFG900封装的器件引脚布局兼容。
- FB封装中的GTX收发器支持以下最大数据速率:FBG484中为10.3Gb/s;FBG676和FBG900中为6.6Gb/s。详情请参阅Kintex-7 FPGAs数据手册:直流与交流开关特性(DS182)。
- HR = 高范围I/O,支持1.2V至3.3V的I/O电压。
- HP = 高性能I/O,支持1.2V至1.8V的I/O电压。
Virtex-7 FPGA 特性摘要
表 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 |
注释:
- 所有列出的封装均为无铅(Pb-free),符合豁免15。某些封装提供含铅(Pb)选项。
- HP = 高性能I/O,支持1.2V至1.8V的I/O电压。
堆叠硅片互联(SSI)技术
创建大容量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、Slice和LUT
CLB架构的一些关键特性包括:
- 真正的6输入查找表(LUT)
- LUT内的存储能力
- 寄存器和移位寄存器功能
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)
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 附加可编程特性
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时钟特别快,仅服务于I/O逻辑和串行器/解串器(SerDes)电路,如I/O逻辑部分所述。7系列器件具有从MMCM到I/O的直接连接,用于低抖动、高性能接口。
块RAM
块RAM的一些关键特性包括:
- 双端口36 Kb块RAM,端口宽度最大为72位
- 可编程FIFO逻辑
- 内置可选的错误校正电路
每个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控制器
内置的FIFO控制器用于单时钟(同步)或双时钟(异步或多速率)操作,递增内部地址并提供四个握手标志:满(full)、空(empty)、几乎满(almost full)和几乎空(almost empty)。几乎满和几乎空标志可自由编程。与块RAM类似,FIFO的宽度和深度是可编程的,但写和读端口始终具有相同的宽度。
首字直通(First word fall-through)模式在第一次读操作之前就将第一个写入的字呈现在数据输出上。在第一个字被读出后,此模式与标准模式没有区别。
数字信号处理 - DSP Slice
DSP功能的一些亮点包括:
- 25×18二进制补码乘法器/累加器,高分辨率(48位)信号处理器
- 省电的预加器,用于优化对称滤波器应用
- 高级特性:可选的流水线、可选的ALU、用于级联的专用总线
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寄存器文件。累加器也可以用作同步加/减计数器。
输入/输出
输入/输出功能的一些亮点包括:
- 高性能SelectIO技术,支持1,866 Mb/s DDR3
- 封装内集成高频去耦电容,以增强信号完整性
- 数字控制阻抗,可置于高阻态以实现最低功耗、高速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)条件下的信号完整性。
I/O 电气特性
单端输出使用传统的CMOS推挽输出结构,向VCCO(高)或地(低)驱动,并且可以置于高阻态。系统设计人员可以指定压摆率和输出强度。输入始终处于活动状态,但在输出活动时通常被忽略。每个引脚可以选择性地具有弱上拉或弱下拉电阻。
大多数信号引脚对可以配置为差分输入对或输出对。差分输入引脚对可以选择性地用内部100Ω电阻端接。所有7系列器件都支持LVDS以外的差分标准:RSDS、BLVDS、差分SSTL和差分HSTL。
每个I/O都支持存储器I/O标准,例如单端和差分HSTL,以及单端SSTL和差分SSTL。SSTL I/O标准可以支持高达1,866 Mb/s的数据速率,用于DDR3接口应用。
三态数字控制阻抗和低功耗I/O特性
三态数字控制阻抗(T_DCI)可以控制输出驱动阻抗(串联端接),或者可以为输入信号提供到VCCO的并联端接或到VCCO/2的分裂(戴维南)端接。这允许用户为使用T_DCI的信号消除片外端接。除了节省电路板空间外,端接在输出模式或三态时会自动关闭,与片外端接相比节省了大量功耗。I/O还具有用于IBUF和IDELAY的低功耗模式,以进一步节省功耗,特别是在用于实现存储器接口时。
I/O逻辑
输入和输出延迟
所有输入和输出都可以配置为组合式或寄存式。所有输入和输出都支持双数据速率(DDR)。任何输入和某些输出可以单独延迟最多32个增量,每个增量为78 ps、52 ps或39 ps。这种延迟通过IDELAY和ODELAY实现。延迟步进数可以通过配置设置,并且在使用过程中也可以递增或递减。
ISERDES 和 OSERDES
许多应用将高速、位串行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接口等应用。
低功耗千兆位收发器
低功耗千兆位收发器的一些亮点包括:
- 高性能收发器,根据系列不同,线速率可达6.6 Gb/s (GTP)、12.5 Gb/s (GTX)、13.1 Gb/s (GTH) 或 28.05 Gb/s (GTZ),为实现首个单器件400G解决方案奠定基础。
- 针对芯片到芯片接口优化的低功耗模式。
- 先进的发送预加重和去加重、接收器线性均衡(CTLE)和决策反馈均衡(DFE),适用于长距离或背板应用。
- 接收均衡自动自适应和片上眼图扫描,便于串行链路调谐。
将超快串行数据传输到光模块、同一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设计的集成接口模块
集成PCI Express模块的亮点包括:
- 符合PCI Express基本规范修订版2.1或3.0(取决于系列),具有端点(Endpoint)和根端口(Root Port)能力
- 根据器件系列,支持Gen1 (2.5 Gb/s)、Gen2 (5 Gb/s) 和 Gen3 (8 Gb/s)
- 高级配置选项、高级错误报告(AER)和端到端CRC(ECRC)
- 多功能和单根I/O虚拟化(SR-IOV)支持,可通过软逻辑封装实现或集成在模块中(取决于系列)
所有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设计解决方案的更多信息和文档,请访问:http://www.xilinx.com/products/technology/pci-express.html。
配置
有许多高级配置特性,包括:
- 高速SPI和BPI(并行NOR)配置
- 内置多引导(MultiBoot)和安全更新能力
- 带HMAC/SHA-256认证的256位AES加密
- 内置SEU检测与校正
- 部分重配置
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(模数转换器)
XADC架构的亮点包括:
- 双通道12位1 MSPS模数转换器(ADC)
- 多达17个灵活且用户可配置的模拟输入
- 片上或外部参考选项
- 片上温度(最大误差±4°C)和电源(最大误差±1%)传感器
- 通过JTAG连续访问ADC测量值
所有Xilinx 7系列FPGA(XC7S6和XC7S15除外)都集成了一种称为XADC的新型灵活模拟接口。当与7系列FPGA的可编程逻辑能力相结合时,XADC可以满足广泛的数据采集和监控需求。欲了解更多信息,请访问:http://www.xilinx.com/ams。
XADC包含两个12位1 MSPS ADC,带有独立的跟踪保持放大器、一个片上模拟多路复用器(支持多达17个外部模拟输入通道)以及片上温度和电源传感器。这两个ADC可以配置为同时采样两个外部输入模拟通道。跟踪保持放大器支持一系列模拟输入信号类型,包括单极性、双极性和差分。模拟输入可以支持至少500 KHz的信号带宽,采样率为1 MSPS。可以使用外部模拟多路复用器模式和专用模拟输入来支持更高的模拟带宽(参见UG480《7系列FPGA和Zynq-7000 All Programmable SoC XADC双通道12位1 MSPS模数转换器用户指南》)。
XADC可选地使用片上参考电路(±1%),从而无需任何外部有源元件即可进行基本的片上温度和电源轨监控。要实现ADC的完整12位性能,建议使用外部1.25V参考IC。
如果设计中未实例化XADC,则默认情况下它会数字化所有片上传感器的输出。最新的测量结果(连同最大值和最小值读数)存储在专用寄存器中,可随时通过JTAG接口访问。用户定义的报警阈值可以自动指示过温事件和不可接受的电源变化。用户指定的限制(例如100°C)可用于启动自动断电。
7系列FPGA订购信息
表12显示了不同器件系列中可用的速度和温度等级。某些器件可能并非在每个速度和温度等级中都可用。
表 12:7系列速度等级和温度范围
| 器件系列 | 器件 | 速度等级、温度范围和操作电压 |
|---|---|---|
| Spartan-7 | 所有器件 | -2C (1.0V) 商业级 0°C 至 +85°C -2I (1.0V) 工业级 -40°C 至 +100°C -1C (1.0V) 商业级 0°C 至 +85°C -1I (1.0V) 工业级 -40°C 至 +100°C -1Q (1.0V) 扩展级(Q) -40°C 至 +125°C -1LI (0.95V) 低功耗工业级 -40°C 至 +100°C |
| Artix-7 | 所有器件 | -3E (1.0V) 扩展级(E) 0°C 至 +100°C -2C (1.0V) 商业级 0°C 至 +85°C -2I (1.0V) 工业级 -40°C 至 +100°C -2LE (1.0V 或 0.9V) 低功耗扩展级 0°C 至 +100°C -1C (1.0V) 商业级 0°C 至 +85°C -1I (1.0V) 工业级 -40°C 至 +100°C -1LI (0.95V) 低功耗工业级 -40°C 至 +100°C |
| Kintex-7 | XC7K70T, XC7K160T, XC7K325T, XC7K355T, XC7K410T, XC7K420T, XC7K480T | -3E (1.0V) 扩展级(E) 0°C 至 +100°C -2C (1.0V) 商业级 0°C 至 +85°C -2I (1.0V) 工业级 -40°C 至 +100°C -2LE (1.0V 或 0.9V) 低功耗扩展级 0°C 至 +100°C -2LI (0.95V) 低功耗工业级 -40°C 至 +100°C -1C (1.0V) 商业级 0°C 至 +85°C -1I (1.0V) 工业级 -40°C 至 +100°C |
| Virtex-7 T | XC7V585T, XC7V2000T | -3E (1.0V) 扩展级(E) 0°C 至 +100°C -2C (1.0V) 商业级 0°C 至 +85°C -2I (1.0V) 工业级 -40°C 至 +100°C -2LE (1.0V) 低功耗扩展级 0°C 至 +100°C -1C (1.0V) 商业级 0°C 至 +85°C -1I (1.0V) 工业级 -40°C 至 +100°C (针对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 -2C (1.0V) 商业级 0°C 至 +85°C -2I (1.0V) 工业级 -40°C 至 +100°C -2LE (1.0V) 低功耗扩展级 0°C 至 +100°C -1C (1.0V) 商业级 0°C 至 +85°C -1I (1.0V) 工业级 -40°C 至 +100°C (针对XC7VX980T, XC7VX1140T) 额外选项:-2GE (1.0V) |
| Virtex-7 HT | 所有器件 | -2C (1.0V) 商业级 0°C 至 +85°C -2GE (1.0V) 千兆位以太网级 0°C 至 +100°C -2LE (1.0V) 低功耗扩展级 0°C 至 +100°C -1C (1.0V) 商业级 0°C 至 +85°C |