CN104657238B - 一种基于阵列结构的可重构容错方法 - Google Patents

一种基于阵列结构的可重构容错方法 Download PDF

Info

Publication number
CN104657238B
CN104657238B CN201510070076.6A CN201510070076A CN104657238B CN 104657238 B CN104657238 B CN 104657238B CN 201510070076 A CN201510070076 A CN 201510070076A CN 104657238 B CN104657238 B CN 104657238B
Authority
CN
China
Prior art keywords
node
frame
data
reconfigurable arrays
model
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
Application number
CN201510070076.6A
Other languages
English (en)
Other versions
CN104657238A (zh
Inventor
杨孟飞
龚健
刘波
杨桦
刘鸿瑾
赵云富
胡洪凯
董暘暘
王婧
徐建
苗致富
张绍林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Control Engineering
Original Assignee
Beijing Institute of Control Engineering
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Control Engineering filed Critical Beijing Institute of Control Engineering
Priority to CN201510070076.6A priority Critical patent/CN104657238B/zh
Publication of CN104657238A publication Critical patent/CN104657238A/zh
Application granted granted Critical
Publication of CN104657238B publication Critical patent/CN104657238B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Multi Processors (AREA)
  • Logic Circuits (AREA)

Abstract

本发明一种基于阵列结构的可重构容错方法,步骤如下:(1)采用硬件描述语言生成一个基于阵列结构的可重构模型,包括N×N节点阵列结构和节点间互联关系,以及与节点连接的功能模块;(2)以FPGA为载体生成可重构阵列模型的硬件电路,该电路能够通过I/O接口被处理器访问和操作;(3)构建可重构阵列模型中N×N个节点之间的通信协议;(4)基于处理器通过步骤(3)建立的通信协议实现对可重构阵列模型的重构。

Description

一种基于阵列结构的可重构容错方法
技术领域
本发明涉及一种基于阵列结构的可重构容错方法,属于智能容错系统领域。
背景技术
随着空间技术的快速发展,航天器电子系统功能越来越复杂,作为航天器平台最关键的组成部分之一,其性能和可靠性直接影响着整个型号任务的成败。例如,我国探月三期、载人航天等型号任务中,面临的空间环境更加复杂,需要更加轻小型化。采用智能重构方法能够实现航天器电子系统的自主修复和自适应环境,并能够有效提高航天器的可靠性和在轨寿命,降低系统的冗余度,使控制系统达到更高的集成度。
针对上述需求,传统的容错方法有两类,一类是电子系统级别的容错,有双机冷热备份结构、三机冗余结构以及四机结构等;另一类是器件级别的容错,有静态冗余方法和动态重配置方法。在器件级别的容错技术中,静态冗余多采用三模冗余设计;动态重配置多是基于SRAM型FPGA实现,目前主要有动态刷新(scrubbing)、全局重配置和局部重配置等方法。本专利属于器件级别的容错技术,适用于一种相对独立功能硬件的容错设计。本专利与传统方法相比较,引入了智能算法,具有自修复、自学习和自适应特性;把功能模块组织成阵列结构,是模块级别的冗余备份,具有与具体器件无关的特性;由于采用模块阵列,当其中某个模块故障时,其他任何模块原则上可以进行替换,因此整个结构冗余度可以远小于备份结构的50%冗余度。
发明内容
本发明解决的技术问题是:在现有技术基础上增加智能策略,提供了一种基于阵列结构的可重构容错方法,使得容错基于自学习、自适应的特点,并解决了实时在线容错的电路规模问题和实时性问题。
本发明的技术方案是:一种基于阵列结构的可重构容错方法,步骤如下:
1)采用硬件描述语言生成一个基于阵列结构的可重构模型,包括N×N节点阵列结构和节点间互联关系,以及与节点连接的功能模块;
11)采用硬件描述语言生成N×N阵列结构中的节点;每个节点包含两类功能:一是中心数据交换功能,完成数据帧接收,并根据目的地址决定数据转发的端口;二是数据端口功能,与其他节点或功能模块进行接口,作为数据收发的接口;每个节点包含两类连接关系:一类是与其他相邻节点相连;另一类是与功能模块相连;
12)采用硬件描述语言生成功能模块;
13)采用硬件描述语言生成节点间的互联关系,用并行数据总线的方式实现节点间互联,每个节点与所有相邻节点都有连接关系;
14)采用硬件描述语言生成节点和功能模块间的连接关系;
15)最终形成N×N个节点互联且节点与功能模块互联的可重构阵列模型;
2)以FPGA为载体生成可重构阵列模型的硬件电路,该电路能够通过I/O接口被处理器访问和操作;
21)在可重构阵列模型中任意选取一个节点,并将该节点的数据端口作为与处理器接口相连的I/O接口;
22)将步骤1)生成的可重构阵列模型转化为位流文件,并下载到FPGA中,生成硬件电路;
3)构建可重构阵列模型中N×N个节点之间的通信协议;
31)可重构阵列模型中每个节点接收数据以序列为单位,序列按照地址控制帧、数据帧和结束控制帧的顺序组成;地址控制帧表示节点转发一个序列的地址顺序,由多个地址组成;结束控制帧表示一个序列结束;数据帧用于保存实际数据;当可重构阵列模型中一个节点接收到一个序列后,判断如果第一个帧是地址控制帧,则将该地址控制帧中第一个地址丢弃,其余地址重新组成新的地址控制帧,并与原数据帧和结束控制帧组成新序列,按照第一个地址向相应端口转发新序列;如果第一个帧是数据帧,则向本节点与功能模块相连的端口转发数据帧;
32)功能模块接收到数据后,对该数据进行处理;
4)采用遗传算法基于处理器通过步骤3)建立的通信协议实现对可重构阵列模型的重构;
41)在处理器上运行针对可重构阵列模型的重构算法,该重构算法采用保留最佳个体标准遗传算法;利用该算法对节点的选择以及节点间路径进行计算,生成最优解;
42)在处理器上运行重构算法完成后,根据步骤3)建立的通信协议将生成的最优解通过I/O接口发送给步骤1)建立的N×N可重构阵列模型,完成重构过程。
本发明与现有技术相比具有如下优点:
(1)采用N×N模块级的阵列结构模块,可以提高可重构容错硬件的规模,降低重构时间;由于该阵列模型是建立在可编程器件基础之上,具有与具体器件无关的特点,保证其具有良好的移植性和推广性;
(2)可重构阵列模型中的节点数量和功能单元具有可配置性,便于进行扩充和扩展;
(3)采用遗传算法实现可重构容错,实现了智能容错,可重构容错策略不需要人工预先制定,使硬件具有自修复、自适应的特性。
附图说明
图1为方法中各步骤的关系;
图2为可重构阵列模型结构;
图3为节点间的通信协议;
图4为软件算法的流程。
具体实施方式
一、方法原理
本发明利用硬件描述语言在FPGA等可编程器件上构建一个阵列型的可重构模型,基于该模型采用遗传算法实现阵列的智能重构,达到容错的目的。
二、设计方案
如图1所示为本发明方法流程图,其中实线表示方法步骤,虚线表示步骤产生的结果,双线表示层次依赖关系,具体步骤如下:
1)采用硬件描述语言生成一个基于阵列结构的可重构模型,包括N×N节点阵列结构和节点间互联关系,以及与节点连接的功能模块(fe);N为正整数。以下以N=4的UART阵列进行说明,节点的位置以坐标形式标记(x,y),其中x∈[0,4],y∈[0,4]。可重构阵列模型的结构如图2所示。
11)采用VHDL硬件描述语言生成4×4阵列结构中的节点;每个节点包含两类功能:一是中心数据交换功能,完成数据帧接收,并根据目的地址决定数据转发的端口;二是数据端口功能,最多有5个,与其他节点或功能模块进行接口,作为数据收发的接口;每个节点包含两类连接关系:一类是与其他相邻节点相连;另一类是与功能模块相连。其中阵列中[0,0]节点连接的功能模块是处理器,其他节点连接的功能模块是串口模块UART。
12)采用硬件描述语言生成功能模块,即UART的功能,该功能模块是实现硬件功能的主体,即整个阵列的功能是实现m个UART功能,且一般来说(4×4/2)≤m<(4×4),当其中某个UART发生故障,用本专利的重构方法用其他UART替代故障的UART。
13)采用硬件描述语言生成节点间的互联关系,用并行数据总线的方式实现节点间互联,每个节点与所有相邻节点都有连接关系。根据在阵列中的位置不同,每个节点的端口为3~5个,其中2~4个端口用于与阵列中其他节点互联,端口号最大的端口用于与功能模块UART互联。节点的每个数据端口宽度为9位,每个节点有1个深度为18宽度为9的FIFO。
14)采用硬件描述语言生成节点和功能模块间的连接关系。每个节点中端口号最大的端口用于与功能模块UART互联。
15)最终形成4×4个节点互联且节点与UART功能模块互联的可重构阵列模型。
2)以FPGA为载体生成可重构阵列模型的硬件电路,该电路能够通过I/O接口被处理器访问和操作。
21)在可重构阵列模型中任意选取一个节点,该节点的数据端口作为与处理器接口相连的I/O接口,一般选取节点[0,0]的端口号最大的端口作为与处理接口的I/O,处理器可以通过该端口访问整个可重构阵列模型。
22)将步骤1)生成的可重构阵列模型转化为位流文件,并下载到FPGA中,生成硬件电路。
3)构建可重构阵列模型中N×N个节点之间的通信协议。
31)可重构阵列模型中每个节点接收数据以序列为单位,序列按照地址控制帧、数据帧和结束控制帧的顺序组成,如图3所示;地址控制帧表示节点转发一个序列的地址顺序,由多个地址组成;结束控制帧表示一个序列结束;数据帧用于保存实际数据;当可重构阵列模型中一个节点接收到一个序列后,判断如果第一个帧是地址控制帧,则将该地址控制帧中第一个地址丢弃,其余地址重新组成新的地址控制帧,并与原数据帧和结束控制帧组成新序列,按照第一个地址向相应端口转发新序列;如果第一个帧是数据帧,则向本节点与功能模块相连的端口转发数据帧。任何一种帧都由多个9位数据按串行顺序构成,其中最高1位D8是标识位,后面低8位D7~D0是数据位。若D8是1,则为地址控制帧或结束控制帧,若8位数据中最高有效位(MSB)D7为1,则该帧为结束控制帧,8位数据D7~D0为0x80;若8位数据中最高有效位(MSB)D7为0,则该帧为地址控制帧,8位数据D7~D0为转发的目的地址(即转发的端口号,取值范围是0~3);若D8是0,则为数据帧,8位数据D7~D0都是有效的数据。
32)功能模块UART接收到数据后,对该数据进行串口发送处理,功能模块UART是实现硬件功能的主体。
4)采用遗传算法基于处理器通过步骤3)建立的通信协议实现对可重构阵列模型的重构。
41)在处理器上运行针对可重构阵列模型的重构算法,该重构算法采用保留最佳个体标准遗传算法,算法中初始种群包含30个个体,每个个体包含染色体编码和适应值两项数据,其中染色体编码需包含4×4阵列中从从(0,0)节点经过k个工作节点的路径信息;适应值小于1,且与个体的优劣成正比,其计算方法是: F 2 = &Sigma; i = 0 k D i , i + 1 ( ( N - 1 ) + ( N - 1 ) ) * k , 其中N=4;遗传算子选取选择算子、交叉算子、变异算子,以及保留最佳个体算子,算法的流程见图4所示;利用该算法对节点的选择以及节点间路径进行计算,生成最优解;
42)在处理器上运行重构算法完成后,根据步骤3)建立的通信协议将生成的最优解通过I/O接口发送给步骤1)建立的N×N可重构阵列模型,完成重构过程。

