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供电区域是电…...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
【 java 虚拟机知识 第一篇 】
目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...
