一种解决SRIO接口阻塞的方法技术

技术编号:33246130 阅读:36 留言:0更新日期:2022-04-27 17:58
本发明专利技术涉及高速接口通信技术领域,且公开了一种解决SRIO接口阻塞的方法,包括以下步骤:第一步:CPU通过本地总线(BUS)轮询和FPGA间的SRIO接口状态;第二步:FPGA在接收到CPU发送过来的复位信号后,对内部逻辑进行复位;第三步:FPGA接收到重配置指令后,通过ICAP发送IPROG指令进行重新配置,捕捉外部输入异步复位信号,对主动方式启动的FPGA进行重配置,进而解决因FPGA与PowerPC CPU之间SRIO接口堵塞无法正常通信的问题;在Master配置模式的硬件设计中,设备在不断电的情况下,重新配置FPGA,解决CPU与FPGA之间SRIO接口阻塞的问题。解决CPU与FPGA之间SRIO接口阻塞的问题。解决CPU与FPGA之间SRIO接口阻塞的问题。

【技术实现步骤摘要】
一种解决SRIO接口阻塞的方法


[0001]本专利技术涉及高速接口通信
,具体为一种解决SRIO接口阻塞的方法。

技术介绍

[0002]在异构计算的硬件架构设计中,CPU+FPGA是常用的一种硬件架构方式,在两者需要高速交换数据的场景,SRIO较为常见的一种通信接口。由于CPU与FPGA上电时间、复位处理的差异,在使用过程中会偶发SRIO接口阻塞无法恢复,进而无法通信的问题。对于硬件设计上采用Slave

Serial、Slave

SelectMAP模式进行配置的FPGA,可以通过重新配置解决该问题;然而对于Master

Serial、Master

SelectMAP、Master

SPI、Master

BPI方式启动的FPGA,由于在硬件板卡上电时FPGA只会配置启动一次,则只能通过断电重启进行重配置。在某些应用场景,是不容许设备断电的,这就需要解决在不断电的情况下,让FPGA重新配置一遍内部逻辑数据。本方法通过利用FPGA的内部原语ICAP的使用,解决了在Master配置模式,不断电的动态配置FPGA的问题。

技术实现思路

[0003](一)解决的技术问题针对现有技术的不足,本专利技术提供了一种解决SRIO接口阻塞的方法。
[0004](二)技术方案为实现上述目的,本专利技术提供如下技术方案:一种解决SRIO接口阻塞的方法,包括以下步骤:第一步:CPU通过本地总线(BUS)轮询和FPGA间的SRIO接口状态;第二步:FPGA在接收到CPU发送过来的复位信号后,对内部逻辑进行复位;第三步:FPGA接收到重配置指令后,通过ICAP发送IPROG指令进行重新配置。
[0005]优选的,所述第一步中一旦发现SRIO接口出现了阻塞的情况,首先发送软复位信号至FPGA,同时对自身SRIO接口进行复位。
[0006]优选的,所述第一步中一旦发现SRIO接口出现了阻塞的情况,首先发送软复位信号至FPGA,同时对自身SRIO接口进行复位。
[0007]优选的,所述第三步中IRPOG发送的配置数据的Warm boot start address填写需要重配置的逻辑在FLASH中存储的地址即可。
[0008]优选的,所述FPGA采用Master模式进行配置时,上电启动后默认从FLASH的0地址处读取数据。所以我们在FLASH的0地址处烧写的配置bit文件应包含ICAP2原语。
[0009](三)有益效果与现有技术相比,本专利技术提供了一种解决SRIO接口阻塞的方法,具备以下有益效果:1、该解决SRIO接口阻塞的方法,在Master配置模式的硬件设计中,设备在不断电的情况下,重新配置FPGA,解决CPU与FPGA之间SRIO接口阻塞的问题。
[0010]2、该解决SRIO接口阻塞的方法,解决SRIO接口阻塞的问题时,只需将icap2_top模块中的BOOT_ADDR改成0x0000_0000,当CPU监测到对端SRIO接口阻塞后,通知FPGA产生复位信号给icap2_top模块,即可在无需断电情况下完成FPGA的重新配置,进而解决接口阻塞问题。
[0011]3、该解决SRIO接口阻塞的方法,捕捉外部输入异步复位信号,对主动方式启动的FPGA进行重配置,进而解决因FPGA与PowerPC CPU之间SRIO接口堵塞无法正常通信的问题。
附图说明
[0012]图1为本专利技术框架图;图2为本专利技术CAP数据帧格式示意图。
具体实施方式
[0013]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0014]请参阅图1

2,一种解决SRIO接口阻塞的方法,包括以下步骤:第一步:CPU通过本地总线(BUS)轮询和FPGA间的SRIO接口状态;第二步:FPGA在接收到CPU发送过来的复位信号后,对内部逻辑进行复位;第三步:FPGA接收到重配置指令后,通过ICAP发送IPROG指令进行重新配置。
[0015]所述第一步中一旦发现SRIO接口出现了阻塞的情况,首先发送软复位信号至FPGA,同时对自身SRIO接口进行复位。
[0016]所述第一步中一旦发现SRIO接口出现了阻塞的情况,首先发送软复位信号至FPGA,同时对自身SRIO接口进行复位。
[0017]所述第三步中IRPOG发送的配置数据的Warm boot start address填写需要重配置的逻辑在FLASH中存储的地址即可。
[0018]所述FPGA采用Master模式进行配置时,上电启动后默认从FLASH的0地址处读取数据。所以我们在FLASH的0地址处烧写的配置bit文件应包含ICAP2原语。
[0019]在使用时,建立第一个工程为名称为led1,最终生成的bit文件为led_icap_top.bit实现功能有以下几点:1、FPGA上电后,首先执行内部点灯逻辑(1秒闪烁一次)。在等待约10秒后,释放icap2_top模块的复位信号;2、icap2_top模块接收到复位释放5秒后,按固定时序将新的加载地址写入ICAPE2核。
[0020]3、ICAPE2在接收到指令后,从FLASH的 0x0040_0000地址处读取led2_top.bit文件并加载。
[0021]第二个工程名称为led2,最终生成的bit文件为led2_top.bit,实现功能为点灯逻辑,每200毫秒闪烁一次。
[0022]使用vivado2018.2工具将led1.bit和led2.bit生成一个icap_test.mcs文件,最
终烧写进Flash中即可。注意led2_top.bit的Start address地址要与ICAP中的保持一致。
[0023]实施流程给出的是ICAP2的重配置功能的验证方法,在xilinx xc7k325tfbg900芯片上已完成验证,确定方法切实可行。
[0024]尽管已经示出和描述了本专利技术的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本专利技术的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本专利技术的范围由所附权利要求及其等同物限定。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种解决SRIO接口阻塞的方法,其特征在于:包括以下步骤:第一步:CPU通过本地总线(BUS)轮询和FPGA间的SRIO接口状态;第二步:FPGA在接收到CPU发送过来的复位信号后,对内部逻辑进行复位;第三步:FPGA接收到重配置指令后,通过ICAP发送IPROG指令进行重新配置。2.根据权利要求1所述的一种解决SRIO接口阻塞的方法,其特征在于:所述第一步中一旦发现SRIO接口出现了阻塞的情况,首先发送软复位信号至FPGA,同时对自身SRIO接口进行复位。3.根据权利要求1所述的一种解决SRIO接口阻塞的方法,其...

【专利技术属性】
技术研发人员:周剑峰李云飞程惠赵丽娟
申请(专利权)人:山西银河电子设备厂
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1