当前位置: 首页 > news >正文

The Xilinx 7 series FPGAs 设计PCB 该选择绑定哪个bank引脚,约束引脚时如何定义引脚电平标准?

       写作目的:由于项目需求,需要将原有的16位AD转换芯片替换为24位的AD转换芯片。除了涉及驱动代码的修改外,本次工程还包括了原理图的更新以及引脚电平标准的选择。本篇文章主要记录了这一学习过程,并详细阐述了相关的技术细节与设计思路。

1.原理图更新

1.1  The Xilinx 7 series FPGAs  芯片类型

        在此之前,还没有去了解过FPGA芯片的组成结构,所以这几天在了解。

        Xilinx 7 系列 FPGA 是基于 28nm 工艺技术的 FPGA 产品系列, 分为四个子系列。每个子系列在性能、功耗、尺寸和设计难度等方面各具特点,适用于不同的应用场景。下面是四个子系列的介绍:

  1. Spartan-7 系列:作为 7 系列中最基础的型号,Spartan-7 提供了最低的价格、最低的功耗、最小的尺寸以及最简单的设计难度,非常适合低端应用。其优异的性价比使其在入门级市场中非常受欢迎,特别适用于需要基本逻辑处理、低功耗和紧凑尺寸的嵌入式系统。

  2. Artix-7 系列:相较于 Spartan-7 系列,Artix-7 在功能上有所提升,增加了串行收发器和 DSP 功能,且提供了更大的逻辑容量。它适用于需要一定处理能力和数据传输速率的中端应用,如通信、图像处理和高性能嵌入式系统。

  3. Kintex-7 系列:Kintex-7 是 7 系列中性价比最佳的型号。无论是硬核数量、逻辑容量,还是数据处理能力,都能很好地满足中低端及部分高端应用的需求。其优秀的平衡性能使其在很多中等到较复杂的应用中成为理想选择,如视频处理、数字信号处理和高性能计算等。

  4. Virtex-7 系列:作为 7 系列中的旗舰产品,Virtex-7 适用于高端应用,提供了最强大的性能和最大容量。在中低端应用中,使用 Virtex-7 就像是“大材小用”,因此其主要应用于需要极高计算能力和资源的领域,如数据中心、5G 通信、航空航天和高端图像处理等。

        每个子系列的 FPGA 都包含多个不同的 Bank,每个 Bank 都可以配置为不同的电压、I/O 标准和输入输出功能。通过合理地配置不同 Bank 的引脚,可以在电路设计中灵活地实现各种接口和信号处理需求。在电路设计过程中,我们只需要根据实际需求,利用不同 Bank 中的引脚来实现对应的功能即可。所以要想会设计FPGA板子,我们要先了解这块板子有哪些bank,每块bank的作用是什么(一般不同类型的芯片同一bank的作用是相同的,比如说bank0都是用作配置,引脚是相同的)。

1.2 Bank

       为了适应不同的电气标准并便于管理,FPGA 的 I/O 部分被划分成多个 Bank。每个 Bank 包含一组具有相似电气特性和物理位置的 I/O 引脚,其接口标准由该 Bank 的 VCCIO 电压确定。每个 Bank 内部的所有引脚都共享同一个 VCCIO 电压,但不同 Bank 之间的 VCCIO 电压可以不同。为了保证接口标准的一致性,同一 Bank 中的引脚必须使用相同的电压标准。因此,通过为不同的 Bank 设置不同的电压基准,可以实现支持多种电平标准的输入输出。一般来说,FPGA 的封装越大,支持的 Bank 数量也越多,从而能够支持更多的电压标准。在 7 系列 FPGA 中,主要划分了 HP BankHR Bank,而在更高端的 UltraScale FPGA 中,除了 HP 和 HR Bank 之外,还引入了 HD Bank。需要注意的是,并不是所有 FPGA 都会同时包含这三种 Bank 类型。以下是这几种bank的说明:

Bank 类型VCCIO 电压范围特性描述应用场景常见的 FPGA 系列
HP Bank最大为1.8V高性能 Bank,支持高速信号传输、低延迟,适合处理高带宽的数据。支持高速 I/O 标准如 LVDSHSTLSSTL 等。因为传输速率比较高,Bank电压最高也只能到1.8V。主要用于高速数据接口,如 DDR 内存接口、SerDes、LVDS 信号等。7 系列、UltraScale、UltraScale+ 系列
HR Bank最大为3.3V提供更广泛的电压兼容性,支持更高电压的 I/O 接口,适用于兼容多种电平标准的应用。用于连接不同电压标准的外设,如传感器、外部总线等,适合多电压环境下的接口设计。7 系列、UltraScale、UltraScale+ 系列
HD Bank最大为3.3V应用于低速I/O的场景,最高速率限制在250M以内,最高电压也是支持到3.3V。适用于高功率要求的应用,如高电压电流输出、外设接口需要更大驱动能力时。UltraScale、UltraScale+ 系列

        表 1-1 列出了 HP 和 HR I/O Bank 支持的特性(ug471_ Select IO Resources.pdf)。

表一 HP 和 HR I/O Bank 支持的特性

表1 HP 和 HR I/O Bank 支持的特性
表1 HP 和 HR I/O Bank 支持的特性

       根据表1数据,HP bank支持1.2V、1.35V和1.8V三种电压配置,而HR bank则兼容1.2V、1.35V、1.8V、2.5V和3.3V五种电压规格。设计时需特别注意I/O端口的工作电压范围,避免因电压选择不当导致FPGA功能异常。

        不同FPGA 芯片具有不同的bank数量,而Xilinx 7 系列的芯片的bank数量和类型可以在ug475_Packaging and Pinout.pdf中找到。以Kintex7系列为例子。K7系列有以下芯片:

图1 Kintex‐7 FPGA器件图参考图
图1 Kintex‐7 FPGA器件图参考图

        这里简单说明一下,器件的命名方式(7-series-product-selection-guide.pdf),如下图所示:

图2 xilinx  7系列芯片命名规则
图2 xilinx  7系列芯片命名规则

XC7K325T-1FFG900C为例:

XC:xilinx CommercialXilinx(赛灵思商业级器件)
7:7系列
K:Kintex系列,A:ARTIX 系列,K:KINTEX系列,V:VIRTEX 系列,Z:ZYNQ7OOO系列
160:逻辑资源(logic cells)数目这个数字乘以1000就是该器件大致的资源数量,只是大致,并不准确.
1:速度等级(数字越大速度等级越高)3最高,1最低,带L的表示该器件是低功耗器件(低功耗器件的供电电压比普通器件更低)
FF:封装方式
G:无铅
900:引脚数
C/E//Q:温度等级

        点击对应的page,就能看到该芯片的引脚分配图,bank分配图。图2展示的是引脚分配图。

图3 引脚图
图3 引脚图

       根据图3,芯片的引脚类型大致可分为五种:User I/O Pins、Multi-Function Pins、Transceiver Pins、Dedicated Pins 和 Other Pins。在编写代码时,通常约束的是 User I/O Pins(用户引脚)。下面用户引脚的详细说明(其他引脚的说明后面会写一篇笔记):

IO_LXXY_#/IO_XX_#        仅用于普通数字 I/O,不具备其他复用功能。在每个 BANK 的最上面和最下面的引脚为单端引脚,其余48个IV/O 则可配置成 24对差分I/O,也可以当成单端引脚使用,但是差分信号只能用对应的差分I/O,这样才能在代码里面用原语。其中 IO 代表输入/输出,L 代表差分信号,XX 表示数字信号,并标明差分信号对的编号,从上往下排列,从1开始。# 表示该引脚所在的 BANK 编号。

ug471_ Select IO Resources.pdf原文如下:

        在器件封装中的形式如下:

图4 bank引脚命名实例
图4 bank引脚命名实例

        图5展示了IO Bank图。

图5 IO Bank图
图5 IO Bank图

        在IO Bank图中,我们可以知道该芯片有几个bank,以及bank引脚的分布。至于我为什么要了解这个,是因为我一开始在想,原理图里面的bank封装是怎么来的,我在设计的时候我怎么知道有多少个bank,然后就去查资料找这些东西。其实除了手册里面的这个bank图可以了解到芯片有哪些bank,还可以通过vivado工具去了解,打开vivado工具,在左上角选择I/O Planning(如果找不到可以先综合,布局布线,在IMPLEMENTED DESIGN选择Open Dataflow Design,然后在打开的界面中再在左上角选择I/O Planning):

        在这个界面中也可以了解有哪些bank。但是仅仅有哪些bank,对于画原理图还是不够。后面查资料的时候,发现官网有芯片的引脚信息,可以用来生成原理图和画芯片的封装。链接如下:

以XC7K325T为例,下载.csv之后打开如下:

       该文件可查看芯片包含的引脚信息,包括:各引脚所属的Bank、引脚类型(如配置引脚CONFIG、HR/HP/GTX等)。将这些数据导入AD软件后,即可绘制原理图和器件封装,最终完成PCB设计。(后续会写一篇相关的笔记)

1.3 电平标准

        常用的电压标准如下:

电平标准
(IO Standard)
 Bank 电压 (VCCO)高电平 (V)低电平 (V)特点 / 用途
LVCMOS333.3V2.0–3.30–0.8

低功耗 CMOS,FPGA 通用 I/O

(最常用的电平标准,基本的非高速接口都是用这种电平)

LVCMOS252.5V1.7–2.50–0.7低电压 CMOS,适合 2.5V 系统
LVCMOS181.8V1.2–1.80–0.45低电压 CMOS,用于高速接口或低功耗板
LVTTL3.3V≥2.0≤0.8兼容 TTL 电平,常用于 FPGA I/O
HSTL_I / HSTL_II1.5V / 1.8V0.7 × VDDIO0–0.3 × VDDIO高速信号,板间接口,高速存储器接口
SSTL18 / SSTL151.8V / 1.5V0.7 × VDDIO0–0.3 × VDDIO高速存储器接口,如 DDR / DDR2 / DDR3;高速时钟也有可能用这个。
LVDS1.2–3.3V 差分±0.35±0.35低电压差分信号,适合高速串行通信
TMDS3.3V 差分±0.35±0.35视频接口,如 HDMI、DisplayPort
HCSL1.0–1.2V±0.2±0.2高速差分逻辑,常用于 SerDes 接口
PCI / PCIe 差分1.5V / 3.3V±0.2±0.2高速差分总线接口

        需要说明一下几点:

VCCO / Bank 电压:每个 FPGA Bank 的 I/O 电压通常由 VCCO 引脚提供,决定该 Bank 引脚可使用的电平标准。同一 Bank 内所有 I/O 通常要求使用同一 VCCO,否则可能无法正确工作。差分信号(LVDS / TMDS / HCSL)通常不依赖 VCCO 精确电压,但 Bank 电压仍需满足 FPGA 器件要求。
VREF:对于某些标准(如 SSTL/HSTL),需要一个参考电压 VREF,通常是 VCCO 的一半,用于输入比较器判断逻辑电平。 

 LVCMOS / LVTTL 属于 单端信号,只有一根信号线对地。而LVDS / TMDS / HCSL / SSTL / HSTL 属于 高速差分信号,通过两根线传输信号(正负线)。

           在xilinx 7系列中单端IO口支持以下电平: LVCMOS, LVTTL, HSTL, PCI, and SSTL
 差分端口支持以下电平: LVDS, Mini_LVDS, RSDS, PPDS, BLVDS, and differential HSTL and SSTL。ug471_ Select IO Resources.pdf原文如下:

        每种电平标准的用法基本都可以在ug471_ Select IO Resources.pdf中找到。目录如下图所示:

        以LVDS为例,在Xilinx 7系列FPGA中提供LVDS和LVDS_25两种电平标准。其中:

  1. LVDS标准仅适用于HP I/O Bank,且对应的Bank电压必须为1.8V
  2. LVDS_25标准则只能在Bank电压为2.5V的HR I/O Bank中使用

ug471_ Select IO Resources.pdf 原文如下:

        选择这个例子是因为AD芯片涉及LVDS差分信号设计,需要特别注意要根据AD芯片的工作电压将AD芯片的差分引脚分配到合适的bank,否则可能出现电平不兼容的问题。

留一个问题:

        怎么判断AD芯片差分引脚的电压是1.8V还是2.5V?

 2.参考资料:

ug470_Config.pdf:有电源引脚的分类,bank0,bank15,bank15的引脚的说明书,有多重启动的原理
ug471_ Select IO Resources.pdf:有引脚支持的电平标准说明,bank的分类,还有bank的结构图;
ug475_Packaging and Pinout.pdf:有每种芯片的引脚分配,以及有哪几个bank,内存分组;

7-series-product-selection-guide.pdf:有7系列的命名图。

你也想学会搭建FPGA芯片电路图?_fpga电路设计-CSDN博客

        以上就是本次学习的记录。欢迎加我为好友(QQ:235840795),一起交流与学习!上面的参考资料也上传到资源中了,可以直接下载。


文章转载自:

http://Oo61R5EV.zymgs.cn
http://QXUR3oLy.zymgs.cn
http://kugk6m2E.zymgs.cn
http://SujvbQhj.zymgs.cn
http://UG6KDLhn.zymgs.cn
http://V2GtAhfU.zymgs.cn
http://fkUUMDpG.zymgs.cn
http://tGWdkHFw.zymgs.cn
http://gGCYLDGR.zymgs.cn
http://VJFHyPKY.zymgs.cn
http://f6qT7Mvp.zymgs.cn
http://qvu4nTfQ.zymgs.cn
http://7CiUnlPI.zymgs.cn
http://Dc4TyH1M.zymgs.cn
http://1mnhdKoF.zymgs.cn
http://zbk1l30z.zymgs.cn
http://Em1X5Q92.zymgs.cn
http://IBe1hd28.zymgs.cn
http://wQJj43aj.zymgs.cn
http://VOELa8rk.zymgs.cn
http://6MZUfbtP.zymgs.cn
http://k0wDWqKx.zymgs.cn
http://Hq02O3B4.zymgs.cn
http://9dhBFhAP.zymgs.cn
http://O0ssPA3r.zymgs.cn
http://XLDyvodk.zymgs.cn
http://0RRsJcY8.zymgs.cn
http://WFiZoJhj.zymgs.cn
http://jvqyXhg5.zymgs.cn
http://adPCf2Iq.zymgs.cn
http://www.dtcms.com/a/371476.html

相关文章:

  • 算法:选择排序+堆排序
  • UE4/UE5反射系统动态注册机制解析
  • 【开题答辩全过程】以 汽车知名品牌信息管理系统为例,包含答辩的问题和答案
  • rabbitmq 的 TTL
  • Linux内核网络的连接跟踪conntrack简单分析
  • Java Stream流:从入门到精通
  • java常见面试题杂记
  • SAP匈牙利新闻
  • Java全栈工程师的面试实战:从基础到高阶技术解析
  • 计算机毕设选题:基于Python+Django的B站数据分析系统的设计与实现【源码+文档+调试】
  • 【嵌入式】【树莓派】【大疆PSDK】用树莓派4B开发大疆行业无人机应用系统小结-【硬件篇】
  • 深度学习——自然语言处理NLP
  • 灾难性遗忘:神经网络持续学习的核心挑战与解决方案
  • bug | 事务粒度不能太大,含demo
  • 如何建立针对 .NET Core web 程序的线程池的长期监控
  • 41个开源大语言模型基准测试报告
  • unsloth 笔记:从最近的检查点继续微调
  • 区域导航系统 | 印度区域卫星导航系统(IRNSS/NavIC)深度解析
  • Linux服务器资源自动监控与报警脚本详解
  • 社交新零售时代本地化微商的发展路径研究——基于开源AI智能名片链动2+1模式S2B2C商城小程序源的创新实践
  • Tailwind CSS v4 终极指南:体验 Rust 驱动的闪电般性能与现代化 CSS 工作流
  • 模块--红外跟随避障模块
  • 使用MQTT.fx和ESP32连接Onenet平台
  • 功率器件固晶挑战:抗高温翘曲治具提升IGBT焊接强度30%
  • Text2Sql.Net架构深度解析:从自然语言到SQL的智能转换之道
  • UE5 基础应用 —— 10 - 控制台命令
  • Linux内核Syncookies机制:抵御SYN Flood攻击的坚实防线
  • Axum 最佳实践:如何构建优雅的 Rust 错误处理系统?(三)
  • 使用 nginx-module-vts 进行 Nginx 流量监控
  • 心路历程-Linux如何赋予权限?