一、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(建议按照下表进行配置)
2、m[2:0]
模式配置引脚,按照下表进行选择。
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加载时序
上电时序图
上电时序图
上电配置流程
其配置过程分解为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引脚切换为低电平来重新配置。
应用:此步可以用来使用看门狗电路重新加载fpga,亦或通过其他器件(dsp、cpld等)对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文件)都包括总线宽度检测模式和同步字。
同步检测信号
5、检查设备id
设备同步后,必须先通过设备id检查才能加载配置数据帧。这可以防止使用为不同设备格式化的比特流进行配置。如果在配置期间发生id错误,则设备会尝试执行回退重新配置。设备id检查内置于比特流中,使此步骤对大多数设计人员而言都是透明的。器件id检查通过比特流中的命令执行到配置逻辑,而不是通过jtag idcode寄存器执行。
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阶段)顺序状态机控制。启动顺控程序执行下表中列出的任务。每个启动事件的特定阶段是用户可编程的。
可以强制启动序列等待mmcm锁定或使dci与适当的选项匹配。这些选项通常设置为在mmcm锁定和/或dci匹配之前阻止done,gts和gwe被置位(阻止设备操作)。
done信号由启动定序器在用户指示的周期中释放,但启动定序器不会继续,直到done引脚实际看到逻辑高电平。done引脚是开漏双向信号。通过释放done引脚,器件停止驱动逻辑低电平,并通过内部上拉电阻上拉引脚。默认情况下,done_pipe被使能,以在done引脚和配置逻辑之间添加寄存器。
与启动序列发生器有关的信号
与启动序列发生器有关的信号时序
默认情况下,在启动的第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外挂的存储器中。
五、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菊花链
虚拟软硬件技术在卫星测控中的应用
关于电荷放大器制作的关键
用Commvault数据服务改变游戏规则
3225贴片晶振在汽车电子领域的应用
现在ArXiv最火的深度学习框架到底是什么?
赛灵思FPGA上电配置流程的8个步骤
iphone8什么时候上市?iphone8即将发布:iphone8新功能汇总,哪一项功能最值得期待?
了解传感器性能与算法之间的相互作用
AI计算能力限制:CoWoS和HBM供应链的挑战
加密数字货币将是进行匿名支付行为的最佳选择之一
鸿利智汇携高可靠性整车LED光源和照明方案亮相ALE车灯展
光纤传感器在测量技术中的应用简介
未来传感器产业发展的方向
WMS是什么?
设计一个1位的二选一多路选择器及其VHDL描述
简易晶振测试
海南商业航天发射场一号发射工位今日竣工
数字集群PH790对讲机功能介绍
苹果两天市值蒸发1900亿美元
莱迪思半导体荣获华为合作伙伴和供应商奖项