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

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


http://www.kler.cn/a/566242.html

相关文章:

  • 在linux中部署Nginx项目的详细步骤
  • ETL系列-数据抽取(Extract)
  • 【星云 Orbit-F4 开发板】03e. 按键玩法五:按住一个独立按键不松手连续步进触发
  • ctfshow——域名TXT记录泄露
  • C++11新特性 thread线程类
  • DeepSeek集成开发全栈指南:解锁AI原生开发的终极工具箱
  • 计算机组成与接口12
  • el-switch切换之前二次确认
  • 自走式除草机器人结构设计
  • 【MySQL】数据库初识
  • 8个Linux进程管理命令详解及示例(三):pgrep和flock命令
  • LeetCode 热门100题-矩阵置零
  • BIO、NIO、AIO解析
  • TORGO 数据库:构音障碍语音研究的宝贵资源
  • 深入探索Python机器学习算法:监督学习(线性回归,逻辑回归,决策树与随机森林,支持向量机,K近邻算法)
  • Android ViewStub延迟初始化加载布局View,Kotlin
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_init_cycle 函数 - 详解(7)
  • 地弹与振铃
  • 1-6静态库和动态库
  • 解释Promise的工作原理及其状态