WO2021175099A1 - Effective random fault injection method for memory circuit - Google Patents

Effective random fault injection method for memory circuit Download PDF

Info

Publication number
WO2021175099A1
WO2021175099A1 PCT/CN2021/075704 CN2021075704W WO2021175099A1 WO 2021175099 A1 WO2021175099 A1 WO 2021175099A1 CN 2021075704 W CN2021075704 W CN 2021075704W WO 2021175099 A1 WO2021175099 A1 WO 2021175099A1
Authority
WO
WIPO (PCT)
Prior art keywords
nodes
random
fault injection
file
faulty
Prior art date
Application number
PCT/CN2021/075704
Other languages
French (fr)
Chinese (zh)
Inventor
蔡志匡
余昊杰
周正
王荧
王子轩
谢祖帅
刘璐
郭宇锋
Original Assignee
南京邮电大学
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 南京邮电大学 filed Critical 南京邮电大学
Publication of WO2021175099A1 publication Critical patent/WO2021175099A1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor

Definitions

  • the invention relates to the field of ultra-large-scale digital integrated circuit testing, in particular to an effective random fault injection method of a memory circuit.
  • Static Random Access Memory is one of the key modules of mobile processors. SRAM is fast, has a small capacity, and has good compatibility. It is generally used as embedded memory, that is, cache or temporary storage. Device. To meet the ever-increasing demand for performance and power consumption, low-voltage SRAM design is gradually becoming a research hotspot in the industry. In order to improve the overall performance of the system-on-chip, reducing the power supply voltage is an effective means to improve the energy efficiency of the circuit. However, when the power supply voltage is lower than the threshold voltage, the influence of process parameter changes on the stability of the memory cell and the change of the critical path delay also increases sharply. Under advanced technology, SRAM will have more and more complicated failure models.
  • the SRAM circuit is different from the general digital circuit. SRAM is composed of a high-density storage array. According to different needs, the circuit structure is also different. Its failure rate is higher and the type of failure is more complicated. Therefore, the test of SRAM becomes more and more complicated. It has become more difficult, and due to the limitations of various technologies, whether the traditional test algorithm can really detect the failure of the memory circuit and the coverage of the failure has not been effectively verified. In the field of memory testing, there has always been a lack of a feasible method of memory fault injection to verify the test algorithm; the current fault injection methods used in engineering are software injection faults, Verilog-based fault injections and chip faults in the FPGA machine. The above methods Each has its own advantages and disadvantages, and the limitations are too high.
  • the purpose of the present invention is to provide an effective random fault injection method for a memory circuit, which can achieve random fault injection node positions, random number of injection nodes, and random injection resistance values by performing at the circuit simulation level and when injecting faults.
  • the existing methods have strong randomness, which reduces the complexity of fault injection while verifying the effectiveness of the algorithm.
  • the present invention provides an effective random fault injection method for a memory circuit, and the method steps are as follows:
  • Step 1 Use Perl language to extract all the nodes that may fail, modify the names of all failed nodes, and generate a new file;
  • Step 2 Randomly select one or more faulty nodes in the node file, and insert random resistors with resistance values at the nodes;
  • Step 3 After inserting the resistor, a new memory netlist file with random fault injection is generated.
  • a further improvement is that when extracting faulty nodes in the first step, the storage netlist is first analyzed, and all the circuit nodes that may be faulty in the storage unit are extracted through Perl language, and the names of all faulty nodes are modified according to the predetermined naming rules, which is convenient During fault injection, the randomly selected faulty node is located in the original netlist, and a new faulty node file is generated. Each line in the file is a faulty node.
  • a further improvement is that the method for selecting faulty nodes in the second step is as follows: randomly select p faulty nodes from the faulty node file, and determine the position of the randomly selected node in the original netlist through naming rules, and inject a resistor with random resistance ; If p nodes are selected, the resistance values of the injection resistors are r 1 ... r p , and the size of each resistance is random.
  • a further improvement is that the resistors injected in the second step are named R fau1 ...R faup , which correspond to two port nodes and random resistance values r 1 ...r p, and the above information is added to the memory cell module to generate a new The storage netlist file.
  • the beneficial effects of the present invention the randomness and comprehensiveness of the fault injection are taken into account while the fault is injected, resistors are added to the memory circuit structure, and the circuit defects that may occur in the manufacturing engineering of the circuit are simulated, and the validity of the algorithm is verified at the same time , Verified the fault coverage of the algorithm.
  • the fault injection of the present invention is performed on the memory spice netlist, which improves the executable of the fault injection, enhances the relevance of the fault injection in practice, and reduces the complexity of subsequent simulation verification.
  • Fig. 1 is a flow chart of the random fault injection method of the present invention.
  • FIG. 2 is a structural diagram of the SRAM of the present invention.
  • Fig. 3 is a diagram of node insertion resistance based on the 6T SRAM circuit of the present invention.
  • Fig. 4 is a block diagram of the verification structure after fault injection is completed based on the SRAM example of the present invention.
  • Fig. 5 is a waveform diagram of the random fault injection verification based on the 6T SRAM cell of the present invention.
  • this embodiment provides an effective random fault injection method for a memory circuit, and the method steps are as follows:
  • Step 1 Use Perl language to extract all the nodes that may fail, modify the names of all failed nodes, and generate a new file;
  • Step 2 Randomly select one or more faulty nodes in the node file, and insert random resistors with resistance values at the nodes;
  • Step 3 After inserting the resistor, a new memory netlist file with random fault injection is generated.
  • the method for selecting the faulty node in the second step is as follows: randomly select p faulty nodes from the faulty node file, and determine the position of the randomly selected node in the original netlist by naming rules, and inject a resistor with random resistance; if the node is selected If the number is p, the resistance values of the injection resistors are r 1 ... r p , and each resistance value is random.
  • the resistors injected in the second step are named R fau1 ...R faup , which correspond to two port nodes and random resistance values r 1 ...r p, add the above information to the memory cell module to generate a new memory netlist document.
  • This embodiment improves on the technical problem of memory fault injection, and innovatively implements an effective random fault injection method for memory. While fault injection, the randomness and comprehensiveness of fault injection are considered.
  • the fault injection in this embodiment is performed on the memory spice netlist, which improves the executable of fault injection, enhances the relevance of fault injection in practice, and reduces the complexity of subsequent simulation verification.
  • Figure 1 shows a flow chart of the random fault injection method of this embodiment. As shown in the figure, three steps are required to complete the random fault injection, including fault node extraction, random fault injection, and random fault injection verification.
  • the extraction of faulty nodes includes the location of possible faulty circuit nodes in the memory, extracting all circuit nodes and modifying the names of circuit nodes, generating a circuit node list file, and each line in the file corresponds to a circuit node to complete the extraction of faulty nodes; random fault injection is the implementation
  • the core module of the example includes the selected fault nodes randomly, the number of selected nodes is random, and the injection resistance value is random; different fault nodes at p (p>0) are randomly selected in the node file, and the resistance value of each node is injected Random; as shown in Figure 1, when randomly selecting different nodes at p, each time the selection is completed, it is necessary to determine whether the failure node is the same as the previous selection.
  • FIG. 2 is a structure diagram of the static random access memory.
  • a complete memory system includes an address decoder, a timing control unit, a column selector, a sensitive amplifier, and a data buffer unit. And a storage array, where the storage array is a plurality of neatly arranged storage units. As shown in the figure, the circuit structure diagram of the storage unit can be seen.
  • Figure 3 is based on the 6T SRAM circuit node insertion resistance diagram. As shown in the figure, according to the description of the memory netlist file, each MOS device name and port node name are marked. When the circuit node is extracted, the circuit node name is modified. The node is the three ports of each MOS device, so the device name is added before the node name.
  • the corresponding node location can be located by the device name, as shown in the figure, when the node name is randomly selected as MNPg-b
  • the fault injection location can be located at the bb node of the MNPg-b device according to the naming rule, and the resistance at the fault node is injected with a resistance value of r 1 and a resistor named R fau1.
  • FIG. 4 is a block diagram of the verification structure after fault injection is completed based on the SRAM example of this embodiment.
  • the BIST circuit includes modules such as state machine, address generator, data generator, and algorithm controller, and uses March2 algorithm to generate test vector tests.
  • Memory circuit The test output is compared with the expected data through a comparator. After the comparison, the tst-done signal jumps to 1. If the comparison data is consistent, the fail-h signal is 0, otherwise it jumps to 1. This experiment is based on a mixed simulation environment to verify the feasibility of the fault injection method.
  • the BIST test circuit is written in Verilog sentences and simulated by VCS.
  • the SRAM to be tested is a cdl netlist and simulated by HSIM.
  • Figure 5 is based on the random fault injection verification waveform of the 6T SRAM cell. The experimental results are compared through the hybrid simulation test waveform. Among them, (a) is the waveform of the original netlist test result of the memory. Observe the tst-done and fail-h in the figure.
  • Figure 6 (b) is the same simulation environment, after the random fault is injected Generate the netlist file test result waveform diagram, observe the tst-done and fail-h waveform transitions, and find that when the tst-done signal is still 0, the fail-h signal has jumped to 1, indicating that the circuit is faulty. Further analysis found that the corresponding test step when the waveform jumps is w1r1, and the injected fault node is R fau1 . The fault manifestation is a conversion failure, which cannot be converted from 0 to 1, which is consistent with the waveform check result of the algorithm, effectively verifying this embodiment The feasibility of the method.

Abstract

The present invention provides an effective random fault injection method for a memory circuit. The method comprises the following steps: step 1, extracting all possible fault nodes with a Perl language, modifying the names of all fault nodes, and generating a new file; step 2, randomly selecting one or more fault nodes in the node file, and inserting resistance random resistors into the nodes; and step 3, generating a new memory netlist file with random fault injection completed after the resistor is inserted. According to the method, the netlist after the fault injection can be generated, and random fault injection is realized. The random fault injection method is characterized in that the node position of the fault injection circuit is random, the fault injection quantity is random, and the resistance value of the injection resistor is random, and the method is a feasible method, and can effectively verify the fault coverage of a test algorithm.

Description

一种有效的存储器电路随机故障注入方法An Effective Random Fault Injection Method for Memory Circuits 技术领域Technical field
本发明涉及超大规模数字集成电路测试领域,尤其涉及一种有效的存储器电路随机故障注入方法。The invention relates to the field of ultra-large-scale digital integrated circuit testing, in particular to an effective random fault injection method of a memory circuit.
背景技术Background technique
移动互联网应用的快速发展对智能移动设备的处理能力和续航时间提出了越来越高的要求。静态随机存取存储器(Static Random Access Memory,SRAM)是移动处理器的关键模块之一,SRAM速度快,容量较小,具有很好的兼容性,一般用作嵌入式存储器,即缓存或者暂存器。为满足不断增长的性能和功耗需求,低电压SRAM设计正逐渐成为业界的研究热点。为改善片上系统的整体性能,降低电源电压是提高电路能效指标的有效手段。但是在电源电压低于阈值电压的情况下,工艺参数变化对存储单元的稳定性和关键路径延迟变化的影响也急剧增加。在先进工艺下,SRAM会出现更多更为复杂的故障模型。The rapid development of mobile Internet applications has put forward higher and higher requirements for the processing capabilities and battery life of smart mobile devices. Static Random Access Memory (SRAM) is one of the key modules of mobile processors. SRAM is fast, has a small capacity, and has good compatibility. It is generally used as embedded memory, that is, cache or temporary storage. Device. To meet the ever-increasing demand for performance and power consumption, low-voltage SRAM design is gradually becoming a research hotspot in the industry. In order to improve the overall performance of the system-on-chip, reducing the power supply voltage is an effective means to improve the energy efficiency of the circuit. However, when the power supply voltage is lower than the threshold voltage, the influence of process parameter changes on the stability of the memory cell and the change of the critical path delay also increases sharply. Under advanced technology, SRAM will have more and more complicated failure models.
SRAM电路不同于一般的数字电路,SRAM由高密度的存储阵列构成,根据不同的需求,电路结构也不尽相同,它的故障发生率更高,故障类型更复杂,因此SRAM的测试变得越来越困难,并且由于种种技术的限制,传统测试算法是否真的可以检测到存储器电路发生故障以及对故障的覆盖率并没有得到有效验证。在存储器测试领域一直缺少一种切实可行的验证测试算法的存储器故障注入方法;目前工程上应用的故障注入的方法为软件注入故障、基于Verilog级注入故障以及在FPGA机台注入芯片故障,以上方法都各有优缺点,且局限性过高,FPGA机台注入故障大部分为单粒子翻转引发的故障与本发明注入制造缺陷引发功能故障有很大差异;基于软件以及Verilog级故障注入技术不具有随机性,且故障模型单一,只是人为的实现开路、短路故障,环境较为理想化,不能模拟电路实际的工作状态。The SRAM circuit is different from the general digital circuit. SRAM is composed of a high-density storage array. According to different needs, the circuit structure is also different. Its failure rate is higher and the type of failure is more complicated. Therefore, the test of SRAM becomes more and more complicated. It has become more difficult, and due to the limitations of various technologies, whether the traditional test algorithm can really detect the failure of the memory circuit and the coverage of the failure has not been effectively verified. In the field of memory testing, there has always been a lack of a feasible method of memory fault injection to verify the test algorithm; the current fault injection methods used in engineering are software injection faults, Verilog-based fault injections and chip faults in the FPGA machine. The above methods Each has its own advantages and disadvantages, and the limitations are too high. Most of the FPGA machine injection failures are caused by single event flipping. There is a big difference between the functional failures caused by the injection of manufacturing defects in the present invention; software-based and Verilog-level fault injection technology does not have Randomness and single fault model, only artificially realize open circuit and short circuit faults, the environment is more ideal, and the actual working state of the circuit cannot be simulated.
发明内容Summary of the invention
本发明的目的是提供一种有效的存储器电路随机故障注入方法,通过在电路仿真级进行且在注入故障的时实现故障注入节点位置随机、注入节点个数随机、注入电阻阻值随机,相较于目前存在的方法具有强的随机性,在验证算法有效性的同时降低了故障注入的复杂度。The purpose of the present invention is to provide an effective random fault injection method for a memory circuit, which can achieve random fault injection node positions, random number of injection nodes, and random injection resistance values by performing at the circuit simulation level and when injecting faults. The existing methods have strong randomness, which reduces the complexity of fault injection while verifying the effectiveness of the algorithm.
本发明提供一种有效的存储器电路随机故障注入方法,所述方法步骤如下:The present invention provides an effective random fault injection method for a memory circuit, and the method steps are as follows:
步骤一:利用Perl语言提取出所有可能出现故障的节点,修改所有故障节点名称,生成一个新的文件;Step 1: Use Perl language to extract all the nodes that may fail, modify the names of all failed nodes, and generate a new file;
步骤二:随机选取节点文件中的一个或多个故障节点,并在节点处插入阻值随机电阻;Step 2: Randomly select one or more faulty nodes in the node file, and insert random resistors with resistance values at the nodes;
步骤三:插入电阻后生成一个新的已完成随机故障注入的存储器网表文件。Step 3: After inserting the resistor, a new memory netlist file with random fault injection is generated.
进一步改进在于:所述步骤一中提取故障的节点时,先分析存储器网表,通过Perl语言提取出存储单元所有可能出现故障的电路节点并按照预定的命名规则对所有故障节点名称进行修改,方便故障注入时在原始网表中对随机选取的故障节点进行定位,生成出一个新的故障节点文件,文件中每一行是一个故障节点。A further improvement is that when extracting faulty nodes in the first step, the storage netlist is first analyzed, and all the circuit nodes that may be faulty in the storage unit are extracted through Perl language, and the names of all faulty nodes are modified according to the predetermined naming rules, which is convenient During fault injection, the randomly selected faulty node is located in the original netlist, and a new faulty node file is generated. Each line in the file is a faulty node.
进一步改进在于:所述步骤二中选取故障节点的方法如下:从故障节点文件中随机选取p个故障节点,并且通过命名规则确定随机选取节点在原始网表中的位置,注入阻值随机的电阻;若选取节点为p个,则注入电阻阻值分别为r 1…..r p,每个阻值大小随机。 A further improvement is that the method for selecting faulty nodes in the second step is as follows: randomly select p faulty nodes from the faulty node file, and determine the position of the randomly selected node in the original netlist through naming rules, and inject a resistor with random resistance ; If p nodes are selected, the resistance values of the injection resistors are r 1r p , and the size of each resistance is random.
进一步改进在于:所述步骤二中注入的电阻命名为R fau1…R faup,后面对应两个端口节点,以及随机阻值r 1…..r p,将以上信息加入存储器单元模块中,生成新的存储器网表文件。 A further improvement is that the resistors injected in the second step are named R fau1 …R faup , which correspond to two port nodes and random resistance values r 1 …r p, and the above information is added to the memory cell module to generate a new The storage netlist file.
本发明的有益效果:在故障注入的同时考虑到了故障注入的随机性与全面性,在存储器电路结构中加入电阻,模拟电路在制造工程中可能出现的电路缺陷,在验证算法的有效性的同时,验证了算法的故障覆盖率。本发明故障注入是在存储器spice网表上进行的,提高了故障注入的可执行性、增强了故障注入在实际中的相关性、降低了后续仿真验证的复杂度。The beneficial effects of the present invention: the randomness and comprehensiveness of the fault injection are taken into account while the fault is injected, resistors are added to the memory circuit structure, and the circuit defects that may occur in the manufacturing engineering of the circuit are simulated, and the validity of the algorithm is verified at the same time , Verified the fault coverage of the algorithm. The fault injection of the present invention is performed on the memory spice netlist, which improves the executable of the fault injection, enhances the relevance of the fault injection in practice, and reduces the complexity of subsequent simulation verification.
附图说明Description of the drawings
图1是本发明的随机故障注入方法流程图。Fig. 1 is a flow chart of the random fault injection method of the present invention.
图2是本发明的静态随机存储器结构图。Figure 2 is a structural diagram of the SRAM of the present invention.
图3是本发明的基于6T SRAM电路节点插入电阻图。Fig. 3 is a diagram of node insertion resistance based on the 6T SRAM circuit of the present invention.
图4是本发明的基于SRAM实例完成故障注入后验证结构框图。Fig. 4 is a block diagram of the verification structure after fault injection is completed based on the SRAM example of the present invention.
图5是本发明的基于6T SRAM单元随机故障注入验证波形图。Fig. 5 is a waveform diagram of the random fault injection verification based on the 6T SRAM cell of the present invention.
具体实施方式Detailed ways
为了加深对本发明的理解,下面将结合实施例对本发明作进一步详述,该实施例仅用于解释本发明,并不构成对本发明保护范围的限定。In order to deepen the understanding of the present invention, the present invention will be described in further detail below in conjunction with examples. The examples are only used to explain the present invention and do not constitute a limitation on the protection scope of the present invention.
如图1-5所示,本实施例提供一种有效的存储器电路随机故障注入方法,所述方法步骤如下:As shown in Figures 1-5, this embodiment provides an effective random fault injection method for a memory circuit, and the method steps are as follows:
步骤一:利用Perl语言提取出所有可能出现故障的节点,修改所有故障节点名称,生成一个新的文件;Step 1: Use Perl language to extract all the nodes that may fail, modify the names of all failed nodes, and generate a new file;
步骤二:随机选取节点文件中的一个或多个故障节点,并在节点处插入阻值随机电阻;Step 2: Randomly select one or more faulty nodes in the node file, and insert random resistors with resistance values at the nodes;
步骤三:插入电阻后生成一个新的已完成随机故障注入的存储器网表文件。Step 3: After inserting the resistor, a new memory netlist file with random fault injection is generated.
所述步骤一中提取故障的节点时,先分析存储器网表,通过Perl语言提取出存储单元所有可能出现故障的电路节点并按照预定的命名规则对所有故障节点名称进行修改,方便故障注入时在原始网表中对随机选取的故障节点进行定位,生成出一个新的故障节点文件,文件中每一行是一个故障节点。所述步骤二中选取故障节点的方法如下:从故障节点文件中随机选取p个故障节点,并且通过命名规则确定随机选取节点在原始网表中的位置,注入阻值随机的电阻;若选取节点为p个,则注入电阻阻值分别为r 1…..r p,每个阻值大小随机。所述步骤二中注入的电阻命名为R fau1…R faup,后面对应两个端口节点,以及随机阻值r 1…..r p,将以上信息加入存储器单元模块中,生成新的存储器网表文件。 When extracting faulty nodes in the first step, first analyze the storage netlist, extract all possible faulty circuit nodes of the storage unit through Perl language, and modify the names of all faulty nodes in accordance with the predetermined naming rules to facilitate fault injection. In the original netlist, randomly selected faulty nodes are located, and a new faulty node file is generated. Each line in the file is a faulty node. The method for selecting the faulty node in the second step is as follows: randomly select p faulty nodes from the faulty node file, and determine the position of the randomly selected node in the original netlist by naming rules, and inject a resistor with random resistance; if the node is selected If the number is p, the resistance values of the injection resistors are r 1r p , and each resistance value is random. The resistors injected in the second step are named R fau1 …R faup , which correspond to two port nodes and random resistance values r 1 …r p, add the above information to the memory cell module to generate a new memory netlist document.
本实施例针对存储器故障注入这一技术难题进行改进,创新性地实施例了一种有效的存储器随机故障注入方法,在故障注入的同时考虑到了故障注入的随机性与全面性,在存储器电路结构中加入电阻,模拟电路在制造工程中可能出现的电路缺陷,在验证算法的有效性的同时,验证了算法的故障覆盖率。本实施例故障注入是在存储器spice网表上进行的,提高了故障注入的可执行性、增强了故障注入在实际中的相关性、降低了后续仿真验证的复杂度。This embodiment improves on the technical problem of memory fault injection, and innovatively implements an effective random fault injection method for memory. While fault injection, the randomness and comprehensiveness of fault injection are considered. In the memory circuit structure Adding resistance to simulate the circuit defects that may occur in the manufacturing engineering of the circuit, while verifying the effectiveness of the algorithm, it also verifies the fault coverage of the algorithm. The fault injection in this embodiment is performed on the memory spice netlist, which improves the executable of fault injection, enhances the relevance of fault injection in practice, and reduces the complexity of subsequent simulation verification.
图1给出了本实施例随机故障注入方法的流程图,如图所示,完成随机故障注入需要完成三大步骤,包括故障节点提取,随机故障注入以及随机故障注入验证。故障节点提取包括对存储器可能出现故障电路节点定位,提取出全部电路节点并修改电路节点名称,生成电路节点列表文件,文件中每一行对应一个电路节点,完成故障节点提取;随机故障注入是本实施例的核心模块,其中包括选取的故障节点随机,选取节点个数随机,注入电阻阻值随机;在节点文件中随机选取p(p>0)处不同故障节点,并且每处节点注入电阻阻值随机;如图1所示,在随机选取p处不同节点时,每次选取结束需要判断是否与前一个次选取的故障节点相同,如果相同则重新选取节点,不同则继续,在选取节点处注入阻值随机的电阻,然后判断是否选取的p处节点已经全部完成电阻注入(例如随机选取4处节点,首先判断这4处节点不存在相同节点,然后判断是否注入四个阻值随机的电阻),最后生成新的存储器网表,实现随机故障注入;最后是对故障注入可行性进行验证,基于存储器测试算法生成BIST测试电路,分别测试原始网表以及故障注入后网表,通过对比两次测试波形图验证故障注入的可行性。Figure 1 shows a flow chart of the random fault injection method of this embodiment. As shown in the figure, three steps are required to complete the random fault injection, including fault node extraction, random fault injection, and random fault injection verification. The extraction of faulty nodes includes the location of possible faulty circuit nodes in the memory, extracting all circuit nodes and modifying the names of circuit nodes, generating a circuit node list file, and each line in the file corresponds to a circuit node to complete the extraction of faulty nodes; random fault injection is the implementation The core module of the example includes the selected fault nodes randomly, the number of selected nodes is random, and the injection resistance value is random; different fault nodes at p (p>0) are randomly selected in the node file, and the resistance value of each node is injected Random; as shown in Figure 1, when randomly selecting different nodes at p, each time the selection is completed, it is necessary to determine whether the failure node is the same as the previous selection. If it is the same, select the node again, if it is different, continue, and inject at the selected node Random resistance resistors, and then determine whether the selected p nodes have all completed resistance injection (for example, randomly select 4 nodes, first determine that these 4 nodes do not have the same node, and then determine whether to inject four random resistance resistors) Finally, a new memory netlist is generated to achieve random fault injection; the last is to verify the feasibility of fault injection, generate a BIST test circuit based on the memory test algorithm, test the original netlist and the netlist after fault injection, and compare the two tests The waveform diagram verifies the feasibility of fault injection.
本实施例基于存储器存储单元完成故障注入,图2是静态随机存储器结构图,如图所示,一个完整的存储器系统包括地址译码器、时序控制单元、列选择器、灵敏放大器、数 据缓冲单元以及存储阵列,其中存储阵列为多个整齐排列的存储单元,如图所示,可以看到存储单元的电路结构图。This embodiment completes fault injection based on the memory storage unit. Figure 2 is a structure diagram of the static random access memory. As shown in the figure, a complete memory system includes an address decoder, a timing control unit, a column selector, a sensitive amplifier, and a data buffer unit. And a storage array, where the storage array is a plurality of neatly arranged storage units. As shown in the figure, the circuit structure diagram of the storage unit can be seen.
图3是基于6T SRAM电路节点插入电阻图,如图所示,根据存储器网表文件描述,标出了每一个MOS器件名称,以及端口节点名称,提取电路节点时,修改电路节点名称,由于故障节点为每个MOS器件的三个端口,所以在节点名称前加上器件名称,随机选取故障节点后可以通过器件名称定位到相应节点位置,如图所示,当随机选取节点名称为Mnpg-b.bb时,可以根据命名规则定位故障注入位置为Mnpg-b器件的bb节点处,在故障节点处注入阻值为r 1,名称为R fau1的电阻。 Figure 3 is based on the 6T SRAM circuit node insertion resistance diagram. As shown in the figure, according to the description of the memory netlist file, each MOS device name and port node name are marked. When the circuit node is extracted, the circuit node name is modified. The node is the three ports of each MOS device, so the device name is added before the node name. After the faulty node is selected randomly, the corresponding node location can be located by the device name, as shown in the figure, when the node name is randomly selected as MNPg-b In the case of .bb, the fault injection location can be located at the bb node of the MNPg-b device according to the naming rule, and the resistance at the fault node is injected with a resistance value of r 1 and a resistor named R fau1.
图4是本实施例基于SRAM实例完成故障注入后验证结构框图,如图所示,BIST电路中包括状态机、地址产生器、数据产生器、算法控制器等模块,使用March2算法生成测试向量测试存储器电路;测试输出与预期数据通过比较器进行对比,对比结束后tst-done信号跳变为1,对比数据一致则fail-h信号为0,否则跳变为1。本实验基于混合仿真环境对故障注入方法可行性进行验证,BIST测试电路用Verilog语句编写,采用VCS仿真,待测SRAM为cdl网表,采用HSIM仿真。Figure 4 is a block diagram of the verification structure after fault injection is completed based on the SRAM example of this embodiment. As shown in the figure, the BIST circuit includes modules such as state machine, address generator, data generator, and algorithm controller, and uses March2 algorithm to generate test vector tests. Memory circuit: The test output is compared with the expected data through a comparator. After the comparison, the tst-done signal jumps to 1. If the comparison data is consistent, the fail-h signal is 0, otherwise it jumps to 1. This experiment is based on a mixed simulation environment to verify the feasibility of the fault injection method. The BIST test circuit is written in Verilog sentences and simulated by VCS. The SRAM to be tested is a cdl netlist and simulated by HSIM.
图5是基于6T SRAM单元随机故障注入验证波形图,通过混合仿真测试波形图对比实验结果,其中(a)为对存储器原始网表测试结果波形图,观察图中tst-done以及fail-h两个波形,其中当tst-done跳变到1之后,fail-h信号一直为0,说明电路测试结束且没有出现故障;图6中(b)则是相同仿真环境下,对随机故障注入后新生成网表文件测试结果波形图,观察tst-done以及fail-h两个波形跳变,发现当tst-done信号仍为0时,fail-h信号已经跳变到1说明电路出现故障。进一步分析发现,波形跳变时对应测试步骤为w1r1,而注入故障节点为R fau1,该故障表现形式为转换故障,无法从0转换到1,与算法检查波形结果一致,有效验证了本实施例方法的可行性。 Figure 5 is based on the random fault injection verification waveform of the 6T SRAM cell. The experimental results are compared through the hybrid simulation test waveform. Among them, (a) is the waveform of the original netlist test result of the memory. Observe the tst-done and fail-h in the figure. After the tst-done jumps to 1, the fail-h signal is always 0, indicating that the circuit test is over and there is no failure; Figure 6 (b) is the same simulation environment, after the random fault is injected Generate the netlist file test result waveform diagram, observe the tst-done and fail-h waveform transitions, and find that when the tst-done signal is still 0, the fail-h signal has jumped to 1, indicating that the circuit is faulty. Further analysis found that the corresponding test step when the waveform jumps is w1r1, and the injected fault node is R fau1 . The fault manifestation is a conversion failure, which cannot be converted from 0 to 1, which is consistent with the waveform check result of the algorithm, effectively verifying this embodiment The feasibility of the method.

Claims (4)

  1. 一种有效的存储器电路随机故障注入方法,其特征在于:所述方法步骤如下:An effective random fault injection method for a memory circuit is characterized in that the method steps are as follows:
    步骤一:利用Perl语言提取出所有可能出现故障的节点,修改所有故障节点名称,生成一个新的文件;Step 1: Use Perl language to extract all the nodes that may fail, modify the names of all failed nodes, and generate a new file;
    步骤二:随机选取节点文件中的一个或多个故障节点,并在节点处插入阻值随机电阻;Step 2: Randomly select one or more faulty nodes in the node file, and insert random resistors with resistance values at the nodes;
    步骤三:插入电阻后生成一个新的已完成随机故障注入的存储器网表文件。Step 3: After inserting the resistor, a new memory netlist file with random fault injection is generated.
  2. 如权利要求1所述的一种有效的存储器电路随机故障注入方法,其特征在于:所述步骤一中提取故障的节点时,先分析存储器网表,通过Perl语言提取出存储单元所有可能出现故障的电路节点并按照预定的命名规则对所有故障节点名称进行修改,方便故障注入时在原始网表中对随机选取的故障节点进行定位,生成出一个新的故障节点文件,文件中每一行是一个故障节点。An effective random fault injection method for a memory circuit according to claim 1, characterized in that: when extracting faulty nodes in step one, the memory netlist is first analyzed, and all possible faults in the storage unit are extracted through Perl language. The name of all faulty nodes is modified in accordance with the predetermined naming rules to facilitate the location of randomly selected faulty nodes in the original netlist during fault injection, and a new faulty node file is generated. Each line in the file is a The failed node.
  3. 如权利要求1所述的一种有效的存储器电路随机故障注入方法,其特征在于:所述步骤二中选取故障节点的方法如下:从故障节点文件中随机选取p个故障节点,并且通过命名规则确定随机选取节点在原始网表中的位置,注入阻值随机的电阻;若选取节点为p个,则注入电阻阻值分别为r 1…..r p,每个阻值大小随机。 An effective random fault injection method for a memory circuit according to claim 1, wherein the method for selecting faulty nodes in the second step is as follows: randomly selecting p faulty nodes from the faulty node file, and adopting a naming rule Determine the position of randomly selected nodes in the original netlist, and inject resistors with random resistance values; if the selected nodes are p, the injected resistance values are r 1r p , and each resistance value is random.
  4. 如权利要求1所述的一种有效的存储器电路随机故障注入方法,其特征在于:所述步骤二中注入的电阻命名为R fau1…R faup,后面对应两个端口节点,以及随机阻值r 1…..r p,将以上信息加入存储器单元模块中,生成新的存储器网表文件。 An effective random fault injection method for a memory circuit according to claim 1, wherein the resistors injected in the second step are named R fau1 ... R faup , followed by two port nodes, and a random resistance value r 1 …..r p , add the above information to the memory unit module to generate a new memory netlist file.
PCT/CN2021/075704 2020-03-03 2021-02-07 Effective random fault injection method for memory circuit WO2021175099A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010138469.7 2020-03-03
CN202010138469.7A CN111243657A (en) 2020-03-03 2020-03-03 Effective random fault injection method for memory circuit

Publications (1)

Publication Number Publication Date
WO2021175099A1 true WO2021175099A1 (en) 2021-09-10

Family

ID=70864511

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/075704 WO2021175099A1 (en) 2020-03-03 2021-02-07 Effective random fault injection method for memory circuit

Country Status (2)

Country Link
CN (1) CN111243657A (en)
WO (1) WO2021175099A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111243657A (en) * 2020-03-03 2020-06-05 南京邮电大学 Effective random fault injection method for memory circuit
CN112071355A (en) * 2020-11-12 2020-12-11 南京邮电大学 Self-adaptive BIST (built-in self-test) test method for improving fault coverage rate

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108257645A (en) * 2018-02-23 2018-07-06 南京邮电大学 A kind of stable fault test method for low-voltage SRAM
CN108363894A (en) * 2018-05-04 2018-08-03 西安电子科技大学 A kind of circuit-level single particle effect emulation platform
CN108766501A (en) * 2018-05-31 2018-11-06 西安微电子技术研究所 A kind of the storage failure injection design and verification method fault-tolerant with EDAC
US20190013085A1 (en) * 2016-01-26 2019-01-10 Hewlett Packard Enterprise Development Lp Dram-level error injection and tracking
CN110570896A (en) * 2019-07-31 2019-12-13 南京邮电大学 Low-voltage SRAM (static random Access memory) testing method for weak faults
CN111243657A (en) * 2020-03-03 2020-06-05 南京邮电大学 Effective random fault injection method for memory circuit

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105548866A (en) * 2015-12-08 2016-05-04 中国科学院电子学研究所 SRAM type FPGA test method based on irradiation test environment simulation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190013085A1 (en) * 2016-01-26 2019-01-10 Hewlett Packard Enterprise Development Lp Dram-level error injection and tracking
CN108257645A (en) * 2018-02-23 2018-07-06 南京邮电大学 A kind of stable fault test method for low-voltage SRAM
CN108363894A (en) * 2018-05-04 2018-08-03 西安电子科技大学 A kind of circuit-level single particle effect emulation platform
CN108766501A (en) * 2018-05-31 2018-11-06 西安微电子技术研究所 A kind of the storage failure injection design and verification method fault-tolerant with EDAC
CN110570896A (en) * 2019-07-31 2019-12-13 南京邮电大学 Low-voltage SRAM (static random Access memory) testing method for weak faults
CN111243657A (en) * 2020-03-03 2020-06-05 南京邮电大学 Effective random fault injection method for memory circuit

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PAN XIONG, DENG WEI, YUAN ZHENG-GUO, LI AN-QI, WANG LEI: "Simulation and Evaluation of SEU Effects in SRAM-based FPGA with Random Fault Injection", WEIDIANZIXU YU JISUANJI - MICROELECTRONICS AND COMPUTER, WEI DIAN ZI XUE YU JI SUAN JI BIAN JI BU, CN, vol. 35, no. 7, 31 July 2018 (2018-07-31), CN, pages 23 - 27, XP055842284, ISSN: 1000-7180, DOI: 10.19304/j.cnki.issn1000-7180.2018.07.005 *

Also Published As

Publication number Publication date
CN111243657A (en) 2020-06-05

Similar Documents

Publication Publication Date Title
US7478028B2 (en) Method for automatically searching for functional defects in a description of a circuit
US6931611B2 (en) Design verification system for avoiding false failures and method therefor
WO2021175099A1 (en) Effective random fault injection method for memory circuit
CN110570896B (en) Low-voltage SRAM (static random Access memory) testing method for weak faults
US8365133B2 (en) Testing apparatus, testing method, and program
CN113486625B (en) Chip verification method and verification system
CN109558649A (en) A kind of register single particle effect analog simulation method towards aerospace chip
CN112698994A (en) Partial bit stream read-back technology for FPGA internal resource test
US7865795B2 (en) Methods and apparatuses for generating a random sequence of commands for a semiconductor device
US7818645B2 (en) Built-in self-test emulator
US6012157A (en) System for verifying the effectiveness of a RAM BIST controller's ability to detect faults in a RAM memory using states indicating by fault severity information
Tang et al. Diagnosing timing related cell internal defects for FinFET technology
CN108427838B (en) Simulation-based digital circuit fault injection method
Wang et al. Fault Pattern Oriented Defect Diagnosis for Memories.
Al-Assad et al. Simulation-based approximate global fault collapsing
CN111079356B (en) Single-particle reinforcement effectiveness system-level verification method
Arora et al. Core test language based high quality memory testing and repair methodology
Kumari et al. FPGA implementation of memory design and testing
Xu et al. An SRAM Test Quality Improvement Method For Automotive chips
Wang et al. Reducing test time of embedded SRAMs
Admane et al. Fault tolerant system for FPGA using simulation based fault injection technique
US20060031789A1 (en) Built-in self-test emulator
US10060976B1 (en) Method and apparatus for automatic diagnosis of mis-compares
KR20160005988A (en) Method for testing array fuse of semiconductor apparatus
Raval et al. DFT methodology for memory testing on lower technological node

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21764735

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21764735

Country of ref document: EP

Kind code of ref document: A1