0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AMD FPGA的SelectMAP加載模式

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-07-07 14:14 ? 次閱讀

一. AMD FPGA的加載模式簡介

在不帶內(nèi)置ARM核的AMD FPGA產(chǎn)品系列中,F(xiàn)PGA的程序加載方式并沒有發(fā)生大的變化,仍舊采用JTAG、Master SPI、Serial Configuration、Master BPI、Select MAP幾種加載模式,關(guān)于每種加載模式的電路圖和工作原理不再進行描述,每個產(chǎn)品系列的configuration guide中都有詳細(xì)描述,關(guān)于這部分的硬件設(shè)計和工作原理,用戶可以參考對應(yīng)的文檔如UG470、UG570等。

在不同系列的pure FPGA產(chǎn)品發(fā)展過程中,加載模式發(fā)生了一些細(xì)微變化簡述如下:

A. 自7系列產(chǎn)品開始Master SPI加載模式增加了x2、x4模式,自Ultrascale系列開始在x2、x4的基礎(chǔ)上又增加了x8模式(dual quad SPI模式);

B. 自7系列產(chǎn)品開始不再支持AMD自有的FLASH PROM產(chǎn)品,也不再更新自有的FLASH PROM產(chǎn)品,在UG908文檔中不斷更新測試過的第三方FLASH,如Micron、Spansion、ISSI等廠商的SPI FLASH和BPI FLASH;

帶內(nèi)置ARM核的SOC產(chǎn)品中,芯片內(nèi)部集成了bootrom并且需要使用FirstBootloader來進行加載,因此其加載模式和加載流程與pure FPGA器件有區(qū)別,常見的boot mode包括JTAG模式、QSPI模式、SD Card模式、EMMC模式、NAND模式、USB模式等,詳細(xì)描述可以參考UG585和UG1085文檔中的boot and configuration章節(jié),SOC系列產(chǎn)品的加載方式我們將在以后文章中單獨說明。

本文的寫作初衷是介紹Select MAP加載模式,因此后面的描述基本都是基于不帶內(nèi)置ARM核的FPGA來展開。

二. bit、bin和mcs文件的區(qū)別

在使用JTAG或者其他芯片來Program FPGA和FLASH時,我們最常用到的三個文件是bitstream文件、bin文件和mcs文件,最常遇到的問題是這三個文件有什么區(qū)別,在這一章節(jié)中我們不展開對文件內(nèi)部詳細(xì)數(shù)據(jù)格式的解析,主要針對這三個文件的主要差別和使用場景進行對比和描述。

在configuration userguide中,有如下描述:

100569243-295027-tu1bitbinhemcswenjian.png

bit、bin和mcs文件

我截取一個真實bitstream文件的開始部分,如下圖:

100569243-295028-tu2bitwenjianqianduanneirong.png

bit文件前端內(nèi)容

我們在JTAG Program FPGA的時候,使用的是bitstream文件;在Serial模式、SPIx1模式Program FLASH的時候,bin文件和mcs文件都可以使用;在SPIx4模式、SPIx8模式、BPI模式、SelectMAP模式Program FLASH的時候,使用的是MCS文件;在SelectMAP模式使用外部其他芯片(如MCU、ARM、CPU、CPLD、FPGA)Program FPGA的時候,使用的是bin文件,但是需要我們自己做bit swap。

從上面兩圖展開介紹:bitstream文件開頭部分包含工程名稱、開發(fā)工具版本號、芯片型號、時間戳、加載位寬、同步頭等信息,真正被Program進入FPGA的有效bit在同步頭和緊跟著的NOP之后;在bin文件沒有做bit swap的時候,bin文件直接從全FFFF的無效字段開始,比bitstream文件少了工程名稱、開發(fā)工具版本號、芯片型號、時間戳、加載位寬、同步頭等信息;而mcs文件通常比bitstream文件、bin文件大很多,是因為mcs文件中加入了對FLASH的操作命令以及其他一些信息,并且在多位數(shù)據(jù)位寬時,mcs文件中的有效數(shù)據(jù)部分根據(jù)加載位寬做了bit swap。

三. SelectMAP加載模式的優(yōu)缺點
什么會有場景需要使用SelectMAP加載模式?SelectMAP加載模式有哪些優(yōu)缺點呢?SelectMAP模式有如下特點:
A. 可以外供時鐘給CCLK,頻率確定;而Serial模式和Master SPI模式下FPGA自己震蕩產(chǎn)生的CCLK頻率低、頻率不精確;----優(yōu)點
B. SelectMAP模式可以支持8bit、16bit、32bit加載;----優(yōu)點
C. 在板卡上有多個FPGA芯片、MCU+FPGA、ARM+FPGA等架構(gòu)下,可以共用一個FLASH、SD卡、EMMC等存儲介質(zhì)來存儲加載文件;----優(yōu)點
D. 占用的IO數(shù)量多;----缺點
E. 需要外面一顆芯片來實現(xiàn)SelectMAP模式的加載;----缺點

綜合以上特點,SelectMAP模式在兩種應(yīng)用場景中會有優(yōu)勢:

場景一:在使用Serial模式和Master SPI模式的時候,加載數(shù)據(jù)線位寬只能是1、2、4或8,在Master Serial和Master SPI模式下CCLK時鐘由FPGA內(nèi)部震蕩產(chǎn)生,這個時鐘頻率是不準(zhǔn)確的,而且我們在產(chǎn)生bitstream的配置選項中選擇的configuration rate頻率有限;所以在期望縮短加載時間的應(yīng)用場景下,更高位寬更高CCLK頻率的SelectMAP模式可以大大縮短加載時間。

場景二:在板卡上有多個芯片時,可以共用加載文件的存儲介質(zhì),來減少存儲介質(zhì)芯片數(shù)量。

四. SelectMAP加載的硬件和軟件設(shè)計

SelectMAP硬件設(shè)計:
在configuration userguide中給出了SelectMAP模式的硬件原理圖示例:

100569243-295029-tu3danpianfpgadeselectmapjiazai.png

單片F(xiàn)PGA的SelectMAP加載

100569243-295030-tu4duopianfpgadeselectmapjiazai.png

多片F(xiàn)PGA的SelectMAP加載

Select MAP模式軟件設(shè)計:
而FPGA前端負(fù)責(zé)實現(xiàn)Select MAP加載的主控器件,可以是MCU、CPLD、ARM、FPGA等,只需要按照如下時序?qū)in文件中的有效內(nèi)容做bit swap后寫入到FPGA即可。
以8bit SelectMAP模式為例:

100569243-295031-tu5lianxushujuloadingselectmapmoshi.png

連續(xù)數(shù)據(jù)loading SelectMAP模式

100569243-295032-tu6bulianxushujuloadingselectmapmoshi.png

不連續(xù)數(shù)據(jù)loading SelectMAP模式

需要說明的是在SelectMAP模式中的bit swap,需要根據(jù)數(shù)據(jù)線位寬在主控器件中實現(xiàn)如下bit swap:

100569243-295033-tu7selectmapmoshibitswap.png

SelectMAP模式bit swap

如果前端主控器件是MCU、ARM、CPU,可以參考AMD官方參考設(shè)計XAPP583,C代碼在XAPP583中可以獲得;如果前端主控器件是CPLD或者FPGA,作者曾經(jīng)寫Verilog代碼實現(xiàn)過一片小FPGA做主控、通過Select MAP模式加載多片F(xiàn)PGA,歡迎咨詢作者本人。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21573

    瀏覽量

    600676
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16812

    瀏覽量

    349449
  • amd
    amd
    +關(guān)注

    關(guān)注

    25

    文章

    5406

    瀏覽量

    133729
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1610

    瀏覽量

    147579
  • 程序
    +關(guān)注

    關(guān)注

    115

    文章

    3749

    瀏覽量

    80676
收藏 人收藏

    評論

    相關(guān)推薦

    串行配置和并行配置模式下的多片FPGA配置數(shù)據(jù)流加載方式

    在需要多個FPGA芯片的應(yīng)用中,如果JTAG鏈上所有FPGA采用相同配置,可以通過“成組”加載方式同時加載;
    的頭像 發(fā)表于 02-20 10:18 ?5594次閱讀
    串行配置和并行配置<b class='flag-5'>模式</b>下的多片<b class='flag-5'>FPGA</b>配置數(shù)據(jù)流<b class='flag-5'>加載</b>方式

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

    本文主要介紹Xilinx FPGA的配置模式。
    的頭像 發(fā)表于 01-01 10:12 ?2.4w次閱讀
    詳解Xilinx <b class='flag-5'>FPGA</b>的配置<b class='flag-5'>模式</b>(Master/Slave<b class='flag-5'>模式</b>,Serial/<b class='flag-5'>SelectMAP</b><b class='flag-5'>模式</b>)

    AMD Xilinx 7系列FPGA的Multiboot多bit配置

    Multiboot是一種在AMD Xilinx 7系列FPGA上實現(xiàn)雙鏡像(或多鏡像)切換的方案。它允許在FPGA加載兩個不同的配置鏡像,并在需要時切換。
    的頭像 發(fā)表于 02-25 10:54 ?1127次閱讀
    <b class='flag-5'>AMD</b> Xilinx 7系列<b class='flag-5'>FPGA</b>的Multiboot多bit配置

    Xilinx SelectMAP 配置問題

    來一個CCLK時鐘,把數(shù)據(jù)加載SelectMAP端口,現(xiàn)在一直通mcs文件配置到FPGA中,但是不成功,想問下幾個問題:(1)配置文件是bit文件還是mcs文件或者是其他的文件?;(2
    發(fā)表于 07-16 16:30

    怎么通過GPIF II在Slave SelectMap中配置FPGA

    你好!我對柏樹FX3是新的,我有一些問題。我找到了一個例子,說明了如何使用SPI在SelectMap模式下實現(xiàn)FPGA配置。是否可以使用GPIF II在FPGA從SelpDeMMAP
    發(fā)表于 12-03 11:43

    由于JTAG,Spartan6從機SelectMap配置失敗了怎么辦

    我有一塊帶有XC6SLX9的板,它由Slave SelectMap模式由STM32F4 ARM CortexM4 MCU配置。在正常操作中一切正常。但是,當(dāng)使用uVision調(diào)試器通過其ULINK
    發(fā)表于 06-01 07:40

    FPGA配置引腳說明及加載時序

    I / O電源都不需要為7系列FPGA配置供電。 當(dāng)選擇使用多功能引腳的配置模式(即串行,主BPI,SPI,SelectMAP)時,還必須提供VCCO_14,VCCO_15或兩者。上電后,可以通過將
    發(fā)表于 01-15 16:43

    通過USB接口實現(xiàn)FPGASelectMap配置

    本文提出了一種基于USB 接口的FPGA SelectMap 配置方式的實現(xiàn)方案。方案以大容量Spartan3 FPGA 作為配置目標(biāo),選用Cypress EZ-USB FX2LP 作為USB 設(shè)備芯片,采用其內(nèi)置的端點FIFO
    發(fā)表于 05-26 10:25 ?28次下載

    V5 FPGA配置回讀

    ,即Slave SelectMAP模式,該模式下總線寬度分8,16,32bit三種,本文按照32bit模式配置和回讀。配置的過程就是將mcs文件中的配置字序列通過
    發(fā)表于 11-17 10:16 ?9510次閱讀

    FPGA多重加載技術(shù)的設(shè)計模塊及其在硬件平臺上的多模式啟動測試并分析

    滿足設(shè)計需求。FPGA的多重加載可以解決可編程資源不足的難題。FPGA多重加載是將設(shè)計的多個模式的比特文件存儲到Flash,用戶可以根據(jù)需要
    發(fā)表于 11-18 04:41 ?6328次閱讀
    <b class='flag-5'>FPGA</b>多重<b class='flag-5'>加載</b>技術(shù)的設(shè)計模塊及其在硬件平臺上的多<b class='flag-5'>模式</b>啟動測試并分析

    FPGA的配置/加載方式

    FPGA有多種配置/加載方式。粗略可以分為主動和被動兩種。主動加載是指由FPGA控制配置流程,被動加載是指
    的頭像 發(fā)表于 10-05 10:12 ?1.8w次閱讀

    基于ARM-Linux平臺的FPGA程序加載模式淺析

    在系統(tǒng)上電時,需要從外部載入所要運行的程序,此過程被稱為程序加載。多數(shù)情況下,從外部專用的 讀入程序。這種方式速度慢,而且只能加載固定的程序。顯然,當(dāng)系統(tǒng)需要容量大而且 FPGA加載
    發(fā)表于 03-22 16:20 ?1111次閱讀

    安路EG4X FPGA從動串行加載模式

    電子發(fā)燒友網(wǎng)站提供《安路EG4X FPGA從動串行加載模式.pdf》資料免費下載
    發(fā)表于 09-27 10:55 ?1次下載
    安路EG4X <b class='flag-5'>FPGA</b>從動串行<b class='flag-5'>加載</b><b class='flag-5'>模式</b>

    安路EG4X FPGA從動并行加載模式

    電子發(fā)燒友網(wǎng)站提供《安路EG4X FPGA從動并行加載模式.pdf》資料免費下載
    發(fā)表于 09-27 10:44 ?1次下載
    安路EG4X <b class='flag-5'>FPGA</b>從動并行<b class='flag-5'>加載</b><b class='flag-5'>模式</b>

    AMD FPGA中MicroBlaze的固化流程詳解

    AMD FPGA在配置了適當(dāng)?shù)膯?b class='flag-5'>模式后,上電即會按該模式加載配置文件。以7系列FPGA為例,
    發(fā)表于 04-25 12:49 ?407次閱讀
    <b class='flag-5'>AMD</b> <b class='flag-5'>FPGA</b>中MicroBlaze的固化流程詳解