吴忠躺衫网络科技有限公司

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
    +關注

    關注

    1630

    文章

    21796

    瀏覽量

    605996
  • Xilinx
    +關注

    關注

    71

    文章

    2171

    瀏覽量

    122129
  • JTAG
    +關注

    關注

    6

    文章

    401

    瀏覽量

    71840
  • UltraScale
    +關注

    關注

    0

    文章

    118

    瀏覽量

    31519
收藏 人收藏

    評論

    相關推薦

    易靈思FPGA PS配置模式--v7

    文件。注意修改Bitstream生成模式時,不需要進行工程的全編譯,只需運行最后一步數據流生成即可。 PS配置啟動過程 這里以X1模式為例,PS的配置過程如下: (1)在啟動
    的頭像 發表于 12-24 14:37 ?757次閱讀
    易靈思<b class='flag-5'>FPGA</b> PS<b class='flag-5'>配置</b><b class='flag-5'>模式</b>--v7

    ADS7142提供了多種I2C模式,standard,fast,fastplus,high speed,這些模式是如何切換的?

    是如何切換的?我的理解是I2C的通信速度都由Master控制,作為slave的ADS7142只要跟隨Master就可以了,不需要設定。但在ADS7142的pdf文檔7.3.10.4里提到了高速
    發表于 12-16 07:41

    調試Xilinx Zynq + ADS58C48,ADC使用的是LVDS模式,ADC不能正常工作怎么解決?

    我正在調試Xilinx Zynq + ADS58C48,ADC使用的是LVDS模式,ADC不能正常工作。有以下幾點問題: 1)通過Xilinx FPGA差分原語輸給ADC一個10MH
    發表于 12-10 07:34

    高級定時器PWM輸入模式配置方法

    我們將向大家介紹高級定時器的另一個常見應用——PWM輸入模式。在本節課中,我們將先圍繞輸入捕獲模式展開,并重點描述PWM輸入模式和涉及的寄存器,最后通過一個實驗例程去介紹PWM輸入模式
    的頭像 發表于 11-08 16:48 ?2788次閱讀
    高級定時器PWM輸入<b class='flag-5'>模式</b>的<b class='flag-5'>配置</b>方法

    PCM1865設置為slave模式下,register的典型配置是什么?

    你好, 我在使用PCM1865,我將其設置為slave模式有data輸入,但是我設置成master就沒有輸入了。我想知道如果將其設置為slave
    發表于 11-04 08:04

    請問TAS5711 Slave模式如何設定?

    請問一下,我目前用了一個DSP+5711的方案,以DSP為Matser,5711為slave模式,看了Design Guide內容的部分,依照參數下去,聲音都沒有輸出,附上我的程式碼檔案,能否告知是哪個環節出了問題,謝謝
    發表于 10-31 06:36

    當AIC3204做master模式時,發送正常,但是接收時沒有數據產生,為什么?

    使用C5517EVM,AIC3204做slave模式,數據接收發送正常,此時BCLK,WCLK都有DSP提供。 當AIC3204做master模式時,發送正常,但是接收時沒有數據產生
    發表于 10-23 08:03

    PCM5142在硬件模式,做Slave時輸出無數據是怎么回事?

    PCM5142在硬件模式,做Slave時,輸入SCK 是12.88MBCK是768KLRCLK是16K 數據位是24位,結果是 輸出無數據. 測量VNEG腳電壓是0.49V,手冊介紹是-3.3V。感覺片子沒有正常工作。硬件模式
    發表于 10-23 07:36

    如何設置tlv320aic32x4為slave模式

    1、如何設置tlv320aic32x4為slave模式? 2、tlv320aic32x4芯片通過i2s接到高通soc芯片,高通芯片作為master設備,要輸出多少的mclk呢? 3、linux驅動
    發表于 10-17 07:46

    易靈思Trion FPGA PS配置模式--update(6)

    文件。注意修改Bitstream生成模式時,不需要進行工程的全編譯,只需運行最后一步數據流生成即可。 PS配置啟動過程 這里以X1模式為例,PS的配置過程如下: (1)在啟動
    的頭像 發表于 07-23 08:48 ?714次閱讀
    易靈思Trion <b class='flag-5'>FPGA</b> PS<b class='flag-5'>配置</b><b class='flag-5'>模式</b>--update(6)

    如何在CYUSB2014-BZXC中以8位模式配置Slave FIFO?

    我有關于CYUSB2014-BZXC的問題 我想以 8 位為單位發送和接收數據。 手冊中列出的Slave FIFO是16位模式的最小值,所以請教我如何在8位模式配置
    發表于 07-04 07:40

    FPGA配置模式有哪些?具體配置過程是怎樣的?

    與CPLD不同,FPGA是基于門陣列方式為用戶提供可編程資源的,其內部邏輯結構的形成是由配置數據決定的。那么是如何進行配置的呢?配置模式
    發表于 06-19 14:40

    AMD FPGA中MicroBlaze的固化流程詳解

    AMD FPGA配置了適當的啟動模式后,上電即會按該模式去加載配置文件。以7系列FPGA為例,
    發表于 04-25 12:49 ?597次閱讀
    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 ?5017次閱讀
    超詳細的SPI原理和通信<b class='flag-5'>模式</b>
    五张百家乐官网的玩法技巧和规则| 缅甸百家乐官网网站是多少| 赌球论坛| 全讯网zq06| 滨海湾百家乐娱乐城| 视频百家乐官网赢钱| 泽州县| 1737棋牌游戏中心| 威尼斯人娱乐城博彩投注平台| 百家乐稳赢秘笈| 沙龙百家乐官网代理| 百家乐官网翻天粤语qvod| 百家乐官网公式计算| 万利娱乐城开户| 大发888备用网址大发娱乐城| 保单百家乐游戏机厂家| 澳门百家乐代理| 全讯网| 貔喜脉动棋牌下载| 大发888xp缺少 casino| K7百家乐的玩法技巧和规则| 缅甸百家乐赌博有假吗| 百家乐娱乐城公司| 迷你百家乐论坛| 免费百家乐官网预测| 东营区百家乐官网艺术团| 百家乐官网跟路技巧| 哪个百家乐官网玩法平台信誉好| 求购百家乐官网程序| 豪门网上娱乐| 网上百家乐官网解密| 百家乐官网赌博详解| 百家乐官网八卦投注法| 百家乐官网全讯网娱乐城| 百家乐官网闲单开多少| 棋牌赚钱| 大发888官方注册| 太阳城论坛| 大发888客户端 运行| 威尼斯人娱乐场官网326369| 百家乐平注常赢规则|