Claims (1)

1.一种基于阵列结构的可重构容错方法,其特征在于步骤如下:
1)采用硬件描述语言生成一个基于阵列结构的可重构模型,包括N×N节点阵列结构和节点间互联关系,以及与节点连接的功能模块;N为正整数;
11)采用硬件描述语言生成N×N阵列结构中的节点;每个节点包含两类功能:一是中心数据交换功能,完成数据帧接收,并根据目的地址决定数据转发的端口;二是数据端口功能,与其他节点或功能模块进行接口,作为数据收发的接口;每个节点包含两类连接关系:一类是与其他相邻节点相连;另一类是与功能模块相连;
12)采用硬件描述语言生成功能模块;
13)采用硬件描述语言生成节点间的互联关系,用并行数据总线的方式实现节点间互联,每个节点与所有相邻节点都有连接关系;
14)采用硬件描述语言生成节点和功能模块间的连接关系;
15)最终形成N×N个节点互联且节点与功能模块互联的可重构阵列模型;
2)以FPGA为载体生成可重构阵列模型的硬件电路,该电路能够通过I/O接口被处理器访问和操作;
21)在可重构阵列模型中任意选取一个节点,并将该节点的数据端口作为与处理器接口相连的I/O接口;
22)将步骤1)生成的可重构阵列模型转化为位流文件,并下载到FPGA中,生成硬件电路;
3)构建可重构阵列模型中N×N个节点之间的通信协议;
31)可重构阵列模型中每个节点接收数据以序列为单位,序列按照地址控制帧、数据帧和结束控制帧的顺序组成;地址控制帧表示节点转发一个序列的地址顺序,由多个地址组成;结束控制帧表示一个序列结束;数据帧用于保存实际数据;当可重构阵列模型中一个节点接收到一个序列后,判断如果第一个帧是地址控制帧,则将该地址控制帧中第一个地址丢弃,其余地址重新组成新的地址控制帧,并与原数据帧和结束控制帧组成新序列,按照第一个地址向相应端口转发新序列;如果第一个帧是数据帧,则向本节点与功能模块相连的端口转发数据帧;
32)功能模块接收到数据后,对该数据进行处理;
4)采用遗传算法基于处理器通过步骤3)建立的通信协议实现对可重构阵列模型的重构;
41)在处理器上运行针对可重构阵列模型的重构算法,该重构算法采用保留最佳个体标准遗传算法;利用该保留最佳个体标准遗传算法对节点的选择以及节点间路径进行计算,生成最优解;
42)在处理器上运行重构算法完成后,根据步骤3)建立的通信协议将生成的最优解通过I/O接口发送给步骤15)建立的N×N可重构阵列模型,完成重构过程。
CN201510070076.6A 2015-02-10 2015-02-10 一种基于阵列结构的可重构容错方法 Active CN104657238B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510070076.6A CN104657238B (zh) 2015-02-10 2015-02-10 一种基于阵列结构的可重构容错方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510070076.6A CN104657238B (zh) 2015-02-10 2015-02-10 一种基于阵列结构的可重构容错方法

