CN106484581B - 空间辐射环境下可编程soc器件单粒子翻转检测系统及方法 - Google Patents
空间辐射环境下可编程soc器件单粒子翻转检测系统及方法 Download PDFInfo
- Publication number
- CN106484581B CN106484581B CN201610933259.0A CN201610933259A CN106484581B CN 106484581 B CN106484581 B CN 106484581B CN 201610933259 A CN201610933259 A CN 201610933259A CN 106484581 B CN106484581 B CN 106484581B
- Authority
- CN
- China
- Prior art keywords
- frame
- configuration
- readback
- programmable logic
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Measurement Of Radiation (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明涉及一种空间辐射环境下可编程SOC器件单粒子翻转检测系统及方法,为了解决现有单粒子翻转检测技术中片外控制器测量方式存在系统复杂度较高、总体体积较大、开发难度大等问题,而提供一种基于片内自检测的空间辐射环境下面向可编程SOC芯片单粒子翻转检测系统及检测方法。空间辐射环境下可编程SOC器件单粒子翻转检测系统,包括处理系统、可编程逻辑、Flash存储器以及DDR存储器,处理系统具有Flash存储器接口、DDR存储器接口以及配置回读接口,分别用于与Flash存储器、DDR存储器以及可编程逻辑连接;处理系统用于实现对可编程逻辑的配置回读功能和回读结果的对比验证功能。本发明适用于空间飞行器。
Description
技术领域
本发明涉及一种空间辐射环境下可编程SOC器件单粒子翻转检测系统及方法,具体涉及空间飞行器可编程器件错误检测领域。
背景技术
空间中的各种粒子会对集成电路产生辐射效应,称为单粒子效应(SEE,SingleEvent Effect)。单粒子效应影响集成电路的可靠性,进而影响空间电子系统的可靠性,因此自集成电路应用于航天领域以来,单粒子效应成为不可避免的问题。随着集成电路的工艺尺寸不断减小,发生单粒子效应的能量阈值越低,单粒子效应对集成电路的影响越严重,单粒子效应已成为航天器故障的主导因素之一。
现场可编程门阵列(FPGA,Field Programmable Gate Array)因其逻辑集成度高、开发成本低、兼顾高性能与灵活性等特点,广泛用于民用、工业和空间领域。目前按照加工工艺,可将FPGA分为基于反熔丝FPGA(Antifuse-Based FPGA)、基于Flash FPGA(Flash-Based FPGA)和基于SRAM(Static Random Access Memory)FPGA(SRAM-Based FPGA)。因基于反熔丝FPGA具有非易失性、稳定性高、较好的抗辐射性能等特点,传统宇航级器件均采用基于反熔丝FPGA,但其具有一次编程(OTP,One-Time Programmable)的特点,导致开发难度大,开发周期长,且其集成的寄存器等资源较少,价格昂贵,无法满足日益增长的需求。基于Flash FPGA可重复编程,且具有非易失性,但其集成度低,价格较高,不适于逻辑资源需求量大和高速计算的场合,并且其易受到总剂量效应(TID,Total Ionizing Dose Effects)的影响。与基于反熔丝FPGA和基于Flash FPGA相比,基于SRAM FPGA工艺先进,集成度高,资源丰富,可重复编程,易于开发。但基于SRAM FPGA对空间单粒子较为敏感,易发生单粒子翻转或单粒子功能中断,其配置存储器的单粒子翻转在FPGA整个单粒子翻转事件中占据90%以上的比重。因单粒子效应引起的故障为可恢复型软故障,可通过复位或重写操作进行修复。基于SRAM FPGA对单粒子效应的敏感性,限制了其在空间领域的应用,因此对其单粒子效应进行测试与评估成为提高其容错能力的前提和基础。
ZYNQ系列可编程SoC是Xilinx公司推出的一款集成包含双核ARM Cortex-A9的处理系统(Processing System)和具有丰富资源的可编程逻辑(Programmable Logic)的异构芯片。PS部分由双核ARM Cortex-A9组成的应用处理单元(APU,Application ProcessorUnit)、存储器接口、I/O设备和内部互联部分构成,PL部分为Xilinx 7系列FPGA。此系列芯片提供与ASIC(Application Specific Integrated Circuit)和ASSP(ApplicationSpecific Standard Parts)相近的性能、功耗和开发容易度,并且具备FPGA的灵活性和可扩展性。因PS和PL部分的结合,此系列芯片可以完成双芯片方案因I/O带宽有限、耦合不严密和功耗高不能完成的任务,使设计者能够在单芯片中进行低成本高性能的应用。
目前现有实现单粒子翻转检测技术的方法大致可分为两种:一种为编码的方式,该方式常采用ECC的编码方式对SRAM型FPGA的配置文件进行编码,此方式仅适用于检测一个配置帧中出现两位错误或有限位错误等特殊情况,并不能实现对FPGA进行全面的检测;另一种方式是回读比对配置文件的方式,该方式采用回读FPGA的配置存储器中的配置文件,将其与原配置文件进行对比检测,可实现对FPGA进行全面的检测。
采用回读比对配置文件的方式大致可分为两种:一种为片外测量方式,此方法采用在SRAM型FPGA外部设有可靠性较高的控制器或处理器,由此控制器或处理器实现FPGA的配置回读功能和回读结果的对比验证功能;另一种为片内测量方式,此方法采用SRAM型FPGA内部特有的配置回读接口模块,并在FPGA内生成该接口模块的控制电路和实现对比验证功能的电路。前一种方式中测量系统除需要设计被测量SRAM型FPGA外,需要另外设计一种可靠性较高的控制器或处理器,因此该方法测试系统复杂度较高,总体体积较大,系统工作功耗较高,且若选用两种不同平台的芯片,则需掌握两种不同平台的开发流程,因此该方法测试系统开发难度大,开发周期长,对开发人员要求较高;后一种方式中无需片外高可靠控制器和处理器,可在单芯片中完成单粒子翻转测试,且因芯片内部集成实现配置回读的接口模块,开发者只需掌握该接口模块的开发方式,即可在FPGA内部实现配置回读功能和回读结果的对比验证功能,但在配置回读接口模块的外围控制电路和实现比对检测功能电路均采用FPGA内部资源实现,其控制电路和对比检测功能电路本身就已受到单粒子翻转效应的影响,因此该方式的回读比对功能的可靠性低,将导致测试结果可靠性低等问题。
发明内容
本发明要解决的技术问题是:现有单粒子翻转检测技术中片外控制器测量方式存在系统复杂度较高、总体体积较大、开发难度大等问题,使用片内可编程逻辑实现检测方法存在检测电路可靠性较低等问题。
针对以上方法中存在的技术问题,本发明提供一种空间辐射环境下面向可编程SOC芯片单粒子翻转检测系统及检测方法。
一种空间辐射环境下可编程SOC器件单粒子翻转检测系统,其特征在于,包括处理系统、可编程逻辑、Flash存储器以及DDR存储器,所述处理系统具有Flash存储器接口、DDR存储器接口以及配置回读接口,分别用于与所述Flash存储器、DDR存储器以及可编程逻辑连接;所述处理系统用于实现对可编程逻辑的配置回读功能和回读结果的对比验证功能。
本发明还包括一种基于空间辐射环境下可编程SOC器件单粒子翻转检测系统的检测方法,包括:
步骤一:将用于对比检测的原配置文件和掩码文件由Flash存储器加载至DDR存储器中的三个不同地址区间;
步骤二:控制PCAP模块从可编程逻辑中回读配置帧,每次从指定地址读取一帧配置帧;
步骤三:从DDR存储器的三个不同地址区间中读取与回读配置帧相对应的原配置帧和掩码帧,并完成3选2表决,输出一帧原配置帧和一帧掩码帧;
步骤四:将配置帧与掩码帧的反码相与的结果和原配置帧与掩码帧的反码相与的结果按位进行对比,若对比结果不一致,即判断可编程逻辑的配置存储器发生了单粒子翻转;若对比结果一致,即判断可编程逻辑的配置存储器未发生单粒子翻转。
本发明的有益效果为:具有体积紧凑、开发周期短、可移植性强、检测覆盖性高的优点;采用片内测量,不需要额外设置可靠性较高的处理器,从而使系统复杂度较低、总体积较小、系统功耗较低;并且实现回读功能和回读结果的对比检测功能时均不使用FPGA内部资源,检测功能不会受到单粒子翻转效应的影响,进而使检测的可靠性更高。
附图说明
图1为本发明实施例的空间辐射环境下面向可编程SOC芯片单粒子翻转检测系统的原理示意图;
图2为本发明实施例的功能实现流程图;
图3为本发明实施例的回读配置帧具体过程的流程图。
具体实施方式
具体实施方式一:本实施方式的一种空间辐射环境下可编程SOC器件单粒子翻转检测系统,其特征在于,包括处理系统PS、可编程逻辑PL、Flash存储器以及DDR存储器,所述处理系统具有Flash存储器接口、DDR存储器接口以及配置回读接口,分别用于与所述Flash存储器、DDR存储器以及可编程逻辑PL连接;所述处理系统PS用于实现对可编程逻辑PL的配置回读功能和回读结果的对比验证功能。
具体而言,处理系统和可编程逻辑可以由Xilinx 7系列的ZYNQ芯片实现。由于处理系统PS和可编程逻辑PL位于ZYNQ芯片内部,因此本发明的检测系统属于片内测量,不需要额外设置可靠性较高的处理器。这样设置的好处是,可以使系统复杂度较低、总体积较小、系统功耗较低。另一个好处是,处理系统PS和可编程逻辑PL是同平台的部件,避免了现有技术中使用两种不同平台芯片而使得开发人员需要掌握不同平台的开发流程,进而造成开发难度大,周期长,对开发人员要求高的问题。
ZYNQ系列可编程SoC是Xilinx公司推出的一款集成包含双核ARM Cortex-A9的处理系统(Processing System)和具有丰富资源的可编程逻辑(Programmable Logic)的异构芯片。处理系统PS部分由双核ARM Cortex-A9组成的应用处理单元(APU,ApplicationProcessor Unit)、存储器接口、I/O设备和内部互联部分构成,可编程逻辑PL部分为Xilinx7系列FPGA。此系列芯片提供与ASIC(Application Specific Integrated Circuit)和ASSP(Application Specific Standard Parts)相近的性能、功耗和开发容易度,并且具备FPGA的灵活性和可扩展性。因PS和PL部分的结合,此系列芯片可以完成双芯片方案因I/O带宽有限、耦合不严密和功耗高不能完成的任务,使设计者能够在单芯片中进行低成本高性能的应用。
具体实施方式二:本实施方式与具体实施方式一不同的是:处理系统PS包括:
APU,即应用处理单元,用于控制所述检测系统内各部件的工作流程、生成回读控制指令以及进行对比检测;APU包括DMA通道以及数据存储区,回读得到的数据存储在所述数据存储区,DMA通道用于将数据从一个地址空间复制到另一个地址空间;
AXI总线,处理系统内部的各功能模块均通过AXI总线进行互联;
PCAP模块,包括配置通道专用DMA控制器、发送FIFO存储器、接收FIFO存储器以及用于访问可编程逻辑的配置回读接口;在配置回读的过程中,APU调用配置通道专用DMA控制器将生成的配置回读控制命令传输至发送FIFO存储器,再由PCAP模块将回读控制命令发送至可编程逻辑内部的配置存储器,所述配置存储器将回读的配置数据以配置帧的形式返回至配置回读接口,并存入接收FIFO存储器中,待完成回读数据的接收后,由APU读取接收FIFO中的数据,即可得到指定配置帧的数据;回读控制命令由所述APU的数据存储区生成;回读数据存储在所述APU数据存储区。
之所以需要进行配置,是由于RAM型FPGA具有掉电易失性,因此在芯片上电后需要对FPGA进行功能配置,FPGA配置通常指FPGA在上电后或工作过程中通过配置接口对FPGA内部逻辑功能的配置;本发明限定的回读过程是与FPGA配置相反的过程,具体是通过配置接口去读取配置的数据,具体实验中就是采用回读数据与原配置数据的逐位比较实现的。为了便于理解,可以认为FPGA为一片SRAM,配置是写SRAM,回读是读SRAM。
其它步骤及参数与具体实施方式一相同。
具体实施方式三:本实施方式与具体实施方式一或二不同的是:Flash存储器用于存储可编程逻辑原配置文件和掩码文件,所述可编程逻辑原配置文件中包含对可编程逻辑进行配置的配置数据,所述配置数据由配置帧形式组成;掩码文件中包含对可编程逻辑进行对比检测时所使用的掩码数据,所述掩码数据由掩码帧形式组成;所述配置帧为可编程逻辑进行配置与回读的最小可寻址单位;所述掩码帧用于判断配置帧中的数据是否需要进行比对检测。
其它步骤及参数与具体实施方式一或二相同。
具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:掩码帧用于判断配置帧中的数据是否需要进行比对检测具体为:
当对比位为“1”时,则该位不需要进行对比检测;当对比位为“0”时,则该位需要进行对比检测。
其它步骤及参数与具体实施方式一至三之一相同。
具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:DDR存储器用于临时存储可编程逻辑原配置文件和掩码文件;处理系统在进行对比检测时,直接从DDR存储器中读取配置帧和掩码帧。
其它步骤及参数与具体实施方式一至四之一相同。
具体实施方式六:本实施方式与具体实施方式一至五之一不同的是:
APU具体用于:
通过DMA通道将用于对比检测的原配置文件和掩码文件由Flash存储器加载至DDR存储器中的三个不同地址区间;
控制PCAP模块完成从可编程逻辑中回读配置帧,每次从指定地址读取一帧配置帧;
从DDR存储器的三个不同地址区间中读取三份与回读配置帧对应的原配置帧和掩码帧,并通过3选2表决得到一帧原配置帧和一帧掩码帧;
将配置帧与掩码帧的反码相与的结果和原配置帧与掩码帧的反码相与的结果按位进行对比,若对比结果不一致,即判断可编程逻辑的配置存储器发生单粒子翻转;若对比结果一致,即判断可编程逻辑的配置存储器未发生单粒子翻转。
其中,3选2表决是三模冗余里的一部分,三模冗余就是为了提高可靠性将数据复制成相同的三份,当需要使用这部分数据时就将三份数据同时取出,然后进行3选2表决,得到一份可靠性较高的数据。3选2表决就是少数服从多数的表决过程,当三份数据中有两份一致,则输出这两份相同数据。
其它步骤及参数与具体实施方式一至五之一相同。
具体实施方式七:本实施方式与具体实施方式一至六之一不同的是:
处理系统还包括CAN控制器,用于将对比检测结果输出,具体包括完成配置回读比对的错误位计数、错位帧计数和错误帧地址;
当对比结果不一致时,APU统计该帧数据中错误的位数,并记录错误帧号;判断当前帧是否为最后一帧,若是,则APU通过CAN控制器将错误位计数、错位帧计数和错误帧地址发送至CAN总线上;若不是,则APU执行回读配置帧、3选2表决以及判断对比结果的步骤。
CAN总线是系统与外部通信的总线,CAN控制器是系统中ZYNQ芯片内部的CAN总线控制器,其用于发送和接收符合CAN总线协议的数据。CAN总线是指外部总线,CAN控制器是指用于发送和接收符合CAN总线协议的数据,可以理解本发明CAN控制器与通信另一端的CAN控制器之间就是CAN总线。
错误帧号是指在回读配置数据中检测到单粒子翻转错误数据在回读文件的偏移地址。本发明将配置回读比对的错误位计数、错位帧计数和错误帧地址通过CAN控制器发送出去。CAN控制器以外就是CAN总线。
其它步骤及参数与具体实施方式一至六之一相同。
具体实施方式八:本实施方式与具体实施方式一至七之一不同的是:
控制PCAP模块完成从可编程逻辑中回读配置帧,每次从指定地址读取一帧配置帧的具体过程为:
配置检验步骤:PCAP模块读取处理系统的配置模块中的状态位,以识别可编程逻辑是否已进行配置;若未进行配置,则再次启动配置流程,对可编程逻辑进行重新配置;若已进行配置,则执行配置帧地址生成步骤;
配置帧地址生成步骤:对配置存取器中的寄存器进行配置,APU调用配置通道专用DMA控制器将生成的配置回读控制命令传输至发送FIFO存储器,再由PCAP模块将回读控制命令发送至可编程逻辑内部的配置存储器;当DMA的DONE信号为高电平时,执行接收回读配置帧步骤;否则进行等待,直至DONE信号为高电平;
接收回读配置帧步骤:DDR存储器将回读的配置数据以配置帧的形式返回至配置回读接口,并存入接收FIFO存储器中,待完成回读数据的接收后,由APU读取接收FIFO中的数据,即可得到指定配置帧的数据。
其它步骤及参数与具体实施方式一至七之一相同。
具体实施方式九:本实施方式提供了一种基于具体实施方式一至八中任意一项所述基于空间辐射环境下可编程SOC器件单粒子翻转检测系统的检测方法,包括:
步骤一:将用于对比检测的原配置文件和掩码文件由Flash存储器加载至DDR存储器中的三个不同地址区间;
步骤二:控制PCAP模块从可编程逻辑中回读配置帧,每次从指定地址读取一帧配置帧;
步骤三:从DDR存储器的三个不同地址区间中读取与回读配置帧相对应的原配置帧和掩码帧,并完成3选2表决,输出一帧原配置帧和一帧掩码帧;
步骤四:将配置帧与掩码帧的反码相与的结果和原配置帧与掩码帧的反码相与的结果按位进行对比,若对比结果不一致,即判断可编程逻辑的配置存储器发生了单粒子翻转;若对比结果一致,即判断可编程逻辑的配置存储器未发生单粒子翻转。
具体实施方式十:本实施方式与具体实施方式九不同的是:在步骤四执行完成后,还包括:
步骤五:当对比结果不一致时,统计当前帧数据中错误的位数,并记录错误帧号;
步骤六:判断当前帧是否为最后一帧,若是,则执行步骤七,若否,则执行步骤二;
步骤七:通过CAN控制器将错误位计数、错位帧计数和错误帧地址发送至CAN总线上。
<实施例1>
本实施例中,处理系统PS和可编程逻辑PL选用ZYNQ系列芯片完成。下面结合图1具体说明本实施例的功能模块:
PS:全称为Processing System(处理系统)。此部分由应用处理单元(APU)、存储器接口、I/O设备和内部互联部分构成,由此部分实现对可编程逻辑实现FPGA的配置回读功能和回读结果的对比验证功能。
PL:全称为Programmable Logic(可编程逻辑)。此部分为Xilinx公司7系列FPGA,将其作为被测试可编程逻辑部分。
APU:全称为Application Processor Unit(应用处理单元)。此部分由双ARMCortex-A9多核CPU、定时器、看门狗和DMA控制器等构成。此部分作为实现配置回读和对比检测的控制单元,负责控制本发明整个系统的工作流程,负责生成回读控制指令和进行对比检测。其中DMA控制器(Direct Memory AccessController,直接内存存取通道)包含8路DMA通道,用于实现将数据从一个地址空间复制到另一个地址空间。
AXI总线:全称为Advanced eXtensible Interface总线,该总线协议为ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。该总线为ZYNQ芯片内部使用的总线,芯片内各个功能模块均采用AXI总线进行互联。
PCAP模块:全称为Processor Configuration Access Port(处理器配置通道接口)。此部分包含PS访问PL的配置回读接口、配置通道专用DMA控制器和发送接收FIFO(First In First Out)存储器。配置回读过程中,APU调用配置通道专用DMA控制器将生成的配置回读控制命令传输至发送FIFO存储器,再由PCAP模块将回读控制命令发送至可编程逻辑的配置存储器,配置存储器将回读的配置数据以配置帧的形式返回至配置回读接口,并存入接收FIFO中,待完成回读数据的接收后,由APU读取接收FIFO中的数据,便可得到指定配置帧的数据。
Flash存储器:此部分用于存储可编程逻辑原配置文件和掩码文件。可编程逻辑原配置文件中包含对可编程逻辑进行配置的数据,其由配置帧形式组成,掩码文件中包含对可编程逻辑进行对比检测时所使用的掩码数据,其由掩码帧形式组成。配置帧为可编程逻辑进行配置与回读的最小可寻址单位,因此对配置存储器进行操作时必须按照整个配置帧进行操作。掩码帧与配置帧格式一致,其用于判断配置帧中的数据是否需要进行比对检测,当对比位为“1”时,则该位不需要进行比对检测,当对比位为“0”时,则该位需要进行对比检测。
DDR存储器:此部分用于临时存储可编程逻辑原配置文件和掩码文件。因APU访问Flash的速度远小于访问DDR的速度,因此为提高系统运行速度,系统工作之前,需先将可编程逻辑原配置文件和掩码文件从Flash存储器中加载到DDR存储器中。系统进行比对检测时,直接从DDR存取器中读取配置帧和掩码帧。
CAN控制器:此部分完成将对比检测结果输出,包括完成配置回读比对的错误位计数、错位帧计数和错误帧地址。
一种空间辐射环境下可编程器件单粒子翻转检测方法,其特征在于:APU模块通过DMA通道将用于对比检测的原配置文件和掩码文件由Flash存储器加载至DDR存储器中的三个不同地址区间;APU模块控制PACP模块完成从可编程逻辑中回读配置帧,每次从指定地址读取一帧配置帧;APU模块从DDR存储器的三个不同地址区间中读取三份与回读配置帧对应的原配置帧和掩码帧,并通过3选2表决得到一帧原配置帧和一帧掩码帧;APU模块将配置帧与掩码帧的反码相与的结果和原配置帧与掩码帧的反码相与的结果按位进行对比,若对比结果不一致,即判断可编程逻辑的配置存储器发生单粒子翻转;当对比发现错误时,APU模块统计该帧数据中错误的位数,并记录错误帧号,当完成一次完整检测后,并APU模块通过CAN控制器将错误位计数、错位帧计数和错误帧地址发送至CAN总线上。
下面结合图2介绍本发明各部件的功能实现情况:
1.初始化:此部分完成对测试系统相关的模块进行初始化的任务。初始化由ARM组成的APU模块、完成可编程逻辑回读功能的PCAP模块、存储器模块(包括Flash存储器模块和DDR存储器模块)和完成测试结果输出的CAN控制器模块。
2.加载原配置文件与掩码文件:此部分完成从Flash存储器加载原配置文件和掩码文件至DDR存储器的任务。为保证所加载的原配置文件与掩码文件具有较高的可靠性,将Flash存储器中的原配置文件和掩码文件做冗余处理,分别加载至DDR存储器中的三个不同地址区间。待使用该部分数据时,分别从三个地址区间中读取相应数据,对三组数据进行3选2表决处理,最终得到一组可靠性较高的数据。
3.回读配置帧:此部分完成从可编程逻辑配置存储器中回读配置帧的任务。由ARM组成的APU模块作为控制模块,控制PCAP模块实现回读过程中的读写命令字和接收回读数据。图3为本发明中PCAP执行回读配置帧的流程图,具体为:
1)检验是否配置:此步骤对可编程逻辑的状态进行检测。如果未进行配置,则重新启动配置流程,对可编程逻辑进行配置;如果已经完成配置,则开始回读过程。检测方法为读取PS部分配置模块中的状态位;
2)生成配置帧地址:此步骤根据块类型、顶底标识、行标识、列标识和次标识完成指定配置帧地址的生成;
3)生成并发送回读配置帧命令:此步骤完成回读过程的启动与配置。根据Xilinx公司提供的配置步骤,对配置存取器中的寄存器进行配置,即可启动回读过程。寄存器包括同步命令字、复位CRC命令字、回读控制命令字、回读帧地址命令字和回读帧长度命令字。发送过程结束标志是判断DMA的DONE信号是否为高,如果为高即可判断发送回读配置命令字结束,可进行下一步操作,否则需等待DMA完成操作;
4)接收回读配置帧:此步骤完成接收回读配置帧的任务。在完成发送回读配置帧命令后,即可从PACP模块回读指定地址的回读配置帧数据。返回数据中包含一帧空白帧,可将其舍去;
5)生成并发送回读停止命令:此步骤完成回读过程的停止。通过写复位CRC命令字复位配置寄存器中的CRC计算逻辑,通过写取消同步命令字取消与配置存储器的同步,结束回读过程。
4.读取原配置帧与掩码帧:此部分完成从DDR存储器三个地址区间中读取原配置帧和掩码帧,并进行3选2表决产生可靠性较高的原配置帧和掩码帧的任务。
5.对比检测:此部分完成在掩码帧的作用下,回读配置帧与原配置帧的对比检测。具体操作位将配置帧与掩码帧的反码相与的结果和原配置帧与掩码帧的反码相与的结果按位进行对比:若对比结果不一致,即判断可编程逻辑的配置存储器发生单粒子翻转;若对比结果一致,即判断可编程逻辑的配置存储器未发生单粒子翻转。当通过对比检测到错误时,统计该帧数据中错误的位数,并记录错误帧号。
6.输出测试结果:此部分完成对比检测的结果输出。待将可编程逻辑中所有的配置帧对比完成后,将统计的错误位数和错误帧号通过CAN总线发送出去。
与现有技术相比,本发明的优点在于:
1.本发明一种基于ZYNQ开发平台的单粒子翻转检测方法中采用Xilinx公司ZYNQ系列可编程SoC芯片,使用处理系统部分对可编程逻辑配置接口实现回读控制,可在单芯片内完成单粒子翻转检测任务。本发明与使用外部控制器的方法相比,大大降低了测试系统的复杂程度,避免了因开发平台不同造成的不便,同时使测试系统的总体体积、工作功耗都有大幅度降低;
2.本发明一种基于ZYNQ开发平台的单粒子翻转检测方法中的回读控制部分与对比检测部分分别使用PS部分PACP模块与APU模块,其均为固定的电路,其可靠性远大于可编程逻辑部分。本发明与同样在单芯片内使用可编程逻辑完成单粒子测试的方案相比,避免了此方案中对比检测电路和配置回读模块的外围控制电路均为可编程逻辑组成造成此可靠性较低的问题;
3.本发明一种基于ZYNQ开发平台的单粒子翻转检测方法中开发过程仅使用一种高级语言(C语言)进行开发,避免了因使用不同开发语言造成的不便,大大降低了开发难度,缩短开发周期。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (9)
1.一种空间辐射环境下可编程SOC器件单粒子翻转检测系统,其特征在于,包括处理系统、可编程逻辑、Flash存储器以及DDR存储器,所述处理系统具有Flash存储器接口、DDR存储器接口以及配置回读接口,分别用于与所述Flash存储器、DDR存储器以及可编程逻辑连接;所述处理系统用于实现对可编程逻辑的配置回读功能和回读结果的对比验证功能;
所述处理系统包括:
APU,即应用处理单元,用于控制所述检测系统内各部件的工作流程、生成回读控制指令以及进行对比检测;APU包括DMA通道以及数据存储区,回读得到的数据存储在所述数据存储区,所述DMA通道用于将数据从一个地址空间复制到另一个地址空间;
AXI总线,处理系统内部的各功能模块均通过AXI总线进行互联;
PCAP模块,包括配置通道专用DMA控制器、发送FIFO存储器、接收FIFO存储器以及用于访问可编程逻辑的配置回读接口;在配置回读的过程中,APU调用配置通道专用DMA控制器将生成的配置回读控制命令传输至发送FIFO存储器,再由PCAP模块将回读控制命令发送至可编程逻辑内部的配置存储器,所述配置存储器将回读的配置数据以配置帧的形式返回至配置回读接口,并存入接收FIFO存储器中,待完成回读数据的接收后,由APU读取接收FIFO中的数据,即可得到指定配置帧的数据;所述回读控制命令由所述APU的数据存储区生成;所述回读数据存储在所述APU数据存储区。
2.根据权利要求1所述的空间辐射环境下可编程SOC器件单粒子翻转检测系统,其特征在于,所述Flash存储器用于存储可编程逻辑原配置文件和掩码文件,所述可编程逻辑原配置文件中包含对可编程逻辑进行配置的配置数据,所述配置数据由配置帧形式组成;掩码文件中包含对可编程逻辑进行对比检测时所使用的掩码数据,所述掩码数据由掩码帧形式组成;所述配置帧为可编程逻辑进行配置与回读的最小可寻址单位;所述掩码帧用于判断配置帧中的数据是否需要进行比对检测。
3.根据权利要求2所述的空间辐射环境下可编程SOC器件单粒子翻转检测系统,其特征在于,所述掩码帧用于判断配置帧中的数据是否需要进行比对检测具体为:
当对比位为“1”时,则该位不需要进行对比检测;当对比位为“0”时,则该位需要进行对比检测。
4.根据权利要求1所述的空间辐射环境下可编程SOC器件单粒子翻转检测系统,其特征在于,所述DDR存储器用于临时存储可编程逻辑原配置文件和掩码文件;所述处理系统在进行对比检测时,直接从DDR存储器中读取配置帧和掩码帧。
5.根据权利要求1所述的空间辐射环境下可编程SOC器件单粒子翻转检测系统,其特征在于,所述APU具体用于:
通过DMA通道将用于对比检测的原配置文件和掩码文件由Flash存储器加载至DDR存储器中的三个不同地址区间;
控制PCAP模块完成从可编程逻辑中回读配置帧,每次从指定地址读取一帧配置帧;
从DDR存储器的三个不同地址区间中读取三份与回读配置帧对应的原配置帧和掩码帧,并通过3选2表决得到一帧原配置帧和一帧掩码帧;
将配置帧与掩码帧的反码相与的结果和原配置帧与掩码帧的反码相与的结果按位进行对比,若对比结果不一致,即判断可编程逻辑的配置存储器发生单粒子翻转;若对比结果一致,即判断可编程逻辑的配置存储器未发生单粒子翻转。
6.根据权利要求5所述的空间辐射环境下可编程SOC器件单粒子翻转检测系统,其特征在于:
所述处理系统还包括CAN控制器,用于将对比检测结果输出,具体包括完成配置回读比对的错误位计数、错位帧计数和错误帧地址;
当对比结果不一致时,APU统计该帧数据中错误的位数,并记录错误帧号;判断当前帧是否为最后一帧,若是,则APU通过CAN控制器将错误位计数、错位帧计数和错误帧地址发送至CAN总线上;若不是,则APU执行回读配置帧、3选2表决以及判断对比结果的步骤。
7.根据权利要求5所述的空间辐射环境下可编程SOC器件单粒子翻转检测系统,其特征在于,所述控制PCAP模块完成从可编程逻辑中回读配置帧,每次从指定地址读取一帧配置帧的具体过程为:
配置检验步骤:PCAP模块读取处理系统的配置模块中的状态位,以识别可编程逻辑是否已进行配置;若未进行配置,则再次启动配置流程,对可编程逻辑进行重新配置;若已进行配置,则执行配置帧地址生成步骤;
配置帧地址生成步骤:对发送FIFO存储器中的寄存器进行配置,APU调用配置通道专用DMA控制器将生成的配置回读控制命令传输至发送FIFO存储器,再由PCAP模块将回读控制命令发送至可编程逻辑内部的配置存储器;当DMA的DONE信号为高电平时,执行接收回读配置帧步骤;否则进行等待,直至DONE信号为高电平;
接收回读配置帧步骤:DDR存储器将回读的配置数据以配置帧的形式返回至配置回读接口,并存入接收FIFO存储器中,待完成回读数据的接收后,由APU读取接收FIFO中的数据,即可得到指定配置帧的数据。
8.一种权利要求1至7中任意一项所述的空间辐射环境下可编程SOC器件单粒子翻转检测系统的检测方法,其特征在于,包括:
步骤一:APU将用于对比检测的原配置文件和掩码文件由Flash存储器加载至DDR存储器中的三个不同地址区间;
步骤二:APU控制PCAP模块从可编程逻辑中回读配置帧,每次从指定地址读取一帧配置帧;
步骤三:APU从DDR存储器的三个不同地址区间中读取与回读配置帧相对应的原配置帧和掩码帧,并完成3选2表决,输出一帧原配置帧和一帧掩码帧;
步骤四:APU将配置帧与掩码帧的反码相与的结果和原配置帧与掩码帧的反码相与的结果按位进行对比,若对比结果不一致,即判断可编程逻辑的配置存储器发生了单粒子翻转;若对比结果一致,即判断可编程逻辑的配置存储器未发生单粒子翻转。
9.根据权利要求8所述的空间辐射环境下可编程SOC器件单粒子翻转检测系统的检测方法,在步骤四执行完成后,还包括:
步骤五:当对比结果不一致时,统计当前帧数据中错误的位数,并记录错误帧号;
步骤六:判断当前帧是否为最后一帧,若是,则执行步骤七,若否,则执行步骤二;
步骤七:通过CAN控制器将错误位计数、错位帧计数和错误帧地址发送至CAN总线上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610933259.0A CN106484581B (zh) | 2016-10-25 | 2016-10-25 | 空间辐射环境下可编程soc器件单粒子翻转检测系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610933259.0A CN106484581B (zh) | 2016-10-25 | 2016-10-25 | 空间辐射环境下可编程soc器件单粒子翻转检测系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106484581A CN106484581A (zh) | 2017-03-08 |
CN106484581B true CN106484581B (zh) | 2019-05-17 |
Family
ID=58272831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610933259.0A Active CN106484581B (zh) | 2016-10-25 | 2016-10-25 | 空间辐射环境下可编程soc器件单粒子翻转检测系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106484581B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107196695A (zh) * | 2017-04-07 | 2017-09-22 | 西安电子科技大学 | 基于Zynq的卫星星间链路测试系统 |
CN108957283B (zh) * | 2017-05-19 | 2021-08-03 | 龙芯中科技术股份有限公司 | 辐照实验板、监控终端、asic芯片辐照实验系统 |
CN107291570B (zh) * | 2017-06-23 | 2020-01-07 | 哈尔滨工业大学 | 基于Zynq-7000的片上存储器抗单粒子翻转防护方法 |
CN108226748B (zh) * | 2017-12-05 | 2020-01-31 | 上海精密计量测试研究所 | 用于SoC片上系统的单粒子效应测试方法 |
CN109446021B (zh) * | 2018-09-30 | 2022-11-22 | 中国气象局气象探测中心 | 一种针对浮空器掩星接收机双核soc的ddr监控方法 |
CN109818790B (zh) * | 2019-01-25 | 2021-10-08 | 上海创景信息科技有限公司 | 硬件实时模拟多通路多种类通信协议芯片系统、方法及介质 |
CN111984492B (zh) * | 2020-08-28 | 2024-07-05 | 上海思尔芯技术股份有限公司 | 一种并发控制多个fpga的原型验证平台 |
CN112433777A (zh) * | 2020-10-30 | 2021-03-02 | 深圳市紫光同创电子有限公司 | Sram型fpga的配置数据动态刷新方法及装置 |
CN112732352B (zh) * | 2021-01-04 | 2024-06-21 | 航天恒星科技有限公司 | 在轨单粒子翻转芯片定位方法和装置 |
CN115208455B (zh) * | 2022-06-01 | 2024-08-13 | 北京空间机电研究所 | 一种基于zynq的高可靠性空间遥感图像处理平台及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101551763A (zh) * | 2009-05-15 | 2009-10-07 | 中国人民解放军国防科学技术大学 | 现场可编程逻辑门阵列中单粒子翻转的修复方法及装置 |
CN102854456A (zh) * | 2011-06-28 | 2013-01-02 | 中国科学院电子学研究所 | 可编程逻辑器件单粒子辐照性能测试系统 |
CN104461764A (zh) * | 2014-12-16 | 2015-03-25 | 北京控制工程研究所 | 一种内置crc校验码的fpga配置文件生成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8942037B2 (en) * | 2012-10-31 | 2015-01-27 | Lsi Corporation | Threshold acquisition and adaption in NAND flash memory |
-
2016
- 2016-10-25 CN CN201610933259.0A patent/CN106484581B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101551763A (zh) * | 2009-05-15 | 2009-10-07 | 中国人民解放军国防科学技术大学 | 现场可编程逻辑门阵列中单粒子翻转的修复方法及装置 |
CN102854456A (zh) * | 2011-06-28 | 2013-01-02 | 中国科学院电子学研究所 | 可编程逻辑器件单粒子辐照性能测试系统 |
CN104461764A (zh) * | 2014-12-16 | 2015-03-25 | 北京控制工程研究所 | 一种内置crc校验码的fpga配置文件生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106484581A (zh) | 2017-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106484581B (zh) | 空间辐射环境下可编程soc器件单粒子翻转检测系统及方法 | |
CN104049687B (zh) | 基于fpga的嵌入式立方星星务计算机及其重构方法 | |
CN103325411B (zh) | 一种用于fpga的抗单粒子翻转加固系统及其方法 | |
CN106716843B (zh) | 带有安全子系统的可编程ic | |
CN108226748A (zh) | 用于SoC片上系统的单粒子效应测试方法 | |
EP2216722A2 (en) | Various Methods and Apparatus for Configurable Mapping of Address Regions Onto One or More Aggregate Targets | |
CN109858195A (zh) | 一种sram型fpga上必要位单粒子翻转故障的在线仿真系统 | |
US8732632B1 (en) | Method and apparatus for automated extraction of a design for test boundary model from embedded IP cores for hierarchical and three-dimensional interconnect test | |
CN102184365B (zh) | 基于SoC芯片外部数据安全存储系统及存取控制方法 | |
US9632869B1 (en) | Error correction for interconnect circuits | |
US9529686B1 (en) | Error protection for bus interconnect circuits | |
US9495302B2 (en) | Virtualization of memory for programmable logic | |
US20090292828A1 (en) | System-On-Chip (SOC), Design Structure and Method | |
US20140101630A1 (en) | Computer system for generating an integrated and unified view of ip-cores for hierarchical analysis of a system on chip (soc) design | |
CN111033630A (zh) | 具有mbist的多处理器内核设备 | |
CN105095040A (zh) | 一种芯片调试方法与装置 | |
CN107111572A (zh) | 用于避免死锁的方法和电路 | |
CN107112994A (zh) | 用于集成电路的电源管理系统 | |
CN106814305A (zh) | 一种基于片上嵌入式微系统的sip模块测试方法 | |
CN103365799B (zh) | 用于检测对掉电设备的访问的装置、方法、系统和设备 | |
US9864830B1 (en) | Method and apparatus for placement and routing of circuit designs | |
US10042692B1 (en) | Circuit arrangement with transaction timeout detection | |
Kabilan et al. | Constructing effective UVM Testbench by using DRAM memory controllers | |
US20090291533A1 (en) | System-On-Chip (SOC), Design Structure and Method | |
US9589088B1 (en) | Partitioning memory in programmable integrated circuits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |