0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解Xilinx FPGA的配置模式(Master/Slave模式,Serial/SelectMAP模式)

454398 来源:硬件助手 作者:硬件助手 2021-01-01 10:12 次阅读

本文主要介绍Xilinx FPGA的配置模式,主要包括Master/Slave模式,Serial/SelectMAP模式,JTAG模式等。其中7系列只有Logic部分,其配置相关功能引脚全部连接到FPGA端的特定bank上;Zynq 7000系列既有PL部分,也有PS部分,其JTAG从PL侧引出,其余配置相关引脚全部从PS侧引出;Zynq UltraScale+系列也有PL部分和PS部分,但其配置相关功能引脚全部从PS侧引出。

1、7系列配置

7系列FPGA支持的配置模式如下表所以,每一个系列的bank位置不一样,接口电压也不一样。

o4YBAF9uFpWAPJA5AAFE96sa2Sw877.png

每一种模式下对应的引脚定义如下表所示:

pIYBAF9uFpiADelZAAMJeZObx6c509.png

每一个配置引脚的定义此文不再一一罗列,详细参见UG470中的表2-4。其中配置bank的电压选择引脚详细介绍如下:

o4YBAF9uFpqAHdj_AAHgdN5xIqU586.png


pIYBAF9uFp2AeD0PAAJ7Qj5IXG8960.png

具体的配置模式较多,每一种都有连接示意图,详细可参见UG470的图2-2(Slave Serial Mode)、图2-5(Single Slave Device SelectMAP Mode)、图2-12(Master SPI x1/x2 Mode)、图2-14(Master SPI x4 Mode)、图2-17(Master BPI Mode-Asynchronous)、图2-20(Master BPI Mode-Synchronous)。另外Master Serial Mode和Slave Serial Mode一样,只是CCLK由FPGA产生。

2、UltraScale系列配置

UltraScale系列FPGA的配置和7系列的类似,主要区别如下表所示:

o4YBAF9uFp6AEGqRAAD9ADoPIDc030.png

其支持的配置模式如下表所示:

pIYBAF9uFqGAK0cBAAJ6fWpmJqA431.png

每一种模式下对应的引脚定义如下表所示:

o4YBAF9uFqeAXKvNAAhRyzQzO6M522.png


pIYBAF9uFq2AUBPkAAoaK3EUiX0561.png

每一个配置引脚的定义此文不再一一罗列,详细参见UG570中的表1-9。其中配置bank的电压选择引脚详细介绍如下:

o4YBAF9uFq-AJeuzAAD3TbBnwi0964.png


pIYBAF9uFrKAFT7JAALpBMI9nYA197.png


pIYBAF9uFrSAcKrmAAI9307W2Zk854.png

具体的配置模式较多,每一种都有连接示意图,详细可参见UG570的图2-2(Master SPI x1/x2 Mode)、图2-4(Master SPI x4 Mode)、图2-5(Master SPI x8 Mode)、图3-2(Slave Serial Mode)、图4-2(Master BPI Mode-x16 Synchronous)、图4-4(Master BPI Mode-x16 Synchronous)、图5-2(Slave SelectMAP Mode)。

3、UltraScale+系列配置

UltraScale+系列基本的配置和UltraScale系列一样,主要有以下差异:

Master serial and master SelectMAP configuration modes are not supported in the UltraScale+ FPGAs. These modes are not recommended in the other UltraScale families. (US+不支持Master Serial and Master SelectMAP两种模式。)

The configuration interface can operate only at 1.8V or 1.5V in the UltraScale+ FPGAs. There is no CFGBVS pin in UltraScale+ devices. When migrating from an UltraScale FPGA to an UltraScale+ FPGA, the CFGBVS pin location becomes RSVDGND and must be connected to GND. (US+的配置接口只支持1.8V和1.5V两种电压,没有CFGBVS引脚了,而是预留RSVDGND引脚,如果要使US+系列兼容之前US系列,则该引脚必须接地。)

There is no CFGBVS pin in the Kintex UltraScale+ and Virtex UltraScale+ FPGAs because their configuration I/O only support operation at 1.8V or 1.5V. The pin location is labeled RSVDGND and it must be connected to GND.

The configuration timing and configuration rate options are different between UltraScale FPGAs and UltraScale+ FPGAs. The configuration frame size is 93 32-bit words in the UltraScale+ FPGAs and 123 32-bit words in the UltraScale FPGAs. (配置比特流的大小不一样。)

Bank 65 is an HR bank in most Kintex UltraScale FPGAs(except KU095), an HP bank in the KU095 and Virtex UltraScale FPGAs, and an HP bank in all Kintex UltraScale+ and Virtex UltraScale+ FPGAs.

o4YBAF9uFreAKvMwAALxSWmzwl0015.png

4、Z7系列配置

Zynq 7000系列SoC的配置部分全部在ARM侧,除了JTAG从FPGA侧引出之外(虽然对外引出FPGA侧JTAG,但可以将PS部分配置成Cascade模式,这样PL侧和PS侧形成JTAG链),所以其配置遵循ARM处理器的配置,具体支持的模式如下表所示:

pIYBAF9uFrqAMMlVAAKzZv20RBk978.png

对应每一个外设接口的引脚定义如下表所示:

100017163-57616-14.png

不同模式下电源需求不一样,

pIYBAF9uFsqAUuYpAADd7tO7qHw391.png

配置相关引脚的处理如下:

MIO[8:2] is used to configure the boot mode, PLL bypass, and MIO voltage. All designs must include a 20 KΩ pull-up or pull-down resistor on these pins to set the required setting.(配置引脚外部使用20K电阻进行上下拉处理)

MIO[8] is a dual use pin that is shared with the high-speed QSPI/NAND/SRAM interface signals. Special care needs to be taken to avoid signal integrity issues. To avoid signal integrity issues, limit the stub length to the pull-up or pull-down resistor to

When system design requires the modes to be changeable, it is recommended to not use a resistor tree to set the mode but instead connect one pull-up/down resistor to the mode pin and place a jumper on the other side of the resistor to select between pull-up or pull-down.(为了便于切换启动模式,可以采用上下拉的方式预留,其实也可以采用拨码开关实现)

The PL system JTAG interface, PL_JTAG, should have its signals TDI, TMS, and TCK pulled-up.(实际芯片内部有上拉)

下面就针对SPI、NAND、NOR、SD Card、JTAG方式进行详细介绍如下:

4.1、Quad-SPI Boot

Quad-SPI boot has these features:

x1, x2, and x4 single device configuration.

Dual SS, 8-bit parallel I/O device configuration.

Dual SS, 4-bit stacked I/O configuration.

Execute-in-place option.

当使用Quad-SPI模式配置时,如果SPI Flash器件使用的是24bit寻址,则最大只能识别16MB的SPI Flash,如果要使用大于16MB的SPI Flash,则必须支持32bit寻址!!!

SPI boot具体注意事项如下:

The dual SS, 4-bit stacked I/O device configuration is supported, but the BootROM only searches within the first 16 MB address range. The BootROM accesses the device connected to the QSPI0_SS_B slave select signal.

In cases of Quad-SPI boot, if the image is authenticated, then the boot image should be placed at a 32K offset other than 0x0 (the image should not be placed starting at 0x0 offset in Quad-SPI).

There are special reset requirements when using more than 16 MBs of Flash memory. For hardware, refer to AR# 57744 for information. For software considerations, refer to UG821, Zynq-7000 All Programmable SoC Software Developers Guide.

Boot Image requirements when using larger than 16MB QSPI and RSA Authentication (refer AR# 57900).

pIYBAF9uFs2ABFP8AAK8_EyMdeU560.png

4.2、NAND Boot
NAND boot has these features:

8-bit or 16-bit NAND flash devices

Supports ONFI 1.0 device protocol

Bad block support

1-bit hardware ECC support

使用中的注意事项如下:

The boot image must be located within the first 128 MB address space of the NAND flash device for the BootROM Header search function.

The BootROM reads the ONFI compliant parameter information in 8-bit mode to determine the device width. If the device is 16 bits wide, then the BootROM enables the upper eight I/O signals for a 16-bit data bus. The 16-bit NAND interface is not available in 7z010 dual core and 7z007s single core CLG225 devices.

pIYBAF9uFtGAXRZ9AANA3wvZbMc478.png

4.3、NOR Boot
NOR boot has these features:

x8 asynchronous flash devices

Densities up to 256 Mb

Execute-in-place option

使用中的注意事项如下:

The BootROM does not try to perform any configuration detection of NOR flash devices. When NOR is the selected boot device, the BootROM programs the MIO pins as shown in Table 6-13.

The NOR interface is not available in 7z010 dual core and 7z007s single core CLG225 devices.

o4YBAF9uFtSAaIf7AAKWQDm4xls147.png

4.4、SD Card Boot
SD card boot supports these features:

Boot from standard SD or SDHC cards

FAT 16/32 file system

Up to 32 GB card densities

使用中的注意事项如下:

The SD card boot mode is not supported in 7z010 dual core and 7z007s single core CLG225 devices.

The SD card boot mode does not support header search or multiboot.

pIYBAF9uFtaAN6siAAGWImngOh4872.png

4.5、JTAG

JTAG部分,对外引出的是PL侧的JTAG,但是PS侧的JTAG可以通过Cascade模式从PL侧引出,也可以通过Independent模式从MIO/EMIO引出。

pIYBAF9uFtmAX04kAAKFMkg6cNM656.png

5、ZU+系列配置

Zynq UltraScale+系列MPSoC/RFSoC的配置部分全部在ARM侧,所以其配置遵循ARM处理器的配置,具体支持的模式如下表所示:

o4YBAF9uFtuAWjQCAAGT4Wlk_Jg771.png


pIYBAF9uFtyATh1WAADAF_LS3dc420.png

配置时钟的频率是有要求的,不同的电压等级配置时钟频率上限不一样。

Boot Mode引脚的处理如下:

Connect the boot mode pins to a 4.7 kΩ or lower pull-up resister to VCCO_PSIO[3] or pull-down to ground depending on the desired setting.

If multiple switchable boot modes are desired, connect one pull-up/down resistor to the mode pin and place a jumper on the other side of the resistor to select between pull-up or pull-down.

An easily switchable boot mode configuration is recommended for debug ease-of-use.

PS_INIT_B, PS_PROG_B, and PS_DONE引脚处理如下:

Connect PS_INIT_B to a 4.7 kΩ pull-up resistor to VCCO_PSIO[3]. PS_INIT_B is open drain and should not be driven during logic built-in self test (LBIST).

Connect PS_PROG_B to a 4.7 kΩ pull-up resistor to VCCO_PSIO[3]. PS_PROG_B is open drain and should not be driven during LBIST.

Connect PS_DONE to a 4.7 kΩ pull-up resistor to VCCO_PSIO[3].

外部配置支持SPI、NAND、SD、eMMC、USB、JTAG等方式启动,具体如下:

Quad-SPI (24b/32b): The BootROM code can boot Quad-SPI using 24- or 32-bit addressing.

Image search for multi-boot is supported in this boot mode. The QSPI boot mode also supports x1, x2 and x4 read modes for single Quad-SPI memory and x8 for a dual QSPI. This is the only boot mode that supports execute-in-place (XIP).

NAND: The NAND boot mode only supports 8-bit widths for reading the boot images. Image search for multi-boot is supported. Boot mode image search limits are 128MB.

SD0/SD1: These boot modes support FAT 16/32 file systems for reading the boot images. Image search for multi-boot is supported. The maximum number of files that can be searched as part of an image search for multi-boot are 8,192. The SD supported version is 2.0. It only supports 3.3V for the I/Os and up to 4 bits of data interface.

SD1(LS): The SD1-LS boot mode is the same as SD0/SD1 with additional support of the SD 3.0 (with an SD 3.0 compliant voltage level shifter).

eMMC(18): This boot mode is the same as the SD boot mode except it only supports 1.8V for the I/Os and up to 8 bits of data interface.

For SD and eMMC boot modes, the boot image file should be at the root of first partition of the SD card (not inside any directory).

USB0: The USB boot mode configures USB controller 0 into device mode and uses the DFU protocol to communicate with an attached host.

The USB host contains the FSBL boot image (e.g., boot.bin) that is loaded into OCM memory for the CSU BootROM code and an all encompassing boot image file (e.g., boota53_all.bin) that is loaded into DDR memory.

The size of these files are limited by the size of the OCM and DDR memories. The USB boot mode does not support multi-boot, image fallback, or XIP.

每种启动模式的Boot image search limits如下表所示:

o4YBAF9uFt6AbFCYAAFRiloo35s443.png

针对SPI配置,当使用Quad-SPI模式配置时,如果SPI Flash器件使用的是24bit寻址,则最大只能识别16MB的SPI Flash,如果要使用大于16MB的SPI Flash,则必须使用32bit寻址。如果要使用32bit地址,则SPI Flash的复位必须和FPGA的复位相连,以保证FPGA重新配置时,SPI Flash也能重新配置。

采用SPI Flash进行配置时,由于不同的SPI Flash芯片支持的最大配置时钟频率不一样,一定得同时满足ZU+和SPI Flash两边的时钟限制。

pIYBAF9uFuCAV92hAAHC5BduT3g001.png


pIYBAF9uFuOARIKzAAJxGiOLVeE602.png

JTAG的配置时钟也是有限制的,根据不同速度等级不一样!详见下表。Place 4.7 kΩ pull-up resistors on the TMS, TCK, and TDI lines.

o4YBAF9uFuWAfLA-AAEYzYEhnzE310.png

以上就是针对7 Series、UltraScale、UltraScale+、Zynq 7000、Zynq UltraScale+系列的配置介绍,详细可参见《UG470》、《UG570》、《UG585》、《UG1085》等文档中关于配置的介绍。

编辑:hfy


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1603

    文章

    21328

    浏览量

    593287
  • Xilinx
    +关注

    关注

    70

    文章

    2121

    浏览量

    119390
  • JTAG
    +关注

    关注

    6

    文章

    383

    浏览量

    71151
  • UltraScale
    +关注

    关注

    0

    文章

    113

    浏览量

    31326
收藏 人收藏

    评论

    相关推荐

    AMD FPGA中MicroBlaze的固化流程详解

    AMD FPGA配置了适当的启动模式后,上电即会按该模式去加载配置文件。以7系列FPGA为例,
    发表于 04-25 12:49 55次阅读
    AMD <b class='flag-5'>FPGA</b>中MicroBlaze的固化流程<b class='flag-5'>详解</b>

    cyw20719B2 SPI接口slave模式下,在执行wiced_hal_pspi_slave_rx_data()函数的同时,SPI的FIFO还能正确接收数据吗?

    请问,cyw20719B2 SPI 接口slave模式下,在执行wiced_hal_pspi_slave_rx_data()函数的同时,SPI的FIFO还能正确接收数据吗? wiced_hal_pspi_
    发表于 03-01 11:34

    超详细的SPI原理和通信模式

    SPI分为主、从两种模式,一个SPI通讯系统需要包含一个(且只能是一个)主设备,一个或多个从设备。提供时钟的为主设备(Master),接收时钟的设备为从设备(Slave),SPI接口的读写操作,都是由主设备发起。
    发表于 02-29 12:33 494次阅读
    超详细的SPI原理和通信<b class='flag-5'>模式</b>

    请问在配置CYT4BF8CES的SPI通信的Slave模式时有什么注意事项吗?

    我在按照CYT4BF8CES的SDL配置SPI通信的Slave模式时,主机发送数据时,从机不能进入中断,请问在配置CYT4BF8CES的SPI通信的
    发表于 02-01 06:54

    ESP32-S3模组是怎么配置低功耗模式的?低功耗模式下功耗大概是多少?

    经常有人问S3模组是怎么配置低功耗模式的?低功耗模式下功耗大概是多少?下面小启就跟大家讲下S3模组低功耗情况。01ESP32S3系列模组三种低功耗模式:•Modem-sleep
    的头像 发表于 01-26 08:03 1124次阅读
    ESP32-S3模组是怎么<b class='flag-5'>配置</b>低功耗<b class='flag-5'>模式</b>的?低功耗<b class='flag-5'>模式</b>下功耗大概是多少?

    hbs密码锁管理模式详解

    hbs密码锁管理模式详解  HBS密码锁是一种智能化电子锁具,通过密码、指纹、密码+指纹等认证方式来实现门禁的控制。它集成了现代化技术,具有便捷、安全、智能等特点,广泛应用于家庭、办公场所、酒店
    的头像 发表于 12-29 14:01 1548次阅读

    一文详解前端常用设计模式

    设计模式一直是程序员谈论的“高端”话题之一,总有一种敬而远之的心态。在了解后才知道在将函数作为一等对象的语言中,有许多需要利用对象多态性的设计模式,比如单例模式、 策略模式等,这些
    的头像 发表于 11-30 10:19 576次阅读
    一文<b class='flag-5'>详解</b>前端常用设计<b class='flag-5'>模式</b>

    mysql主从复制三种模式

    主从复制模式:单主从模式、主从级联模式和组复制模式。 一、单主从模式: 单主从模式是最简单的主从
    的头像 发表于 11-16 14:04 427次阅读

    基于FPGA模式匹配系统设计

    电子发烧友网站提供《基于FPGA模式匹配系统设计.pdf》资料免费下载
    发表于 11-08 09:26 0次下载
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>模式</b>匹配系统设计

    串口设备框架serial_v2源码分析-阻塞模式

    serial_v2中,串口设备以应用层视角,即阻塞模式或非阻塞模式来作为该串口设备的开启标志.
    的头像 发表于 09-14 11:34 1125次阅读

    一文详解UVM设计模式

    本篇是对UVM设计模式 ( 二 ) 参数化类、静态变量/方法/类、单例模式、UVM_ROOT、工厂模式、UVM_FACTORY[1]中单例模式的补充,分析静态类的使用,UVM中资源池的
    的头像 发表于 08-06 10:38 903次阅读
    一文<b class='flag-5'>详解</b>UVM设计<b class='flag-5'>模式</b>

    GPIO可配置为几种模式 请简述GPIO的工作模式

    GPIO可配置为三种模式:Output模式、Input模式和Analog模式
    发表于 07-24 11:27 3005次阅读
    GPIO可<b class='flag-5'>配置</b>为几种<b class='flag-5'>模式</b> 请简述GPIO的工作<b class='flag-5'>模式</b>

    AMD FPGASelectMAP加载模式

    在不带内置ARM核的AMD FPGA产品系列中,FPGA的程序加载方式并没有发生大的变化
    的头像 发表于 07-07 14:14 1267次阅读
    AMD <b class='flag-5'>FPGA</b>的<b class='flag-5'>SelectMAP</b>加载<b class='flag-5'>模式</b>

    设计模式行为型:状态模式

    在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式
    的头像 发表于 06-07 11:20 388次阅读
    设计<b class='flag-5'>模式</b>行为型:状态<b class='flag-5'>模式</b>

    设计模式行为型:策略模式

    在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式
    的头像 发表于 06-07 11:18 442次阅读
    设计<b class='flag-5'>模式</b>行为型:策略<b class='flag-5'>模式</b>