CN102135928A - Isomerous triple modular redundancy fault-tolerant method based on LUT (Look-up Table) evolvable hardware - Google Patents
Isomerous triple modular redundancy fault-tolerant method based on LUT (Look-up Table) evolvable hardware Download PDFInfo
- Publication number
- CN102135928A CN102135928A CN2011100782734A CN201110078273A CN102135928A CN 102135928 A CN102135928 A CN 102135928A CN 2011100782734 A CN2011100782734 A CN 2011100782734A CN 201110078273 A CN201110078273 A CN 201110078273A CN 102135928 A CN102135928 A CN 102135928A
- Authority
- CN
- China
- Prior art keywords
- circuit
- hardware
- fault
- output
- virtual reconfigurable
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000001514 detection method Methods 0.000 claims abstract description 18
- 230000005284 excitation Effects 0.000 claims abstract description 16
- 230000002068 genetic effect Effects 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 23
- 230000008859 change Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 12
- 238000002347 injection Methods 0.000 claims description 11
- 239000007924 injection Substances 0.000 claims description 11
- 238000011156 evaluation Methods 0.000 claims description 8
- 230000008439 repair process Effects 0.000 claims description 6
- 238000011160 research Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 3
- 239000011800 void material Substances 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 201000002266 mite infestation Diseases 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Hardware Redundancy (AREA)
- Logic Circuits (AREA)
Abstract
Description
技术领域technical field
本发明涉及演化硬件及容错技术领域,尤其涉及一种基于LUT级演化硬件的三模异构冗余容错方法。The invention relates to the technical field of evolution hardware and fault tolerance, in particular to a three-mode heterogeneous redundancy fault tolerance method based on LUT-level evolution hardware.
背景技术Background technique
演化硬件(Evolvable Hardware, EHW)是一种可以根据环境变化而改变自身结构或者功能以适应环境的特殊硬件系统,演化算法和可编程器件分别为之提供了理论支持和物质基础,它是生物学、计算机科学和电子工程技术相结合的新型交叉研究领域。演化硬件在电路设计、模式识别、演化机器人、自适应控制、容错自修复以及空间技术等领域表现出了巨大的发展潜力,在世界范围内激起了各国政府和学者的研究兴趣。Evolvable Hardware (Evolvable Hardware, EHW) is a special hardware system that can change its structure or function according to environmental changes to adapt to the environment. Evolutionary algorithms and programmable devices provide theoretical support and material basis for it respectively. It is a biological , computer science and electronic engineering technology combined new interdisciplinary research field. Evolutionary hardware has shown great development potential in the fields of circuit design, pattern recognition, evolutionary robotics, adaptive control, fault-tolerant self-repair, and space technology, and has aroused the research interest of governments and scholars worldwide.
关于演化硬件有两种观点:第一种观点是将演化硬件技术作为替代传统设计技术的一种新型的电路设计方法学,以期发展一类全新的电子系统的智能化、自动化设计技术。第二种观点则从一个更广阔的角度来理解和诠释演化硬件,认为它是一种能够通过动态自主地重配置而改变自身行为和结构的自适应硬件。它强调演化硬件本身就是融合了演化机制的自可重构系统,因而能够根据内部或者外部环境的变化,实时地做出调整以维持系统的正常状态,其目标是发展一类具备自适应和自修复能力的电子系统。There are two views on evolutionary hardware: the first view is to use evolutionary hardware technology as a new circuit design methodology to replace traditional design techniques, in order to develop a new class of intelligent and automatic design technology for electronic systems. The second point of view understands and interprets evolutionary hardware from a broader perspective, thinking that it is an adaptive hardware that can change its behavior and structure through dynamic and autonomous reconfiguration. It emphasizes that evolutionary hardware itself is a self-reconfigurable system that incorporates evolutionary mechanisms, so it can make real-time adjustments to maintain the normal state of the system according to changes in the internal or external environment. Repairable electronic systems.
随着电子系统规模的不断增大,由于环境以及系统内部元器件老化等问题使得电子系统的故障发生变得不可避免,因此研究电子系统的可靠性以及可用性问题是当前商业、军事领域的一个重要方面,尤其是环境恶劣等人为不可及或不方便修复的地方,例如导弹、宇宙飞船、深海探测、飞机等,而这些故障一旦发生若不能及时修复或避免将产生灾难性的后果。With the continuous increase of the scale of electronic systems, the failure of electronic systems becomes inevitable due to the environment and the aging of internal components of the system. Therefore, it is an important issue in the current commercial and military fields to study the reliability and availability of electronic systems. On the one hand, especially the harsh environment and other places that are inaccessible or inconvenient to repair, such as missiles, spacecraft, deep sea exploration, aircraft, etc. Once these failures occur, if they cannot be repaired or avoided in time, it will have disastrous consequences.
容错就是容许错误,是指设备的一个或多个关键部分发生故障时,能够自动地进行检测与诊断,并采取相应的措施,保证设备维持其规定的功能。设计与分析容错系统的各种技术称为容错技术。演化硬件所体现出的自组织、自适应、自修复的特点为提高复杂系统的可靠性提供了全新的方向。基于演化硬件的容错研究对建立借鉴生物进化机制的硬件容错新理论、新模型和新方法,提高硬件系统的可靠性具有至关重要的意义。Fault tolerance means allowing errors, which means that when one or more key parts of the equipment fail, they can automatically detect and diagnose, and take corresponding measures to ensure that the equipment maintains its specified functions. Various techniques for designing and analyzing fault-tolerant systems are called fault-tolerant techniques. The characteristics of self-organization, self-adaptation and self-repair embodied by evolutionary hardware provide a new direction for improving the reliability of complex systems. The research on fault tolerance based on evolutionary hardware is of vital significance to establish new theories, new models and new methods of hardware fault tolerance based on biological evolution mechanism, and to improve the reliability of hardware systems.
美国JPL的Stoica等人基于FPTA(Field Programmable Transistor Array,可编程晶体管阵列)进行了EHW容错研究(参见文献1),设计了两种容错方法:① 将故障引入到演化的过程中去以增强演化的电路对错误的鲁棒性;② 从演化电路的群体中抽取能充分处理当前故障任务的个体,这种进化过程一直持续到获得的系统功能与发生故障前相同的状态。瑞士联邦技术学院的Mange小组和英国York大学Tyrrel的小组从事关于胚胎电子系统的研究(参见文献2)。中国空间技术研究院的杨孟飞教授等人对基于SRAM的FPGA,在空间辐射环境中的SEU(Single Event Upset,单粒子翻转)减缓技术进行了研究(参见文献3),尝试将演化硬件与TMR(Triple Modular Redundancy,三模冗余)容错技术相结合,重点关注于容错模块的面积与功耗的优化。南京航空航天大学的王友仁教授等人主要研究异构冗余容错系统的设计,提出了异构度的概念及其评价方法,并将多目标优化算法引入到异构冗余容错系统的设计当中(参见文献4)。Stoica et al. of JPL in the United States conducted EHW fault-tolerant research based on FPTA (Field Programmable Transistor Array, programmable transistor array) (see Document 1), and designed two fault-tolerant methods: ① Introduce faults into the evolution process to enhance evolution Robustness of the circuit to errors; ② Extract individuals from the population of evolutionary circuits that can fully handle the current fault task, and this evolution process continues until the obtained system function is the same as before the fault occurs. Mange's group at the Swiss Federal Institute of Technology and Tyrrel's group at York University in the United Kingdom are engaged in research on embryonic electronic systems (see Document 2). Professor Yang Mengfei of the China Academy of Space Technology and others have conducted research on SRAM-based FPGA, SEU (Single Event Upset, single event flip) mitigation technology in the space radiation environment (see Document 3), trying to combine evolutionary hardware with TMR (Triple Modular Redundancy, three-mode redundancy) combined with fault-tolerant technology, focusing on the optimization of the area and power consumption of fault-tolerant modules. Professor Wang Youren from Nanjing University of Aeronautics and Astronautics mainly researched the design of heterogeneous redundant fault-tolerant systems, proposed the concept of heterogeneous degree and its evaluation method, and introduced the multi-objective optimization algorithm into the design of heterogeneous redundant fault-tolerant systems ( See document 4).
总的来说,目前基于EHW的容错方法研究还处于起步阶段,均为一些基本的模型或算法研究,缺乏系统性的研究,也尚未建立一个基于EHW的实际应用的容错系统。Generally speaking, the current research on fault-tolerant methods based on EHW is still in its infancy, which are some basic models or algorithm research, lack of systematic research, and a fault-tolerant system based on EHW for practical applications has not yet been established.
文献1:Document 1:
D.Keymeulen and A.Stoica, Fault-Tolerant Evolvable Hardware Using Field Programmable Transistor Arrays. IEEE Transaction on Reliability, vol.49(3), PP. 305—316, 2000.D.Keymeulen and A.Stoica, Fault-Tolerant Evolvable Hardware Using Field Programmable Transistor Arrays. IEEE Transaction on Reliability, vol.49(3), PP. 305—316, 2000.
文献2:Document 2:
C.Ortega and A.Tyrrell, A Hardware Implementation of an Embryonic Architecture Using Virtex FPGAs. International Conference on Evolvable Systems 2000, PP. 155-164.C.Ortega and A.Tyrrell, A Hardware Implementation of an Embryonic Architecture Using Virtex FPGAs. International Conference on Evolvable Systems 2000, PP. 155-164.
文献3:Document 3:
龚健,杨孟飞,基于可进化硬件的容错技术及其原理,航天控制,2006,24(6):72-80.Gong Jian, Yang Mengfei, Evolvable hardware-based fault-tolerant technology and its principle, Aerospace Control, 2006, 24(6): 72-80.
文献4:Document 4:
高桂军,王友仁,姚睿,系统异构冗余容错设计研究,传感器与微系统,2007,26(10):25-28。Gao Guijun, Wang Youren, Yao Rui, Research on Heterogeneous Redundant Fault-Tolerant Design of Systems, Sensors and Microsystems, 2007, 26(10): 25-28.
发明内容Contents of the invention
针对上述存在的技术问题,本发明的目的是提供一种基于LUT级演化硬件的三模异构冗余容错方法,以提高传统三模冗余容错系统的容错性能,以及与演化硬件的自适应、自修复的特点相结合,解决容错系统的鲁棒性、自修复性等关键技术问题。In view of the above-mentioned technical problems, the purpose of the present invention is to provide a three-mode heterogeneous redundant fault-tolerant method based on LUT-level evolutionary hardware, to improve the fault-tolerant performance of traditional three-mode redundant fault-tolerant systems, and to adapt to evolutionary hardware Combining the characteristics of self-healing and self-healing, it solves key technical problems such as the robustness and self-healing of the fault-tolerant system.
为达到上述目的,本发明采用如下的技术方案:To achieve the above object, the present invention adopts the following technical solutions:
1)构造一种基于LUT实现的基本逻辑单元,并由这些基本逻辑单元组成虚拟可重构电路。基本逻辑单元之间的连通方式,对虚拟可重构电路的特性,以及是否充分满足目标电路的需要有着重要的影响,因此根据实际应用的不同,连通方式也不相同。最后通过配置串将此虚拟可重构电路配置为所需要的目标电路。1) Construct a basic logic unit based on LUT, and form a virtual reconfigurable circuit from these basic logic units. The connection mode between the basic logic units has an important impact on the characteristics of the virtual reconfigurable circuit and whether it can fully meet the needs of the target circuit. Therefore, the connection mode is different according to different practical applications. Finally, the virtual reconfigurable circuit is configured as the required target circuit through the configuration string.
2)使用软硬件协同的遗传算法自动搜索满足条件的三个配置串。一般来讲,这三个配置串代表了三个功能相同但是结构不同的目标电路,将它们分别配置到三块虚拟可重构电路后,就形成了三模异构冗余与表决器电路和检错电路联系起来,共同形成三模异构冗余模块。2) Use the software-hardware coordinated genetic algorithm to automatically search for three configuration strings that meet the conditions. Generally speaking, these three configuration strings represent three target circuits with the same function but different structures. After they are respectively configured into three virtual reconfigurable circuits, a three-mode heterogeneous redundancy and voter circuit is formed. The error detection circuits are connected together to form a three-mode heterogeneous redundancy module.
3)通过硬件内部产生的激励信号,对三块目标电路的不断地输入数据,从而使三模异构冗余模块处于一种硬件内部运行状态,表决器电路和检错电路对系统的正确性进行实时的监控。3) Continuously input data to the three target circuits through the excitation signal generated inside the hardware, so that the three-mode heterogeneous redundant module is in a hardware internal operating state, and the voter circuit and error detection circuit are correct for the system Carry out real-time monitoring.
4)以按键中断的形式,往虚拟可重构电路中模拟的注入一些故障,用来观测系统的检错、容错和自修复流程。4) In the form of button interruption, simulate and inject some faults into the virtual reconfigurable circuit to observe the error detection, fault tolerance and self-repair process of the system.
一种基于LUT级演化硬件的三模异构冗余容错方法,包括:A three-mode heterogeneous redundancy fault-tolerant method based on LUT-level evolutionary hardware, comprising:
(1)在FPGA上实现三模异构冗余容错的IP核,该步骤包括:(1) Realize the three-mode heterogeneous redundant fault-tolerant IP core on the FPGA. This step includes:
通过LUT,由配置串决定逻辑单元之间的布线连接方式和逻辑单元要实现的具体功能;Through the LUT, the configuration string determines the wiring connection mode between the logic units and the specific functions to be realized by the logic units;
把某一个配置串配置到虚拟可重构电路时,该虚拟可重构电路代表了某一个特定功能的目标电路;When configuring a configuration string to a virtual reconfigurable circuit, the virtual reconfigurable circuit represents a target circuit with a specific function;
将三块虚拟可重构电路并联,且将其输出端通过表决电路联系起来,从而形成三模异构冗余;Connect three virtual reconfigurable circuits in parallel, and connect their outputs through a voting circuit to form a three-mode heterogeneous redundancy;
再将三个目标电路的输出与表决电路的输出连接形成检错电路;Then connect the output of the three target circuits with the output of the voting circuit to form an error detection circuit;
(2)基于MicroBlaze软核CPU实现软硬件协同的遗传算法,该步骤包括:(2) Based on the MicroBlaze soft-core CPU to realize the genetic algorithm of software and hardware collaboration, this step includes:
①随机产生初始化种群,种群中的每一个个体都为了一个电路的配置串;① Randomly generate an initialization population, and each individual in the population is for a configuration string of a circuit;
②将目标电路的真值表存放到RAM中;② Store the truth table of the target circuit in RAM;
③将种群中的每一个个体下载到虚拟可重构电路进行在线评估;③Download each individual in the population to the virtual reconfigurable circuit for online evaluation;
④在步骤③完成了对所有个体的评估之后,找出是否有满足要求的个体,即该个体所对应的最终输出结果中“1”的个数等于目标电路真值表的行数;④After completing the evaluation of all individuals in step ③, find out whether there is an individual that meets the requirements, that is, the number of "1" in the final output corresponding to the individual is equal to the number of rows in the truth table of the target circuit;
⑤如果没有满足要求的个体,则需要产生新的种群,否则至第⑥步;⑤ If there is no individual that meets the requirements, a new population needs to be generated, otherwise go to step ⑥;
⑥如果找到了满足要求的个体,则重新进行步骤1,直至最终找到了三个满足要求的个体,结束;⑥ If an individual meeting the requirements is found, repeat step 1 until finally three individuals meeting the requirements are found, and end;
(3)软硬件协同实现对三个异构目标电路的初始化及以后的修复工作,该步骤包括:(3) The software and hardware cooperate to realize the initialization and subsequent repair of the three heterogeneous target circuits. This step includes:
① 将三个配置串,分别写入到三个虚拟可重构电路之中;① Write the three configuration strings into the three virtual reconfigurable circuits respectively;
② 运行于MicroBlaze软核CPU上软件部分停止;② Part of the software running on the MicroBlaze soft-core CPU stops;
③ 三个虚拟可重构电路的输入端连接到了硬件上的激励信号,该激励信号是用硬件描述语言写的一小段代码,其作用是不断地产生目标电路的真值表的输入部分;③ The input terminals of the three virtual reconfigurable circuits are connected to the excitation signal on the hardware. The excitation signal is a small piece of code written in the hardware description language, and its function is to continuously generate the input part of the truth table of the target circuit;
④ 激励信号产生的数据被输入到虚拟可重构电路之中,然后将运算的结果通过表决电路输出;④ The data generated by the excitation signal is input into the virtual reconfigurable circuit, and then the result of the operation is output through the voting circuit;
⑤ 检错电路输出结果中如果某一位为“1”则表示该位置所对应的虚拟可重构电路上的目标电路,出现了故障;⑤ If a bit in the output result of the error detection circuit is "1", it means that the target circuit on the virtual reconfigurable circuit corresponding to this position has a fault;
⑥ 当检测出某一个电路模块出现故障后,将自动启动软件部分,在那块出现错误的虚拟可重构电路上进行方法2的运行流程,而此时只需重新找出一个合适的配置串,并对出错的那个虚拟可重构电路进行重配置,从而实现该模块的自修复;⑥ When a certain circuit module is detected to be faulty, the software part will be automatically started, and the operation process of method 2 will be carried out on the faulty virtual reconfigurable circuit. At this time, it is only necessary to find a suitable configuration string again. , and reconfigure the faulty virtual reconfigurable circuit, so as to realize the self-repair of the module;
(4)通过硬件中断来模拟错误的注入,观测系统的运行及调试,该步骤包括:(4) Simulate the injection of errors through hardware interrupts, and observe the operation and debugging of the system. This step includes:
①实现按钮的中断IP核;① Realize the interrupt IP core of the button;
②当按下一个按钮时,便随机产生某一种类型的错误,错误类型分别为:常0、常1、不变、翻转;②When a button is pressed, a certain type of error will be randomly generated, and the error types are: constant 0, constant 1, unchanged, and flipped;
③将以上错误代码,分别注入到虚拟可重构电路的随机一块LUT之上,用来改变该LUT的输出值,从而影响整个电路的输出值;③Inject the above error codes into a random LUT of the virtual reconfigurable circuit to change the output value of the LUT, thereby affecting the output value of the entire circuit;
④当某一个逻辑单元被配置串改变了其内部状态后,系统的输出结果就有可能改变。④ When a logic unit is configured to change its internal state, the output of the system may change.
所述步骤(2)的子步骤③进一步包括:The sub-step ③ of the step (2) further includes:
将每一个个体,即一个配置串写入虚拟可重构电路;Write each individual, that is, a configuration string into the virtual reconfigurable circuit;
写入完成后,在虚拟可重构电路的输入端,不断地模拟输入目标电路的真值表的输入部分;After the writing is completed, at the input end of the virtual reconfigurable circuit, the input part of the truth table input to the target circuit is continuously simulated;
将虚拟可重构电路的输出与RAM中存放的目标电路的真值表的输出部分进行同或运算,再次将结果输出;Carry out an exclusive-or operation on the output of the virtual reconfigurable circuit and the output part of the truth table of the target circuit stored in the RAM, and output the result again;
计算上一步的输出结果中“1”的个数。Count the number of "1"s in the output of the previous step.
所述步骤(2)的子步骤⑤进一步包括:The sub-step ⑤ of the step (2) further includes:
将目前种群中的最优个体选出,直接进入下一代种群;Select the best individuals in the current population and directly enter the next generation population;
将目前种群中的最优个体,以某一概率随机的改变其配置串的某一位或某些位,然后放入下一代种群;Randomly change a certain bit or bits of the configuration string of the best individual in the current population with a certain probability, and then put it into the next generation population;
将上一步骤的操作重复多次,直至新一代种群中个体的个数与上一代相同。Repeat the operation of the previous step several times until the number of individuals in the new generation population is the same as that of the previous generation.
本发明具有以下优点和积极效果:The present invention has the following advantages and positive effects:
1)本发明采用基于LUT级的虚拟可重构电路作为电路演化的硬件基础,具有良好的可扩展性,能够丰富目标电路的多样性;1) The present invention uses LUT-level virtual reconfigurable circuits as the hardware basis for circuit evolution, which has good scalability and can enrich the diversity of target circuits;
2)本发明使用的是基于软硬件协同工作方式的在线演化,能够充分利用目标器件的物理特性,演化出适合实际工作环境的目标电路,为电路在特定环境中的正确性提供保障;2) The present invention uses online evolution based on software and hardware collaborative work, which can make full use of the physical characteristics of the target device, evolve a target circuit suitable for the actual working environment, and provide guarantee for the correctness of the circuit in a specific environment;
3)本发明采用三模异构冗余方式,减小了三个不同模块之间的错误相关性,即同时出错的可能性,从而提高了整个冗余容错系统的容错能力。3) The present invention adopts a three-mode heterogeneous redundancy mode, which reduces the error correlation between three different modules, that is, the possibility of simultaneous errors, thereby improving the fault tolerance of the entire redundant fault-tolerant system.
附图说明Description of drawings
图1是本发明的基本逻辑单元结果图。Fig. 1 is the result diagram of the basic logic unit of the present invention.
图2是本发明中虚拟可重构电路结构图。Fig. 2 is a structural diagram of a virtual reconfigurable circuit in the present invention.
图3是本发明三模异构冗余容错系统IP核结构图。Fig. 3 is a structural diagram of the IP core of the three-mode heterogeneous redundant fault-tolerant system of the present invention.
图4是本发明中三模冗余原理图。Fig. 4 is a principle diagram of triple-mode redundancy in the present invention.
图5是本发明中系统初始化流程图。Fig. 5 is a flowchart of system initialization in the present invention.
图6是本发明中系统检错、容错流程图。Fig. 6 is a flow chart of system error detection and error tolerance in the present invention.
图7是本发明的系统总体结构图。Fig. 7 is a general structure diagram of the system of the present invention.
具体实施方式Detailed ways
本发明提供的基于LUT级演化硬件的三模异构冗余容错方法,包括以下步骤:The three-mode heterogeneous redundant fault-tolerant method based on LUT level evolution hardware provided by the present invention comprises the following steps:
1、在FPGA上实现三模异构冗余容错的IP核;1. Realize three-mode heterogeneous redundant fault-tolerant IP core on FPGA;
三模异构冗余容错的IP核包含了三个用于构造目标电路的基础,即虚拟可重构电路;表决电路,检错电路以及存放目标电路真值表的RAM。The three-mode heterogeneous redundant fault-tolerant IP core includes three bases for constructing the target circuit, that is, the virtual reconfigurable circuit; the voting circuit, the error detection circuit and the RAM storing the truth table of the target circuit.
首先,整个IP核的基础是基本逻辑单元,以基于LUT(Look-Up-Table, 查找表)的方式实现,由多个多路选择器和一个LUT共同组成。LUT本质上就是一个RAM,它的原理是把数据事先写入RAM后,每当输入一个信号,就等于输入了一个地址进行查表,找出该地址对应的内容,然后输出。数字电路中的每一种组合逻辑都可以表示成一个LUT多路选择器用于选择逻辑单元的输入信号中的具体某一位作为RAM的输入,其作用等同于决定本模块与前面模块的具体连线方式;RAM中存放的是代表该逻辑单元具体功能的二进制串,相当于一个组合逻辑电路的真值表。因此,由该模块的配置串决定逻辑单元之间的布线连接方式和逻辑单元要实现的具体功能。First of all, the basis of the entire IP core is the basic logic unit, which is implemented based on a LUT (Look-Up-Table, look-up table) and consists of multiple multiplexers and a LUT. LUT is essentially a RAM. Its principle is that after writing data into RAM in advance, whenever a signal is input, it is equivalent to inputting an address to look up the table, find out the content corresponding to the address, and then output it. Each combination logic in a digital circuit can be expressed as a LUT multiplexer to select a specific bit in the input signal of the logic unit as the input of the RAM, and its function is equivalent to determining the specific connection between this module and the previous module. Line mode; what is stored in the RAM is a binary string representing the specific function of the logic unit, which is equivalent to a truth table of a combinational logic circuit. Therefore, the configuration string of the module determines the wiring connection mode between the logic units and the specific functions to be realized by the logic units.
然后,虚拟可重构电路由m行n列的基本逻辑单元构成,每个基本逻辑单元均是结构完全相同的可配置电路模块,每个逻辑单元的输出都有可能成为其后一列逻辑单元的输入,也都有可能成为整个虚拟可重构电路最终输出结果的一部分。当把某一个配置串配置到虚拟可重构电路时,那么这个虚拟可重构电路实际上就代表了某一个特定功能的目标电路。这个配置串里面既包含了每个基本逻辑单元的功能配置信息,也包含了逻辑单元之间的相互连接信息,还决定了由哪几个基本逻辑单元的输出来共同组成最终的电路输出结果。Then, the virtual reconfigurable circuit is composed of basic logic units with m rows and n columns. Each basic logic unit is a configurable circuit module with the same structure. The output of each logic unit may become the output of the next column of logic units. The input may also become part of the final output of the entire virtual reconfigurable circuit. When a configuration string is configured to a virtual reconfigurable circuit, the virtual reconfigurable circuit actually represents a target circuit with a specific function. This configuration string not only contains the functional configuration information of each basic logic unit, but also includes the interconnection information between logic units, and also determines which basic logic unit outputs jointly form the final circuit output result.
然后,将三块虚拟可重构电路并联,且将其输出端通过表决电路联系起来,从而形成三模异构冗余,其作用是使得整个模块的最终输出始终取三个目标电路的输出值中的占多数的值,即当某一个目标电路模块出现错误的时候,该模块的错误输出值会被屏蔽,不影响最终整个模块输出的正确性。Then, the three virtual reconfigurable circuits are connected in parallel, and their outputs are connected through the voting circuit to form a three-mode heterogeneous redundancy. Its function is to make the final output of the entire module always take the output value of the three target circuits The majority value in , that is, when an error occurs in a certain target circuit module, the error output value of the module will be masked, without affecting the final correctness of the output of the entire module.
最后再将三个目标电路的输出与表决电路的输出连接形成检错电路,其作用是将最终的输出结果与三个目标电路的输出值进行比较,实质就是进行一次异或运算,根据运算的结果,判断出是哪个模块出现了错误。Finally, the output of the three target circuits is connected with the output of the voting circuit to form an error detection circuit. Its function is to compare the final output result with the output values of the three target circuits. As a result, it is judged which module has caused the error.
此外,该IP核还包含存放目标真值表的RAM电路,参与软硬件协同的遗传算法的运行。In addition, the IP core also includes a RAM circuit that stores the target truth table, and participates in the operation of the genetic algorithm coordinated by software and hardware.
2、基于MicroBlaze软核CPU实现软硬件协同的遗传算法;2. Based on the MicroBlaze soft-core CPU to realize the genetic algorithm of software and hardware collaboration;
通过遗传算法搜索功能相同但结构不同的目标电路,该算法的主体部分运行于MicroBlaze软核CPU上,其中的适应值评价部分需要借助于三模异构冗余容错IP核中的虚拟可重构电路来和RAM电路进行在线评估,然后计算出适应值。The target circuit with the same function but different structure is searched through the genetic algorithm. The main part of the algorithm runs on the MicroBlaze soft-core CPU, and the fitness value evaluation part needs to rely on the virtual reconfigurable in the three-mode heterogeneous redundant fault-tolerant IP core. The circuit is evaluated online with the RAM circuit, and then the fitness value is calculated.
算法步骤描述如下:The algorithm steps are described as follows:
步骤1 随机产生初始化种群,种群中的每一个个体都为了一个电路的配置串。Step 1 Randomly generate an initialization population, and each individual in the population is for a configuration string of a circuit.
步骤2 将目标电路的真值表存放到RAM中。Step 2 Store the truth table of the target circuit in RAM.
步骤3 将种群中的每一个个体下载到虚拟可重构电路进行在线评估。Step 3 Download each individual in the population to the virtual reconfigurable circuit for online evaluation.
步骤3.1 将每一个个体,即一个配置串写入虚拟可重构电路。Step 3.1 Write each individual, that is, a configuration string into the virtual reconfigurable circuit.
步骤3.2 写入完成后,在虚拟可重构电路的输入端,不断地模拟输入目标电路的真值表的输入部分。Step 3.2 After the writing is completed, at the input end of the virtual reconfigurable circuit, continuously simulate the input part of the truth table of the input target circuit.
步骤3.3 将虚拟可重构电路的输出与RAM中存放的目标电路的真值表的输出部分进行同或运算,再次将结果输出。Step 3.3 Perform an exclusive OR operation on the output of the virtual reconfigurable circuit and the output part of the truth table of the target circuit stored in RAM, and output the result again.
步骤3.4 计算上一步的输出结果中“1”的个数。Step 3.4 Calculate the number of "1" in the output result of the previous step.
步骤4 在步骤3完成了对所有个体的评估之后,找出是否有满足要求的个体,即该个体所对应的最终输出结果中“1”的个数等于目标电路真值表的行数。Step 4 After completing the evaluation of all individuals in step 3, find out whether there is an individual that meets the requirements, that is, the number of "1" in the final output corresponding to this individual is equal to the number of rows in the truth table of the target circuit.
步骤5 如果没有满足要求的个体,则需要产生新的种群。否则至第6步。Step 5 If there are no individuals that meet the requirements, a new population needs to be generated. Otherwise go to step 6.
步骤5.1 将目前种群中的最优个体选出,直接进入下一代种群。Step 5.1 Select the best individuals in the current population and directly enter the next generation population.
步骤5.2 将目前种群中的最优个体,以某一概率随机的改变其配置串的某一位或某些位,然后放入下一代种群。Step 5.2 Randomly change a certain bit or some bits of the optimal individual in the current population with a certain probability, and then put it into the next generation population.
步骤5.2 将5.2的操作重复多次,直至新一代种群中个体的个数与上一代相同。Step 5.2 Repeat the operation of 5.2 several times until the number of individuals in the new generation population is the same as that of the previous generation.
步骤6如果找到了满足要求的个体,则重新进行步骤1,直至最终找到了三个满足要求的个体,此算法停止。In step 6, if an individual meeting the requirements is found, repeat step 1 until finally three individuals meeting the requirements are found, and the algorithm stops.
3、软硬件协同实现对三个异构目标电路的初始化及以后的修复工作;3. The software and hardware cooperate to realize the initialization and subsequent repair of three heterogeneous target circuits;
在上一步中,通过遗传算法,寻找到了三个配置串,此时便可将其对三块虚拟可重构电路进行配置。In the previous step, through the genetic algorithm, three configuration strings are found, and at this time they can be configured for the three virtual reconfigurable circuits.
步骤1 将三个配置串,分别写入到三个虚拟可重构电路之中。Step 1 Write three configuration strings into three virtual reconfigurable circuits respectively.
步骤2 运行于MicroBlaze软核CPU上软件部分停止。Step 2 The software running on the MicroBlaze soft-core CPU is partially stopped.
步骤3 三个虚拟可重构电路的输入端连接到了硬件上的激励信号,该激励信号是用硬件描述语言写的一小段代码,其作用是不断地产生目标电路的真值表的输入部分。Step 3 The input terminals of the three virtual reconfigurable circuits are connected to the excitation signal on the hardware. The excitation signal is a small piece of code written in the hardware description language, and its function is to continuously generate the input part of the truth table of the target circuit.
步骤4 激励信号产生的数据被输入到虚拟可重构电路之中,然后将运算的结果通过表决电路输出。Step 4 The data generated by the excitation signal is input into the virtual reconfigurable circuit, and then the result of the operation is output through the voting circuit.
步骤5 监控方法1中提到的检错电路的输出结果,检错电路输出结果中如果某一位为“1”则表示该位置所对应的虚拟可重构电路上的目标电路,出现了故障。Step 5 Monitor the output result of the error detection circuit mentioned in method 1. If a bit in the output result of the error detection circuit is "1", it means that the target circuit on the virtual reconfigurable circuit corresponding to this position has a fault .
步骤6当检测出某一个电路模块出现故障后,将自动启动软件部分,在那块出现错误的虚拟可重构电路上进行方法2的运行流程,而此时只需重新找出一个合适的配置串,并对出错的那个虚拟可重构电路进行重配置,从而实现该模块的自修复。Step 6: When a certain circuit module is detected to be faulty, the software part will be started automatically, and the operation process of method 2 will be performed on the faulty virtual reconfigurable circuit. At this time, it is only necessary to find a suitable configuration again string, and reconfigure the faulty virtual reconfigurable circuit, so as to realize the self-healing of the module.
4、通过硬件中断来模拟错误的注入,观测系统的运行及调试。4. Simulate the injection of errors through hardware interrupts, and observe the operation and debugging of the system.
通过硬件激励信号,往基本逻辑单元中注入某一段特殊的配置串,以改变该单元的正常输出结果,用于模拟虚拟可重构电路中某个节点发生了错误,进而观察系统的容错流程和对系统性能进行调试。Through the hardware excitation signal, a special configuration string is injected into the basic logic unit to change the normal output of the unit, which is used to simulate an error in a node in the virtual reconfigurable circuit, and then observe the fault-tolerant process of the system and Debug system performance.
硬件激励信号通过按钮来产生,按下按钮后,随机的产生一个配置串,并下载到虚拟可重构电路的某一个逻辑单元中。The hardware excitation signal is generated by a button. After pressing the button, a configuration string is randomly generated and downloaded to a logic unit of the virtual reconfigurable circuit.
步骤1 实现按钮的中断IP核,该IP核的定义通常如下:Step 1 Realize the interrupt IP core of the button. The definition of the IP core is usually as follows:
entity ButtonFilter isentity ButtonFilter is
generic(CLK_FREQ : integer;Generic(CLK_FREQ : integer;
NUM_SWITCHES : integer);NUM_SWITCHES : integer);
port ( clk : in std_logic;port ( clk : in std_logic;
reset : in std_logic;reset : in std_logic;
buttonArray : in std_logic_vector(NUM_SWITCHES-1 downto 0);Buttonarray: in std_logic_vector (num_switches-1 downloado 0);
pressArray : out std_logic_vector(NUM_SWITCHES-1 downto 0));Pressarray: Out STD_LOGIC_VECTOR (NUM_SWITCHES-DOWNTO 0));
end entity ButtonFilter;end entity ButtonFilter;
这里定义了三个按钮,组成一个按钮组,这三个按钮分别控制三个虚拟可重构电路,用来对其进行错误注入。Three buttons are defined here to form a button group, and these three buttons respectively control three virtual reconfigurable circuits for fault injection.
步骤2 当按下一个按钮时,便随机产生某一种类型的错误,错误类型分别为:常0、常1、不变、翻转。分别对应代码“”10、“11”、“00”、“01”。Step 2 When a button is pressed, a certain type of error will be randomly generated. The error types are: constant 0, constant 1, unchanged, and flipped. Corresponding to the codes ""10, "11", "00" and "01" respectively.
步骤3 将以上错误代码,分别注入到虚拟可重构电路的随机一块LUT之上,用来改变该LUT的输出值,从而影响整个电路的输出值。Step 3 Inject the above error codes into a random LUT of the virtual reconfigurable circuit to change the output value of the LUT, thereby affecting the output value of the entire circuit.
步骤4 当某一个逻辑单元被配置串改变了其内部状态后,系统的输出结果就有可能改变。此时,如果检错电路检测出某一个虚拟可重构电路上的目标电路出现了故障,则转入方法3进行自修复。Step 4 When a logic unit is configured to change its internal state, the output of the system may change. At this time, if the error detection circuit detects that the target circuit on a certain virtual reconfigurable circuit is faulty, then transfer to method 3 for self-repair.
下面以具体实施例结合附图对本发明作进一步说明:Below in conjunction with accompanying drawing, the present invention will be further described with specific embodiment:
本实例是在XC2VP30 FPGA开发板上实现,使用MicroBlaze软核作为处理器,使用片上内存作为存储器,以四位奇偶校验电路作为目标电路。另外,本发明中提供了一种错误注入机制,以此来模拟现实中可能发生的错误,将其在某一时刻人为注入到IP核中,以便来观察整个系统的容错流程及效果,因此,基本逻辑单元的设计,采用了带错误注入的LUT方式。This example is implemented on the XC2VP30 FPGA development board, using the MicroBlaze soft core as the processor, the on-chip memory as the memory, and the four-bit parity circuit as the target circuit. In addition, the present invention provides an error injection mechanism to simulate errors that may occur in reality, and artificially inject it into the IP core at a certain moment in order to observe the fault-tolerant process and effect of the entire system. Therefore, The design of the basic logic unit adopts the LUT method with error injection.
如图1所示,一个基本逻辑单元的具体结构图,后面追加了一个错误注入模块,用于对整个系统进行测试,错误注入的方式是通过额外的输入一组激励信号,以模拟不同的错误类型,使得某一个基本逻辑单元发生错误。这组额外的激励信号不属于目标电路的配置串,并不参与演化,因此并不增加配置串的长度,且在默认情况下,激励信号为“00”,不改变基本逻辑单元的正确性,等同于没有错误发生。As shown in Figure 1, the specific structure diagram of a basic logic unit is followed by an error injection module for testing the entire system. The error injection method is to simulate different errors by inputting an additional set of excitation signals. type, causing an error to occur in a basic logical unit. This set of additional excitation signals does not belong to the configuration string of the target circuit and does not participate in the evolution, so it does not increase the length of the configuration string, and by default, the excitation signal is "00", which does not change the correctness of the basic logic unit. Equivalent to no error occurring.
如图2所示,虚拟可重构电路是由8行4列的基本逻辑单元构造而成,每一列逻辑单元的输入来自于其前一列逻辑单元的输出和系统的原始输入信号;整个虚拟可重构电路的输出,是从所有的基本逻辑单元的输出值中挑选某几个组成。对每一个虚拟可重构电路,都有一个最终的配置串,来表明该虚拟可重构电路所实现的目标电路。对配置串,我们通过一个结构体来定义,其定义方式如下:As shown in Figure 2, the virtual reconfigurable circuit is constructed of basic logic units with 8 rows and 4 columns, and the input of each column of logic units comes from the output of the previous column of logic units and the original input signal of the system; The output of the reconstructed circuit is selected from the output values of all the basic logic units. For each virtual reconfigurable circuit, there is a final configuration string to indicate the target circuit realized by the virtual reconfigurable circuit. For the configuration string, we define it through a structure, which is defined as follows:
typedef structtypedef struct
{{
Xuint32 cellConfigs[NUM_CELLS];Xuint32 cellConfigs[NUM_CELLS];
Xuint32 outputSel0;Xuint32 outputSel0;
Xuint32 outputSel1;Xuint32 outputSel1;
Xuint32 fitness;Xuint32 fitness;
} ArrayConfig;} ArrayConfig;
其中,Xuint32是32位无符号整型,cellConfigs[NUM_CELLS]是存有每一个基本逻辑单元配置串的数组,此处NUM_CELLS的值为32,;outputSel0与outputSel1为电路输出节点的选择信号,决定由哪两个节点来构成最终目标电路的输出节点;fitness代表了该虚拟可重构电路配置串的适应值。Among them, Xuint32 is a 32-bit unsigned integer, cellConfigs[NUM_CELLS] is an array storing configuration strings of each basic logic unit, where the value of NUM_CELLS is 32; outputSel0 and outputSel1 are selection signals for circuit output nodes, determined by Which two nodes constitute the output node of the final target circuit; fitness represents the fitness value of the virtual reconfigurable circuit configuration string.
如图3所示,三模异构冗余容错系统IP核主要由虚拟可重构电路,表决电路,检错电路以及存放目标电路真值表的RAM组成。 该IP核即可与软件部分协同工作,也可直接与其他的硬件逻辑联合运行。当系统在初始化时,以及系统处于容错修复阶段时,该IP核与软件部分协同运行。当三个虚拟可重构电路被初始化完毕,且没有错误注入的情况下,或者是在错误已经修复完毕的情况下,软件部分将被关闭,转而进入到硬件内部运行阶段。这一阶段的目的是为错误的模拟注入提供条件,此时,Input信号将不断的进行数据的输入,以激励三个容错模块、表决电路和检错电路的正常运行,直到某一错误被注入到了某一模块之上,模拟某一类错误的发生,以便观测到整个系统的容错流程及效果。As shown in Figure 3, the IP core of the three-mode heterogeneous redundant fault-tolerant system is mainly composed of a virtual reconfigurable circuit, a voting circuit, an error detection circuit and a RAM storing the truth table of the target circuit. The IP core can work in conjunction with the software part, or directly in conjunction with other hardware logic. When the system is initialized and the system is in the stage of fault-tolerant repair, the IP core and the software part operate in cooperation. When the three virtual reconfigurable circuits are initialized and there is no error injection, or when the error has been fixed, the software part will be closed and enter the internal operation stage of the hardware. The purpose of this stage is to provide conditions for error simulation injection. At this time, the Input signal will continuously input data to stimulate the normal operation of the three fault-tolerant modules, voting circuits and error detection circuits until a certain error is injected. On a certain module, simulate the occurrence of a certain type of error in order to observe the fault-tolerant process and effect of the entire system.
如图4所示,表决电路的实现原理一个组合逻辑电路,表达式为:OUT=AB+BC+AC。当ABC三个输入信号中,某一个发生错误,即与另外两个的输入值不相同时,OUT的值仍然不变,仍未原值,也就是ABC中占多数的值。因此,可以在OUT值始终不变,即不影响系统性能的情况下,实现对某一错误模块的容错,同时可以启动对该模块的修复程序。As shown in Figure 4, the implementation principle of the voting circuit is a combinational logic circuit, and the expression is: OUT=AB+BC+AC. When an error occurs in one of the three input signals of ABC, that is, when the input value of the other two is different, the value of OUT remains unchanged, not the original value, which is the majority value in ABC. Therefore, the fault tolerance to a faulty module can be realized and the repair program for the module can be started at the same time when the OUT value remains unchanged, that is, without affecting the system performance.
如图5所示,在系统初始化阶段,通过软硬件协同的方式,采用遗传算法搜索三个功能相同但结构不同的目标电路的配置串,并配置到三个虚拟可重构电路结构之中,完成整个容错系统的初始化工作。首先,将目标电路的真值表写入RAM,其作用是在演化过程中进行个体适应值的计算,直到适应值满足目标电路的需要,则找到了代表目标电路的配置串。重复执行三次搜索过程,则找到了三个功能相同但结构不同的目标电路配置串。完毕之后,软件部分将停止运行,系统切换到硬件部分内部运行状态。As shown in Figure 5, in the system initialization stage, through software and hardware coordination, the genetic algorithm is used to search for the configuration strings of three target circuits with the same function but different structures, and configure them into three virtual reconfigurable circuit structures. Complete the initialization of the entire fault-tolerant system. Firstly, the truth table of the target circuit is written into RAM, its function is to calculate the individual fitness value in the evolution process, until the fitness value meets the needs of the target circuit, the configuration string representing the target circuit is found. The search process is repeated three times, and three target circuit configuration strings with the same function but different structures are found. After completion, the software part will stop running, and the system will switch to the internal running state of the hardware part.
如图6所示,在系统容错阶段,整个电路将处于纯硬件的内部运行状态,Input输入信号,将不断的输入真值表中的输入部分,以激励整个容错模块处于运行状态,此时表决电路和检错电路都在正常的工作。需等到某一错误状态出现时,系统才会进行容错处理。本发明中通过三个按钮来对错误进行模拟注入。注入采用的是系统中断方式,因为使用的是MicroBlaze处理器,所以中断函数定义为:As shown in Figure 6, in the fault-tolerant stage of the system, the entire circuit will be in the internal operating state of pure hardware, and the Input input signal will be continuously input into the input part of the truth table to motivate the entire fault-tolerant module to be in the running state. At this time, the voting Both the circuit and the error detection circuit are working normally. The system will not perform fault-tolerant processing until a certain error state occurs. In the present invention, three buttons are used to simulate and inject errors. The injection uses the system interrupt method, because the MicroBlaze processor is used, so the interrupt function is defined as:
void setupInterrupts(void)void setupInterrupts(void)
{{
// Register Button Interrupt Handler// Register Button Interrupt Handler
XIntc_RegisterHandler( XPAR_XPS_INTC_0_BASEADDR,XIntc_RegisterHandler( XPAR_XPS_INTC_0_BASEADDR,
XPAR_XPS_INTC_0_PLB_IFCE_FTSYSTEM_0_BUTTONIRQ_INTR,XPAR_XPS_INTC_0_PLB_IFCE_FTSYSTEM_0_BUTTONIRQ_INTR,
(XInterruptHandler)buttonPressISR, (void *)0);(XInterruptHandler)buttonPressISR, (void *)0);
// Enable the Interrupt Controller// Enable the Interrupt Controller
XIntc_mMasterEnable(XPAR_XPS_INTC_0_BASEADDR);XIntc_mMasterEnable(XPAR_XPS_INTC_0_BASEADDR);
// Set Interrupt Controller Enable for the buttons// Set Interrupt Controller Enable for the buttons
XIntc_mEnableIntr(XPAR_XPS_INTC_0_BASEADDR, XPAR_PLB_IFCE_FTSYSTEM_0_BUTTONIRQ_MASK);XIntc_mEnableIntr(XPAR_XPS_INTC_0_BASEADDR, XPAR_PLB_IFCE_FTSYSTEM_0_BUTTONIRQ_MASK);
// Enable Microblaze Interrupts// Enable Microblaze Interrupts
microblaze_enable_interrupts();microblaze_enable_interrupts();
}}
当某一电路模块出错时,检错电路会检测出出错模块,然后将开始启动软件部分,连同出错模块所在的虚拟可重构电路,再次执行类似系统初始化阶段的搜索过程,找到一个新的配置串,并对系统进行配置,进而恢复出错的那一模块的正确功能。修复完毕,系统软件将再次停止,整个系统再次处于内部运行状态。When a circuit module fails, the error detection circuit will detect the faulty module, and then start the software part, together with the virtual reconfigurable circuit where the faulty module is located, perform a search process similar to the system initialization stage again to find a new configuration String, and configure the system, and then restore the correct function of the wrong module. Once repaired, the system software will stop again, and the entire system will run internally again.
如图7所示,系统的总体结构主要包括PLBv46总线和SPLB总线, PLBv46总线是处理器与所有外部设备进行数据交换的公共通道,各个外部设备分别通过SPLB总线挂载到PLBv46总线之上。在本实例中,共挂载有XPS BRAM片上内存、XPS INTC中断、UART Lite串口通信这三个系统自带的IP核,以及FTBlock用户自定义IP核,即本发明中的三模异构冗余容错的IP核。每个IP核均有独立的由系统分配的起始地址和偏移地址。IP核中有定义好的寄存器,用来存储与处理器之间需要交换的数据。As shown in Figure 7, the overall structure of the system mainly includes the PLBv46 bus and the SPLB bus. The PLBv46 bus is a common channel for data exchange between the processor and all external devices. Each external device is mounted on the PLBv46 bus through the SPLB bus. In this example, there are three IP cores that come with the system: XPS BRAM on-chip memory, XPS INTC interrupt, and UART Lite serial communication, and FTBlock user-defined IP core, that is, the three-mode heterogeneous redundancy in the present invention. I fault-tolerant IP core. Each IP core has an independent start address and offset address assigned by the system. There are defined registers in the IP core, which are used to store the data that needs to be exchanged with the processor.
以上实施例仅供说明本发明之用,而非对本发明的限制,有关技术领域的技术人员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变型,因此所有等同的技术方案,都落入本发明的保护范围。The above embodiments are only for the purpose of illustrating the present invention, rather than limiting the present invention. Those skilled in the relevant technical fields can also make various changes or modifications without departing from the spirit and scope of the present invention. Therefore, all equivalent All technical solutions fall within the protection scope of the present invention.
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110078273 CN102135928B (en) | 2011-03-30 | 2011-03-30 | Isomerous triple modular redundancy fault-tolerant method based on LUT (Look-up Table) evolvable hardware |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110078273 CN102135928B (en) | 2011-03-30 | 2011-03-30 | Isomerous triple modular redundancy fault-tolerant method based on LUT (Look-up Table) evolvable hardware |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102135928A true CN102135928A (en) | 2011-07-27 |
CN102135928B CN102135928B (en) | 2013-07-24 |
Family
ID=44295716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110078273 Expired - Fee Related CN102135928B (en) | 2011-03-30 | 2011-03-30 | Isomerous triple modular redundancy fault-tolerant method based on LUT (Look-up Table) evolvable hardware |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102135928B (en) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102650962A (en) * | 2012-04-10 | 2012-08-29 | 北京航空航天大学 | Soft core fault-tolerant spaceborne computer based on FPGA (Field Programmable Gata Array) |
CN102799734A (en) * | 2012-07-20 | 2012-11-28 | 天津工大瑞工光电技术有限公司 | Design system for heterogeneous fault-tolerant circuits based on spatial search technology |
CN104063321A (en) * | 2014-06-27 | 2014-09-24 | 北京控制工程研究所 | Test verifying system and test verifying method for microblaze soft-core program |
CN104573288A (en) * | 2015-02-05 | 2015-04-29 | 北京神舟航天软件技术有限公司 | Digital simulation system of triple-modular redundancy computer |
CN104657238A (en) * | 2015-02-10 | 2015-05-27 | 北京控制工程研究所 | Reconfigurable fault-tolerant method based on array structure |
CN105069256A (en) * | 2015-08-31 | 2015-11-18 | 中国航天科技集团公司第九研究院第七七一研究所 | TMR-based implementation and fault injection simulation platform and simulation method |
CN106021036A (en) * | 2016-05-26 | 2016-10-12 | 工业和信息化部电子第五研究所 | Reconfigurable system fault analyzing method and device |
EP3115900A1 (en) * | 2015-07-06 | 2017-01-11 | Akademia Gorniczo-Hutnicza im. Stanislawa Staszica w Krakowie | A computer system and a method for executing safety-critical applications using voting |
WO2017113058A1 (en) * | 2015-12-28 | 2017-07-06 | 京微雅格(北京)科技有限公司 | Fpga chip wiring method based on plb |
CN108021975A (en) * | 2017-11-15 | 2018-05-11 | 天津大学 | Integrated circuit fault-resistant attacking ability appraisal procedure based on genetic algorithm |
CN108345250A (en) * | 2018-03-08 | 2018-07-31 | 常玲玲 | A kind of non-delay control device of Evolvable Hardware |
CN108445797A (en) * | 2018-03-08 | 2018-08-24 | 常玲玲 | A kind of non-delay control method of Evolvable Hardware |
CN109271282A (en) * | 2018-09-06 | 2019-01-25 | 北京时代民芯科技有限公司 | A kind of single-particle multidigit is wrong independently to repair triple redundance assembly line and design method |
CN110007908A (en) * | 2019-03-07 | 2019-07-12 | 中科亿海微电子科技(苏州)有限公司 | Dual output look-up table and programmable logic cells with double carry chain structures |
CN110879523A (en) * | 2019-12-11 | 2020-03-13 | 中国人民解放军陆军工程大学 | A repair switching control module |
CN113721135A (en) * | 2021-07-22 | 2021-11-30 | 南京航空航天大学 | SRAM type FPGA fault online fault tolerance method |
CN114647541A (en) * | 2022-03-18 | 2022-06-21 | 西安微电子技术研究所 | Circuit self-repairing method based on improved evolution hardware |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101446996A (en) * | 2008-12-17 | 2009-06-03 | 复旦大学 | Virtual FPGA structural modeling and mapping method thereof |
-
2011
- 2011-03-30 CN CN 201110078273 patent/CN102135928B/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101446996A (en) * | 2008-12-17 | 2009-06-03 | 复旦大学 | Virtual FPGA structural modeling and mapping method thereof |
Non-Patent Citations (2)
Title |
---|
KEYMEULEN,D: "Fault-tolerant Evolvable Harware Using Field-Programmable Transistor Arrays", 《IEEE TRANSACTIONS ON RELIABILITY》, vol. 49, no. 3, 30 September 2000 (2000-09-30), XP011053003 * |
高桂军,王友仁,姚睿: "系统异构冗余容错设计研究", 《传感器与微系统》, vol. 26, no. 10, 31 October 2007 (2007-10-31) * |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102650962B (en) * | 2012-04-10 | 2015-04-08 | 北京航空航天大学 | Soft core fault-tolerant spaceborne computer based on FPGA (Field Programmable Gata Array) |
CN102650962A (en) * | 2012-04-10 | 2012-08-29 | 北京航空航天大学 | Soft core fault-tolerant spaceborne computer based on FPGA (Field Programmable Gata Array) |
CN102799734A (en) * | 2012-07-20 | 2012-11-28 | 天津工大瑞工光电技术有限公司 | Design system for heterogeneous fault-tolerant circuits based on spatial search technology |
CN104063321B (en) * | 2014-06-27 | 2017-06-13 | 北京控制工程研究所 | A kind of test checking system and test verification method for the soft core programs of MicroBlaze |
CN104063321A (en) * | 2014-06-27 | 2014-09-24 | 北京控制工程研究所 | Test verifying system and test verifying method for microblaze soft-core program |
CN104573288A (en) * | 2015-02-05 | 2015-04-29 | 北京神舟航天软件技术有限公司 | Digital simulation system of triple-modular redundancy computer |
CN104657238A (en) * | 2015-02-10 | 2015-05-27 | 北京控制工程研究所 | Reconfigurable fault-tolerant method based on array structure |
EP3115900A1 (en) * | 2015-07-06 | 2017-01-11 | Akademia Gorniczo-Hutnicza im. Stanislawa Staszica w Krakowie | A computer system and a method for executing safety-critical applications using voting |
CN105069256B (en) * | 2015-08-31 | 2018-01-16 | 中国航天科技集团公司第九研究院第七七一研究所 | A kind of realization and direct fault location emulation platform and emulation mode based on TMR |
CN105069256A (en) * | 2015-08-31 | 2015-11-18 | 中国航天科技集团公司第九研究院第七七一研究所 | TMR-based implementation and fault injection simulation platform and simulation method |
CN110313002A (en) * | 2015-12-28 | 2019-10-08 | 京微雅格(北京)科技有限公司 | A kind of fpga chip wiring method based on PLB |
WO2017113058A1 (en) * | 2015-12-28 | 2017-07-06 | 京微雅格(北京)科技有限公司 | Fpga chip wiring method based on plb |
CN110313002B (en) * | 2015-12-28 | 2023-02-24 | 京微雅格(北京)科技有限公司 | FPGA chip wiring method based on PLB |
CN106021036A (en) * | 2016-05-26 | 2016-10-12 | 工业和信息化部电子第五研究所 | Reconfigurable system fault analyzing method and device |
CN106021036B (en) * | 2016-05-26 | 2019-10-18 | 工业和信息化部电子第五研究所 | Reconfigurable system fault analysis method and device |
CN108021975A (en) * | 2017-11-15 | 2018-05-11 | 天津大学 | Integrated circuit fault-resistant attacking ability appraisal procedure based on genetic algorithm |
CN108445797A (en) * | 2018-03-08 | 2018-08-24 | 常玲玲 | A kind of non-delay control method of Evolvable Hardware |
CN108345250B (en) * | 2018-03-08 | 2020-04-21 | 河南科技大学 | An Evolving Hardware Delay-Free Control Device |
CN108445797B (en) * | 2018-03-08 | 2020-06-02 | 河南科技大学 | Evolvable hardware delay-free control method |
CN108345250A (en) * | 2018-03-08 | 2018-07-31 | 常玲玲 | A kind of non-delay control device of Evolvable Hardware |
CN109271282A (en) * | 2018-09-06 | 2019-01-25 | 北京时代民芯科技有限公司 | A kind of single-particle multidigit is wrong independently to repair triple redundance assembly line and design method |
CN110007908A (en) * | 2019-03-07 | 2019-07-12 | 中科亿海微电子科技(苏州)有限公司 | Dual output look-up table and programmable logic cells with double carry chain structures |
CN110007908B (en) * | 2019-03-07 | 2022-06-24 | 中科亿海微电子科技(苏州)有限公司 | Dual-output lookup table with dual carry chain structure and programmable logic unit |
CN110879523A (en) * | 2019-12-11 | 2020-03-13 | 中国人民解放军陆军工程大学 | A repair switching control module |
CN110879523B (en) * | 2019-12-11 | 2023-01-24 | 中国人民解放军陆军工程大学 | Repair switching control module |
CN113721135A (en) * | 2021-07-22 | 2021-11-30 | 南京航空航天大学 | SRAM type FPGA fault online fault tolerance method |
CN113721135B (en) * | 2021-07-22 | 2022-05-13 | 南京航空航天大学 | SRAM type FPGA fault online fault tolerance method |
CN114647541A (en) * | 2022-03-18 | 2022-06-21 | 西安微电子技术研究所 | Circuit self-repairing method based on improved evolution hardware |
CN114647541B (en) * | 2022-03-18 | 2024-04-26 | 西安微电子技术研究所 | Circuit self-repairing method based on improved evolution hardware |
Also Published As
Publication number | Publication date |
---|---|
CN102135928B (en) | 2013-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102135928B (en) | Isomerous triple modular redundancy fault-tolerant method based on LUT (Look-up Table) evolvable hardware | |
Plana et al. | A GALS infrastructure for a massively parallel multiprocessor | |
Xing et al. | Combinatorial algorithm for reliability analysis of multistate systems with propagated failures and failure isolation effect | |
CN100555235C (en) | The N-modular redundancy voting system | |
Tiwari et al. | Enhanced reliability of finite-state machines in FPGA through efficient fault detection and correction | |
CN104268253B (en) | A kind of part triplication redundancy method counted based on look-up table configuration bit | |
CN104008024A (en) | Dynamic reconstruction technology application platform based on FPGA | |
CN105653411A (en) | Multi-core processor chip reconfigurable system capable of supporting local permanent fault recovery | |
Peercy et al. | Fault tolerant VLSI systems | |
Navaridas et al. | SpiNNaker: Fault tolerance in a power-and area-constrained large-scale neuromimetic architecture | |
Xie et al. | Soft error mitigation and recovery of SRAM-based FPGAs using brain-inspired hybrid-grained scrubbing mechanism | |
Wang et al. | Fault-tolerant strategy for real-time system based on evolvable hardware | |
Yang et al. | Architecture design for reliable and reconfigurable FPGA-based GNC computer for deep space exploration | |
Yang et al. | Breaking the energy-efficiency barriers for smart sensing applications with “Sensing with Computing” architectures | |
Yang et al. | Fault tolerance in switched ASMs with intermittent faults | |
Qingqi et al. | Embryonic electronics: State of the art and future perspective | |
Jose et al. | Implementation of genetic algorithm framework for fault tolerant system on chip | |
Jackson et al. | Robot fault-tolerance using an embryonic array | |
Manske et al. | A fast approximate function generation method to ATMR architecture | |
Ulbricht et al. | PULP Fiction No More—Dependable PULP Systems for Space | |
Sakellariou et al. | An FPGA-based prototyping method for verification, characterization and optimization of LDPC error correction systems | |
Peng et al. | Fault tolerant asynchronous adder through dynamic self-reconfiguration | |
Li et al. | An energy-efficient NoC router with adaptive fault-tolerance using channel slicing and on-demand TMR | |
Khairullah et al. | Design and analysis of fault-tolerant sequential logic circuits for safety-critical applications | |
Imran et al. | A self-configuring TMR scheme utilizing discrepancy resolution |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130724 Termination date: 20170330 |
|
CF01 | Termination of patent right due to non-payment of annual fee |