[go: up one dir, main page]

CN104268253B - A kind of part triplication redundancy method counted based on look-up table configuration bit - Google Patents

A kind of part triplication redundancy method counted based on look-up table configuration bit Download PDF

Info

Publication number
CN104268253B
CN104268253B CN201410526724.XA CN201410526724A CN104268253B CN 104268253 B CN104268253 B CN 104268253B CN 201410526724 A CN201410526724 A CN 201410526724A CN 104268253 B CN104268253 B CN 104268253B
Authority
CN
China
Prior art keywords
circuit
look
node
configuration bit
redundant
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
CN201410526724.XA
Other languages
Chinese (zh)
Other versions
CN104268253A (en
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.)
Institute of Automation of Chinese Academy of Science
Original Assignee
Institute of Automation of Chinese Academy of Science
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 Institute of Automation of Chinese Academy of Science filed Critical Institute of Automation of Chinese Academy of Science
Priority to CN201410526724.XA priority Critical patent/CN104268253B/en
Publication of CN104268253A publication Critical patent/CN104268253A/en
Application granted granted Critical
Publication of CN104268253B publication Critical patent/CN104268253B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明一种基于查找表配置位统计的部分三模冗余方法,包括步骤S1:将待冗余电路映射为k‑输入查找表格式,读取待冗余电路的信息,建立电路拓扑结构数据库;步骤S2:对电路拓扑结构信息进行统计,并记录待冗余电路中每个节点的无关配置位信息;步骤S3:根据无关配置位个数,获取查找表的单粒子效应敏感性信息;步骤S4:从查找表的单粒子效应敏感性信息中提取单粒子翻转‑敏感的查找表,并对单粒子翻转‑敏感的查找表进行三模冗余处理,得到并根据冗余结果在每个冗余模块和非冗余模块之间插入表决器,构建具有抗单粒子效应能力的部分三模冗余电路。本发明能够极大地提高系统的可靠性,且可省掉全三模冗余电路约一半的硬件开销。

A partial three-mode redundancy method based on lookup table configuration bit statistics of the present invention includes step S1: mapping the circuit to be redundant into a k-input lookup table format, reading information on the circuit to be redundant, and establishing a circuit topology database ; Step S2: Perform statistics on the circuit topology information, and record the irrelevant configuration bit information of each node in the circuit to be redundant; Step S3: Obtain the single event effect sensitivity information of the lookup table according to the number of irrelevant configuration bits; S4: Extract the single event upset-sensitive lookup table from the single event effect sensitivity information of the lookup table, and perform three-mode redundancy processing on the single event upset-sensitive lookup table, and obtain and perform redundancy in each redundancy according to the redundancy result. A voter is inserted between the redundant module and the non-redundant module to construct a partial triple-mode redundant circuit with the ability to resist single event effects. The invention can greatly improve the reliability of the system, and can save about half of the hardware overhead of the full three-mode redundant circuit.

Description

一种基于查找表配置位统计的部分三模冗余方法A Partial Triple-Mode Redundancy Method Based on Lookup Table Configuration Bit Statistics

技术领域technical field

本发明涉及数字系统容错技术领域,特别涉及可编程器件三模冗余技术中的硬件开销减少方法。The invention relates to the technical field of digital system fault tolerance, in particular to a method for reducing hardware overhead in the triple-mode redundancy technology of programmable devices.

技术背景technical background

可编程器件(FPGA)具有开发周期短、成本低、灵活性高的特点而广泛应用于电子系统设计中,基于静态随机存储器(SRAM)配置的FPGA芯片,其功能的实现完全依赖内部的配置数据,根据现有文献和在轨飞行数据,SRAM型FPGA器件在空间辐射环境中主要是容易受到单粒子翻转(Single Event Upset,SEU)的影响,因此基于SRAM的FPGA系统设计应重点考虑单粒子翻转防护。Programmable device (FPGA) has the characteristics of short development cycle, low cost, and high flexibility, so it is widely used in electronic system design. The FPGA chip based on static random access memory (SRAM) configuration depends entirely on internal configuration data. , according to the existing literature and in-orbit flight data, SRAM-type FPGA devices are mainly susceptible to Single Event Upset (SEU) in the space radiation environment, so the design of SRAM-based FPGA systems should focus on SEU protection.

图1a所示为待冗余电路构成示意图,图1b所示为全三模冗余电路构成示意图。如图1a示出的待冗余电路包含模块M1、M2、M3,所述待冗余电路为二值逻辑的数字电路,则待冗余电路模块M1、M2、M3输出的结果为逻辑“0”或逻辑“1”。模块M1接收外部输入的多个逻辑信号,模块M1输出多个第一逻辑信号,模块M2接收多个第一逻辑信号,模块M2的输出的多个第二逻辑信号传递给模块M3,模块M3的输出为待冗余电路的多个第三逻辑信号。对待冗余电路进行全三模冗余后的电路如图1b所示,即将图1a中的待冗余电路整个复制两份,形成由三模块M1、M2、M3组成三支路的并联结构,其中每个模块M3分别输出多个第三逻辑信号,根据三个模块M3输出第三逻辑信号总数目设置相同总数目的表决器V,表决器V分别接收三个模块M3输出总数目的第三逻辑信号,每个表决器V对三个模块M3输出的第三逻辑信号根据“少数服从多数”的原则进行表决,并判断出第三逻辑信号为全相同的逻辑值,判断出第三逻辑信号为两个相同的逻辑值,因此当某个冗余模块被打翻表决器V依然能够输出正确的结果。FIG. 1a is a schematic diagram of a circuit to be redundant, and FIG. 1b is a schematic diagram of a full triple-mode redundant circuit. The circuit to be redundant as shown in Figure 1a includes modules M1, M2, M3, the circuit to be redundant is a digital circuit of binary logic, and the result output by the circuit modules to be redundant M1, M2, M3 is logic "0" ” or logic “1”. The module M1 receives multiple logic signals input from the outside, the module M1 outputs multiple first logic signals, the module M2 receives multiple first logic signals, and the multiple second logic signals output by the module M2 are transmitted to the module M3, and the module M3 The output is a plurality of third logic signals of the circuit to be redundant. The circuit after full triple-mode redundancy of the redundant circuit to be redundant is shown in Figure 1b, that is, the entire redundant circuit in Figure 1a is copied twice to form a parallel structure of three branches composed of three modules M1, M2, and M3. Wherein each module M3 respectively outputs a plurality of third logic signals, the same total number of voters V is set according to the total number of third logic signals output by the three modules M3, and the voters V respectively receive the total number of third logic signals output by the three modules M3 , each voter V votes on the third logic signal output by the three modules M3 according to the principle of "minority obeys the majority", and judges that the third logic signal is all the same logic value, and judges that the third logic signal is two The same logic value, so when a redundant module is overturned, the voter V can still output the correct result.

三模冗余是目前最常用的容错技术,由于其可靠性被广泛应用在空间系统中。该方法将原始电路复制三份,当其中一个电路发生错误时还可以通过比较输出正确的结果。当两个模块同时出错时表决器将无法判决正确结果,因此针对SRAM型FPGA的三模冗余技术一般配合定时刷新技术使用,可以有效地保证系统安全稳定运行。Triple-mode redundancy is currently the most commonly used fault-tolerant technology, and it is widely used in space systems due to its reliability. This method replicates the original circuit three times, and when an error occurs in one of the circuits, the correct result can be output by comparison. When the two modules fail at the same time, the voting device will not be able to judge the correct result. Therefore, the triple-mode redundancy technology for SRAM FPGA is generally used in conjunction with the timing refresh technology, which can effectively ensure the safe and stable operation of the system.

但三模冗余技术存在电路开销过大的问题,完全的三模冗余电路会使电路开销达到冗余之前的200%甚至更多,而具体应用中考虑到功率和体积的限制应尽量减少硬件开销。针对电路不同部分对单粒子效应的敏感性,选择性地对电路部件进行部分三模冗余可以适当减少开销,部分三模冗余技术是以牺牲电路可靠性为代价的,硬件开销的节省相应地会带来可靠性的降低。如何对电路进行取舍是部分三模冗余设计所要考虑的问题。However, the three-mode redundant technology has the problem of excessive circuit overhead. The complete three-mode redundant circuit will cause the circuit overhead to reach 200% or more before redundancy, and the specific application should minimize the power and volume constraints hardware overhead. In view of the sensitivity of different parts of the circuit to the single event effect, selectively performing part of the triple-mode redundancy on the circuit components can appropriately reduce the overhead. Part of the triple-mode redundancy technology is at the expense of circuit reliability, and the hardware overhead is saved accordingly. ground will result in reduced reliability. How to make trade-offs to the circuit is a problem to be considered in some triple-mode redundant designs.

本领域的技术人员曾提出敏感门的概念,通过只冗余敏感门来节省电路开销,该方法首先根据经验值为电路原始输入设定一个输入概率,再根据电路拓扑结构计算每个门的输入概率,结合门电路的控制值特性可将每个门定义为单粒子事件敏感或单粒子事件不敏感。将单粒子事件敏感的门冗余后插入表决器再与单粒子事件不敏感门构成原来的电路功能,然后再通过FPGA综合工具将其映射为查找表结构。Those skilled in the art have proposed the concept of sensitive gates to save circuit overhead by only redundant sensitive gates. This method first sets an input probability for the original input of the circuit based on empirical values, and then calculates the input of each gate according to the circuit topology. Probabilities, combined with the control value properties of the gates, define each gate as either sev-sensitive or sing-insensitive. The single event event-sensitive gate is redundantly inserted into the voter and then combined with the single event event-insensitive gate to form the original circuit function, and then mapped to a look-up table structure by the FPGA synthesis tool.

由于现有技术的敏感性是根据门级电路结构和输入概率计算的,其映射成基于查找表的FPGA结构后容错效果和开销节省都大打折扣。Since the sensitivity of the prior art is calculated according to the gate-level circuit structure and input probability, the effect of fault tolerance and overhead saving will be greatly reduced after it is mapped to the FPGA structure based on the look-up table.

发明内容Contents of the invention

(一)解决的技术问题(1) Solved technical problems

为了解决现有技术的问题,本发明目的在于寻找一种可以直接在查找表电路模型上操作并且不依赖于电路输入的部分三模冗余方法,具有十分深远的意义。In order to solve the problems in the prior art, the purpose of the present invention is to find a partial triple-mode redundancy method that can directly operate on the look-up table circuit model and does not depend on the circuit input, which has very far-reaching significance.

(二)技术方案(2) Technical solution

本发明提供一种基于查找表配置位统计的部分三模冗余方法,包括步骤如下:The present invention provides a kind of partial three-mode redundancy method based on lookup table configuration bit statistics, comprising the following steps:

步骤S1:将待冗余电路映射为k-输入查找表格式,读取待冗余电路的信息,建立电路拓扑结构数据库,所述查找表是FPGA中的查找表;Step S1: mapping the circuit to be redundant into a k-input lookup table format, reading information on the circuit to be redundant, and establishing a circuit topology database, the lookup table being a lookup table in the FPGA;

步骤S2:对电路拓扑结构数据库的电路拓扑结构信息进行统计,并记录电路拓扑结构数据库中待冗余电路中每个节点的无关配置位信息;Step S2: Counting the circuit topology information in the circuit topology database, and recording the irrelevant configuration bit information of each node in the redundant circuit in the circuit topology database;

步骤S3:根据无关配置位个数,获取查找表的单粒子效应敏感性信息;Step S3: Obtain the single event effect sensitivity information of the lookup table according to the number of irrelevant configuration bits;

步骤S4:从查找表的单粒子效应敏感性信息中提取单粒子翻转-敏感的查找表,并对单粒子翻转-敏感的查找表进行三模冗余处理,得到并根据冗余结果在每个冗余模块和非冗余模块之间插入表决器,构建具有抗单粒子效应能力的部分三模冗余电路。Step S4: Extract the single event upset-sensitive lookup table from the single event effect sensitivity information of the lookup table, and perform three-mode redundancy processing on the single event upset-sensitive lookup table, and obtain and use the redundant results in each A voter is inserted between the redundant module and the non-redundant module to construct a partial three-mode redundant circuit with the ability to resist single event effects.

(三)有益效果(3) Beneficial effects

本发明采取以上技术方案后,相对于现有技术具有以下优点:1)由于本发明将电路中单粒子翻转-敏感查找表进行了三模冗余,因此能够有效提高电路抗单粒子效应能力,延长电路的平均无故障时间。2)本发明的部分三模冗余容错方法与全三模冗余容错方法相比,本发明通过计算查找表的无关配置位,有针对性地选择需要进行三模冗余的查找表,在一定程度上保障SRAM型FPGA电路的可靠性,能大大节省电路开销。3)本发明所采用的窗口方法能够在较短的时间内得到查找表的大部分无关配置位,且所得集合是整个电路的无关配置位集合的子集,即整个电路无关配置位的下确界。After adopting the above technical solutions, the present invention has the following advantages compared with the prior art: 1) Since the present invention performs triple-mode redundancy on the single event reversal-sensitive lookup table in the circuit, it can effectively improve the ability of the circuit to resist single event effects, Extend the mean time between failures of the circuit. 2) compared with the full three-mode redundancy fault-tolerant method of the present invention, the present invention selects the look-up table that needs to carry out triple-mode redundancy by calculating the irrelevant configuration bits of the look-up table. To a certain extent, the reliability of the SRAM FPGA circuit can be guaranteed, which can greatly save the circuit cost. 3) The window method adopted in the present invention can obtain most of the irrelevant configuration bits of the look-up table in a relatively short period of time, and the resulting set is a subset of the irrelevant configuration bits set of the entire circuit, that is, the exact lower part of the irrelevant configuration bits of the entire circuit. boundary.

附图说明Description of drawings

图1a和图1b为待冗余电路和全三模冗余电路构成示意图;Figure 1a and Figure 1b are schematic diagrams of the circuit to be redundant and the full three-mode redundant circuit;

图2为本发明基于查找表配置位统计的部分三模冗余方法的流程图;Fig. 2 is the flow chart of the present invention based on the partial three-mode redundancy method of look-up table configuration bit statistics;

图3为本发明方法实现一种部分三模冗余电路结构图;Fig. 3 realizes a kind of partial three-mode redundant circuit structural diagram for the inventive method;

图4为待冗余电路查找表级电路结构图;Fig. 4 is to be redundant circuit look-up table level circuit structural diagram;

图5为本发明所用实施例部分冗余后的查找表级电路结构图;Fig. 5 is the circuit structure diagram of the look-up table level after the partial redundancy of the embodiment used by the present invention;

图6为本发明所用查找表无关配置位计算方法的工作流程图;Fig. 6 is the working flow diagram of the used lookup table irrelevant configuration bit calculation method of the present invention;

图7为本发明所用窗口划分方法流程图;Fig. 7 is a flow chart of the window division method used in the present invention;

图8为本发明所用窗口划分方法示意图;Fig. 8 is a schematic diagram of the window division method used in the present invention;

图9为本发明所用无关配置位查找方法流程图;Fig. 9 is the flow chart of the irrelevant configuration bit search method used in the present invention;

图10为本发明提供的单粒子事件仿真方法流程图。Fig. 10 is a flow chart of the single event event simulation method provided by the present invention.

具体实施方式detailed description

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明做进一步详细说明。In order to make the object, technical solution and advantages of the present invention clearer, the present invention will be described in further detail below in conjunction with specific embodiments and with reference to the accompanying drawings.

本发明部分三模冗余方法根据查找表无关配置位的个数定义单粒子翻转-敏感查找表和单粒子翻转-不敏感查找表,并只冗余单粒子翻转-敏感查找表。所述部分三模冗余系统包含三模冗余部分和非三模冗余部分,其中:三模冗余部分通过将电路中的单粒子翻转-敏感查找表复制两份并在输出处插入多数表决器构成;非三模冗余部分由电路中的单粒子翻转-不敏感查找表构成;三模冗余部分和非三模冗余部分的连接保持原始电路的拓扑结构,所设计的部分三模冗余电路能保持原始电路功能不变。The partial triple-mode redundancy method of the present invention defines a single event reversal-sensitive lookup table and a single event reversal-insensitive lookup table according to the number of irrelevant configuration bits of the lookup table, and only redundant single event reversal-sensitive lookup tables are used. The partially triple-redundant system includes a triple-redundant part and a non-triple-redundant part, wherein: the triple-redundant part duplicates the single-event flip-sensitive look-up table in the circuit and inserts a majority at the output The voter is formed; the non-three-mode redundant part is composed of single event flip-insensitive lookup table in the circuit; the connection between the three-mode redundant part and the non-three-mode redundant part maintains the topology of the original circuit, and the designed part three The modular redundant circuit can keep the function of the original circuit unchanged.

