系列文章目录
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 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的设计的所有细节进行了说明