FPGA之硬件设计笔记-持续更新中
目录
- 1、说在前面
- 2、FPGA硬件设计总计说明
- 3、 原理图详解 - ARITX - 7 系列
- 3.1 顶层框图介绍
- 3.2 FPGA 电源sheet介绍:
- 3.2.1 bank 14 和 bank 15的供电
- 3.2.2 bank 0的供电
- 3.2.3 Bank34 35 的供电
- 3.3 核电压和RAM电压以及辅助电压
- 4 原理图详解-- Ultrascale+ ARTIX
- 4.1 《ultrascale-plus-fpga-product-selection-guide.pdf》
- 4.2 DS931: Artix UltraScale+ FPGA Data Sheet: DC and AC Switching Characteristics
- 4.2.1 电源情况
- 4.2.2 资源情况
- 4.3 原理图设计实际参考
- 4.3.1 电源设计
- 4.3.2 配置模块设计
- 4.3.3 电源滤波电容设计《UG583 UltraScale Architecture PCB Design》
- 4 FPGA的配置模式(UG470)
- 4.1 artix7系列概述之如何启动
- 4.7 Jtag是使用和管脚连接方式
- 4 总结
1、说在前面
本文章将讲述FPGA硬件的设计中的个人看到的一些资料,文章将持续修改,持续完善。
2、FPGA硬件设计总计说明
- 概述: FPGA的硬件设计主要从硬件工程师的角度出发来看的。包括电源及时序、时钟、配置、IO外设 这四个主要部分。
- 难点: FPGA的手册繁多,入门不太好理解
- 方法: 基于别人的实战的设计,看懂,并找出依据和原理
- 参考资料:
- XC7A35T - 1FTG256C(FBGA256) xilinx , 黑金的开发板为例进行说明
- AU15P : U+ 14nm Artix , 黑金开发板
3、 原理图详解 - ARITX - 7 系列
- 涉及;DS181&UG471
3.1 顶层框图介绍

开发板的设计通常是尽可能的将所有的资源都接出来以便用户使用。
- 外设
- USB2.0: FPGA的USB2.0 接口
- interface : 外部扩展接口、 LED、 UART转USB、RTC
- memory: DDR3
- FPGA3: 电源
- FPGA2:
- DDR 接口
- QSPI接口
- 配置接口
- FPGA1:
- 时钟输入
- 扩展接口
- rst
3.2 FPGA 电源sheet介绍:

3.2.1 bank 14 和 bank 15的供电
-
U5F: IO bank 的供电电压
- HP Bank:适用于高速数据传输场景,如DDR内存接口,支持高速差分信号,电压最高1.8V。
- HR Bank:适用于需要支持多种电压标准的场景,电压范围广,最高支持3.3V。
- GTH: 高速收发器,通常用于高速串行协议
XC7A35 T的IObank 有哪些可通过这个手册来看:《ug475_7Series_Pkg_Pinout.pdf》P30

最全封装的FGG484 :

由于我们是FTG256封装的,因此没有bank 16 bank 34一部分 没有GTP

说回电源由于bank 14 bank15 都是HR bank ,我们可以用3.3V供电,根据我们的外设来确定。
黑金的bank 14 用3.3
bank 15 用1.5V

DD3的供电就是1.5V的所以是对应的

3.2.2 bank 0的供电
Bank 0(配置Bank)是FPGA中一个专用的I/O Bank,主要用于FPGA的配置过程
(1) Bank0的供电的电压是3.3V的,专用的配置供电的电源管脚是VCCO_0

相关配置的管脚有如下几个:
- INIT_B、PROGRAM_B、M[2:0]
(2) Bank0的第二个供电电压是:VCCADC_0
(3) Bank0 的第三个供电电压是:VCCBATT_0
VCCAUX电源为一些bank中的模拟组件进行供电。
3.2.3 Bank34 35 的供电
bank 34 35 都是HR bank,电压范围是-0.5~3.6V,根据外设使用,黑金的设计如下:

从下图可看出,其分别用为扩展IO接口,串口,RST以及USB转换模块的接口。
3.3 核电压和RAM电压以及辅助电压
如下图,VCCINT、VCCAUX、VCCBRAM是FPGA内部的核心电源。

根据手册:《Artix-7 FPGAs Data Sheet:DC and AC Switching Characteristics》 我们可以总结出如下:

VCCint:为 FPGA 内部逻辑电路提供稳定的内核电压,确保内部逻辑电路的正常工作。
VCCaux:为 FPGA 内部的模拟组件和 I/O 缓存电路提供辅助电压,确保这些组件的正常工作。
VCCBRAM:为 FPGA 内部的 Block RAM 资源提供稳定的电源,确保数据的正确存储和读取。
特别注意:VCCADC_0 的供电电压使用的是1.8V,线路串联电感和滤波电容用于保证模拟电源和数字电源的隔离,并且保证模拟GND和数字GND分开。
4 原理图详解-- Ultrascale+ ARTIX
4.1 《ultrascale-plus-fpga-product-selection-guide.pdf》
U+系列的分类:


4.2 DS931: Artix UltraScale+ FPGA Data Sheet: DC and AC Switching Characteristics
4.2.1 电源情况

如下是deepseek生成的结果:关键差异点我给大家标注出来
另一个差异点事Atix U+的用的是GTH和GTY的接口,外需要AUX 辅助电源和CAL 校准电源

4.2.2 资源情况
AU15P:
- GTH: 676 封装的有3个GTH
- HP BANK: 3个 64 65 66 1.8V最大
- HD Bank: 3个 84 85 86 3.3V最大
- SYSMON configuration :
- AD[0 to 15][P or N]
- VCCADC GNDADC ---- 专用管脚
- VREFP/N — 专用
- VP/VN — 专用
- I2C_SCLK I2C_SDA

4.3 原理图设计实际参考
4.3.1 电源设计
简单说明: 额外GTH
MGTAVTT : 1.2V 页给MGTACTTRCAL
MGTAVCC: 0.9V


4.3.2 配置模块设计

4.3.3 电源滤波电容设计《UG583 UltraScale Architecture PCB Design》
4 FPGA的配置模式(UG470)
4.1 artix7系列概述之如何启动
该datasheet主要讲述FPGA的下载和程序载入。
(1) 7 系列的FPGA的程序加载模式主要分成两种:
- Master mode: FPGA主动产生CCLK+外部存储设备。 默认是外部的spi flash,内部有晶体形成时钟,配置完成后时钟就可以关闭了。除非特别的需求。 这个也可以配置的时候说,我要使用外部时钟就是EMCCLK pin
- slave mode: FPGA作为slave 接收来自外部的DSP、processor 等等
(2) 如何配置 - 通过M1 M2 M3 三个固定pin管脚高低确认,通常是一个大于1kohm 的电阻实现上下拉。如下图。

(3) 配置管脚以及典型连接


(4) 看下黑金的板卡是如何配置的:配置001
-
PUDC_B:确认是否启用内部上拉电阻启用,在配置前和配置中,不能float
-
program_b: 低电平开始reset,配置逻辑。相当于一个reset,需要外部上拉4.7K ,可以手动复位
-
init_b:拉低开始配置FPGA配置,出现错误,initb 会变低,配置完成成功后,FPGA会驱动为高
-
Done: 配置完成信号,内部有大概10K的弱上拉,外部可以不接推荐的330电阻,黑金是连接了1k上拉并且连接GND表示Ok
-
EMCCLK: NC,读取falsh的spi clk 通过外部时钟给,支持最大100M,使用的时候必须约束和配置好,EMCCLK 信号必须实例化,并在提供 I/O 标准定义的设计中使用
-
M2 M1 M0: 001
-
E8 pin: CCLK的输出,连接Flash的SPI CLK
-
QSPI:使用的是x4,分别连接J13 J14 K15 K16 L12(UG475有详细的连接)
-
如何配置x4:这个应该是flash选择的时候确认好。“待安装完flash后确认”