如图2示出本发明基于查找表配置位统计的部分三模冗余方法的流程图,使用本方法对FPGA电路进行部分三模冗余实施例的操作包括如下的步骤:步骤S1:使用美国加州大学洛杉矶分校提供的工具RASP将待冗余电路映射为k-输入查找表格式,读取该待冗余电路信息,建立电路拓扑结构数据库,所述查找表是FPGA中的一种资源,用于实现组合逻辑和时序逻辑。步骤S2:对电路拓扑结构数据库的电路拓扑结构信息进行统计,并记录电路拓扑结构数据库中待冗余电路中每个节点的无关配置位信息;根据电路拓扑结构对节点进行划分,获得节点窗口,再根据节点窗口信息判断是否对无关配置位进行计算,若窗口的叶子节点数满足小于叶子节点最大值Lmax时,则计算该节点的无关配置位的个数并记录;若窗口的叶子节点数不满足小于最大值Lmax时,则将该节点的无关配置位个数记为0。节点无关配置位个数计算方法为:用穷举的方法为窗口生成测试集,向窗口叶子节点施加该穷举测试集并逐一翻转节点的每个配置位,观察窗口根节点输出是否变化;若翻转某配置位且遍历整个穷举测试集,窗口根节点输出均无变化,那么该配置位是节点的无关配置位。步骤S3:根据记录的无关配置位个数,获取查找表的单粒子效应敏感性信息,本方法首先设定一个查找表无关配置位阈值H,当某个查找表的无关配置位个数高于查找表无关配置位阈值H时,则可判断该查找表为单粒子翻转-不敏感的查找表,当某个查找表的无关配置位个数不高于查找表无关配置位阈值时,则认为该查找表是单粒子翻转-敏感的查找表。该阈值的设定需要根据具体应用综合考虑,待冗余电路对可靠性要求越高,阈值H应越大,用P表示待冗余电路被单粒子事件击中后表现出故障的概率,Nc表示查找表配置位个数,本方法采用公式H=10×(P-0.9)×Nc计算查找表无关配置位阈值。在对待冗余电路进行三模冗余时,只对所述单粒子翻转-敏感的查找表做冗余处理。步骤S4:部分三模冗余电路搭建,从查找表的单粒子效应敏感性信息中提取单粒子翻转-敏感的查找表,并对单粒子翻转-敏感的查找表进行三模冗余处理,得到并根据冗余结果在每个冗余模块和非冗余模块之间插入表决器,构建具有抗单粒子效应能力的部分三模冗余电路。Figure 2 shows the flow chart of the present invention's partial triple-mode redundancy method based on look-up table configuration bit statistics, using this method to carry out the operation of the partial triple-mode redundancy embodiment of the FPGA circuit includes the following steps: Step S1: use the U.S. The tool RASP provided by the University of California, Los Angeles maps the circuit to be redundant into a k-input lookup table format, reads the information of the circuit to be redundant, and establishes a circuit topology database. The lookup table is a resource in the FPGA. For implementing combinational logic and sequential logic. Step S2: Count the circuit topology information in the circuit topology database, and record the irrelevant configuration bit information of each node in the redundant circuit in the circuit topology database; divide the nodes according to the circuit topology, and obtain the node window, Then judge whether to calculate the irrelevant configuration bit according to the node window information. If the number of leaf nodes in the window is less than the maximum value Lmax of the leaf node, calculate the number of irrelevant configuration bits of the node and record it; if the number of leaf nodes in the window is not When it is less than the maximum value Lmax, the number of irrelevant configuration bits of the node is recorded as 0. The calculation method for the number of node-independent configuration bits is as follows: use the exhaustive method to generate a test set for the window, apply the exhaustive test set to the leaf nodes of the window and flip each configuration bit of the node one by one, and observe whether the output of the root node of the window changes; if Flip a configuration bit and traverse the entire exhaustive test set, and the output of the root node of the window does not change, then the configuration bit is an irrelevant configuration bit of the node. Step S3: Obtain the single event effect sensitivity information of the lookup table according to the recorded number of irrelevant configuration bits. This method first sets a threshold value H of the irrelevant configuration bits of the lookup table. When the number of irrelevant configuration bits of a certain lookup table is higher than When the lookup table has nothing to do with the configuration bit threshold H, it can be judged that the lookup table is a single event flip-insensitive lookup table. When the number of irrelevant configuration bits of a certain lookup table is not higher than the lookup table. The lookup table is a single event upset-sensitive lookup table. The setting of the threshold needs to be comprehensively considered according to the specific application. The higher the reliability requirements of the redundant circuit, the greater the threshold H should be. P represents the probability of failure of the redundant circuit after being hit by a single event event, and Nc represents For the number of configuration bits in the lookup table, the method adopts the formula H=10*(P-0.9)*Nc to calculate the irrelevant configuration bit threshold of the lookup table. When three-mode redundancy is performed on the circuit to be redundant, only the single event flip-sensitive lookup table is redundantly processed. Step S4: Partial triple-mode redundant circuit construction, extract single event upset-sensitive lookup table from the single event effect sensitivity information of the lookup table, and perform triple-mode redundancy processing on the single event upset-sensitive lookup table, to obtain And according to the redundancy result, a voter is inserted between each redundant module and non-redundant module, and a partial triple-mode redundant circuit with anti-single event effect capability is constructed.

如图3所示使用本发明方法实现的一种部分三模冗余电路;设已有结果表明待冗余电路中的三个模块中只有模块M1是易受单粒子效应影响而发生故障,而模块M2和模块M3对单粒子效应并不敏感,那么就可以选择性地只对模块M1进行冗余。As shown in Figure 3, use a kind of part three-mode redundant circuit that the inventive method realizes; Suppose existing results show that in the three modules in the redundant circuit, only module M1 is easily affected by the single event effect and breaks down, and Module M2 and module M3 are not sensitive to single event effects, so only module M1 can be selectively redundant.

鉴于上述设定图3给出本发明部分三模冗余电路,包括三个模块M1、一个模块M2和一个模块M3和一个表决器V,三个模块M1为第一模块M1、第二模块M1、第三模块M1,其中:第一模块M1、第二模块M1、第三模块M1的输入端接收外部的输入多个逻辑信号,由于第一模块M1、第二模块M1、第三模块M1是三模冗余信号,因此将外部输入的多个逻辑信号扇出两份分别输入第一模块M1、第二模块M1、第三模块M1生成并输出冗余信号;表决器V的输入端与第一模块M1、第二模块M1、第三模块M1的输出端连接,表决器V对第一模块M1、第二模块M1、第三模块M1输出的冗余信号进行表决,表决器根据“少数服从多数”的原则总是输出三者中相同的值,当只有一个模块M1电路被打翻而输出错误时表决器V仍能通过表决输出正确的结果;模块M2的输入端与表决器V的输出端连接,由于模块M2是单粒子翻转-不敏感查找表,模块M2不易被单粒子事件打翻而出错;模块M3的输入端与模块M2的输出端连接,与模块M2相同,模块M3不易被单粒子事件打翻而出错,将输出电路的最终结果。由上述结构可知,使用本发明方法实现的部分三模冗余电路与全三模冗余电路相比,本发明的部分三模冗余可以节省不必要的开销,根据具体电路待冗余模块的不同,表决器的插入个数与位置均不同,这会导致所节省的电路开销不同。In view of the above setting, Fig. 3 shows part of the three-mode redundant circuit of the present invention, including three modules M1, one module M2, one module M3 and one voter V, and the three modules M1 are the first module M1 and the second module M1 , the third module M1, wherein: the input terminals of the first module M1, the second module M1, and the third module M1 receive external input logic signals, because the first module M1, the second module M1, and the third module M1 are Three-mode redundant signal, so the externally input multiple logic signals are fanned out into two copies and respectively input to the first module M1, the second module M1, and the third module M1 to generate and output redundant signals; the input terminal of the voter V is connected to the second module The output terminals of the first module M1, the second module M1, and the third module M1 are connected, and the voting device V votes on the redundant signals output by the first module M1, the second module M1, and the third module M1. The principle of "majority" always outputs the same value among the three. When only one module M1 circuit is overturned and the output is wrong, the voter V can still output the correct result through voting; the input terminal of the module M2 and the output of the voter V Since the module M2 is a single event reversal-insensitive lookup table, the module M2 is not easy to be overturned by the single event event and make an error; the input terminal of the module M3 is connected to the output terminal of the module M2, which is the same as the module M2, and the module M3 is not easy to be overturned by the single event event. If the event is overturned and an error occurs, the final result of the circuit will be output. As can be seen from the above structure, compared with the full three-mode redundant circuit, the part of the three-mode redundant circuit realized by the method of the present invention can save unnecessary expenses, according to the specific circuit to be redundant module Different, the number and position of the voters inserted are different, which will result in different circuit overhead saved.

下面给出本发明在具体电路中的应用实例:本实施例采用8选1多路选择器电路cm152a,该电路选自南卡罗来纳州微电子中心提供的基准测试电路集(MCNC’91),该测试电路集中包含多个基准测试电路,8选1多路选择器电路cm152a是其中较小的一个测试电路。Provide the application example of the present invention in concrete circuit below: present embodiment adopts 8 to select 1 multiplexer circuit cm152a, and this circuit is selected from the benchmark test circuit set (MCNC'91) that South Carolina Microelectronics Center provides, this The test circuit set contains multiple benchmark test circuits, and the 8-to-1 multiplexer circuit cm152a is one of the smaller test circuits.

图4示出待冗余电路查找表级电路结构图,待冗余电路是cm152a采用RASP工具映射为4-输入查找表结构后的电路,待冗余电路由[15]、[16]、[9]、[10]、[2]、p1这6个查找表构成三级结构。该待冗余电路有11个输入信号包括:多路选择器的8个待选输入信号pa、pb、pc、pd、pe、pf、pg、ph,编码输入信号pi、pj、pk,该待冗余电路有1个输出信号p1,电路通过编码输入信号pi、pj、pk的编码值选择8个待选输入信号中的一个作为输出信号。Figure 4 shows the circuit structure diagram of the lookup table level of the circuit to be redundant. The circuit to be redundant is the circuit after cm152a is mapped to a 4-input lookup table structure using the RASP tool. The circuit to be redundant is composed of [15], [16], [ 9], [10], [2], p1 these six look-up tables form a three-level structure. The circuit to be redundant has 11 input signals including: 8 input signals pa, pb, pc, pd, pe, pf, pg, ph of the multiplexer, coded input signals pi, pj, pk, the to-be The redundant circuit has an output signal p1, and the circuit selects one of the eight input signals to be selected as the output signal by encoding the encoded values of the input signals pi, pj, and pk.

待冗余电路的第一级查找表为[15]、[16]、[9]、[10],查找表[15]有4个输入端,分别接收来自外部的待选输入信号pb、pf和编码输入信号pj、pk;1个输出端,输出第一中间信号。查找表[16]有4个输入端,分别接收来自外部的待选输入信号pd、ph和编码输入信号pj、pk;1个输出端,输出第二中间信号。查找表[9]有4个输入端,分别接收来自外部的待选输入信号pa、pe和编码输入信号pj、pk;1个输出端,输出第三中间信号。查找表[10]有4个输入端,分别接收来自外部的待选输入信号pc、pg和编码输入信号pj、pk;1个输出端,输出第四中间信号。待冗余电路的第二级查找表为[2],查找表[2]有3个输入端,分别接收来自外部的编码输入信号pi和查找表[15]、[16]的第一、第二中间信号;1个输出端,输出第五中间信号。The first-level look-up table of the redundant circuit is [15], [16], [9], [10], and the look-up table [15] has 4 input terminals, which respectively receive the input signals pb and pf to be selected from the outside and coded input signals pj, pk; 1 output terminal, outputting the first intermediate signal. The look-up table [16] has 4 input terminals, which respectively receive the input signals pd, ph to be selected and the encoded input signals pj, pk from the outside; 1 output terminal, which outputs the second intermediate signal. The look-up table [9] has 4 input terminals, which respectively receive external input signals pa, pe and coded input signals pj, pk to be selected; 1 output terminal, which outputs the third intermediate signal. The look-up table [10] has 4 input terminals, which respectively receive external input signals pc, pg to be selected and coded input signals pj, pk; 1 output terminal, which outputs the fourth intermediate signal. The second-level look-up table of the redundant circuit is [2], and the look-up table [2] has three input terminals, which respectively receive the coded input signal pi from the outside and the first and the first of the look-up tables [15] and [16]. Two intermediate signals; one output terminal, which outputs the fifth intermediate signal.

待冗余电路的第三级查找表为p1,查找表p1有4个输入端,分别接收来自外部的编码输入信号pi和查找表[2]、[9]、[10]的第五、第三、第四中间信号;1个输出端,向外部输出待冗余电路的输出信号p1。The third-level look-up table of the redundant circuit is p1, and the look-up table p1 has four input terminals, which respectively receive the coded input signal pi from the outside and the fifth and the fifth of the look-up tables [2], [9], [10] 3. The fourth intermediate signal: 1 output terminal, which outputs the output signal p1 of the redundant circuit to the outside.

待冗余电路由k-输入查找表构成,每个查找表的k个输入接受前一级查找表的输出信号或原始输入信号,当一个查找表A的一个输入端与另一个查找表B的输出端相连时,称B是A的输入查找表。The circuit to be redundant is composed of k-input look-up tables, and the k inputs of each look-up table accept the output signal or the original input signal of the previous level look-up table, when one input terminal of one look-up table A is connected with another look-up table B When the output terminals are connected, B is said to be A's input lookup table.

如图5示出采用本发明的方法实现的8选1多路选择器电路cm152a选择性三模冗余结构,选择性三模冗余结构电路包括未冗余电路部分51和三模冗余电路部分52,其中三模冗余电路部分52包括冗余三份的查找表[10](1)、[10](2)、[10](3)和表决器V。下面举例使用本发明的方法判断结果为查找表[10]是单粒子翻转-敏感的查找表,其余5个均为单粒子翻转-不敏感查找表,那么本发明的方法将查找表[10]复制两份分别为[10](2)、[10](3),同时查找表[10]的输入信号pc、pg、pj、pk也扇出两份分别作为查找表[10](2)、[10](3)的输入信号,则形成三份功能相同的查找表[10](1)、[10](2)、[10](3),它们各有一个输出端,分别输出第四中间信号(1)、第四中间信号(2)、第四中间信号(3),将这三个输出信号通过表决器V进行表决后再作为查找表p1的输入信号。As shown in Figure 5, the 8-choice 1 multiplexer circuit cm152a selective triple-mode redundant structure implemented by the method of the present invention, the selective triple-mode redundant structure circuit includes a non-redundant circuit part 51 and a triple-mode redundant circuit Part 52, wherein the triple-mode redundant circuit part 52 includes three redundant look-up tables [10](1), [10](2), [10](3) and a voter V. Use the method judgment result of the present invention as an example below to be that the look-up table [10] is a single-event reversal-sensitive look-up table, and all the other 5 are single-event reversal-insensitive look-up tables, then the method of the present invention will look-up table [10] The two copies are [10](2), [10](3), and at the same time, the input signals pc, pg, pj, and pk of the lookup table [10] also fan out two copies as the lookup table [10](2) , [10] (3) input signal, then form three look-up tables [10] (1), [10] (2), [10] (3) with the same function, each of them has an output terminal, outputting respectively The fourth intermediate signal (1), the fourth intermediate signal (2), and the fourth intermediate signal (3), these three output signals are voted by the voting device V and then used as input signals of the look-up table p1.

仍以上述8选1多路器电路cm152a为例,如图4所示若使用本发明的方法判断结果为查找表[2]、[9]、[10]均是单粒子翻转-敏感查找表,[2]、[9]、[10]的输出端均与查找表p1的输入端相连,那么根据本发明的方法应将查找表[2]、[9]、[10]分别进行三模冗余并在查找表[2]、[9]、[10]输出端处分别插入表决器,三个表决器的输出结果作为查找表p1的输入信号。这样电路在冗余了[2]、[9]、[10]三个查找表以后还需要额外增加三个查找表作为表决器。考虑到查找表[2]、[9]、[10]的输出端均与查找表p1的输入端相连,即查找表[2]、[9]、[10]均为查找表p1的输入查找表,若将查找表p1也进行冗余并在查找表p1的输出端处插入一个表决器,电路消耗的资源与插入三个表决器的方式相同且更能保障电路的可靠性,因此在搭建部分三模冗余电路时应充分考虑电路结构与查找表的单粒子事件敏感性之间的关系。本发明所用部分三模冗余电路搭建方法的策略是:对所述待冗余电路进行部分三模冗余处理时还需考虑待冗余电路的具体结构,当冗余单粒子翻转-不敏感的查找表所带来的硬件开销与插入表决器带来的硬件开销相同时,应选择冗余单粒子翻转-不敏感的查找表,对该单粒子翻转-不敏感的查找表进行三模冗余。一个单粒子翻转-不敏感的查找表是否应进行冗余的具体判断方式为:当一个单粒子翻转-不敏感的查找表具有两个或两个以上输入查找表是单粒子翻转-敏感查找表时,该单粒子翻转-不敏感查找表也应该进行三模冗余。Still taking the above-mentioned 8-to-1 multiplexer circuit cm152a as an example, as shown in Figure 4, if the method of the present invention is used to determine the results, the look-up tables [2], [9], and [10] are all single-event reversal-sensitive look-up tables , the output ends of [2], [9], [10] are all connected with the input end of the lookup table p1, so according to the method of the present invention, the lookup tables [2], [9], [10] should be three-mode respectively Redundancy and voters are respectively inserted at the output ends of the lookup tables [2], [9], [10], and the output results of the three voters are used as input signals of the lookup table p1. In this way, after the three look-up tables [2], [9], and [10] are redundant, the circuit needs to add three additional look-up tables as voters. Considering that the output terminals of the lookup tables [2], [9], [10] are all connected to the input terminals of the lookup table p1, that is, the lookup tables [2], [9], [10] are all input lookup tables of the lookup table p1 table, if the lookup table p1 is also redundant and a voter is inserted at the output of the lookup table p1, the resources consumed by the circuit are the same as the way of inserting three voters, and the reliability of the circuit is better guaranteed. Therefore, when building The relationship between the circuit structure and the single event event sensitivity of the lookup table should be fully considered when designing part of the triple-mode redundant circuit. The strategy of the part three-mode redundant circuit building method used in the present invention is: also need to consider the specific structure of the redundant circuit when carrying out part three-mode redundant processing to described redundant circuit, when redundant single event flip-insensitive When the hardware overhead brought by the lookup table is the same as the hardware overhead brought by the insertion voter, the redundant single event flip-insensitive lookup table should be selected, and the three-mode redundancy of the single event flip-insensitive lookup table Remain. Whether a single event reversal-insensitive lookup table should be redundant can be judged as follows: when a single event reversal-insensitive lookup table has two or more input lookup tables, it is a single event reversal-sensitive lookup table When , the single event upset-insensitive lookup table should also perform triple redundancy.

如图6所示,为本发明所用查找表无关配置位计算的工作流程图,步骤S2中所述的查找表无关配置位的计算步骤包括如下:As shown in Figure 6, it is the working flowchart of the irrelevant configuration bit calculation of the used lookup table of the present invention, and the calculation steps of the irrelevant configuration bit of the lookup table described in step S2 include as follows:

步骤S221:根据电路节点编号选中一个节点。Step S221: Select a node according to the circuit node number.

步骤S222:根据电路拓扑结构为该节点划分一个窗口,具体的窗口划分方法将在本发明说明书的图7中描述。Step S222: divide a window for the node according to the circuit topology, and the specific window division method will be described in FIG. 7 of the specification of the present invention.

步骤S223:判断节点窗口是否划分成功,若该节点可以划分窗口,将窗口的输入记为叶子节点,输出记为根节点,建立数据库记录该节点的窗口信息进入步骤S224;若该节点划分窗口不成功进入步骤S226。Step S223: Determine whether the node window is divided successfully, if the node can divide the window, record the input of the window as a leaf node, and record the output as a root node, establish a database to record the window information of the node and enter step S224; if the node can not divide the window Enter step S226 successfully.

步骤S224:判断节点的窗口叶子节点数是否小于预先设定的叶子节点数最大值Lmax,由于本方法采用窗口内全仿真的方式查找无关配置位,工作量随着叶子节点数的增加呈指数倍增长,当叶子节点数大于叶子节点数最大值Lmax时,进入步骤S226,当叶子节点数不大于叶子节点数的最大值Lmax时,则进入步骤S225。本实施例中取叶子节点数最大值Lmax=20。Step S224: Determine whether the number of leaf nodes in the window of the node is less than the preset maximum number of leaf nodes Lmax. Since this method uses full simulation in the window to find irrelevant configuration bits, the workload increases exponentially with the increase in the number of leaf nodes increase, when the number of leaf nodes is greater than the maximum value Lmax of the number of leaf nodes, enter step S226; when the number of leaf nodes is not greater than the maximum value Lmax of the number of leaf nodes, enter step S225. In this embodiment, the maximum value of the number of leaf nodes is Lmax=20.

步骤S225:为建立了窗口的节点进行输入空间全仿真以获得节点所在查找表的无关配置位,具体的无关配置位获取方法将在本发明的图8中描述。Step S225: Carry out full simulation of the input space for the node with the window established to obtain the irrelevant configuration bit of the lookup table where the node is located. The specific method for obtaining the irrelevant configuration bit will be described in FIG. 8 of the present invention.

步骤S226:对于未能建立窗口或窗口叶子节点数大于叶子节点数最大值Lmax的节点直接将节点无关配置位个数记为0。Step S226: For a node whose window cannot be established or the number of leaf nodes in the window is greater than the maximum number of leaf nodes Lmax, directly record the number of node-independent configuration bits as 0.

步骤S227:建立数据库记录电路节点的无关配置位信息;Step S227: establishing a database to record irrelevant configuration bit information of circuit nodes;

步骤S228:遍历整个电路对所有节点无关配置位信息进行统计,并返回步骤S221,直至遍历整个电路的所有节点无关配置位信息统计完毕,结束本流程。Step S228: Traverse the entire circuit to collect statistics on all node-independent configuration bit information, and return to step S221 until the statistics of all node-independent configuration bit information in the entire circuit are traversed, and this process ends.

如图7所示为本发明所用窗口划分方法流程图,步骤如下:As shown in Figure 7, it is a flow chart of the window division method used in the present invention, and the steps are as follows:

步骤S21:选择电路中某一节点i。Step S21: Select a certain node i in the circuit.

步骤S22:判断选中的节点扇出个数是否大于预先设定的可容忍扇出数最大值Omax,若该节点扇出数超过可容忍扇出数最大值Omax则不进行窗口划分进入步骤S23,若该节点扇出数未超过可容忍扇出数最大值Omax则进入步骤S27。Step S22: Determine whether the fan-out number of the selected node is greater than the preset maximum tolerable fan-out number Omax, if the fan-out number of the node exceeds the maximum tolerable fan-out number Omax, do not divide the window and enter step S23, If the fan-out number of the node does not exceed the maximum value Omax of the tolerable fan-out number, go to step S27.

本实施例中选用的测试集,该测试集为MCNC’91测试集,所述测试集中的基准测试电路中有几个大电路包含有少量多扇出节点,有个别节点扇出数甚至多达几十个,考虑到节点扇出数增加时其故障的传播可能性增加,且过多扇出往往导致划分出来的窗口巨大,在本方法的后期步骤中也无法操作,因此若本步骤发现节点扇出大于可容忍扇出数最大值Omax就不对该节点划分窗口,标记为节点窗口划分失败。本实施例中取可容忍扇出数最大值Omax=50。The test set selected in this embodiment is the MCNC'91 test set. In the benchmark test circuits in the test set, several large circuits include a small number of multi-fanout nodes, and the fanout number of individual nodes is even as high as Dozens, considering that the possibility of fault propagation increases when the fan-out number of nodes increases, and too much fan-out often leads to a huge window, which cannot be operated in the later steps of this method, so if this step finds nodes If the fanout is greater than the maximum value Omax of the tolerable fanout number, the node will not be divided into windows, and it will be marked as node window division failure. In this embodiment, the maximum value of the tolerable fan-out number is Omax=50.

步骤S23:记录节点i前N级的输入集合,计入直接输入集合S_I1,记录节点i后M级的输出,计入直接扇出输出集合S_O1。Step S23: Record the input sets of N levels before node i, and include them in the direct input set S_I1, record the outputs of M levels after node i, and include them in the direct fan-out output set S_O1.

步骤S24:记录输入集合S_I1中所有节点的后M+N级输出集合,计入间接扇出集合S_O2,记录集合S_O1中所有节点的前M+N级输入集合,计入间接输入集合S_I2。Step S24: Record the last M+N level output sets of all nodes in the input set S_I1, and include them in the indirect fan-out set S_O2, record the first M+N level input sets of all nodes in the input set S_O1, and include them in the indirect input set S_I2.

步骤S25:求间接扇出集合S_O2和间接输入集合S_I2的交集,记为窗口相关节点集合S=S_O2^S_I2。Step S25: Calculate the intersection of the indirect fan-out set S_O2 and the indirect input set S_I2, which is recorded as the window-related node set S=S_O2^S_I2.

步骤S26:根据集合S的扇入扇出信息计算待求节点i的叶子节点数与根节点数,并返回窗口划分成功信息。其中叶子节点是窗口内所有节点的扇入且不属于集合S的节点,根节点是属于集合S且其扇出至少有一个不属于集合S。Step S26: Calculate the number of leaf nodes and the number of root nodes of the node i to be requested according to the fan-in and fan-out information of the set S, and return the window division success information. Among them, the leaf nodes are the fan-in nodes of all nodes in the window and do not belong to the set S, and the root node is the node that belongs to the set S and at least one of its fan-outs does not belong to the set S.

在本步骤中需要注意的是,集合S中的原始输入节点应记为叶子节点,原始输出节点应记为根节点。具体可参考本流程实施例中的pi节点功能划分。It should be noted in this step that the original input node in the set S should be recorded as a leaf node, and the original output node should be recorded as a root node. For details, refer to the function division of the pi node in this process embodiment.

步骤S27:标记节点i窗口划分失败,结束本节点i的窗口划分工作。Step S27: mark node i as failing in window division, and end the window division work of node i.

以下仍通过8选1多路器cm152a基准电路介绍本方法采用的窗口划分方法的具体操作,为简单起见,本实施例只描述一级窗口的划分方法,即M=N=1的情况:Below still introduce the specific operation of the window division method that this method adopts by 8 selecting 1 multiplexer cm152a benchmark circuit, for the sake of simplicity, this embodiment only describes the division method of the first-level window, i.e. the situation of M=N=1:

本实施例为8选1多路器cm152a基准电路节点[2]划分窗口,为便于观察和理解,将图4所示的8选1多路器cm152a4-输入查找表级电路表示成有向无环图(Directed acyclicgraph,DAG)的形式,如图8所示,在该图中输入信号仍为pa、pb、pc、pd、pe、pf、pg、ph和pi、pj、pk,作为有向无环图的叶子节点;输出信号仍为p1,作为有向无环图的根节点,图4中的第一级中间状态查找表[9]、[10]、[15]、[16]构成有向无环图的第一级,第二级中间状态查找表[2]构成有向无环图的第二级,第三级输出查找表p1构成有向无环图的第二级,在该有向无环图中叶子节点、根节点和中间状态节点均以带节点标号的圆圈表示,连线表示各节点的连接状态,箭头方向为电路的数据传递方向。模块81即采用本方法为节点[2]所建立的窗口,若某个节点a的输入端是另一个节点b的输出端,那么称节点b是节点a的输入节点,节点a是节点b的输出节点。模块81节点[2]的输入端有输入信号pi和节点[15]、[16],即节点[2]的输入节点为pi、[15]、[16],输出端为节点p1的输入端,即节点[2]的输出节点为p1,类似地,节点[15]有4个输入节点为输入信号pb、pf、pj、pk和一个输出节点为节点[2],节点[16]有4个输入节点为输入信号pd、ph、pj、pk和一个输出节点为节点[2],节点[9]有4个输入节点为输入信号pa、pe、pj、pk和一个输出节点为节点[2],节点[10]有4个输入节点为输入信号pc、pg、pj、pk和一个输出节点为节点[2],输入信号pi没有输入节点,有2个输出节点为节点[2]、p1,输出信号p1有4个输入节点为输入信号pi和节点[2]、[9]、[10],没有输出节点。采用本发明的方法为节点[2]划分窗口的具体实施步骤如下:This embodiment divides the window for the 8-choice 1 multiplexer cm152a reference circuit node [2]. For the convenience of observation and understanding, the 8-choice 1 multiplexer cm152a4-input lookup table level circuit shown in Figure 4 is expressed as a directed The form of Directed acyclic graph (DAG), as shown in Figure 8, in which the input signals are still pa, pb, pc, pd, pe, pf, pg, ph and pi, pj, pk, as directed The leaf node of the acyclic graph; the output signal is still p1, as the root node of the directed acyclic graph, the first-level intermediate state lookup table [9], [10], [15], [16] in Figure 4 constitutes The first stage of the directed acyclic graph, the second stage intermediate state lookup table [2] constitutes the second stage of the directed acyclic graph, the third stage output lookup table p1 constitutes the second stage of the directed acyclic graph, in The leaf nodes, root nodes and intermediate state nodes in the directed acyclic graph are all represented by circles with node labels, the connection lines represent the connection state of each node, and the direction of the arrow is the data transmission direction of the circuit. Module 81 adopts this method to establish a window for node [2]. If the input end of a certain node a is the output end of another node b, then it is said that node b is the input node of node a, and node a is the output end of node b. output node. The input terminal of module 81 node [2] has input signal pi and nodes [15], [16], that is, the input nodes of node [2] are pi, [15], [16], and the output terminal is the input terminal of node p1 , that is, the output node of node [2] is p1, similarly, node [15] has 4 input nodes for input signals pb, pf, pj, pk and one output node for node [2], node [16] has 4 There are four input nodes as input signals pd, ph, pj, pk and one output node as node [2], node [9] has 4 input nodes as input signals pa, pe, pj, pk and one output node as node [2] ], node [10] has 4 input nodes as input signal pc, pg, pj, pk and an output node as node [2], input signal pi has no input node, and has 2 output nodes as node [2], p1 , the output signal p1 has 4 input nodes for the input signal pi and nodes [2], [9], [10], and no output nodes. Adopt method of the present invention to be node [2] the concrete implementation step of window division is as follows:

对节点[2]向前查找一级输入节点,得到集合S_I1={pi,[15],[16]},向后查找一级输出节点,得到集合S_O1={p1};For node [2], look forward to the first-level input node to obtain the set S_I1={pi, [15], [16]}, and look up the first-level output node backward to obtain the set S_O1={p1};

对集合S_I1中的每个节点分别向后查找两级输出得到间接输出集合SI_O2={pi,[2],p1,[15],[16]},对集合S_O1中的节点p1向前查找两级输入得到间接输入集合SI_I2={p1,[2],pi,[15],[16],[9],pa,pe,pj,pk,[10],pc,pg},取集合SI_O2和SI_I2的交集得到节点[2]的窗口相关节点集合S={pi,[2],p1,[15],[16]},即图7中的模块811;Each node in the set S_I1 is searched backward for two levels of output to obtain the indirect output set SI_O2={pi, [2], p1, [15], [16]}, and the node p1 in the set S_O1 is searched forward for two Level input gets indirect input set SI_I2={p1, [2], pi, [15], [16], [9], pa, pe, pj, pk, [10], pc, pg}, take set SI_O2 and The intersection of SI_I2 obtains the window related node set S={pi, [2], p1, [15], [16]} of node [2], i.e. the module 811 in Fig. 7;

根据集合S可得到节点[2]的窗口叶子包含节点pb、pf、pj、pk、pd、ph、[9]、[10],此外,集合S中的节点pi即是电路的原始输入,也是节点[2]的窗口叶子节点;集合S中只有一个输出节点p1即窗口的根节点。综上可得该节点[2]的窗口包含9个叶子节点{pi,pb,pf,pj,pk,pd,ph,[9],[10]}和1个根节点p1以及3个窗口相关节点{[15],[16],[2]}。According to the set S, it can be obtained that the window leaves of node [2] include nodes pb, pf, pj, pk, pd, ph, [9], [10]. In addition, the node pi in the set S is the original input of the circuit, and also The window leaf node of node [2]; there is only one output node p1 in the set S, which is the root node of the window. In summary, the window of the node [2] contains 9 leaf nodes {pi, pb, pf, pj, pk, pd, ph, [9], [10]} related to 1 root node p1 and 3 windows node {[15], [16], [2]}.

