新型可容错FPGA

2015-08-02 11:07代雪峰赵以诚
微处理机 2015年6期
关键词:存储单元存储器重构

周 刚,代雪峰,赵以诚

(1.中国电子科技集团公司第四十七研究所,沈阳110032;2.东北大学理学院物理系,沈阳110004)

新型可容错FPGA

周 刚1,代雪峰2,赵以诚1

(1.中国电子科技集团公司第四十七研究所,沈阳110032;2.东北大学理学院物理系,沈阳110004)

SRAM型FPGA具有设计周期短、开发成本低和可重配置等特性,在大型电子系统设计中应用广泛。伴随SRAM型FPGA在重要领域的深入应用,对其可靠性提出了更高要求。在深入剖析FPGA内部结构的基础上,对SRAM型FPGA的故障类型进行了总结[1]。针对SRAM单元软错误造成的FPGA芯片错误,提出了一种嵌入高可靠CPU和配置存储器,通过重构技术实现在线可修复的新型可容错FPGA结构。

现场可编程门阵列;软错误;可重构;可容错;静态存储器;刷新[2]

1 引 言

FPGA从民用到军用,在汽车、工业控制、航天航空等多个领域扮演着越来越重要的角色,成为众多系统的核心元件,同时FPGA的可靠性也受到了大家越来越多的关注。本文着眼于SRAM型FPGA的结构特点,针对容易发生的SRAM单元软错误,结合可重构FPGA技术和错误监测技术,提出了一种嵌入高可靠CPU模块,结合可编程模块,错误监测重构接口和配置存储器模块的新型可容错FPGA结构,并对其结构特点进行了详细阐述。

2 SRAM单元软错误对SRAM型FPGA的影响

SRAM型FPGA电路除了触发器、锁存器等寄存器结构[4]外,还拥有大量的SRAM单元,容易受到外界影响产生软错误,常见的软错误造成的影响主要有以下两个方面:

(1)作为配置存储单元的SRAM单元的电平发生变化,造成逻辑功能错误或数据传输路径错误。SRAM型FPGA通过配置片内配置存储单元实现不同的功能,用户设计好的网表转化为位流文件后通过编程下载到所有配置存储单元从而控制相应的开关实现。配置存储单元可用于控制形成不同的电路结构,如形成典型的查找表(LUT)[4]、D触发器、锁存器等电路;也可以用来配置可编程IO模块,通过配置不同的存储单元值实现不同的输入/输出方式和不同IO接口的电平标准等参数;同时配置存储单元也可控制FPGA独有的可编程布线通道上的开关,通过配置不同的数据,控制数据通路的通断。软错误引起的电平变化将会导致配置存储单元的状态发生实质性改变,例如从'0'变到'1'或从'1'变到'0'。从而引起所控制电路的逻辑错误。如图1所示,发生在查找表中的软错误导致逻辑功能紊乱。由LUT形成的函数发生器输出值由O=A xor B xor C变成了O=(A xor B xor C)(A+B+~C)。

图1 SEU引起的一个三输入查找表的逻辑错误

(2)SRAM单元构成的分布式RAM和内置的块RAM可用于存储用户的初始数据和运算数据。发生在RAM单元上的软错误可能会改变嵌入式块RAM中的存储值,造成RAM中存储的程序代码或数据出现错误从而引起整个系统故障。

从以上两种情况的例子可以看出,SRAM单元软错误对系统可靠性带来了非常不利的影响,所以亟需采取措施提高容错能力。目前人们主要采用可重构FPGA技术通过动态刷新的方式来提高系统容错能力。

3 可重构FPGA技术

可重构系统的概念早在1960年就已经提出来,但由于没有理想的可重构器件等原因,这方面的研究一直没有很大突破。1990年以来,随着大规模可编程器件FPGA的出现,研制可重构电子系统的硬件条件已基本具备,实现电路重构的思想逐渐引起了学术界的注意,从而引发了对可重构系统的研究热潮。自从2000年以来,基于FPGA的重构尤其是可重构计算在国际上得到了越来越多的关注和研究[5]。

基于FPGA的可重构技术,就是利用FPGA可以多次重复编程配置的特点,通过时分复用的方式利用FPGA内部的逻辑资源,使在时间上离散的逻辑电路功能模块能在同一FPGA中顺序实现的技术[6]。

按照实现重构规模和区域的不同,可重构FPGA可以分为全局重构和局部重构[7]。

按照重构的方式,系统重构又可以分为静态系统重构(Static Reconfiguration)和动态系统重构(Dynamic Reconfiguration)。

静态系统重构是指目标系统的逻辑功能静态重载,是只能在运行前配置的系统。FPGA功能在外部逻辑的控制下,通过对存储于存储器中不同的目标系统数据重新下载,实现芯片逻辑功能的改变。常规的SRAM型FPGA,只能实现静态系统重构。

动态系统重构是指能在运行过程中实时配置的可重构系统。动态系统重构的FPGA在外部逻辑控制下,可通过缓存逻辑对芯片逻辑进行全局或局部的快速修改,同时控制重新配置的布局布线资源来加速实现系统的动态重构[8]。

4 新型可容错FPGA芯片结构

在可重构FPGA技术基础上提出了一种新型可容错FPGA芯片结构,既可以避免动态刷新的盲目性,减少软硬件资源的浪费,还可以更加有效地解决sram型FPGA特定关键区域的软错误造成的逻辑和系统失效。如图2所示,本结构有以下一些特点:

该FPGA芯片主要由一个片上嵌入高可靠CPU模块、可编程模块、错误监测重构接口和配置存储器模块组成。可编程模块负责用户配置电路功能的实现,基于SRAM的FPGA编程点控制,可动态整体或局部重构;错误监测重构接口模块负责错误的实时监测,具备配置数据回读功能,并提供数据给CPU进行运算,在后续重构的过程中负责具体实施;嵌入高可靠CPU模块负责对错误监测重构接口报告的信息进行处理,数据比较,分析,任务分派等,指挥错误监测重构接口实施局部重构动作;配置存储器用于存储不同位置的局部配置数据。

新型可容错FPGA芯片能够实时或定时监测FPGA内部逻辑,侦测到功能发生错误即配置数据发生改变时,即可自动通过实时重构的手段修复错误。为实现这一目标,采用动态可重构的可编程结构,同时采用监测编程存储点的方法检测内部错误。FPGA在配置完成后,在不中断当前逻辑运行的情况下,根据需要通过专用接口模块读回配置存储器中的内容,并将其与配置数据存储器(非易失存储器)中存储的标准位流比较,再将读回的数据与原始数据进行比较,如果没有发现错误,就进入空闲状态,如果发现错误,根据内部指令选择全局重构或局部重构,并执行包括局部重构模块的寻址,握手信号等动作,修复错误。

新型可容错FPGA芯片由于采用嵌入高可靠CPU控制的模式,工作不依赖于PC机或外部控制器等片外资源,能够保证在线重构的实时性和可靠性,降低了用户使用难度和整个系统的复杂性。

5 结束语

本文提出了一种基于动态可重构技术的新型可容错FPGA芯片结构,使用内嵌的高可靠CPU和配置存储器可以自主对发生在FPGA配置逻辑中的软错误进行监测和修复。该芯片已在中芯国际0.18微米工艺上流片,封装后经测试验证达到预期设计目标,实现了不依赖外接控制系统即可具有针对软错误的容错能力的单片FPGA系统。

[1] F.L.Kastensmidt,L.Carro,R.Reis,Fault-Tolerance Techniques for SRAM-based FPGAs[C].Vishwani D. Agrawal Springer,Netherlands,PP.183,Sept.2006.

[2] Yang G.C.,Reliability of semiconductor RAMs with soft-error scrubing techniques[J].IEEE Proceeding Computers and Digital Techniques,1995,142(5):337-344.

[3] 克里兹,高级FPGA设计结构、实现与优化[M].北京:机械工业出版社,2009.

Steve Kilts,ADVANCED FPGA DESIGN[C].Beijing:Chinamachine press,2009.

[4] E.Syam Sundar Reddy,Vikram Chandrasekhar,M.Sashikanth V.Cluster-based Detection of SEU-caused Errors in LUTs of SRAM-based FPGAs[J].ASPDAC,ACM Press,pp:1200-1203.

[5] Wigley G.B.,Keamey D.A,Research Issues in Operating Systems for Reconfigurable Computing[C].The International Conference ON Engineering Reconfigurable Systems and Architecture,LasVegas,USA.PP.232-240,July.2002.

[6] 朱明程,黄强,FPGA动态可重构逻辑设计初探[C].半导体技术,2000,25(4):18-21.

Zhu Ming-cheng,Huang Qiang,The Initial Study on Dynamically Re-configurable Logic System Based on FPGA[J].Semiconductor Technology,2000,25(4):18-21.

[7] C.Bolchini,A.Miele,M.D.Santambrogio,TMR and Partial Dynamic Reconfiguration tomitigate SEU faults in FPGAs[J].Proc.of 22th IEEE Int.Symp.on Defect and Fault Tolerance in VLSISystems,pp:87-95,Sept.2007.

[8] C.Bolchini,D.Quarta,and M.Santambrogio,SEU Mitigation for SRAM-Based FPGAs through Dynamic Partial Reconfiguration[C].In Proc.ACM/IEEE Great Lake Symposium on VLSI,PP:55-60,Mar.2007.

A Novel Fault-Tolerant FPGA

Zhou Gang1,Dai Xuefeng2,Zhao Yicheng1
(1.The47th Research Institute of China Electronics Technology Group Corporation,Shenyang 110032,China;2.Physics Department,Collage of Sciences,Northeast University,Shenyang 110004,China)

SRAM-based FPGAs,with the characteristics of short design period,low development cost,etc,are applied extensive to the large electronics system.Accompanywith a FPGA's deep application in important field,higher request is brought for its reliability.Based on analysis to FPGA inner part structure,the failure type of SRAM-based FPGAs[1]is concluded.Aiming at FPGA chip failure brought by SRAM cell soft error,a novel fault-tolerant FPGA architecture,embedding a high-reliable CPU and configuration memory,which can perform in-system self-repair through reconfiguration technology.

Field Programmable Gate Array;soft error;Reconfigurable;Fault-tolerant;;SRAM;Scrubbing[2]

10.3969/j.issn.1002-2279.2015.06.005

TN911

A

1002-2279(2015)06-0019-03

周刚(1978-),男,辽宁省法库县人,高级工程师,主研方向:集成电路设计,目前关注领域为集成电路可靠性设计、可编程器件。

2015-03-07

猜你喜欢
存储单元存储器重构
一种28 nm工艺下抗单粒子翻转SRAM的12T存储单元设计
视频压缩感知采样率自适应的帧间片匹配重构
长城叙事的重构
静态随机存储器在轨自检算法
一种新型密集堆垛式仓储系统设计
浮点类型有效位数计算与应用分析
北方大陆 重构未来
数据在计算机内存中的存储形式及实验验证
北京的重构与再造
任意2~k点存储器结构傅里叶处理器