Xilinx FPGA电源设计与注意事项
1 引言
随着半导体和芯片技术的飞速发展,现在的FPGA集成了越来越多的可配置逻辑资源、各种各样的外部总线接口以及丰富的内部RAM资源,使其在国防、医疗、消费电子等领域得到了越来越广泛的应用。当采用FPGA进行设计电路时,大多数FPGA对上电的电源排序和上电时间是有要求的,所以电源排序是需要考虑的一个重要的方面。通常情况下,FPGA供应商都规定了电源排序、上电时间的要求。因为一个FPGA所需要的电源轨数量会从3个到10个以上不等。通过遵循推荐的电源序列,可以避免在启动期间吸取过大的电流,同时又可以防止器件受损坏。对一个FPGA的最小电路中的电源进行排序有多种方法。本文中主要以MP5650为例,来叙述把PGOOD引脚级联至使能引脚来实现排序。
- 研发案例
今天分享的案例是以明德扬公司研发的K7核心板,命名为MP5650为例。MP5650采用XILINX Kintex-7系列的XC7K325T-2FFG900I/XC7K410T-2FFG900I作为主控制器,在FPGA 芯片的HP 端口上挂载了4片DDR3存储芯片,每片DDR3 容量高达512M 字节,每片16bit组成64bit 位的数据位宽。1片128Mb 的QSPI FLASH 芯片用来静态存储FPGA 芯片的配置文件或者其它用户数据。核心板采用4个0.5mm间距120Pin 镀金连接器与底板连接,核心板四个脚放置了4个3.5mm固定孔,此孔可以与底板通过螺丝紧固,确保了在强烈震动的环境下稳定运行。核心板结构尺寸为65(mm)× 85(mm)。整个开发系统的结构如图1所示,实物图如图2所示。该板很适合高速数据通信;视频采集、视频输出、消费电子;机器视觉、工业控制;项目研发前期验证;电子信息工程、自动化、通信工程等电子类相关专业开发人员学习等领域及人群。

图1 核心板结构图

图2 核心板实物图
MP5650的K7FPGA所需要的电源轨如下:
(1)VCCINT
FPGA内部核心电压。其不损坏FPGA器件的范围为-0.5V1.1V,正常工作电压为0.97V1.03V,推荐工作电压为1.0V。
(2)VCCAUX
辅助供电电压。其不损坏FPGA器件的范围为-0.5V2.0V。正常工作电压为1.71V1.89V。推荐工作电压为1.8V。
(3)VCCBRAM
内部Block RAM的供电电压。其不损坏FPGA器件的范围为-0.5V1.1V。正常工作电压为0.97V1.03V,推荐工作电压为1.00V。
(4)VCCIO
对于HR BANK的接口电压来说,需要与外部器件的信号电平保持一致,其不损坏FPGA器件的范围为-0.5V3.6V。正常工作电压为1.14V3.465V。推荐工作电压与外部信号电平一致即可。对于HP BANK的接口电压来说,需要与外部器件的信号电平保持一致,其不损坏FPGA器件的范围为-0.5V2.0V。正常工作电压为1.14V1.89V。推荐工作电压与外部信号电平一致即可。
(5)VCCAUX_IO
IO辅助电压。其不损坏FPGA器件的范围为-0.5V2.06V。正常工作电压为1.14V1.89V/2.06V。推荐工作电压为1.8V/2V。
(6)VCCADC
XADC的供电电压。其不损坏FPGA器件的范围为-0.5V2.0V。正常工作电压为1.71V1.89V。推荐工作电压为1.80V。
(7)MGTAVCC
GTX收发器核心电压。其不损坏FPGA器件的范围为-0.5V1.1V。正常工作电压为0.97V1.08V,推荐工作电压为1.00V。
(8)MGTAVTT
GTX收发器终端匹配电压。其不损坏FPGA器件的范围为-0.5V1.32V。正常工作电压为1.17V1.23V。推荐工作电压为1.20V。
(9)MGTVCCAUX
GTX收发器辅助电压。其不损坏FPGA器件的范围为-0.5V1.935V。正常工作电压为1.75V1.85V。推荐工作电压为1.80V。
(10)MGTAVTTRCAL
GTX收发器校正电压。其不损坏FPGA器件的范围为-0.5V1.32V。正常工作电压为1.17V1.23V。推荐工作电压为1.20V。
官方推荐的上电顺序依次为VCCINT、VCCBRAM、VCCAUX、VCCAUX_IO、VCCO,断电顺序和上电顺序正好相反。另外如果VCCINT和VCCBRAM电源轨一致,则可同时上电/断电。VCCAUX_IO、VCCAUX与VCCO电源轨一致也可同时上电/断电。其它电源轨则无上电顺序。GTX收发器的上电顺序为VCCINT、MGTAVCC、MGTAVTT或者MGTAVCC、VCCINT、MGTAVTT。断电顺序正好相反。MGTVCCAUX无顺序。
- MP5650电源排序方法
实现排序的一种方法是把一个电源的电源良好(PGOOD)管脚级联至相继的下一个电源的使能(EN)管脚,如图3所示。在电源芯片在PG门限得到满足时开始接通。该方法的优势是成本低,但是无法轻松的控制定时。在EN管脚上增加电容在上电的级联上引入定时延时。

图3 把PGOOD引脚级联至使能引脚示意图
MP5650上选用的DC-DC电源芯片为LTM4628和LTNM4622,芯片的使用典型电路如图4所示。芯片通过控制TRACK/SS管脚,通过给该管脚外加电容来改变上电时间。电容越小,上电时间越短。若FPGA电源级数较多较多,若每级上电时间较长,会导致电源总的上电时间过慢,超过官方给的最大值,导致无法启动配置工作,FPGA工作不正常。官方提供的上电时间要求如图5所示,最大不超过50ms。

图4 LTM4628和LTNM4622芯片使用典型电路

图5 官方提供的上电时间要求
在我们最初的设计中TRACK/SS管脚电容选为0.1uF,我们发现经过四级级联后,上电有时Flash配置芯片配置不成功,经示波器测试发现上电时间过长,超过了Xilinx要求的50ms,如图6所示。经修改TRACK/SS管脚电容选为4.7nF后,上电时间大大缩短,如图7所示,约为3ms。满足了Xilinx上电时间要求,FPGA可以正常工作。设计中也可以将TRACK/SS管脚悬空,在默认情况下,上电时间有默认延时时间约为几百微秒。

图6 TRACK/SS管脚电容为0.1uF时,最后一级电源上电时间
- 总结
总得来说,kintex7 FPGA电源结构比较复杂。目前用户设计的7系列FPGA带上电顺序的电源方案常用各个电源芯片的输入EN和输出PGOOD来控制顺序,上电时间需满足Xilinx官方要求。通过开始描述,我们能够清晰看到这个MP5650核心板所含有的接口和功能。对于需要大量IO的用户,此核心板将是不错的选择。而且IO连接部分,同一个BANK管脚到连接器接口之间走线做了等长和差分处理,对于二次开发来说,非常适合。
相关文章:
Xilinx FPGA电源设计与注意事项
1 引言 随着半导体和芯片技术的飞速发展,现在的FPGA集成了越来越多的可配置逻辑资源、各种各样的外部总线接口以及丰富的内部RAM资源,使其在国防、医疗、消费电子等领域得到了越来越广泛的应用。当采用FPGA进行设计电路时,大多数FPGA对上电的…...
前端:地图篇(一)
1、前言 在很多的出行程序中,都会使用到地图这一个功能,在实际的开发中我们也不会去开发一个自己的地图模型。如果自己开发一个地图模型,那么需要投入的成本、人力都是非常巨大的。所以我们很多网站和APP中使用的都是第三方的接口和JS&#…...
刷题笔记 day6
力扣 57 和为s的两个整数 class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {vector<int> v;int i 0 , j nums.size()-1;while(i < j){if(nums[i] nums[j] > target){--j;}else if(nums[i] nums[j] < target){i…...
Drools用户手册翻译——第四章 Drools规则引擎(十一)复杂事件处理(CEP)的属性更改设置和监听器
甩锅声明:本人英语一般,翻译只是为了做个笔记,所以有翻译错误的地方,错就错了,如果你想给我纠正,就给我留言,我会改过来,如果懒得理我,就直接划过即可。 事实类型的属性…...
[数据分析与可视化] Python绘制数据地图4-MovingPandas入门指北
MovingPandas是一个基于Python和GeoPandas的开源地理时空数据处理库,用于处理移动物体的轨迹数据。它提供了一组强大的工具,可以轻松地加载、分析和可视化移动物体的轨迹。通过使用MovingPandas,用户可以轻松地处理和分析移动对象数据&#x…...
基于SpringBoot+Vue的MOBA类游戏攻略分享平台设计与实现(源码+LW+部署文档等)
博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…...
Linux sed 命令详解
Linux sed(Stream Editor)是一种强大的文本处理工具,它在命令行中执行对文本进行搜索、替换和编辑等操作。sed的设计理念是按行处理文本,可以将输入文本逐行读取并应用指定的操作,然后输出结果。 sed命令有多种选项和…...
算法通关村——如何使用中序和后序来恢复一棵二叉树
通过序列构造二叉树 给出以下三个二叉树遍历的序列: (1) 前序: 1 2 3 4 5 6 8 7 9 10 11 12 13 15 14 (2) 中序: 3 4 8 6 7 5 2 1 10 9 11 15 13 14 12 (3) 后序: 8 7 6 5 4 3 2 10 15 14 13 12 11 9 1 前中序复原二叉树 所需序列 (1) 前序: 1 2 3 4 5 6 8 7 9 10 …...
TypeScript的基本类型
typescript的定义 以JavaScript为基础构建的语言是js的超集可以在任何支持js的平台执行ts 拓展了js并增加了类型Ts不能被js解析器直接执行。 TS> 编译为js 执行的还是js. js 不易于维护,而ts易于维护。 可提高项目的可维护性。 类似less、sass 完善的语法写 样…...
Docker实战-如何去访问Docker仓库?
导语 仓库在之前的分享中我们介绍过,它主要的作用就是用来存放镜像文件,又可以分为是公共的仓库和私有仓库。有点类似于Maven的中央仓库和公司内部私服。 下面我们就来介绍一下在Docker中如何去访问各种仓库。 Docker Hub 公共镜像仓库 Docker Hub 是Docker官方提供的最…...
【力扣】722. 删除注释
以下为力扣官方题解,及本人代码 722. 删除注释 题目题意示例 1示例 2提示 官方题解模拟思路与算法复杂度 本人代码Java提交结果:通过 题目 题意 给一个 C C C 程序,删除程序中的注释。这个程序 s o u r c e source source 是一个数组&a…...
篇二:工厂方法模式:灵活创建对象
篇二:“工厂方法模式:灵活创建对象” 开始本篇文章之前先推荐一个好用的学习工具,AIRIght,借助于AI助手工具,学习事半功倍。欢迎访问:http://airight.fun/。 另外有2本不错的关于设计模式的资料ÿ…...
Python(六十二)字典元素的增、删、改操作
❤️ 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…...
从零学算法138
**138.**给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节…...
CTF PWN练习之返回地址覆盖
今天进行的实验是CTF PWN练习之返回地址覆盖,来体验一下新的溢出方式。 学习地址覆盖之前还有些小知识需要掌握,不然做题的时候你肯定一脸懵逼,首先是函数调用约定,然后还要知道基本的缓冲区溢出攻击模型。 函数调用约定 函数调用约定描述…...
OpenCV中图像变换
一、介绍 transform():Transposes a matrix. perspectiveTransform():Performs the perspective matrix transformation of vectors. warpAffine():Applies an affine transformation to an image. warpPerspective():Applies a p…...
wordpress发表文章时报错: rest_cannot_create,抱歉,您不能为此用户创建文章(已解决)
使用wordpress 的rest api发布文章,首先使用wp-json/jwt-auth/v1/token接口获取token,然后再使用/wp-json/wp/v2/posts 接口发表文章,但是使用axios请求时,却报错: 但是,我在postman上却是可以的࿰…...
数学建模学习(7):Matlab绘图
一、二维图像绘制 1.绘制曲线图 最基础的二维图形绘制方法:plot -plot命令自动打开一个图形窗口Figure; 用直线连接相邻两数据点来绘制图形 -根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动加到两个坐标轴上,可自定…...
CSS中所有选择器详解
文章目录 一、基础选择器1.标签选择器2.类选择器3.id选择器4.通配符选择器 二、复合选择器1.交集选择器2.并集选择器 三、属性选择器1.[属性]2.[属性属性值]3.[属性^属性值]4.[属性$属性值]5.[属性*属性值] 四、关系选择器1.父亲>儿子2.祖先 后代3.兄弟4.兄~弟 五、伪类选择…...
STM32 低功耗学习
STM32 电源系统结构介绍 电源系统:VDDA供电区域、VDD供电区域、1.8V供电区域、后备供电区域。 器件的工作电压(VDD)2.0~3.6V 为了提高转换精度,给模拟外设独立供电。电压调节器为1.8V供电区域供电,且1.8V供电区域是电…...
Laravel Page Speed 高级技巧:自定义中间件与性能监控
Laravel Page Speed 高级技巧:自定义中间件与性能监控 【免费下载链接】laravel-page-speed Package to optimize your site automatically which results in a 35% optimization. Laravel Page Speed delivers an end-to-end optimization pipeline for Blade-rend…...
卸船机市场调研:2026 - 2032年复合增长率(CAGR)为2.7%
据恒州诚思调研统计,2025年全球卸船机收入规模约达49.94亿元,预计到2032年,这一规模将接近60.2亿元,2026 - 2032年复合增长率(CAGR)为2.7%。在全球贸易不断发展、港口货物吞吐量持续增加的背景下࿰…...
Linux视频开发实战:v4l2内存映射(mmap)避坑指南与性能优化
Linux视频开发实战:v4l2内存映射(mmap)避坑指南与性能优化 在嵌入式Linux视频采集领域,v4l2框架配合mmap内存映射技术是实现高效视频流处理的关键组合。这种技术允许用户空间直接访问内核缓冲区,避免了数据拷贝带来的性…...
人工智能之数字生命-自我的4层12模块
一、根判定层 生命周期与边界控制模块 管待机、运行、收束、停止、死亡退出、降级运行。 世界/场景/状态刷新模块 刷新对象、场景、关系、当前值,形成“本轮可判定世界”。 服务值/安全值差额评估模块 统一计算服务差额与安全差额,给后续判断提供标尺。 根需求生成模块 从…...
Lychee Rerank MM可部署:支持私有云/本地IDC的多模态语义匹配解决方案
Lychee Rerank MM可部署:支持私有云/本地IDC的多模态语义匹配解决方案 你是否遇到过这样的场景?在一个电商平台里,用户上传了一张红色连衣裙的图片,想找类似款式,但搜索引擎却返回了一堆毫不相关的商品。或者…...
DotNetPy:现代.NET 与 Python 互操作 实战指南撼
我为什么会发出这个疑问呢?是因为我研究Web开发中的一个问题时,HTTP请求体在 Filter(过滤器)处被读取了之后,在 Controller(控制层)就读不到值了,使用 RequestBody 的时候。 无论是字…...
【Python 数字孪生】之PyVista有限元后处理与可视化实战
1. PyVista与有限元可视化的完美结合 有限元分析(FEA)是工程仿真中不可或缺的工具,但原始数据往往晦涩难懂。PyVista这个基于VTK的Python库,就像给你的数据装上了"3D眼镜",让抽象的应力、应变、温度场变得触…...
人工智能入门:基于Phi-4-mini-reasoning理解大模型推理的基本原理
人工智能入门:基于Phi-4-mini-reasoning理解大模型推理的基本原理 1. 从零开始认识大模型推理 你可能已经听说过ChatGPT这样的AI聊天机器人,它们能够像人类一样回答问题、写文章甚至解决数学题。这背后就是大语言模型的"推理"能力在发挥作用…...
微信小程序的校园快递代取系统
目录同行可拿货,招校园代理 ,本人源头供货商微信小程序校园快递代取系统功能分析用户端功能配送员端功能后台管理功能扩展功能项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作同行可拿货,招校园代理 ,本人源头供货商 微信小程序…...
