基于PowerPC控制的SRAM型FPGA可靠加载与防错设计方法与流程

文档序号:19155038发布日期:2019-11-16 00:38阅读:229来源:国知局
基于PowerPC控制的SRAM型FPGA可靠加载与防错设计方法与流程

本发明涉及基于powerpc控制的sram型fpga可靠加载与防错设计方法。



背景技术:

在航天航空领域,尤其是机载雷达方面,要求系统能够高速处理大量数据,并且持续可靠运行。由于sram型fpga有着丰富的逻辑资源,具有快速并行处理能力等多方面优势,已经成为了机载雷达设备中的必选器件。

目前机载雷达系统中,sram型fpga的逻辑资源已达到数百万门甚至千万门级别,由于sram型fpga下电后逻辑丢失特性,因此需要更大容量的flash芯片在上电后重新加载逻辑,导致加载周期过长,逻辑固化周期更长等问题。由于sram型fpga工艺属性,容易发生单粒子翻转问题。

fpga加载的传统方法:一般通过外挂的flash芯片在上电后采用串行主动加载模式。存在一定缺陷:

(1)fpga主动串行加载速度慢,在版本升级时flash芯片固化周期长,存储版本单一;

(2)flash由于误擦除或是存储介质本身因素造成存储内容缺失或发生位翻转情况,会导致逻辑功能的误操作,最终造成设备不能正常运行;

(3)在加载和运行过程中出现单粒子翻转问题后,纠错机制不完善,不能保证fpga的可靠加载和可靠运行。



技术实现要素:

根据本发明的方法采用网络远程加载,节省flash芯片,降低硬件成本;采用selectmap并行加载和回读验证技术,提高加载速度,实现可靠加载;此外,添加semip核或定时回读,检测单粒子翻转情况,发现问题及时纠错,实现系统的可靠运行。

根据本发明的一个方面,提供了一种基于powerpc控制的sram型fpga可靠加载与防错设计方法,所述方法用于将配置文件加载到sram型fpga中,所述方法包括:

将fpga配置文件和回读文件经由powerpc处理器的网络接口从主控机传输到powerpc处理器;

将传输到所述powerpc处理器的fpga配置文件和回读文件存储到ram中;

根据fpga的selectmap并行加载时序,将配置文件加载到sram型fpga中并返回回读数据;以及

将所述回读数据与所述回读文件进行比较,

当所述回读数据与所述回读文件一致时,监测所述fpga的单粒子翻转检测信号;以及

当所述回读数据与所述回读文件不一致时,重新加载所述配置文件。

根据一个实施例,所述fpga包括sem模块,所述sem模块实时监测单粒子翻转情况并生成所述单粒子翻转检测信号。

根据一个实施例,所述主控机存储和传输各fpga的配置文件。

根据一个实施例,所述ram包括ddr2、ddr3sdram,并经由存储接口与所述powerpc处理器连接。

根据一个实施例,所述powerpc处理器经由网络接口与所述主控机连接,并且所述网络接口支持tcp/ip协议。

根据一个实施例,所述fpga是支持selectmap并行加载并且支持semip核的芯片。

根据一个实施例,所述powerpc处理器包括gpio接口,并且所述powerpc处理器经由所述gpio接口将配置文件加载到fpga中。

根据一个实施例,当所述配置文件加载完成之后,根据所述fpga的selectmap回读时序,所述powerpc处理器经由gpio接口回读fpga中的配置存储器,其中所述配置文件被存储在所述配置存储器中。

根据一个实施例,当所述回读数据与所述回读文件一致时,fpga内部的sem模块启动,实时监测单粒子翻转情况,把监测信号通过gpio接口实时传送给powerpc,若监测信号异常则重新加载所述配置文件。

本发明具有如下优点:

(1)该方法放弃了传统fpga的主动加载,节省了sram型fpga的flash配置芯片,降低了硬件成本;

(2)相比于传统方法,基于网络通信的远程加载,使版本升级更加方便灵活,高效;

(3)selectmap并行加载和回读验证技术,能够实现对逻辑加载过程的监控,保证配置文件的可靠加载,且通过提高配置时钟的频率,提高加载速度;

(4)添加semip核,做到了实时检测单粒子翻转情况,发现问题及时纠错,实现产品的可靠运行;

(5)以上功能在原有产品上实现不增加任何成本。

针对具有网络通信能力的dsp+fpga或arm+fpga多核系统,尤其是在拥有大容量sram型fpga,且对可靠性要求较高的系统中,该方法提高了加载速度,使版本升级维护更加方便,防错机制更加全面,实现sram型fpga的可靠加载和可靠运行。

由于sram型fpga在工业控制、人工智能、民用航空和军工领域被大量使用,该方法具有广阔应用前景和巨大应用价值。

参考附图,根据以下对示例性实施例的描述,本发明的其他特征将变得清楚。

附图说明

图1是基于powerpc控制的sram型fpga可靠加载与防错设计原理框图;以及

图2是基于powerpc控制的sram型fpga可靠加载与防错设计流程图。

具体实施方式

以下,参考附图描述根据本发明的实施例,但是应当理解,以下的描述仅仅是示例性的,并且不是要将本发明限制到以下实施例。

根据本发明的方法和设备易受许多变化的影响,为了清楚而简要的描述,方法和设备的许多描述被简化了。许多描述使用了特定标准的结构和术语。然而,所公开的方法和设备可以更广泛地应用。

本领域的技术人员将理解,结合此处公开的实施例所描述的各种示例性的逻辑框、模块、单元和算法步骤可以经常被实施为电子硬件、计算机软件或两者的结合。为了清楚地示出硬件与软件的这一互换性,以下对于各种示例性的组件、框、模块和步骤就其功能进行了整体的描述。这样的功能被实施为硬件还是软件,取决于施加在系统整体上的具体的约束。技术人员可以对于各个具体的系统以不同的方式实施所描述的功能,但这样的实施方式决策不应被解释为导致偏离本发明的范围。此外,单元、模块、框或步骤的功能分组是为了描述简单。具体的功能或步骤可以从一个单元、模块或框移出,而不偏离本发明。

提供对公开的实施方式的以下描述,以使得本领域的任何技术人员能够完成或使用本发明。对这些实施例的各种修改对于本领域的技术人员将是显然的,并且此处所描述的一般原理可以被应用于其它实施例,而不偏离本发明的精神或范围。因此,本技术不限于以下所描述的具体示例。因此,应理解此处给出的说明书和附图代表本发明目前优选的实施方式,并因此代表了由本发明广泛地构想的主题。进一步地,应理解本发明的范围充分地包含其它对本领域的技术人员可能是显然的实施方式,并且因此,本发明的范围只由所附的权利要求限制。

本发明提出了一种机载雷达系统中基于powerpc控制的xilinx公司sram型fpga防错加载与抗单粒子翻转的设计方法。该方法适用于所有包含xilinx公司sram型fpga芯片的系统,由主控机通过网络协议将sram型fpga的配置文件传输到系统缓存中,再由powerpc处理器通过并行加载技术将配置文件加载到fpga并回读验证,然后通过fpga内部semip核实时监测单粒子翻转情况。解决目前sram型fpga的加载速度慢,加载和运行过程易发生单粒子翻转等问题。最终实现sram型fpga的快速远程升级,可靠加载和可靠运行。

该技术方案包括如下技术:

(1)tcp/ip网络通信技术:powerpc处理器支持tcp/ip网络通信,接收主控机发送的配置文件;

(2)selectmap并行加载技术:fpga支持逻辑的高速并行加载和回读验证;

(3)fpga抗单粒子翻转技术:fpga能够支持抗单粒子翻转的seuip核,实时监测单粒子翻转情况。在本发明中,单粒子翻转是指逻辑被加载到fpga中之后,运行过程中出现o变成1,1变成0的情况。

根据本发明的技术方案能够在上电后快速加载fpga配置文件,在运行过程中根据需求随时进行版本升级,且实时监测加载过程和运行过程中单子翻转等异常情况,增强了系统的可靠性。

接下来,参考附图对根据本发明的方法进行进一步的描述。

首先,参考图1,其示出了根据本发明的技术方案原理的框图。根据本发明的方案分为主控机,powerpc处理器,ram缓存和sram型fpga。

其中,主控机负责各分系统fpga配置文件的版本存储和传输。

powerpc处理器通过网络接口接收主控机传输的fpga配置文件和回读文件,并缓存到ram中,然后根据selectmap并行加载时序,将配置文件加载到sram型fpga中并回读验证,若回读数据与回读文件一致说明成功加载,若不一致认为加载失败,则重新加载。成功加载后fpga正常运行,powerpc处理器实时监测fpga的单粒子翻转检测信号(sem模块自身提供的信号),如果发生单粒子翻转,认为fpga部分功能错误,powerpc处理器重新加载配置文件。

在本示例性实施例中,selectmap总线为双向总线,回读验证也通过selectmap总线来进行。此外,回读数据可以是从加载到fpga中的配置文件原样读回的数据,并且回读文件是存在于ram中的文件。另外,术语“一致”例如是字节的位均相同的情况,否则认为不一致。

ram缓存是sram型fpga配置文件和回读文件的储存部件,如ddr2,ddr3sdram等;

sram型fpga为包含semip核的xilinx公司fpga产品,可以实时检测自身的单子翻转情况,并且将检测信号实时传输给powerpc处理器。

在本发明中,要求系统为powerpc+fpga架构,具体组成如下:

(1)powerpc处理器:具有如下接口电路:

1)网络接口:支持tcp/ip通信协议,与主控机进行网络通信,完成fpga配置文件和回读文件的请求与接收;

2)gpio接口:与fpga的selectmap接口连接,用于执行对fpga的并行加载与回读,用于接收sem模块的监测信号(单粒子翻转信号);

3)外部存储访问接口:用于完成fpga配置文件和回读文件的搬移;

(2)fpga:xilinx公司sram型fpga芯片,支持selectmap并行加载,支持semip核;

(3)ram缓存:如ddr2,ddr3等主流ram,用于存储fpga配置文件和回读文件。

如图2所示,具体技术实现方式如下:

(1)系统上电,powerpc启动工作,完成各接口的初始化和ram的读写验证,以避免出现位翻转;

(2)powerpc通过网络接口向主控机发送请求,接收fpga配置文件和回读文件并缓存到ram中,然后校验(一般通过校验位进行校验操作),若校验不通过,请求主控机重发配置文件与回读文件;

(3)根据selectmap配置时序要求,powerpc配置gpio接口将配置文件加载到fpga中;

(4)待加载完成,根据selectmap回读时序要求powerpc配置gpio接口回读fpga中的配置存储器(配置文件被加载到配置存储器中,因此回读时从该存储器中进行回读),并与ram中的回读文件进行比较,若一致则判定加载成功,若不一致则重新加载;

(5)待加载成功,fpga内部的sem模块启动,实时监测单粒子翻转情况,把监测信号通过gpio接口实时传送给powerpc,若监测信号异常则认为发生单粒子翻转,重新加载。

本发明的一个或多个实施例也可以由读出并执行在存储介质(其也可被更完整地称作‘非瞬时计算机可读存储介质’)上记录的计算机可执行指令(例如,一个或多个程序)以执行上述实施例中的一个或多个实施例的功能和/或包括用于执行上述实施例中的一个或多个实施例的功能的一个或多个电路(例如,专用集成电路(asic))的系统或装置的计算机来实现,以及通过由系统或装置的计算机例如通过读出并执行来自存储介质的计算机可执行指令以执行上述实施例中的一个或多个实施例的功能并且/或者控制一个或多个电路以执行上述实施例中的一个或多个实施例的功能来执行的方法来实现。计算机可以包括一个或多个处理器(例如,中央处理单元(cpu)、微处理单元(mpu))并且可以包括用来读出并执行计算机可执行指令的单独计算机或单独处理器的网络。计算机可执行指令可以例如从网络或者存储介质被提供给计算机。存储介质可以包括例如硬盘、随机存取存储器(ram)、只读存储器(rom)、分布式计算系统的存储装置、光盘(诸如紧凑盘(cd)、数字多用途盘(dvd)或者蓝光盘(bd)tm)、闪存装置、存储卡等中的一个或多个。

本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(cpu)、微处理单元(mpu)读出并执行程序的方法。

虽然已经参考示例性实施例描述了本发明,但是应该理解,本发明不限于所公开的示例性实施例。所附权利要求的范围应被赋予最宽泛的解释以涵盖所有这些修改以及等同的结构和功能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1