如图9所示,为本发明所用窗口内无关配置位查找方法流程图,在步骤S27已经划分好的窗口中查找无关配置位的步骤如下:As shown in Figure 9, it is a flow chart of the irrelevant configuration bit search method in the used window of the present invention, and the step of finding the irrelevant configuration bit in the window that has been divided in step S27 is as follows:

步骤S231:若是第一次进入本流程,选择节点的第一个配置位bk,k=0,否则k=k+1,选择节点的下一个配置位bkStep S231: If entering this process for the first time, select the first configuration bit b k of the node, k=0, otherwise k=k+1, select the next configuration bit b k of the node.

步骤S232:生成测试向量,记录输出R(x)|bkStep S232: Generate test vectors, record and output R(x)|b k ;

用穷举的方法为窗口生成测试集,选择其中一个测试向量x并通过逻辑仿真获得窗口根节点的输出R(x)|bk,其中R(x)为窗口叶子节点施加输入向量x时的根节点输出值。Use an exhaustive method to generate a test set for the window, select one of the test vectors x and obtain the output R(x)|b k of the root node of the window through logic simulation, where R(x) is the input vector x applied to the leaf node of the window Root node output value.

步骤S233:翻转该配置位bk→bk,施加上一步产生的测试向量,得到输出R′(x)|(bk→bk)。翻转步骤S21中选中的配置位bk并向窗口施加步骤S232中的测试向量x,将获得的窗口根节点输出其中R′(x)为配置位bk翻转以后窗口叶子节点施加输入向量x时的根节点输出值,表示对配置位bk进行单粒子翻转模拟,即,若有bk=1则若有bk=0则 Step S233: Flip the configuration bit b k →b k , apply the test vector generated in the previous step, and obtain the output R′(x)|(b k →b k ). Flip the configuration bit b k selected in step S21 and apply the test vector x in step S232 to the window, and output the obtained window root node Where R′(x) is the output value of the root node when the input vector x is applied to the leaf node of the window after the configuration bit b k is flipped, means that the single event flip simulation is performed on the configuration bit b k , that is, if b k =1 then If b k =0 then

