胚胎电子系统及其故障自检测自修复研究*
2022-10-20彭礼彪邓永利帅萍毕东杰李西峰谢永乐
彭礼彪,邓永利,帅萍,毕东杰,李西峰,谢永乐
(1.电子科技大学 自动化工程学院,四川 成都 611731;2.北京航空工程技术研究中心 北京 100076)
0 引言
随着半导体技术、先进制造技术的迅猛发展,复杂化、高度集成和智能化成为现在装备电子系统最显著特点。然而复杂度和集成度的提高也给电子系统的可靠性设计带来了巨大挑战。尤其在航空航天,深水探测等极端应用领域中,电子系统工作环境复杂多变,电子系统故障率高且难以预测,装备一旦发生故障,难以进行现场维护。此时高可靠性和适应性对这种电子系统具有压倒性的重要地位,这时赋予电子系统故障自检测自修复能力将极大地提高电子装备的可靠性和可用性,复杂应用环境中电子系统的高可靠性设计技术是一个亟待持续深入研究的重要话题。
在提高装备电子系统可靠性方面,避错与容错是常用的两种关键技术。避错技术通常采用高质量结构材料及正确设计方法尽量避免故障发生。但无论采用何种制造技术,都无法完全避免故障的发生。并且利用避错技术来提高系统的可靠性的同时也会带来装备制造成本急剧上升。容错技术是进一步提高装备系统可靠性关键,它能够在系统内部出现故障的情况下由系统自发采取相应措施,在一定的性能指标下继续维持系统可靠运行。随着技术的进步和对电子系统可靠性、安全性更苛刻的需求,传统的容错技术已不能充分适应日益苛刻的可靠性现实需求。
20 世纪90 年代,瑞士联邦工学院在生物细胞强大的适应性和自愈能力的启发下提出了仿生硬件的概念[1],将生命体的自适应和自修复机制引入到电子系统中,使电子系统具有类似的仿生功能。胚胎电子系统是通过模拟生物细胞组织结构和生长分裂机制来设计的一种新型仿生硬件系统,其通常是由多个电子细胞按一定规则连接而成的胚胎电子细胞阵列构成[2]。胚胎电子细胞阵列首先将系统划分为若干个功能模块,并将功能模块映射到每一个电子细胞当中,胚胎电子细胞阵列在所有分化细胞协同运作下共同执行系统的特定任务。电子细胞内的故障检测模块实时检测电子细胞工作状态,当检测到阵列中某一细胞单元异常时,故障检测模块向控制模块发出特定的故障标志信号,控制模块调用相应的修复策略对故障单元进行隔离和修复,或重新配置剩余空闲细胞功能来取代故障细胞,从而保持系统整体功能的正常运行。
由于胚胎电子系统具有自组织、自检测和自修复的优良特性,其在航空航天、深水探测、无人机和军用装备等领域具有重大应用前景。近年来,关于胚胎电子系统的研究主要围绕胚胎阵列结构设计、电路功能的分化设计和可靠性优化设计等问题展开,取得了丰富的成果。本文首先介绍了胚胎电子系统国内外研究现状,并对目前胚胎电子系统的主要结构、自检测技术和自修复技术进行了归纳总结,最后在现有研究基础上,对胚胎电子系统故障自检测和自修复技术研究存在的主要问题进行了分析,并对未来的研究方向进行了展望。
1 国内外研究现状
经过二十多年的发展,国内外关于胚胎电子系统的研究已经取得了一定进展[2]。在仿生硬件概念提出后,Ortega 等人[3]首先对胚胎电子系统的组织结构进行了研究,提出了经典二维胚胎电子细胞阵列结构。在二维胚胎电子细胞阵列基础上,Tyrrell 教授等人设计出蜂窝结构[4]和开关型结构[5]的胚胎电子细胞阵列,进一步丰富了细胞间的连接方式。李丹阳等人又在开关型阵列的基础上进一步设计出了簇结构的胚胎电子细胞阵列[6]。Greensted 等人[7]提出总线结构的胚胎电子细胞阵列结构,对电子细胞间的连接进行了简化,提高了系统通信效率。Boesen 等人在总线结构的基础上又提出了基于NoC 的e-DNA 结构胚胎电子细胞阵列[8],增强了大规模电路系统的通信能力。Samie 等人[9]则受原核细胞生长发育启发,提出了原核型胚胎电子系统(Unitronic),该系统采用异构阵列结构,由不同类型的电子细胞组成,这种结构能够针对某些特殊需求设计电子细胞,从而更有效地节约硬件资源。
在胚胎电子系统故障自检测方面,目前主要设计思路有以下三个方面。一是针对系统内部特定模块如细胞功能模块、存储模块,或单个细胞进行局部检测,该方面主要采用双模冗余比较法,如文献[10]-[15]。二是采用内建自检测BIST(Built-In Self-Test) 设计方法,在胚胎阵列内或者细胞单元内设计自检测电路。例如文献[16]-[17]中采用了具有自检测电路的原核电子细胞阵列结构来实现系统的自检测。文献[18]则充分利用胚胎电子系统可重构特性提出了一种Roving STARs 自检测方法。三是基于编码的故障检测方式,通过对胚胎电子系统模块的输出进行编码并建立码字空间来进行检测,主要编码方式有Hamming 码[19-20]、剩余码和Berger 码[21]等。
在胚胎电子系统故障自修复方面,Xu 等人[22]设计了一种基于可重构技术的自适应多细胞阵列eTissue,实现了基于重构的胚胎电子细胞阵列的自修复。Wang 等人[23]采用了一种多层结构对胚胎电子系统进行设计,对现有单层细胞阵列设计的布局布线进行了优化,简化了电路实现和故障自修复实现的流程。国防科技大学基于内分泌系统中细胞两两通信的特点,研究了只需故障细胞和空闲细胞参与的内分泌仿生自修复机制,自修复过程只改变空闲细胞的配置信息,有效提高了自修复效率[24]。王敏等人[25]对三维可重构阵列的互连资源在线分布方式、容错方法进行了研究。通过在线输入测试向量对互连线进行故障定位,并且实现了分层连线故障自修复。朱赛等人[26]提出了一种具有进化能力的层次化胚胎电子细胞阵列设计方式,将系统分为功能层、修复层和进化层三个层次,并提出了一种基于移除-进化的混合自修复策略,进一步提高了胚胎电子系统的容错能力。虽然各种自修复策略在形式上存在差异,但其本质都是通过重构技术改变电路结构,隔离故障细胞,采用空闲细胞替代故障细胞的方式恢复胚胎电子阵列的功能,实现故障容错。
在应用方面,由于大规模复杂功能电路实现困难,目前关于胚胎电子系统的应用主要在于一些简单功能或小型设备上。如瑞士联邦工学院研究出了具有自修复、自复制特性的多层次生物启发式硬件BioWatch[27]和BioWall[28]。英国约克大学完成了RISA 仿生结构芯片设计[29],实现了实时应用下的快速重配置仿生硬件。此外基于原核电子细胞模型,设计了SABRE 结构胚胎电子系统,基于该结构理论实现了避障机器人控制[16]。欧共体资助可重构POEtic 组织项目电子细胞Ubicell,研发了 Ubichip 芯片、Ubidule 平台及相应的管理软件UbiManager[30],并设计实现了Marxbot 机器人平台[31]。国防科学技术大学采用胚胎电子细胞阵列进行了可重构FRI 滤波器的设计[32]。军械工程学院设计了用于胚胎阵列的实验平台,为胚胎电子系统的结构设计及应用研究提供了硬件实验条件[33]。
2 胚胎电子系统基本结构
2.1 胚胎电子细胞
类似于生物细胞结构,典型胚胎电子细胞的结构如图1 所示。每个电子细胞主要分为四大模块:输入输出模块、配置存储模块、控制模块及功能模块。输入输出模块对应于生物细胞的细胞膜,实现电子细胞之间的连接通信。配置存储模块对应于生物细胞的细胞核,主要存储电子细胞自身功能的配置信息及细胞自修复过程中所需的配置信息。控制模块相当于生物细胞的核糖体,主要控制实现电子细胞阵列的自组织、故障隔离和自修复。功能模块则对应于生物细胞的细胞质,实现电子细胞的预期功能。
胚胎电子细胞根据其模块组成的复杂度和大小分为细粒度电子细胞和粗粒度电子细胞[34]。在细粒度电子细胞中,其控制模块可以是简单的有限状态机,而其功能模块可以由许多小型通用可编程逻辑结构 (如逻辑门、查询表和多路选择器)组成。典型的细粒度电子细胞如 Unitronic[9]、Embryonics[10]、HSRA[11]、RISA[29]、POEtic[30]和PAnDA[35]。粗粒度电子细胞其控制模块通常由CPU构成,而其功能模块则包含一些大型的特殊用途资源(例如算术逻辑单元),或者可以是一整个可编程逻辑器件(如FPGA)。细粒度电子细胞的代表有eDNA、eTissue、SANE、MACROS 和MCarray 等。一个复杂的功能可以通过大量细粒度的电子细胞或者少量粗粒度的电子细胞来实现。细粒度的电子细胞具有较高的容错能力,能够更精确地定位故障,但是会带来更多的资源开销。粗粒度电子细胞的故障容错能力相对较低,然而对复杂算法的处理能力更强,适合处理更复杂的任务,额外资源开销较低。
2.2 胚胎电子细胞阵列
胚胎电子细胞通常按一定规则连接形成胚胎电子细胞阵列来实现系统的特定功能。胚胎电子细胞阵列从组织形式上可分为同构阵列和异构阵列。一种典型的同构阵列如图2 所示。同构阵列中,所有电子细胞都是相同的,并按一定模式排列。同构阵列具有较强的适应能力,目前大多数胚胎电子系统都采用这种结构。而异构阵列则由不同类型的电子细胞组成,这种结构能够针对某些特殊需求设计电子细胞,从而更有效地节约资源。一种异构类胚胎电子细胞阵列如图3 所示,该细胞阵列由两种不同类型的细胞组成:位于中间的功能细胞和位于外围的I/O 细胞。这些电子细胞分别用于实现特定的功能和提供信号切换。
胚胎电子细胞阵列按连接方式又可分为网格型、交叉开关型、总线型和这几种方式的混合型。网格型是最基本的电子细胞连接类型。网格型胚胎电子细胞阵列将电子细胞排列在一个矩形网格上,并与相邻细胞直接相连,如图2 所示。交叉开关型阵列在网格型阵列的基础上添加了额外的开关路由资源。如图4 所示,这种结构使得电子细胞可以通过一组交叉开关与非相邻单元进行信息传递,增强了细胞阵列的通信能力。总线型阵列如图3 所示。总线型阵列通过总线连接所有电子细胞,为所有电子细胞提供公共通信通道,支持灵活路由算法规则下的分组数据传输。混合型则是几种基本类型的组合,比如Soto 等人提出的SANE 结构中,将胚胎电子系统分割为两层,底层采用网格型阵列结构以增加连接密度,顶层采用交叉开关型阵列结构以建立丰富的通信连接。表1 中列出了一些典型胚胎电子系统的结构对比。
表1 典型胚胎电子系统对比
3 胚胎电子系统故障自检测关键技术
胚胎电子系统故障自检测即当系统局部出现异常时,系统通过内部检测机制发现并定位故障,同时将故障标志信号传递给控制模块的过程。故障自检测是电子系统实现自修复的前提条件。目前,胚胎电子系统故障自检测主要是将已有的数字电路在线实时自检测技术应用于胚胎电路。目前主要采用的故障检测关键技术有基于双模冗余的故障自检测、内建自测试(BIST)和故障编码检测。
3.1 基于双模冗余的故障自检测
基于双模冗余的故障自检测是目前胚胎电子系统普遍采用也最基本的一种故障自检测方案。其核心思想是为工作模块复制一个功能相同的冗余模块,故障检测单元对两个模块的输出信号进行对比,当两者输出不同时,则表明故障发生,并将故障标志传递给控制模块进行故障修复。双模冗余故障自检测从粒度上也可分为细粒度双模冗余和粗粒度双模冗余。细粒度双模冗余故障自检测主要正对电子细胞局部如配置存储模块、功能模块等进行检测。而粗粒度双模冗余故障自检测主要对一群电子细胞所组成的功能电路进行检测,如图5 所示。图中工作细胞用深色表示,构成电子细胞阵列的功能电路,输出系统运行的功能信号。而浅色电子细胞为冗余细胞,被配置成为双模冗余电路和故障检测器,当检测故障发生时输出故障信号。白色电子细胞则是其余未被利用的空闲细胞。
双模冗余故障自检测技术优点在于故障覆盖率高、支持实时检测、适用范围广、对待测电路没有特殊限制、与阵列结构无关、可扩展性强、设计难度低。但同时双模冗余故障自检测也存在一些不足,一是其资源消耗大,需要占用额外两倍以上硬件资源,粗粒度双模冗余还受阵列内空闲细胞数目限制;二是由于冗余电路可能导致故障虚警率提高;三是粗粒度双模冗余难以实现精准故障定位。
3.2 BIST 内建自测试
BIST(Build-in Self-test)内建自测试技术是在电子细胞或者芯片中加入自测试电路,如图6 所示,检测时通过测试向量发生器向被测电路施加测试向量,同时通过输出响应分析器对被测电路的输出进行分析。内建自测试技术能够实现较高的故障覆盖率,在电路实现上相对于双模冗余检测能够减小额外的硬件资源消耗,然而该检测方案主要针对空闲状态或间歇状态下的电子系统进行检测,难以在工作状态下对系统进行实时检测,对系统的瞬态故障难以检测。
文献[18] 提出了一种能够实现在线自检测的方法Roving STARs。该方法通过不断地循环配置,选定阵列中一块区域的电子细胞为测试电路,并将其配置成为由测试向量发生器、输出响应分析器和被测电路构成的BIST 结构,实现电子细胞阵列的在线故障检测。该方案充分利用了电子细胞阵列的可重构特性,能有效地提高故障的检测能力、减低硬件资源消耗,但是该方案需要不断地对系统结构进行重配置,对电路性能影响较大、对重构控制单元设计要求严苛。
3.3 故障编码检测
胚胎电子细胞的输出可以看作其输入的函数,当电子细胞的配置信息确定后,每个输入将有唯一输出与之对应 。因此可以建立输入输出关系的数学模型,将胚胎电子细胞功能模块转化为等价运算电路,通过比较经过等价运算电路输出的校验信息与胚胎电子细胞输出的校验信息的一致性完成对于胚胎电子细胞的检测。图7 所示是一种剩余码和berger 码联合编码自检电路结构。该方案将模块输出端分为输入信号转接输出端和功能信号输出端,并根据输出不同分别对输入进行处理,建立等价运算。故障编码检测不需外加激励,检测实时性较好,可以同时对固定型故障和瞬态故障进行检测,资源消耗小,但电路设计相对复杂。
4 胚胎电子系统故障自修复关键技术
胚胎电子系统常见故障按类型可分为硬故障和软故障。硬故障通常是指高温、高压和强辐射所引起的开路、短路、无功能或者性能退化等永久性故障。而软故障则通常指由空间辐射引起的部分单粒子效应,其显著特点就是这类故障不会对电路元件本身造成损伤。胚胎电子系统作为一种可编程硬件系统,动态重构技术为胚胎电子细胞故障自修复的实现提供了硬件基础,利用该技术,可以通过以软件重新加载的方式来改变硬件功能,实现功能电路的时分复用,从而在发生故障时,通过功能模块的切换和重新配置完成自修复。针对胚胎电子系统的软故障可直接使用重构技术对故障模块进行重新配置而消除软故障的影响。而针对胚胎电子系统的硬故障自修复策略主要有行(列)移除自修复策略、单细胞移除自修复策略、循环移除自修复策略和移除-演化自修复策略。
4.1 行(列)移除自修复策略
行(列)移除自修复当电子细胞阵列中检测出某个细胞发生故障时,将该电子细胞所在行(列)的所有细胞设置为“透明”细胞,“透明”细胞不运行任何程序功能,并用“透明”细胞邻近行(列)的细胞取代“透明”细胞所在行列的功能,以此实现系统的功能正常运作。图8 所示为行(列)移除自修过程。在行(列)移除自修复策略中,每个细胞的配置存储模块除了包含本细胞的配置信息外,还存有该细胞所在列(行)的其他所有细胞的功能配置信息,此外每个细胞都具有一个地址信息,细胞所表达的配置信息是由该细胞的地址信息决定的。行(列)移除自修复的本质是故障细胞及其所在行(列)的所有电子细胞地址信息的移位和再表达。在图8中,当检测出故障异常时,将故障细胞所在行(列)的地址信息传递给相邻的行(列),由相邻行(列)代替故障细胞所在行(列),完成其相应功能。行(列)移除自修复策略通常用于网格型、交叉开关型结构的细胞阵列。
4.2 细胞移除自修复策略
细胞移除自修复则是当电子细胞阵列中检测出某个细胞发生故障时,将该电子细胞设置为 “透明”细胞,该细胞不运行任何程序功能,并调整右(左)侧所有细胞功能,如果故障细胞所在行(列)没有空闲细胞,则实施行(列)移除。图9 所示为细胞移除自修过程。与行(列)移除自修复不同的是细胞移除自修复结构中每个电子细胞都包含其他所有细胞的配置信息。
4.3 循环移除自修复策略
循环移除自修复策略适合总线型阵列结构的故障自修复。如图10 所示 循环移除自修复中所有的胚胎电子细胞按顺序成链状连接,当有故障发生时,将所有细胞的地址信息移动一位并重新配置表达,若故障未消除则继续循环一位,直至故障排除。该自修复策略可以在不知道故障具体位置时对胚胎电子系统进行故障修复。
4.4 基于演化的故障自修复策略
行(列)移除和细胞移除自修复策略的故障自修复能力非常依赖系统空闲细胞的数量,当系统空闲细胞数量不足时难以使用以上方法进行故障修复。演化自修复策略通过引入演化机制来实现胚胎电子系统的实时自修复。当故障发生时,演化自修复策略“绕开”故障细胞,通过演化算法对功能正常的细胞进行自主重构以修复目标电路。文献[26]合移除策略和演化策略对胚胎电子系统进行故障修复。其在系统运行过程中,根据系统的空闲细胞数量自动选择修复模式,当阵列中存在冗余行/列空闲细胞时,通过移除自修复策略对故障进行自修复;而当阵列中空闲细胞数量不足以完成移除自修复时,通过演化算法改变目标电路结构进行电路中故障的修复。
5 面临的问题及未来研究方向
5.1 面临的问题
关于胚胎电子系统的研究已取得了一定的理论成果,但仍有许多问题需要解决,目前胚胎电子系统只是在一些简单功能和小型化设备上进行了应用验证,距离实际工程应用还存在一定距离,仍有一些瓶颈需要突破。主要面临的问题有以下几个方面:
(1)系统功能分化实现困难。功能分化指的是系统的模块化设计及模块功能到胚胎电子细胞的映射。系统功能分化影响整个电路的结构设计以及胚胎电子系统实现的硬件消耗。系统功能越复杂,对系统进行功能分化的难度更高,如何合理地划分系统功能,实现模块功能到每个胚胎细胞的映射过程,是目前胚胎电子系统设计的一大难题。
(2)故障检测覆盖率低。目前大多数故障检测方案主要针对胚胎电子细胞的局部进行检测,如胚胎电子细胞的内部逻辑功能模块、配置存储模块和连线的故障检测,难以实现故障检测全覆盖,尤其是控制模块和检测电路自身的故障检测。
(3)胚胎电子系统硬件实现资源消耗大。相对于传统电路系统,胚胎电子细胞除了功能模块之外,还要额外的输入输出模块、控制模块、配置存储模块等,这必然会导致硬件资源的额外消耗。除此之外,胚胎电子系统的故障自修复依赖于空闲细胞的使用,也增加了系统硬件资源的消耗。
(4)实现大规模复杂功能电路困难。系统越复杂则对胚胎电子系统的结构设计、分化设计要求越高,系统布局布线越复杂,同时实现故障检测、故障修复所需额外硬件也越多。如何合理地对系统进行分化,如何优化布局布线,如何降低硬件资源消耗,是实现大规模复杂功能电路应用的关键。
5.2 未来研究方向
针对目前胚胎电子系统发展的瓶颈,未来的研究方向可以从以下几个方面进行。
(1)优化电子细胞结构和阵列机构。如采用细粒度和粗粒度相结合的方式对胚胎电子系统进行优化设计,对系统关键模块进行细粒度设计,提高关键模块的自检测自修复能力,对系统次要模块进行粗粒度设计以减少额外资源消耗。提高单个电子细胞的功能,降低总体硬件资源消耗。
(2)模拟生物体生长发育,结合人工智能技术,将智能算法应用于系统分化过程,保证系统功能分化的合理性。
(3)引入故障预测机制,对电路的可靠性进行分析,并根据故障预测结果合理安排和设计故障检测和故障修复,降低由故障检测和故障修复带来的额外硬件开销。
(4)提高检测模块对不同结构胚胎电子细胞的通用性,提高胚胎电路自检测技术的故障覆盖率。
(5)优化胚胎阵列演化策略,提高胚胎电子细胞阵列自适应能力。基于演化的故障自修复策略能有效减低系统自修复过程对空闲细胞数量的要求,减少硬件资源开销。
(6)研究更加合理的自修复策略。结合多种自修复策略对系统不同模块进行故障修复。
(7)研究大规模复杂电路的胚胎电子系统的设计与实现。利用胚胎电子技术实现大规模电路具有重要的应用价值,这将是未来研究的重点领域。
6 结论
胚胎电子系统是模拟生物细胞组织结构和生长机制而设计的一种新型仿生硬件系统。胚胎电子系统的自修复机制本质上是一种基于重构的冗余容错设计,由于其具有良好的故障容错能力,其在航空航天、深水探测等复杂应用环境中具有重要的应用价值。关于胚胎电子系统的结构设计、自检测方法和自修复方法的研究已取得一定进展,但在大规模电路系统的实际工程应用中仍存在着一些瓶颈。大规模复杂电路的胚胎电子系统的设计与实现,这将是未来研究的重点领域。