UG475 P58

点击之后有详细的列表:

4.7 Jtag是使用和管脚连接方式
(1) Jt先看黑金的设计方式: 直连出来:

(2)推荐的设计方式
TCK、TMS、TDI:这些引脚通常需要通过上拉电阻连接到VCCO_0,以确保在正常工作时这些引脚保持高电平。建议使用4.7kΩ或10kΩ的上拉电阻。
TDO:TDO引脚是三态的,不需要上拉或下拉电阻。如果不需要使用JTAG,可以将TDO引脚悬空。
4 总结
如上,本文分别artix-7 系列的FPGA的设计的所有细节进行了说明
相关文章:
FPGA之硬件设计笔记-持续更新中
目录 1、说在前面2、FPGA硬件设计总计说明3、 原理图详解 - ARITX - 7 系列3.1 顶层框图介绍3.2 FPGA 电源sheet介绍:3.2.1 bank 14 和 bank 15的供电3.2.2 bank 0的供电3.2.3 Bank34 35 的供电 3.3 核电压和RAM电压以及辅助电压 4 原理图详解-- Ultrascale ARTIX4.…...
Python--内置模块和开发规范(上)
1. 内置模块 1.1 JSON 模块 核心功能 序列化:Python 数据类型 → JSON 字符串 import json data [{"id": 1, "name": "武沛齐"}, {"id": 2, "name": "Alex"}] json_str json.dumps(data, ensure_a…...
步步为营:用 torch.arange 快速生成数字序列
前言 在 PyTorch 中,torch.arange 就像一个神奇的小精灵,悄然无声地帮助你生成一系列数值,简直是深度学习模型的“数字魔法师”。你只需简单的几个参数,它就能为你呈现完美的数值序列,从而让数据准备工作变得轻松愉快。你可能会问,这个小精灵到底是怎么做到的?它怎么能…...
使用Spring Data Redis操作Redis
使用Spring Data Redis操作Redis 文章目录 使用Spring Data Redis操作Redis1. 添加依赖2. 配置Redis连接3. 创建Redis配置类4. 编写Redis操作类5. 操作各种数据类型操作字符串(String)操作列表(List)操作集合(Set&…...
嵌入式开发:傅里叶变换(5):STM32和Matlab联调验证FFT
目录 1. MATLAB获取 STM32 的原始数据 2. 将数据上传到电脑 3. MATLAB 接收数据并验证 STM32进行傅里叶代码 结果分析 STM32 和 MATLAB 联调是嵌入式开发中常见的工作流程,通常目的是将 STM32 采集的数据或控制信号传输到 MATLAB 中进行实时处理、分析和可视化…...
【无人机三维路径规划】基于豪猪算法CPO、蜣螂算法DBO、人工兔ARO实现复杂山地模型下无人机路径规划附Matlab代码
无人机三维路径规划 一、引言 1.1、研究背景与意义 无人机技术在近年来得到了快速发展,其在军事侦察、民用测绘、物流配送和灾难救援等领域的应用日益广泛。路径规划作为无人机技术中的核心问题之一,直接影响到无人机的飞行效率和安全性。在复杂多变的…...
Cursor AI编程-详细教程
一点准备工作 Cursor方法论:简单到没有方法 Cursor能做什么 Cursor官网:https://www.cursor.com/ja Cursor文档:Cursor – Welcome to Cursor Cursor论坛:Weekly - Cursor - Community Forum 写程序代码 举例: 设…...
AI关于SHAP分析与列线图(算法)解释线性模型矛盾之处的解释
AI关于SHAP分析与列线图(算法)解释线性模型矛盾之处的解释 两种解释方法在个案的局部解释方面,有矛盾之处,其背后的原理已经超出了我的知识范畴,以下是询问AI的几个问题,希望能从中梳理出一个合理的解释。…...
上海市计算机学会竞赛平台2024年5月月赛丙组城市距离之和
城市距离之和 内存限制: 256 Mb时间限制: 1000 ms 题目描述 设 (x,y)(x,y) 与 (x′,y′)(x′,y′) 是平面上的两个点的坐标,它们之间的城市距离定义为 ∣x−x′∣∣y−y′∣∣x−x′∣∣y−y′∣ 给定 nn 个点,请计算所有点对之间的城市距离之和。 …...
处理DeepSeek返回的markdown文本
处理DeepSeek返回的markdown文本 markdown预览组件,支持公式显示,支持uniapp。 相关依赖 markdown-itmarkdown-it-mathjaxmarkdown-it-katexmarkdown-it-latexkatexgithub-markdown-css 组件源码 <!--* Description: markdown显示组件* Author: wa…...
《今日AI-人工智能-编程日报》整理于——头条新闻、豆包日报
技术突破 OpenAI 发布 GPT-4.5:OpenAI 正式推出新一代大模型 GPT -4.5,语言理解、情商及逻辑推理能力显著增强,幻觉问题大幅减少,计算效率较 GPT-4 提升超 10 倍,已逐步向用户开放试用。国产模型 Kimi 发布 k1.6 版本&…...
JavaEE [特殊字符] TCP协议:三次握手四次挥手全图解
🌟 一、TCP核心特性:可靠传输的秘密 1️⃣ 有连接 & 全双工 双向通道:建立连接后,客户端↔服务器可同时收发数据可靠传输三板斧: 确认应答(ACK) 接收方返回ACK接收序号数据长度示例&#…...
解决 Ubuntu 24.04 虚拟机内无法ping 通 Hostname 的问题
问题背景 在 VMware 或 VirtualBox 中安装 Ubuntu 24.04 虚拟机时,遇到无法通过主机名(Hostname)进行网络通信的问题。例如,将虚拟机的主机名设置为 001,执行 ping 001 时返回 ping 0.0.0.1 并超时。此问题通常由 主机…...
wzl-django学习
####################################################总的urls.py from django.contrib import admin from django.urls import path,include, re_path from django.views.static import serve from django.conf import settings from drf_yasg import openapi from drf_yas…...
(十 三)趣学设计模式 之 模版方法模式!
目录 一、 啥是模板方法模式?二、 为什么要用模板方法模式?三、 模板方法模式的实现方式四、 模板方法模式的优缺点五、 模板方法模式的应用场景六、 总结 🌟我的其他文章也讲解的比较有趣😁,如果喜欢博主的讲解方式&a…...
泛型编程、函数模板、类模板
目录 一、泛型编程 1.泛型编程提出背景 1.1.代码复用案例解析 案例1:实现一个交换函数,并对不同类型参数进行函数重载 (1)调试 (2)代码解析 ①代码复用问题 ②泛型编程的解决方案 ③上面泛型Swap函数模版的优点 1.2.泛型编程提出背景 2.泛型编…...
【Vue3】浅谈setup语法糖
Vue3 的 setup 语法糖是通过 <script setup> 标签启用的特性,它是对 Composition API 的进一步封装,旨在简化组件的声明式写法,同时保留 Composition API 的逻辑组织能力。以下是其核心概念和原理分析: 一、<script setu…...
经验总结:使用vue3测试后端接口的模板
为了方便在开发中途,比较即时地,测试自己写的接口,是否有BUG,所以整理了这个测试模板。 效果就是可以通过自己编码,比较灵活,比较快得触发接口调用。 下边这个是最核心的模板,然后还有一个写axi…...
Vosk语音识别包
Vosk介绍 Vosk作为一款开源的离线语音识别工具包,其核心特点可归纳为以下五个方面,结合多篇技术文档的实践与分析 一、离线高效识别 完全脱离网络依赖:所有语音处理均在本地完成,无需云端数据传输,既保障隐私安全又…...
【欢迎来到Git世界】Github入门
241227 241227 241227 Hello World 参考:Hello World - GitHub 文档. 1.创建存储库 r e p o s i t o r y repository repository(含README.md) 仓库名需与用户名一致。 选择公共。 选择使用Readme初始化此仓库。 2.何时用分支…...
简洁的个人地址发布页HTML源码
源码介绍 简洁的个人地址发布页HTML源码,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果 效果预览 源码获取 简洁的个人地址发布页HTML源码...
【VSCode】VSCode下载安装与配置极简描述
VSCode 参考网址:[Visual Studio Code Guide | GZTime’s Blog]. 下载安装 下载地址:Download Visual Studio Code - Mac, Linux, Windows. 注:推荐不更改安装位置,并且在附加任务中“其他”中的四项全部勾选,即将用…...
wav格式的音频压缩,WAV 转 MP3 VBR 体积缩减比为 13.5%、多个 MP3 格式音频合并为一个、文件夹存在则删除重建,不存在则直接建立
🥇 版权: 本文由【墨理学AI】原创首发、各位读者大大、敬请查阅、感谢三连 🎉 声明: 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️ 文章目录 问题一:wav格式的音频压缩为哪些格式,网络传输给用户播放…...
Linux权限 -- 开发工具(一)
文章目录 包管理器yumyum具体操作 Linux编辑器 - vim的使用vimvim的多模式 包管理器yum Linux中安装软件: 1.源码安装 2. 软件包安装 – rpm 3. 包管理器yum(centos) apt/apt-get(ubuntu) 为什么有包管理器? 包管理器会自动帮我们解决包依赖的问题 2. 什…...
leetcode_动态规划/递归 279**. 完全平方数
279. 完全平方数 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 …...
【leetcode】二分查找专题
文章目录 1.二分查找1.题目2.解题思路3. 解题代码 2.在排序数组中查找元素的第一个和最后一个位置1.题目2.算法原理3. 代码 3.x的平方根1.题目2.代码 4.搜索插入位置1.题目2.解题思路3.解题代码 5.山脉数组的索引1.题目2.解题思路3. 代码 6.寻找峰值1.题目2.解题思路3.代码 7. …...
腾讯混元文生图大模型(Hunyuan-DiT)与Stable Diffusion(SD)对比分析
腾讯混元文生图大模型(Hunyuan-DiT)与Stable Diffusion(SD)对比分析 腾讯混元文生图大模型(Hunyuan-DiT)与Stable Diffusion(SD)作为当前文生图领域的两大代表模型,各自…...
《Python实战进阶》No 7: 一个AI大模型聊天室的构建-基于WebSocket 实时通信开发实战
第7集: 一个AI大模型聊天室的构建-基于WebSocket 实时通信开发实战 在现代 Web 开发中,实时通信已经成为许多应用的核心需求。无论是聊天应用、股票行情推送,还是多人协作工具,WebSocket 都是实现高效实时通信的最佳选择之一。本…...
vector习题
完数和盈数 题目 完数VS盈数_牛客题霸_牛客网 一个数如果恰好等于它的各因子(该数本身除外)之和,如:6321。则称其为“完数”;若因子之和大于该数,则称其为“盈数”。 求出2到60之间所有“完数”和“盈数”。 输入描述ÿ…...
unity学习59: 滑动条 和 滚动条 滚动区域
目录 1 滑动条 slider 1.1 创建slider 1.2 构成的子物体 1.2.1 找到 某个UI的 方法 1.3 构成的component,主体就是 slider 2 核心属性 2.1 value 2.2 direction 3 作用 3.1 由于是fill back 可以实现血条效果 3.2 可以取得 slider.value 数值 1 滑动条…...
