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

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

3天内不再提示

AMD FPGA的SelectMAP加载模式

jf_pJlTbmA9 来源:jf_pJlTbmA9 作者:jf_pJlTbmA9 2023-07-07 14:14 次阅读

一. AMD FPGA的加载模式简介

在不带内置ARM核的AMD FPGA产品系列中,FPGA的程序加载方式并没有发生大的变化,仍旧采用JTAG、Master SPI、Serial Configuration、Master BPI、Select MAP几种加载模式,关于每种加载模式的电路图和工作原理不再进行描述,每个产品系列的configuration guide中都有详细描述,关于这部分的硬件设计和工作原理,用户可以参考对应的文档如UG470、UG570等。

在不同系列的pure FPGA产品发展过程中,加载模式发生了一些细微变化简述如下:

A. 自7系列产品开始Master SPI加载模式增加了x2、x4模式,自Ultrascale系列开始在x2、x4的基础上又增加了x8模式(dual quad SPI模式);

B. 自7系列产品开始不再支持AMD自有的FLASH PROM产品,也不再更新自有的FLASH PROM产品,在UG908文档中不断更新测试过的第三方FLASH,如Micron、Spansion、ISSI等厂商的SPI FLASH和BPI FLASH;

带内置ARM核的SOC产品中,芯片内部集成了bootrom并且需要使用FirstBootloader来进行加载,因此其加载模式和加载流程与pure FPGA器件有区别,常见的boot mode包括JTAG模式、QSPI模式、SD Card模式、EMMC模式、NAND模式、USB模式等,详细描述可以参考UG585和UG1085文档中的boot and configuration章节,SOC系列产品的加载方式我们将在以后文章中单独说明。

本文的写作初衷是介绍Select MAP加载模式,因此后面的描述基本都是基于不带内置ARM核的FPGA来展开。

二. bit、bin和mcs文件的区别

在使用JTAG或者其他芯片来Program FPGA和FLASH时,我们最常用到的三个文件是bitstream文件、bin文件和mcs文件,最常遇到的问题是这三个文件有什么区别,在这一章节中我们不展开对文件内部详细数据格式的解析,主要针对这三个文件的主要差别和使用场景进行对比和描述。

在configuration userguide中,有如下描述:

100569243-295027-tu1bitbinhemcswenjian.png

bit、bin和mcs文件

我截取一个真实bitstream文件的开始部分,如下图:

100569243-295028-tu2bitwenjianqianduanneirong.png

bit文件前端内容

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

从上面两图展开介绍:bitstream文件开头部分包含工程名称、开发工具版本号、芯片型号、时间戳、加载位宽、同步头等信息,真正被Program进入FPGA的有效bit在同步头和紧跟着的NOP之后;在bin文件没有做bit swap的时候,bin文件直接从全FFFF的无效字段开始,比bitstream文件少了工程名称、开发工具版本号、芯片型号、时间戳、加载位宽、同步头等信息;而mcs文件通常比bitstream文件、bin文件大很多,是因为mcs文件中加入了对FLASH的操作命令以及其他一些信息,并且在多位数据位宽时,mcs文件中的有效数据部分根据加载位宽做了bit swap。

三. SelectMAP加载模式的优缺点
什么会有场景需要使用SelectMAP加载模式?SelectMAP加载模式有哪些优缺点呢?SelectMAP模式有如下特点:
A. 可以外供时钟给CCLK,频率确定;而Serial模式和Master SPI模式下FPGA自己震荡产生的CCLK频率低、频率不精确;----优点
B. SelectMAP模式可以支持8bit、16bit、32bit加载;----优点
C. 在板卡上有多个FPGA芯片、MCU+FPGA、ARM+FPGA等架构下,可以共用一个FLASH、SD卡、EMMC等存储介质来存储加载文件;----优点
D. 占用的IO数量多;----缺点
E. 需要外面一颗芯片来实现SelectMAP模式的加载;----缺点

综合以上特点,SelectMAP模式在两种应用场景中会有优势:

场景一:在使用Serial模式和Master SPI模式的时候,加载数据线位宽只能是1、2、4或8,在Master Serial和Master SPI模式下CCLK时钟由FPGA内部震荡产生,这个时钟频率是不准确的,而且我们在产生bitstream的配置选项中选择的configuration rate频率有限;所以在期望缩短加载时间的应用场景下,更高位宽更高CCLK频率的SelectMAP模式可以大大缩短加载时间。

场景二:在板卡上有多个芯片时,可以共用加载文件的存储介质,来减少存储介质芯片数量。

四. SelectMAP加载的硬件和软件设计

SelectMAP硬件设计:
在configuration userguide中给出了SelectMAP模式的硬件原理图示例:

100569243-295029-tu3danpianfpgadeselectmapjiazai.png

单片FPGA的SelectMAP加载

100569243-295030-tu4duopianfpgadeselectmapjiazai.png

多片FPGA的SelectMAP加载

Select MAP模式软件设计:
而FPGA前端负责实现Select MAP加载的主控器件,可以是MCU、CPLD、ARM、FPGA等,只需要按照如下时序将bin文件中的有效内容做bit swap后写入到FPGA即可。
以8bit SelectMAP模式为例:

100569243-295031-tu5lianxushujuloadingselectmapmoshi.png

连续数据loading SelectMAP模式

100569243-295032-tu6bulianxushujuloadingselectmapmoshi.png

不连续数据loading SelectMAP模式

需要说明的是在SelectMAP模式中的bit swap,需要根据数据线位宽在主控器件中实现如下bit swap:

100569243-295033-tu7selectmapmoshibitswap.png

SelectMAP模式bit swap

如果前端主控器件是MCU、ARM、CPU,可以参考AMD官方参考设计XAPP583,C代码在XAPP583中可以获得;如果前端主控器件是CPLD或者FPGA,作者曾经写Verilog代码实现过一片小FPGA做主控、通过Select MAP模式加载多片FPGA,欢迎咨询作者本人。

审核编辑:汤梓红

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

    关注

    1602

    文章

    21320

    浏览量

    593206
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16017

    浏览量

    343632
  • amd
    amd
    +关注

    关注

    25

    文章

    5197

    浏览量

    132636
  • FlaSh
    +关注

    关注

    10

    文章

    1550

    浏览量

    146646
  • 程序
    +关注

    关注

    114

    文章

    3631

    浏览量

    79543
收藏 人收藏

    评论

    相关推荐

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

    本文主要介绍Xilinx FPGA的配置模式
    的头像 发表于 01-01 10:12 2.2w次阅读
    详解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>)

    Xilinx SelectMAP 配置问题

    来一个CCLK时钟,把数据加载SelectMAP端口,现在一直通mcs文件配置到FPGA中,但是不成功,想问下几个问题:(1)配置文件是bit文件还是mcs文件或者是其他的文件?;(2
    发表于 07-16 16:30

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

    你好!我对柏树FX3是新的,我有一些问题。我找到了一个例子,说明了如何使用SPI在SelectMap模式下实现FPGA配置。是否可以使用GPIF II在FPGA从SelpDeMMAP
    发表于 12-03 11:43

    由于JTAG,Spartan6从机SelectMap配置失败了怎么办

    我有一块带有XC6SLX9的板,它由Slave SelectMap模式由STM32F4 ARM CortexM4 MCU配置。在正常操作中一切正常。但是,当使用uVision调试器通过其ULINK
    发表于 06-01 07:40

    FPGA配置引脚说明及加载时序

    I / O电源都不需要为7系列FPGA配置供电。 当选择使用多功能引脚的配置模式(即串行,主BPI,SPI,SelectMAP)时,还必须提供VCCO_14,VCCO_15或两者。上电后,可以通过将
    发表于 01-15 16:43

    TN301_安路EG4X FPGA从动串行加载模式的过程解读

    安路 EG4X FPGA 器件支持多种程序加载模式。本手册主要介绍从动串行(SS)加载模式以及从动串行级联
    发表于 10-27 08:03

    TN302_安路EG4X FPGA从动并行加载模式的过程解读

    安路 EG4X FPGA 器件支持多种程序加载模式。本手册主要介绍从动并行(SP)加载模式以及从动并行级联
    发表于 10-27 07:31

    通过USB接口实现FPGASelectMap配置

    本文提出了一种基于USB 接口的FPGA SelectMap 配置方式的实现方案。方案以大容量Spartan3 FPGA 作为配置目标,选用Cypress EZ-USB FX2LP 作为USB 设备芯片,采用其内置的端点FIFO
    发表于 05-26 10:25 28次下载

    V5 FPGA配置回读

    ,即Slave SelectMAP模式,该模式下总线宽度分8,16,32bit三种,本文按照32bit模式配置和回读。配置的过程就是将mcs文件中的配置字序列通过
    发表于 11-17 10:16 8895次阅读

    FPGA多重加载技术的设计模块及其在硬件平台上的多模式启动测试并分析

    满足设计需求。FPGA的多重加载可以解决可编程资源不足的难题。FPGA多重加载是将设计的多个模式的比特文件存储到Flash,用户可以根据需要
    发表于 11-18 04:41 5958次阅读
    <b class='flag-5'>FPGA</b>多重<b class='flag-5'>加载</b>技术的设计模块及其在硬件平台上的多<b class='flag-5'>模式</b>启动测试并分析

    FPGA的配置/加载方式

    FPGA有多种配置/加载方式。粗略可以分为主动和被动两种。主动加载是指由FPGA控制配置流程,被动加载是指
    的头像 发表于 10-05 10:12 1.7w次阅读

    基于ARM-Linux平台的FPGA程序加载模式浅析

    在系统上电时,需要从外部载入所要运行的程序,此过程被称为程序加载。多数情况下,从外部专用的 读入程序。这种方式速度慢,而且只能加载固定的程序。显然,当系统需要容量大而且 FPGA加载
    发表于 03-22 16:20 973次阅读

    安路EG4X FPGA从动串行加载模式

    电子发烧友网站提供《安路EG4X FPGA从动串行加载模式.pdf》资料免费下载
    发表于 09-27 10:55 1次下载
    安路EG4X <b class='flag-5'>FPGA</b>从动串行<b class='flag-5'>加载</b><b class='flag-5'>模式</b>

    安路EG4X FPGA从动并行加载模式

    电子发烧友网站提供《安路EG4X FPGA从动并行加载模式.pdf》资料免费下载
    发表于 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在配置了适当的启动模式后,上电即会按该模式加载配置文件。以7系列FPGA为例,
    发表于 04-25 12:49 45次阅读
    <b class='flag-5'>AMD</b> <b class='flag-5'>FPGA</b>中MicroBlaze的固化流程详解