步骤S234:比较步骤S232和步骤S233中的结果R(x)|bk若有即翻转配置位bk对窗口根节点输出没有改变,则bk不是敏感配置位,则进入步骤S235;若有Step S234: Compare the results R(x)|b k and if any That is, flipping the configuration bit b k does not change the output of the root node of the window, then b k is not a sensitive configuration bit, and then enters step S235; if there is

即翻转配置位bk后窗口根节点输出发生了变化,则bk是敏感配置位,进入步骤S237; That is, if the output of the root node of the window changes after flipping the configuration bit b k , then b k is a sensitive configuration bit, and enters step S237;

步骤S235:对配置位bk是否已穷举所有测试集进行判断,若还有未施加的测试向量返回步骤S232继续施加测试向量进行测试,若已经施加了所有的测试向量进入步骤S236。Step S235: Judging whether all test sets have been exhausted for the configuration bit b k , if there are still unapplied test vectors, return to step S232 and continue to apply test vectors for testing, if all test vectors have been applied, proceed to step S236.

步骤S236:标记配置位bk是无关配置位。Step S236: Mark the configuration bit b k as a don't care configuration bit.

步骤S237:标记配置位bk是敏感配置位,即不是无关配置位。Step S237: mark the configuration bit b k as a sensitive configuration bit, ie not an irrelevant configuration bit.

步骤S238:判断是否已遍历节点的所有配置位,判断配置位编号k是否达到最大值,若已达到最大值,则进入步骤S29;若配置位编号k未达到未最大值,则返回步骤S21继续进行该节点无关配置位的查找。Step S238: Judging whether all configuration bits of the node have been traversed, judging whether the configuration bit number k has reached the maximum value, if it has reached the maximum value, then enter step S29; if the configuration bit number k has not reached the maximum value, then return to step S21 to continue A lookup of the node-independent configuration bits is performed.

步骤S239:该节点所有配置位均已仿真完毕,建立数据库记录该节点的无关配置位信息。Step S239: All configuration bits of the node have been simulated, and a database is established to record irrelevant configuration bit information of the node.

如图10所示为本发明提供对待冗余电路和构建的部分三模冗余电路进行单粒子事件仿真,以验证所构建的部分三模冗余电路抗单粒子效应的能力。所述单粒子事件仿真的具体步骤如下:As shown in FIG. 10 , the present invention provides a single event event simulation for the circuit to be redundant and the constructed part of the triple-mode redundant circuit, so as to verify the anti-single event effect capability of the constructed part of the triple-mode redundant circuit. The specific steps of the single event event simulation are as follows:

步骤S51:随机选择待仿真电路的一个查找表的一个配置位Lsbt,其中L代表电路中的查找表,s表示查找表编号,b代表查找表中的配置位,t代表配置位编号,即选中第s个查找表中的第t位配置位。Step S51: Randomly select a configuration bit L s b t of a look-up table of the circuit to be simulated, where L represents the look-up table in the circuit, s represents the number of the look-up table, b represents the configuration bit in the look-up table, and t represents the configuration bit number , that is, the t-th configuration bit in the s-th lookup table is selected.

步骤S52:随机生成一个测试向量v,根据待仿真电路拓扑结构信息获得对应输出O(v)|Lsbt,其中O(v)代表对待仿真电路施加输入向量v时电路的输出值。Step S52: Randomly generate a test vector v, and obtain the corresponding output O(v)|L s b t according to the topology information of the circuit to be simulated, where O(v) represents the output value of the circuit when the input vector v is applied to the circuit to be simulated.

步骤S53:翻转步骤S51中选中的配置位Lsbt代表在第s个查找表中的第t位配置位上发生了单粒子事件,并向待仿真电路施加步骤S52中生成的测试向量v获得对应输出其中O’(v)代表翻转配置位Lsbt后对待仿真电路施加输入向量v时电路的输出值。表示对配置位Lsbt进行单粒子翻转模拟,即,若有Lsbt=1则若有Lsbt=0则 Step S53: Flipping the configuration bit L s b t selected in step S51 means that a single event event has occurred on the tth configuration bit in the sth lookup table, and applying the test vector v generated in step S52 to the circuit to be simulated Get the corresponding output Among them, O'(v) represents the output value of the circuit when the input vector v is applied to the simulated circuit after flipping the configuration bit L s b t . Indicates that the single-event flip simulation is performed on the configuration bit L s b t , that is, if L s b t = 1, then If L s b t = 0 then

步骤S54:比较步骤S52和步骤S53中的输出电路的输出端O,则进入步骤S55;Step S54: Compare the outputs in Step S52 and Step S53 The output terminal O of the circuit then enters step S55;

若有表示注入的故障无法传播至待仿真电路的输出端O,进入步骤S56。if any Indicates that the injected fault cannot be propagated to the output terminal O of the circuit to be simulated, and enters step S56.

步骤S55:待仿真电路的故障数加1。Step S55: Add 1 to the fault number of the circuit to be simulated.

步骤S56:判断注入的故障点数量是否已达到预设值,若未达到预设值,则进入返回步骤S51继续注入故障;若已达到预设值,则进入步骤S57。Step S56: Determine whether the number of injected fault points has reached the preset value, if not, go back to step S51 to continue injecting faults; if it has reached the preset value, go to step S57.

步骤S57:统计待仿真电路的故障信息,计算待仿真电路故障率,单粒子事件仿真工作结束。Step S57: Count the failure information of the circuit to be simulated, calculate the failure rate of the circuit to be simulated, and the single event event simulation work ends.

以上所述仅是本发明的优选实施方式,应当指出,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。The above descriptions are only preferred implementations of the present invention, and it should be pointed out that those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalent technologies, the present invention also intends to include these modifications and variations.

Claims (7)

1. a kind of part triplication redundancy method counted based on look-up table configuration bit, including step are as follows:
Step S1:It will treat that redundant circuit is mapped as k- input look-up table formats, and read the information for treating redundant circuit, set up circuit and open up Structural database is flutterred, the look-up table is the look-up table in FPGA;
Step S2:Circuit topological structure information to circuit topological structure database is counted, and writing circuit topological structure The unrelated configuration bit information of each node in redundant circuit is treated in database;Wherein, the step of the unrelated configuration bit information is obtained It is rapid as follows:Node is divided according to circuit topological structure, node window is obtained, judges whether further according to node window information Unrelated configuration bit is calculated, if the leaf node number of window is met when being less than leaf node maximum, the node is calculated Unrelated configuration bit number and record;If the leaf node number of window is unsatisfactory for being less than maximum, by the nothing of the node Close configuration bit number and be designated as 0;
Step S3:According to unrelated configuration bit number, the single particle effect sensitive information of look-up table is obtained;
Step S4:The look-up table of single-particle inversion-sensitivity is extracted from the single particle effect sensitive information of look-up table, and to list The look-up table of particle upset-sensitivity carries out triplication redundancy processing, obtains and according to redundant results in each redundant module and non-superfluous Voting machine is inserted between complementary modul block, the part triplication redundancy circuit with anti-single particle effect capability is built.
2. triplication redundancy method in part as claimed in claim 1, it is characterised in that the unrelated configuration bit number calculating method of node For:It is window generation exhaustive testing collection with exhaustive method, applies the exhaustive testing collection to window leaf node and overturn one by one Whether each configuration bit of node, watch window root node output changes;If overturning certain configuration bit and traveling through whole exhaustive testing Collection, window root node output is unchanged, then the configuration bit is the unrelated configuration bit of node.
3. triplication redundancy method in part as claimed in claim 1, it is characterised in that the single particle effect for obtaining look-up table is sensitive The step of property information, is as follows:The unrelated configuration bit threshold value of a look-up table is set, when the unrelated configuration bit number of some look-up table is high Then it is the look-up table of single-particle inversion-insensitive when look-up table unrelated configuration bit threshold value;When the unrelated configuration of some look-up table Then it is the look-up table of single-particle inversion-sensitivity when position number is not higher than look-up table unrelated configuration bit threshold value.
4. triplication redundancy method in part as claimed in claim 3, it is characterised in that the unrelated configuration bit threshold value H of look-up table It is expressed as follows:H=10 × (P-0.9) × Nc, wherein P are out of order general to be showed after redundant circuit is hit by single event Rate, Nc is look-up table configuration bit number, it follows that treat that redundant circuit is higher to reliability requirement, the unrelated configuration bit threshold of look-up table Value is bigger.
5. triplication redundancy method in part as claimed in claim 3, it is characterised in that carry out triplication redundancy treating redundant circuit When, redundancy processing only is done to the look-up table of the single-particle inversion-sensitivity.
6. triplication redundancy method in part as claimed in claim 1, it is characterised in that treat redundant circuit and the part three built Mould redundant circuit carries out single event emulation, to verify the energy of constructed part triplication redundancy circuit anti-single particle effect Power.
7. triplication redundancy method in part as claimed in claim 1, it is characterised in that treat that redundant circuit carries out part three to described Also need to consider the concrete structure for treating redundant circuit during the processing of mould redundancy, when the look-up table of one single-particle inversion of redundancy-insensitive When can reduce the insertion of two or more voting machine, triplication redundancy should be carried out to the single-particle inversion-insensitive look-up table.
CN201410526724.XA 2014-10-09 2014-10-09 A kind of part triplication redundancy method counted based on look-up table configuration bit Active CN104268253B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410526724.XA CN104268253B (en) 2014-10-09 2014-10-09 A kind of part triplication redundancy method counted based on look-up table configuration bit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410526724.XA CN104268253B (en) 2014-10-09 2014-10-09 A kind of part triplication redundancy method counted based on look-up table configuration bit

Publications (2)

Publication Number Publication Date
CN104268253A CN104268253A (en) 2015-01-07
CN104268253B true CN104268253B (en) 2017-10-27

Family

ID=52159774

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410526724.XA Active CN104268253B (en) 2014-10-09 2014-10-09 A kind of part triplication redundancy method counted based on look-up table configuration bit

Country Status (1)

Country Link
CN (1) CN104268253B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104615510B (en) * 2015-03-09 2017-01-25 中国科学院自动化研究所 Dual-mode Redundant Fault Tolerance Method Based on Programmable Devices
CN105718693B (en) * 2016-01-28 2018-12-21 北京时代民芯科技有限公司 A kind of FPGA circuitry Logic coverage optimization method based on configuration independent bit
CN109408839B (en) * 2017-08-17 2023-08-25 复旦大学 A design method of radiation-resistant and fault-tolerant FPGA circuit by reducing sensitive configuration bits through local redundancy
FR3082968B1 (en) * 2018-06-21 2020-07-10 Safran Electronics & Defense METHOD FOR PROTECTING AN FPGA FROM NATURAL RADIATION
CN109766226A (en) * 2018-12-28 2019-05-17 上海微阱电子科技有限公司 A kind of multilayer secondary design realizes the digital circuit of multi-mode redundant voting function
CN114004183A (en) * 2020-07-28 2022-02-01 中科亿海微电子科技(苏州)有限公司 Reinforcing method and device for FPGA circuit
CN111967684B (en) * 2020-08-27 2024-02-02 北京合众伟奇科技股份有限公司 Metering asset active distribution method based on big data analysis

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7852107B1 (en) * 2010-02-18 2010-12-14 Xilinx, Inc. Single event upset mitigation
CN102054056A (en) * 2009-11-06 2011-05-11 复旦大学 Rapid simulation method for anti-radiation property of field programmable gate array (FPGA)
CN102820879A (en) * 2012-08-17 2012-12-12 中国电子科技集团公司第五十八研究所 Radiation-proof triple-modular redundancy circuit structure
CN102901924A (en) * 2012-09-21 2013-01-30 中国空间技术研究院 Method for testing single event upset characteristics of partial triple modular redundancy static random access memory (SRAM) type field programmable gate arrays (FPGA)
CN102915768A (en) * 2012-10-01 2013-02-06 中国科学院近代物理研究所 Device and method for tolerating faults of storage based on triple modular redundancy of EDAC module
CN103236271A (en) * 2013-03-26 2013-08-07 深圳市国微电子有限公司 Memory for reinforcing single event upset based on triple modular redundancy, and reinforcing method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8049529B2 (en) * 2008-07-30 2011-11-01 Raytheon Company Fault triggerred automatic redundancy scrubber

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102054056A (en) * 2009-11-06 2011-05-11 复旦大学 Rapid simulation method for anti-radiation property of field programmable gate array (FPGA)
US7852107B1 (en) * 2010-02-18 2010-12-14 Xilinx, Inc. Single event upset mitigation
CN102820879A (en) * 2012-08-17 2012-12-12 中国电子科技集团公司第五十八研究所 Radiation-proof triple-modular redundancy circuit structure
CN102901924A (en) * 2012-09-21 2013-01-30 中国空间技术研究院 Method for testing single event upset characteristics of partial triple modular redundancy static random access memory (SRAM) type field programmable gate arrays (FPGA)
CN102915768A (en) * 2012-10-01 2013-02-06 中国科学院近代物理研究所 Device and method for tolerating faults of storage based on triple modular redundancy of EDAC module
CN103236271A (en) * 2013-03-26 2013-08-07 深圳市国微电子有限公司 Memory for reinforcing single event upset based on triple modular redundancy, and reinforcing method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Selective Triple Modular Redundancy (STMR) for Single Event Upset (SEU) Tolerant for FPGAs;Praveen Kumar Samudrala Jeremy Ramos等;《IEEE Transactions on Nuclear Science》;20041130;第2957-2969页 *
SRAM型FPGA的单粒子效应评估技术研究;王忠明;《中国博士学位论文全文数据库 信息科技辑 》;20121231;第1页第23行-27行,第14页第31-32行,第15页第1行,第18页第13行-16行,第91页第14行-15行 *

Also Published As

Publication number Publication date
CN104268253A (en) 2015-01-07

Similar Documents

Publication Publication Date Title
CN104268253B (en) A kind of part triplication redundancy method counted based on look-up table configuration bit
Lin et al. Analysis and design of nanoscale CMOS storage elements for single-event hardening with multiple-node upset
CN101826038A (en) Circuit and method for resisting SEU of SRAM FPGA device
CN104461808B (en) A kind of FPGA single particle soft error impact evaluation method by mistake
CN109558649B (en) A register single event effect simulation method for aerospace chips
CN104598352B (en) Rapid reliability evaluation method for SRAM (Static Random Access Memory) type FPGA (Field Programmable Gate Array)
CN104866390B (en) Asynchronous static random access memory triplication redundancy controller
CN202798645U (en) Anti-irradiation triple module redundancy (TMR) circuit structure
CN104461790B (en) A kind of selective triplication redundancy method based on look-up table ornamental tolerance
CN109408839B (en) A design method of radiation-resistant and fault-tolerant FPGA circuit by reducing sensitive configuration bits through local redundancy
CN105334906B (en) Multistage gated clock network optimized approach under nanometer technology
CN105656474B (en) A kind of FPGA subscriber's line circuit logic inversion optimization method based on signal probability
CN105141302A (en) Clock edge based single event upset self-inspection error correction circuit
CN111079356B (en) Single-particle reinforcement effectiveness system-level verification method
CN108073989A (en) A kind of combinational logic circuit based on bayesian probability model selectively reinforces algorithm
CN1983286A (en) Automatic intelligent single-particle fault injector
Chen et al. A statistical reliability model for single-electron threshold logic
Ballast et al. A method for efficient radiation hardening of multicore processors
Ayache et al. A reliability model for error correcting memory systems
CN115526119A (en) Method for automatically generating dynamic fault tree model
CN110377967B (en) Low-overhead reinforcement method for anti-single event error of combinational logic circuit
CN105869679B (en) A kind of SRAM type FPGA single particle soft error and circuit malfunction rate relationship rapid assay methods
CN105760243B (en) One kind is based on the pretreated intelligent refresh control method of code stream
Lin et al. Modeling and design of a nanoscale memory cell for hardening to a single event with multiple node upset
CN104123225B (en) Method for analyzing system single-particle soft error propagation process through fault coupling matrix

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant