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

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

3天内不再提示

7系列FPGA上电的配置流程

电子设计 来源:电子设计 作者:电子设计 2021-01-22 05:46 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、FPGA配置引脚说明

1、CFGBVS
如果VCCO0连接至2.5V或3.3V,CFGBVS连接至VCCO0。
如果VCCO0连接至1.5V或1.8V,CFGBVS连接至GND。
建议bank0、bank14、bank15的VCCO电压一致,避免出现I/O Transition at the End of Startup(建议按照下表进行配置)

o4YBAGAJ8gWADHbfAAF7Jlu5hws903.png

2、M[2:0]
模式配置引脚,按照下表进行选择。

pIYBAGAJ8kSAKypYAADTv58fpag676.png

3、PROGRAM_B(input)
低电平有效,为低时,配置信息被清空,将配置过程重新进行。上电时保持PROGRAM_B为低电平不会使FPGA配置保持复位状态。而是使用INIT_B来延迟上电配置序列。

4、INIT_B(inout)
FPGA处于配置复位状态,FPGA正在初始化(清除)其配置存储器时,或者当FPGA检测到配置错误时,FPGA将此引脚驱动为低电平。在上电期间,INIT_B可以在外部保持低电平,以在初始化过程结束时停止上电配置序列。当初始化过程后在INIT_B输入检测到高电平时,FPGA继续执行M [2:0]引脚设置所指示的配置序列的其余部分。

5、VCCBATT
VCCBATT是FPGA内部易失性存储器的电池备用电源,用于存储AES解密器的密钥。如果不要求使用易失性密钥存储区中的解密密钥,请将此引脚连接到GND或VCCAUX。

二、使用EMCCLK引脚,全速加载程序
由于CCLK引脚存在容差,因此可以使用比CCLK更精准的时钟EMCCLK引脚。使能该功能时需要如下步骤:
1、使能ExtMasterCclk_en比特流生成选项
2、定义EMCCLK目标电压。Bank 14有另一个定义了IOSTANDARD的引脚。 在BANK14上定义的电压自动应用于EMCCLK。使用BITSTREAM.CONFIG.EXTMASTERCCLK_EN属性在Vivado中设置ExMasterCclk_en选项

三、FPGA加载时序

上电时序图

pIYBAGAJ8oOAP-QnAACKhEYUBwE565.png

上电时序图

o4YBAGAJ8sGABDVhAABe7CmUBn4677.png

上电配置流程

o4YBAGAJ8v-Aa8EfAABf7aD4rEM379.png

其配置过程分解为8个步骤。

1、上电
7系列器件需要为VCCO_0,VCCAUX,VCCBRAM和VCCINT引脚供电。上电时,VCCINT电源引脚必须提供1.0V或0.9V(适用于-2L)电源。 在JTAG模式下,除VCCO_0之外的任何I / O电源都不需要为7系列FPGA配置供电。 当选择使用多功能引脚的配置模式(即串行,主BPI,SPI,SelectMAP)时,还必须提供VCCO_14,VCCO_15或两者。上电后,可以通过将PROGRAM_B引脚切换为低电平来重新配置。

pIYBAGAJ8z2AJHBtAABvC7mBGvo024.png

应用:此步可以用来使用看门狗电路重新加载FPGA,亦或通过其他器件(DSPCPLD等)对FPGA重新加载的控制。

2、清除配置内存
在器件上电后,PROGRAM_B引脚脉冲为低电平,使用JTAG JPROGRAM指令或IPROG命令后,或在回退重试配置序列期间,配置存储器将被顺序清零。 块RAM被复位到其初始状态,并且通过断言全局置位复位(GSR)重新初始化触发器。 在此期间,除少数配置输出引脚外,通过使用全局三态(GTS)将I / O置于高阻态,如果PUDC_B为低电平,则内部上拉。 INIT_B在初始化期间内部驱动为低电平,然后在TPOR之后用于上电情况,而TPL用于其他情况。 如果INIT_B引脚从外部保持为低电平,器件将在初始化过程中等待,直到引脚被释放,并且满足TPOR或TPL延迟。

3、采样M2:0引脚
当INIT_B引脚为高电平时,器件对M [2:0]模式引脚进行采样,如果处于主模式,则开始驱动CCLK。 此时,器件开始在配置时钟的上升沿对配置数据输入引脚进行采样。 对于BPI和SelectMAP模式,总线宽度最初为x8,状态寄存器反映了这一点。 在总线宽度检测序列之后,状态寄存器被更新。 仅在通过重新上下电或PROGRAM_B的置位进行重新配置时,才会再次对模式引脚进行采样。

4、同步
对于BPI,Slave SelectMAP和Master SelectMAP模式,必须首先检测总线宽度。 从串行,主串行,SPI和JTAG模式忽略总线宽度检测模式。 然后必须将特殊的32位同步字(0xAA995566)发送到配置逻辑。 同步字警告设备即将到来的配置数据,并将配置数据与内部配置逻辑对齐。 除“总线宽度自动检测”序列外,忽略同步前配置输入引脚上的任何数据。 同步对大多数用户是透明的,因为工具生成的所有配置比特流(BIT文件)都包括总线宽度检测模式和同步字。

pIYBAGAJ83uAJbAAAADdYq8jeEg422.png

同步检测信号

5、检查设备ID
设备同步后,必须先通过设备ID检查才能加载配置数据帧。这可以防止使用为不同设备格式化的比特流进行配置。 如果在配置期间发生ID错误,则设备会尝试执行回退重新配置。设备ID检查内置于比特流中,使此步骤对大多数设计人员而言都是透明的。器件ID检查通过比特流中的命令执行到配置逻辑,而不是通过JTAG IDCODE寄存器执行。

o4YBAGAJ87mAXdAfAACOyuzmskc005.png

ID注解

6、加载数据
加载同步字并检查设备ID后,将加载配置数据帧。此过程对大多数用户是透明的。

7、循环冗余校验
当加载配置数据帧时,设备从配置数据包计算循环冗余校验(CRC)值。 加载配置数据帧后,配置比特流可以向设备发出校验CRC指令,然后是预期的CRC值。 如果设备计算的CRC值与比特流中的预期CRC值不匹配,则设备将INIT_B拉低并中止配置。 CRC校验默认包含在配置比特流中。

对于加密比特流(当BITSTREAM.ENCRYPTION.ENCRYPT属性为是时),禁用CRC校验,而HMAC验证加密的比特流数据。 比特流数据中的错误在BOOTSTS寄存器中报告为HMAC错误。

如果在配置为FPGA为配置主机的模式期间发生CRC错误,则设备可以尝试进行回退重配置。 在BPI和SPI模式下,如果回退重新配置再次失败,则BPI / SPI接口只能通过脉冲PROGRAM_B引脚重新同步,并从头开始重新启动配置过程。 JTAG接口仍然响应,设备仍处于活动状态,只有BPI / SPI接口无法运行。

7系列器件使用32位CRC校验。 CRC校验旨在捕获传输配置比特流时的错误。 存在这样的情况:CRC校验可能错过传输配置比特流的错误:某些时钟错误(例如双时钟)可能导致32位比特流分组与配置逻辑之间的同步丢失。 同步丢失后,不理解任何后续命令,包括检查CRC的命令。 在这种情况下,配置因DONE Low和INIT_B High而失败,因为CRC被忽略。 在BPI模式异步读取中,地址计数器最终溢出或下溢以导致环绕,从而触发回退重新配置。 BPI同步读取模式不支持环绕错误条件。

8、启动
加载配置帧后,比特流指示设备进入启动序列。 启动序列由8相(0-7阶段)顺序状态机控制。 启动顺控程序执行下表中列出的任务。每个启动事件的特定阶段是用户可编程的。

pIYBAGAJ8_qAEPTlAACu_1kd1MY316.png

pIYBAGAJ9DiAYuKcAABvsFxzRkE488.png

可以强制启动序列等待MMCM锁定或使DCI与适当的选项匹配。 这些选项通常设置为在MMCM锁定和/或DCI匹配之前阻止DONE,GTS和GWE被置位(阻止设备操作)。

DONE信号由启动定序器在用户指示的周期中释放,但启动定序器不会继续,直到DONE引脚实际看到逻辑高电平。 DONE引脚是开漏双向信号。 通过释放DONE引脚,器件停止驱动逻辑低电平,并通过内部上拉电阻上拉引脚。 默认情况下,DONE_PIPE被使能,以在DONE引脚和配置逻辑之间添加寄存器。

o4YBAGAJ9IOAPaRuAAILMjDxWk0046.png

与启动序列发生器有关的信号

pIYBAGAJ9PKAHXUDAADH5RV3Cu0333.png

与启动序列发生器有关的信号时序
默认情况下,在启动的第4阶段释放DONE,并启用DONE_PIPE以添加一个额外的延迟时钟周期。 DONE表示配置已完成且所有数据已加载,但需要应用一些额外的时钟周期以确保启动顺序正确完成到第7阶段,即启动结束。 DONE为24后,所需时钟周期的保守数字; 这将解释最常见的用例。 比特流选项LCK_cycle或Match_cycle将添加未定义的额外数量的时钟周期。

在Spartan-7,Artix-7和Kintex-7系列中,如果bank的VCCO为1.8V或更低,那么在I / O bank上有多功能配置引脚,并且该bank上的引脚是 低或浮动,然后输入可能在配置启动期间有0-1-0过渡到互连逻辑。 由于此转换发生在GWE启用内部逻辑之后,因此可能会在配置后影响设备的内部状态。 在EOS(启动结束)之后,转换发生一个CFGCLK。 为避免这种转换,将VCCO_14和VCCO_15设置为2.5V或3.3V,或者将引脚驱动为外部高电平(见表5-13)。 否则,逻辑应设计为忽略这些受影响的输入信号,直到在EOS上升沿之后的一个CFGCLK之后至少200 ns。 可以使用STARTUPE2监视CFGCLK和EOS。

四、配置文件格式
烧写配置文件包括四种,其中MCS、BIN和HEX文件为固化文件,直接烧写到FPGA外挂的存储器中。

pIYBAGAJ9Z2AOxqCAAISWvtn19I086.png

o4YBAGAJ9duAdwfWAABcQgBMKUY326.png

五、MultiBoot
7系列FPGA MultiBoot和后备功能支持现场更新系统。 比特流图像可以在现场动态升级。 FPGA MultiBoot功能可以实时切换图像。 在MultiBoot配置过程中检测到错误时,FPGA可以触发回退功能,确保可以将已知良好的设计加载到设备中。

发生回退时,内部生成的脉冲会复位整个配置逻辑,但专用的MultiBoot逻辑,热启动开始地址(WBSTAR)和启动状态(BOOTSTS)寄存器除外。 该复位脉冲将INIT_B和DONE拉低,清除配置存储器,并从地址0重新开始配置过程,并将修订选择(RS)引脚驱动为00.复位后,比特流将覆盖WBSTAR起始地址。

在配置期间,以下错误可能会触发回退:IDCODE错误、CRC错误、看门狗超时、BPI地址环绕错误。

也可以使用比特流选项ConfigFallback启用后备。 在回退重新配置期间忽略嵌入式IPROG。 在回退重新配置期间禁用看门狗定时器。 如果回退重新配置失败,则配置停止,INIT_B和DONE都保持为低。

六、BPI - 硬件RS引脚设计注意事项
在BPI模式下,RS引脚需要连接到高位地址位,其中一个RS引脚上的上拉电阻连接到高位地址线。 使用此硬件实现,系统不包括WBSTAR地址,并且每个图像的比特流选项相同。

默认情况下禁用两用RS引脚。 在BPI或Master SelectMAP模式的回退期间,RS引脚驱动为低电平,但在SPI模式期间不会驱动为低电平。 对于初始MultiBoot系统,RS引脚分别连接到闪存的高位地址位,并分别通过上拉或下拉电阻绑定为高电平或低电平。 上电时,系统将引导至由RS上的上拉电阻和地址线连接定义的高位地址空间。 在回退期间,RS引脚驱动为低电平,器件从地址空间0引导.RS引脚应连接到系统定义的高位地址,以允许将完整位文件存储在每个存储器段中。

七、多FPGA JTAG菊花链

o4YBAGAJ9hmAG0JsAABpvHE1Lz8001.png

来源:电子创新网

审核编辑黄昊宇

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

    关注

    1663

    文章

    22494

    浏览量

    638981
  • 上电
    +关注

    关注

    0

    文章

    16

    浏览量

    11202
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Xilinx A7 FPGA启动时间分析

    在测试板卡时,发现FPGA板卡启动后,从flash读取配置信息的时间大约需要5、6秒的时间,这个时间个人感觉有点长了。
    的头像 发表于 03-31 11:13 271次阅读
    Xilinx A<b class='flag-5'>7</b> <b class='flag-5'>FPGA</b>的<b class='flag-5'>上</b><b class='flag-5'>电</b>启动时间分析

    Atmel AT17LVxxxA FPGA配置EEPROM:特性、应用与技术解析

    按照预期的功能运行。Atmel的AT17LVxxxA系列FPGA配置EEPROM就是这样一款具有高性能和广泛适用性的产品。今天,我们就来详细探讨一下这款产品的特性、应用以及相关的技术细节。 文件下载
    的头像 发表于 03-29 17:05 922次阅读

    探索Atmel AT17LV系列FPGA配置EEPROM:特性、应用与设计要点

    Programmable Read-Only Memory,可擦可编程只读存储器)就是这样一类产品,为FPGA提供了便捷、经济的配置解决方案。 文件下载: AT17LV002-10CU.pdf 一、产品概述 AT17LV
    的头像 发表于 03-24 17:40 547次阅读

    Atmel AT17LV系列FPGA配置EEPROM的全面解析

    Atmel AT17LV系列FPGA配置EEPROM的全面解析 在FPGA设计领域,配置存储器的选择至关重要。Atmel的AT17LV
    的头像 发表于 02-27 16:15 341次阅读

    【ALINX 教程】FPGA Multiboot 功能实现——基于 ALINX Artix US+ AXAU25 开发板

    教程目的 本教程介绍如何在  ALINX Artix US+ AXAU25 FPGA  开发板,通过  Multiboot  实现多个 bitstream 的存储与动态切换,并在配置失败时自动回退
    的头像 发表于 01-05 15:41 1616次阅读
    【ALINX 教程】<b class='flag-5'>FPGA</b> Multiboot 功能实现——基于 ALINX Artix US+ AXAU25 开发板

    使用Xilinx 7系列FPGA的四位乘法器设计

    (Shinshu University)研究团队的最新设计中,一个专为 Xilinx 7 系列 FPGA 量身打造的 4 位乘法器使用了仅 11 个 LUT + 2 个 CARRY4 块,关键路径延迟达到 2.75 ns。这是一
    的头像 发表于 11-17 09:49 3631次阅读
    使用Xilinx <b class='flag-5'>7</b><b class='flag-5'>系列</b><b class='flag-5'>FPGA</b>的四位乘法器设计

    请问如何将蜂鸟E203移植到Xilinx NEXYS A7 FPGA 开发板

    如何将蜂鸟E203移植到Xilinx NEXYS A7 FPGA 开发板?有参考教程吗?小白求教 主要是引脚分配,我这边有移植到Xilinx Artix-7
    发表于 11-11 07:44

    FPGA板下载调试流程

    今天主要介绍一下整个FPGA板下载运行调试流程。 1、首先,参考网址https://doc.nucleisys.com/hbirdv2/soc_peripherals/ips.html#gpio 第
    发表于 10-29 06:37

    如何利用Verilog HDL在FPGA实现SRAM的读写测试

    本篇将详细介绍如何利用Verilog HDL在FPGA实现SRAM的读写测试。SRAM是一种非易失性存储器,具有高速读取和写入的特点。在FPGA中实现SRAM读写测试,包括设计SRAM接口模块
    的头像 发表于 10-22 17:21 4545次阅读
    如何利用Verilog HDL在<b class='flag-5'>FPGA</b><b class='flag-5'>上</b>实现SRAM的读写测试

    软件无线-AD9361 璞致 PZSDR 软件无线系列板卡之PZ-FL9361(FMCOMMS3)使用说明

    是基于AD9361的评估板,通过FMC接口与FPGA连接,支持宽带收发功能。实验部分详细介绍了在璞致FPGA板卡运行FMCOMMS3系统的步骤,包括固件烧录、网络配置以及使用SDR#
    的头像 发表于 09-13 11:07 4898次阅读
    软件无线<b class='flag-5'>电</b>-AD9361 璞致 PZSDR 软件无线<b class='flag-5'>电</b><b class='flag-5'>系列</b>板卡之PZ-FL9361(FMCOMMS3)使用说明

    一文详解xilinx 7系列FPGA配置技巧

    本文旨在通过讲解不同模式的原理图连接方式,进而配置用到引脚的含义(手册上相关引脚含义有四、五页,通过本文理解基本能够记住所有引脚含义以及使用场景),熟悉xilinx 7系列
    的头像 发表于 08-30 14:35 1.1w次阅读
    一文详解xilinx <b class='flag-5'>7</b><b class='flag-5'>系列</b><b class='flag-5'>FPGA</b><b class='flag-5'>配置</b>技巧

    Zynq-7000 SoC与7系列设备内存接口解决方案数据手册

    关于 AMD/Xilinx 7系列FPGA存储器接口解决方案(UG586) 的用户指南,其主要内容和技术要点可概括如下:1. 文档定位与核心内容定位:该文档是7
    发表于 07-28 16:17 3次下载

    使用PicoScope示波器测量电源时序

    对于 DSP、CPU、GPU、FPGA等高性能处理器而言,确保其各模块所需电源的顺序对实现其可靠运行、提高效率并保障整体系统健康至关重要。
    的头像 发表于 07-16 13:49 3478次阅读
    使用PicoScope示波器测量电源<b class='flag-5'>上</b><b class='flag-5'>电</b>时序

    AD766配置前,输出-3~+3的随机电压,如何让它一开始就输出为0?

    的随机电压会对后面的控制引脚有影响,-3V可能导致器件损坏,AD766的配置输出和什么有关系
    发表于 06-24 06:05

    FPGA电工作,CYUSB3014工作异常,为什么?

    问题描述如下: 我们的时序是CYUSB3014先上,然后通过CYUSB3014的GPIO控制电源的使能让FPGA再上,因此CYUSB
    发表于 05-20 06:48