Publications (2)

Publication Number Publication Date
CN104657238A CN104657238A (zh) 2015-05-27
CN104657238B true CN104657238B (zh) 2016-09-21

Family

ID=53248410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510070076.6A Active CN104657238B (zh) 2015-02-10 2015-02-10 一种基于阵列结构的可重构容错方法

Country Status (1)

Country Link
CN (1) CN104657238B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107161357B (zh) * 2017-04-27 2019-05-10 西北工业大学 一种可重构航天器的自重构方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5931959A (en) * 1997-05-21 1999-08-03 The United States Of America As Represented By The Secretary Of The Air Force Dynamically reconfigurable FPGA apparatus and method for multiprocessing and fault tolerance
CN101441584B (zh) * 2008-12-19 2010-09-22 成都市华为赛门铁克科技有限公司 一种现场可编程门阵列的实现方法和装置
CN102135928B (zh) * 2011-03-30 2013-07-24 武汉大学 基于lut级演化硬件的三模异构冗余容错方法

Also Published As

Publication number Publication date
CN104657238A (zh) 2015-05-27

Similar Documents

Publication Publication Date Title
Wittie Communication structures for large networks of microcomputers
EP3364306B1 (en) Parallel processing of reduction and broadcast operations on large datasets of non-scalar data
Zamarreño-Ramos et al. Multicasting mesh AER: A scalable assembly approach for reconfigurable neuromorphic structured AER systems. Application to ConvNets
CN105956659A (zh) 数据处理装置和系统、服务器
CN102780628B (zh) 面向多核微处理器的片上互连网络路由方法
CN102685017A (zh) 一种基于fpga的片上网络路由器
JPH05505268A (ja) デイジーチェーン制御付ニューラルネットワーク
JPH0766718A (ja) プログラム可能論理用ウェファ・スケール構造
CN105577539B (zh) 一种面向非规则三维集成电路片上网络的路由方法及系统
CN102866980A (zh) 用于多核微处理器片上互连网络的网络通信胞元
CN115333606B (zh) 面向低轨星座存储网络的分布式编码数据下载与修复方法
CN105530206B (zh) 一种具有双接入结构的Torus网络系统及其工作方法
CN104657238B (zh) 一种基于阵列结构的可重构容错方法
CN105095148A (zh) 一种混合型三维片上网络
Moradi et al. A memory-efficient routing method for large-scale spiking neural networks
US11205109B2 (en) On-chip communication system for neural network processors
CN102142050A (zh) 一种高端容错计算机单结点原型验证系统及验证方法
US20220277125A1 (en) Initializing on-chip operations
CN101515893B (zh) 确定rdt片上网络最短路由的方法
CN105634960B (zh) 基于分形树结构的数据发布装置、方法、控制装置及智能芯片
Yang et al. Fault-tolerant routing schemes in RDT (2, 2, 1)//spl alpha/-based interconnection network for networks-on-chip design
CN103914429B (zh) 用于粗粒度动态可重构阵列的多模式数据传输互连器
CN109857024A (zh) 人工智能模块的单元性能测试方法和系统芯片
CN113347029B (zh) 基于拓扑重构和路径规划的Torus网络容错方法
CN109902836A (zh) 人工智能模块的故障容错方法及系统芯片

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant