CN104657238B - 一种基于阵列结构的可重构容错方法 - Google Patents
一种基于阵列结构的可重构容错方法 Download PDFInfo
- 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
Links
Landscapes
- Logic Circuits (AREA)
- Multi Processors (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,且与个体的优劣成正比,其计算方法是: 其中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可重构阵列模型,完成重构过程。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107161357B (zh) * | 2017-04-27 | 2019-05-10 | 西北工业大学 | 一种可重构航天器的自重构方法 |
Family Cites Families (3)
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级演化硬件的三模异构冗余容错方法 |
-
2015
- 2015-02-10 CN CN201510070076.6A patent/CN104657238B/zh active Active
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 | |
CN107852379A (zh) | 用于现场可编程门阵列的定向二维路由器和互连网络、以及所述路由器和网络的其他电路和应用 | |
CN105956659A (zh) | 数据处理装置和系统、服务器 | |
JPH0766718A (ja) | プログラム可能論理用ウェファ・スケール構造 | |
CN102129418A (zh) | 一种高端容错计算机系统及实现方法 | |
CN105577539B (zh) | 一种面向非规则三维集成电路片上网络的路由方法及系统 | |
CN102780628A (zh) | 面向多核微处理器的片上互连网络路由方法 | |
CN102866980A (zh) | 用于多核微处理器片上互连网络的网络通信胞元 | |
CN115333606B (zh) | 面向低轨星座存储网络的分布式编码数据下载与修复方法 | |
CN105530206B (zh) | 一种具有双接入结构的Torus网络系统及其工作方法 | |
Konishi et al. | PCA-1: A fully asynchronous, self-reconfigurable LSI | |
CN104657238B (zh) | 一种基于阵列结构的可重构容错方法 | |
CN105095148A (zh) | 一种混合型三维片上网络 | |
Moradi et al. | A memory-efficient routing method for large-scale spiking neural networks | |
CN102142050A (zh) | 一种高端容错计算机单结点原型验证系统及验证方法 | |
US20220277125A1 (en) | Initializing on-chip operations | |
CN101515893B (zh) | 确定rdt片上网络最短路由的方法 | |
CN105634960B (zh) | 基于分形树结构的数据发布装置、方法、控制装置及智能芯片 | |
US10872291B2 (en) | On-chip communication system for neural network processors | |
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网络容错方法 |
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 |