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

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加

例如:第一章 Python 机器学习入门之pandas的使用


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

  • 系列文章目录
  • 1、说在前面
  • 2、FPGA硬件设计总计说明
  • [3、 原理图详解(DS181&UG471)](#3、 原理图详解(DS181&UG471))
    • [3.1 顶层框图介绍](#3.1 顶层框图介绍)
    • [3.2 FPGA 电源sheet介绍:](#3.2 FPGA 电源sheet介绍:)
      • [3.2.1 bank 14 和 bank 15的供电](#3.2.1 bank 14 和 bank 15的供电)
      • [3.2.2 bank 0的供电](#3.2.2 bank 0的供电)
      • [3.2.3 Bank34 35 的供电](#3.2.3 Bank34 35 的供电)
    • [3.3 核电压和RAM电压以及辅助电压](#3.3 核电压和RAM电压以及辅助电压)
  • [4 FPGA的配置模式(UG470)](#4 FPGA的配置模式(UG470))
    • [4.1 artix7系列概述之如何启动](#4.1 artix7系列概述之如何启动)
    • [4.7 Jtag是使用和管脚连接方式](#4.7 Jtag是使用和管脚连接方式)
  • [4 总结](#4 总结)

1、说在前面

本文章将讲述FPGA硬件的设计中的个人看到的一些资料,文章将持续修改,持续完善。

突然发现

2、FPGA硬件设计总计说明

  • 概述: FPGA的硬件设计主要从硬件工程师的角度出发来看的。包括电源及时序、时钟、配置、IO外设 这四个主要部分。
  • 难点: FPGA的手册繁多,入门不太好理解
  • 方法: 基于别人的实战的设计,看懂,并找出依据和原理
  • 参考资料: XC7A35T - 1FTG256C(FBGA256) xilinx , 黑金的开发板为例进行说明

3、 原理图详解(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 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的设计的所有细节进行了说明

相关推荐
镜中人★1 小时前
2020 年英语(一)考研真题 笔记(更新中)
笔记
小小的guo2 小时前
matlab图论分析之网络构建
笔记·学习·matlab·数据分析·图论
Colinnian2 小时前
linux学习笔记2
笔记·学习
learning-striving2 小时前
eNSP中AR2220、AR201、AR1220、AR2240、AR3260、Router、NE40E、NE5000E、NE9000、CX路由器学习笔记
笔记·路由器·ensp·vrp·路由器接口
cckkppll2 小时前
FPGA 使用门控时钟
fpga开发
正在绘制中3 小时前
Go语言学习笔记(五)
笔记·学习·golang
代码续发4 小时前
javaweb
笔记
·present·5 小时前
数字电子电路基础第五章——触发器
笔记
柴猫°5 小时前
GCC笔记
开发语言·笔记·php