FPGA之硬件设计笔记-持续更新中

server/2025/3/4 17:09:01/

目录

  • 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的设计的所有细节进行了说明


http://www.ppmy.cn/server/172381.html

相关文章

决策树(Decision Tree):机器学习中的经典算法

1. 什么是决策树? 决策树(Decision Tree)是一种基于树形结构的机器学习算法,适用于分类和回归任务。其核心思想是通过一系列的规则判断,将数据集不断划分,最终形成一棵树状结构,从而实现预测目…

解释 CSS 盒模型的概念以及如何使用 box-sizing 属性

CSS 盒模型概念及 box-sizing 属性详解 一、什么是 CSS 盒模型? CSS 盒模型是网页设计和布局的基础概念之一。每个元素在网页中都可以被视为一个矩形的盒子,盒子包含了不同的区域,这些区域决定了元素在页面上的大小和位置。 1. 盒模型的组…

火语言RPA--PDF提取表格

【组件功能】:提取PDF文档指定位置表格 配置预览 配置说明 文件路径 支持T或# 默认FLOW输入项 待提取表格的PDF文件的完整路径。 提取位置 全部、指定页、指定范围3种位置供选择。 PDF文件密码 支持T或# 打开PDF文件的密码。 页码 支持T或# 提取指定页的页…

火山引擎 DeepSeek R1 API 使用小白教程

一、火山引擎 DeepSeek R1 API 申请 首先需要三个要素: 1)API Key 2)API 地址 3)模型ID 1、首先打开火山引擎的 DeepSeek R1 模型页面 地址:账号登录-火山引擎 2、在页面右下角,找到【推理】按钮&#…

【C++】stack和queue以及priority_queue的使用以及模拟实现

目录 前言 一、栈和队列的使用 二、栈和队列的练习题 三、栈和队列的模拟实现 四、优先级队列介绍 五、优先级队列的模拟实现 总结 前言 本文主要介绍C【STL】中的栈(stack)和队列(queue)以及优先级队列(priority_queue),在栈和队列模拟实现的中会了解到 deque(双端…

【C++】使用 CMake 在 Windows 上自动化发布 C++/Qt 应用程序

对于使用 MinGW 编译 C/Qt 项目的开发者来说,发布程序时常常面临目标机器缺少必要运行时库(DLL)的情况。传统方法需要手动收集依赖文件,不仅繁琐,还容易遗漏。本文将展示如何利用 CMake 构建系统,结合 Qt 官…

【弹框组件封装】展示、打印、下载XX表(Base64格式图片)

目录 打印、下载弹框组件组件使用弹框展示 打印、下载弹框组件 /components/PrintDialog.vue <!-- 打印、下载弹框 --> <template><el-dialog:title"title"top"3vh"append-to-body:visible.sync"dialogVisible":close-on-click…

信息发布小程序功能方案详解

信息发布小程序功能方案详解&#xff0c;php开发语言&#xff0c;可以源码搭建、二开&#xff0c;或者定制开发。 一 用户端&#xff1a;小程序核心功能模块 1.信息发布小程序&#xff0c;信息分类&#xff0c;分类的图标和名称是自定义设置的 2.查看信息&#xff1a;查看信…