Test Point Insertion Method, Device, Equipment and Storage Medium Based on Circuit Cost
Through the test point insertion method based on circuit cost, the test point insertion algorithm is optimized, which solves the problem of insufficient fault coverage in integrated circuits, improves fault detection capabilities and testing efficiency, and reduces complexity and cost.
Patent Information
- Application Number
- CN202510652423.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-21
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2045-05-21
AI Technical Summary
The existing test point insertion algorithms are difficult to effectively cover all faults in integrated circuits, resulting in insufficient test coverage and the generated test modes are redundant, increasing the test complexity and cost.
Through a circuit cost-based method, a candidate test point set is determined, cost simulation is performed, target test points with a cost difference value meeting the threshold, and netlist data is inserted, candidate test point set is updated, and different types of cost functions are constructed to optimize the position and number of insertion points.
It significantly improves the circuit fault coverage and observable number of faults, reduces the test complexity and number of test vectors, improves the efficiency of scanning tests, supports self-testing functions and improves fault diagnosis capabilities.
Smart Images

Figure CN120180997B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of EDA technology, and particularly to a test point insertion method, device, equipment and storage medium based on circuit cost. Background Art
[0002] In the design and manufacturing process of integrated circuits (ICs), testing is a crucial step. With the expansion of the scale and the increase in complexity of integrated circuits, traditional testing methods are gradually difficult to cover all possible faults. This results in some faults being difficult to detect, affecting the quality of the final product. To improve testing efficiency, designers have introduced the TPI technology to enhance the test coverage, especially to further improve the testing ability in methods such as built-in self-test (BIST) and scan testing. Test Point Insertion (TPI) is a design technology for adding control points and observation points in circuit design to improve the testing of digital circuits, especially in large-scale integrated circuits, to increase the test coverage, reduce the test complexity, optimize the test efficiency, and reduce the test time.
[0003] The basic principle of TPI is to make the circuit nodes that are originally difficult to access or measure directly activatable or monitorable by the test system by adding control points and observation points. However, when the TPI algorithm inserts test points, although it enhances the testability of the circuit, it may also introduce new test pattern redundancies. To make full use of the inserted test points to improve the coverage, a large number of similar or duplicate test patterns may be generated during the test generation process. Although these patterns contribute to a certain extent to improving the coverage, their actual contribution to fault detection may not be significant. As the complexity of integrated circuits continues to increase, the interaction relationships between various modules in the circuit become increasingly complex. When the TPI algorithm processes such a complex circuit, in order to ensure the test coverage and fault coverage, more test scenarios and conditions often need to be considered. This makes the test generation process more complex, and the number of generated test patterns also increases accordingly. For example, in a complex chip containing multiple functional modules, inserting test points may affect the signal transmission and interaction between different modules. To ensure that these interaction processes can be fully tested, the test generation tool needs to generate a large number of test patterns to cover all possible situations. Even in some cases, although these patterns contribute little to the improvement of the coverage, they are still retained to ensure comprehensiveness. Summary of the Invention
[0004] The embodiments of the present application provide a test point insertion method, device, equipment and storage medium based on circuit cost, to solve the problem that the relevant TPI algorithm has insufficient fault detection coverage.
[0005] On the one hand, the present application provides a test point insertion method based on circuit cost, and the method includes:
[0006] Read netlist data, and determine a set of candidate test points according to the circuit scale and the number of insertion points set.
[0007] Determine the type of insertion points in this round and the set of candidate test points updated in the previous round, select candidate test points from the set of candidate test points, and insert them into the circuit for cost simulation.
[0008] Calculate the cost differences of the circuit cost simulation before and after inserting the candidate test points respectively, and select the target test points and the corresponding target insertion sites whose cost differences meet the difference threshold.
[0009] Insert the target test points into the netlist data, and update the set of candidate test points according to the remaining number of insertion points.
[0010] Specifically, the step of selecting candidate test points from the set of candidate test points and inserting them into the circuit for cost simulation includes:
[0011] Simulate the entire netlist data, calculate the controllability-observability COP value, Sandia controllability-observability SCOP value, and test count TC value simulation parameters of each line, and set the line number statistical value corresponding to the simulation parameters.
[0012] According to the relationship between the COP value, SCOP value, and TC value of each line and their respective set thresholds, determine the line number statistical values that meet various simulation parameters in the netlist data of this round.
[0013] Determine the cost function of the insertion point type in this round based on the size relationship of the line number statistical values of various simulation parameters.
[0014] Perform cost simulation on the netlist data based on the cost function of the insertion point type in this round, and calculate the cost values of each line and the entire circuit.
[0015] Specifically, the step of determining the line number statistical values that meet various simulation parameters in the netlist data of this round includes:
[0016] Poll all lines in the netlist data, and calculate the corresponding COP value, SCOP value, and TC value respectively.
[0017] When the COP value of the selected line exceeds the COP threshold, increment the line number statistical value of the COP information by one; when the SCOP value exceeds the SCOP threshold, increment the line number statistical value of the SCOP information by one; when the TC value exceeds the TC threshold, increment the line number statistical value of the TC information by one.
[0018] Specifically, determining the cost function of the current round of insertion point type based on the magnitude relationship of the line quantity statistical values of various simulation parameters includes:
[0019] Determine the simulation parameter with the largest line quantity statistical value of each type as the core calculation cost, and the remaining simulation parameters as the auxiliary calculation costs;
[0020] Design a cost function based on the current round of insertion point type, core calculation cost, and auxiliary calculation cost.
[0021] Specifically, the calculation formulas for various simulation parameters are as follows:
[0022]
[0023]
[0024]
[0025] Among them, and represent the probabilities of 0 and 1 on line n, represents the probability that it can be observed at the output on line n; and represent the controllable values of 0 and 1 on line n, represents the observable value on line n; and represent the total numerical values of 0 and 1 on line n.
[0026] Specifically, calculating the cost difference between the circuit cost simulations before and after inserting the candidate test points respectively, and selecting the target insertion site where the cost difference meets the cost threshold; includes:
[0027] Poll all the candidate test points in the candidate test point set, insert the selected candidate test points into different positions in the circuit in turn, and calculate the simulation cost values at different insertion sites according to the current round of cost function;
[0028] Calculate the simulation cost difference before and after different insertions, and screen out the maximum simulation cost difference;
[0029] Calculate the cost difference before and after insertion according to the following formula:
[0030] Δ C = Cold − Cnew
[0031] Among them, Cold represents the circuit cost simulation value before insertion, Cnew represents the maximum simulation cost value selected after insertion;
[0032] When ΔC is greater than the cost difference threshold, determine the insertion site corresponding to the maximum simulation cost difference as the target insertion site.
[0033] Specifically, the step of inserting the target insertion site into the netlist data and updating the candidate test point set according to the remaining number of insertion points includes:
[0034] Insert the target test point into the netlist data, move it from the candidate test point set to the result array, and update the number of inserted points;
[0035] Execute the next round of steps of extracting candidate test points and performing cost simulation calculation to determine the target insertion site. When the number of inserted points reaches the set value, or the updated candidate test point set is empty, end the test.
[0036] On the other hand, the present application provides a test point insertion device based on circuit cost, and the device includes:
[0037] A determination module, configured to read the netlist data and determine a candidate test point set according to the circuit scale and the set number of insertion points;
[0038] A cost simulation module, configured to determine the type of insertion points in this round and the updated candidate test point set in the previous round, select candidate test points from the candidate test point set, and insert them into the circuit for cost simulation;
[0039] A selection module, configured to calculate the cost difference of the circuit cost simulation before and after inserting the candidate test points respectively, and select the target test point and the corresponding target insertion site whose cost difference meets the difference threshold;
[0040] An update module, configured to insert the target test point into the netlist data and update the candidate test point set according to the remaining number of insertion points.
[0041] On another aspect, the present application provides a computer device, which includes a processor and a memory. At least one instruction, at least one program, a code set or an instruction set is stored in the memory, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by the processor to implement the method for inserting test points based on circuit cost described in the above aspect.
[0042] On another aspect, the present application provides a computer-readable storage medium, in which at least one instruction, at least one program, a code set or an instruction set is stored, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by a processor to implement the method for inserting test points based on circuit cost described in the above aspect.
[0043] The beneficial effects brought by the technical solutions provided in the embodiments of the present application at least include: For different types of control points and observation points, corresponding cost functions are respectively constructed according to their respective circuit characteristics, which perfectly fits the characteristics of the circuit, greatly improves the circuit fault coverage rate and the number of observable faults, and optimizes the implementation speed of the algorithm. Especially in the later DFT test stage, it significantly reduces the test complexity and the number of test vectors, improves the efficiency of scan testing, and reduces the impact of untestable faults. Description of the Drawings
[0044] Figure 1 is a flowchart of a test point insertion method based on circuit cost provided by an embodiment of the present application;
[0045] Figure 2 shows a flowchart of circuit testability simulation provided by an embodiment of the present application;
[0046] Figure 3 lists an algorithm flowchart of the test point insertion method based on circuit cost of the present application;
[0047] Figure 4 exemplarily gives schematic diagrams of cost simulation before and after different types and numbers of insertion points;
[0048] Figure 5 is a structural block diagram of a test point insertion device based on circuit cost provided by an embodiment of the present application;
[0049] Figure 6 shows a structural block diagram of a computer device provided by an exemplary embodiment of the present application. Detailed Embodiments
[0050] To make the objectives, technical solutions, and advantages of the present application clearer, the following will further describe the embodiments of the present application in detail with reference to the accompanying drawings.
[0051] As used herein, "a plurality of" means two or more. "And / or" describes the association relationship of associated objects and indicates that three relationships may exist. For example, A and / or B may represent: A exists alone, A and B exist simultaneously, and B exists alone. The character " / " generally represents an "or" relationship between the associated objects before and after.
[0052] Figure 1 is a flowchart of a test point insertion method based on circuit cost provided by an embodiment of the present application, including the following steps:
[0053] S1, read the netlist data, and determine a set of candidate test points according to the circuit scale and the set number of insertion points;
[0054] Test Point Insertion plays an important role in reducing test complexity and optimizing tests in large-scale integrated circuits. For a circuit that needs to be tested for fault diagnosis, it is first necessary to read the netlist data of the circuit structure and convert it into TPI data for subsequent test simulation.
[0055] In some embodiments, data verification is required during the TPI data conversion process. As Figure 2 shown, after data conversion at the program start entry, it is necessary to check the TPI data through a dictionary or database and correct any potentially incorrect TPI data. After the data is verified to be correct, forced unification is performed on the data, and then simulation analysis is carried out.
[0056] Test simulation requires inserting a certain number of test points according to actual requirements, that is, the number of inserted points, which is usually determined by the circuit function and scale. Similarly, the candidate test point set is also set based on the circuit scale and function. Different candidate test points play different functions after being inserted into the circuit to meet subsequent coverage testing. In some embodiments, candidate test points can be determined and established according to different insertion point types. In particular, in this application, a set of data is established based on the three types of CP1 control points, CP0 control points, and OP observation points. Correspondingly, the number of set insertion points represents the sum of these three types of points.
[0057] S2. Determine the type of insertion points in this round and the candidate test point set updated in the previous round, select candidate test points from the candidate test point set, and insert them into the circuit for cost simulation;
[0058] The insertion simulation process is continuously iterated and looped according to the number of insertion points. For a certain round of simulation steps in the process, first, it is necessary to determine the type of insertion points currently being executed, and then select candidate test points from the candidate test point set updated in the previous round. The data in this set may be updated in each round, especially in the case where candidate test points were clearly selected and inserted in the previous round, the set data needs to be updated.
[0059] After selecting the candidate test points, insert them into each point in the circuit and perform simulation calculations based on the cost function. The core significance of introducing the cost function for circuit simulation is to quantitatively evaluate the effectiveness of test vectors, optimize the test process, and ultimately reduce test costs and time. By simulating and calculating the cost function, it can be determined whether the current test vector can effectively initialize the circuit. If the "test cost" (i.e., the number of unknown flip-flops) of the test vector is lower than the current cost, then retain this vector as a candidate. This directly avoids blind testing and improves the efficiency of the initialization stage.
[0060] S3. Calculate the cost difference of the circuit cost simulation before and after inserting the candidate test points respectively, and select the target test points and corresponding target insertion sites whose cost differences meet the difference threshold.
[0061] Considering the large circuit scale, the greedy algorithm can be used to poll all insertion points for simulation, and determine whether the insertion condition is met according to the difference in the simulation cost values before and after insertion. For the candidate test points that meet the cost difference threshold, they can be inserted into the corresponding target insertion sites.
[0062] In the overall circuit analysis and simulation of the Test Point Insertion technology, the cost value (cost) of each circuit represents the resource consumption required for the physical implementation of the circuit component. According to the definition in digital circuit design, cost usually refers to the number of logic gates, the number of transistors (such as two transistors consumed by each gate input), the number of input terminals (literals), and the number of inverters (complements) required to build the circuit, etc. These resources directly affect the complexity, area, and manufacturing cost of the circuit. For example, in the CMOS process, the number of input terminals of the logic gate directly determines the amount of transistors used, which in turn affects the physical layout and production cost of the chip. Therefore, the smaller the cost value, the better the circuit is in terms of resource efficiency and cost control.
[0063] S4. Insert the target test points into the netlist data, and update the candidate test point set according to the remaining number of insertion points.
[0064] This step is a necessary condition for iterative loop. In the case of a large number of set insertion points, each time the target insertion site is executed and confirmed, the candidate test point set needs to be updated. For the cases that do not meet the cost threshold, they also enter the subsequent iterative logic, and reselect the TP points according to the type of the next round of insertion points until the polling program ends.
[0065] In the embodiments of the present application, the candidate TP points are polled and selected according to the type, that is, first select the CP1 control points, then select the CP0 control points, and finally select the OP observation points for insertion and simulation in this order. After the CP1 control points meet the standard, randomly select the CP0 control points, and so on. This is because in the design for testability (DFT) of digital circuits, CP0 (Control Point 0) and CP1 (Control Point 1) are two types of core control points, and their functions, trigger logics, and selection orders directly affect the test coverage rate and resource optimization, as specifically shown below:
[0066] 1. Fault coverage priority: CP1 often covers critical paths or highly sensitive code patterns.
[0067] 2. Timing constraint strictness: The trigger conditions and propagation delays of CP1 have more stringent requirements.
[0068] 3. Cost function optimization: The comprehensive resource consumption (timing + area) of CP1 has a higher weight.
[0069] 4. Physical cascade dependence: The output of CP1 directly affects the subsequent circuit functions.
[0070] By dynamically adjusting the cost function, hierarchical verification strategy, and physically-aware optimization process, it can be ensured that the insertion order of CP1 and CP0 meets the design objectives, while maximizing test coverage and resource efficiency.
[0071] The insertion algorithm provided by this application has great advantages when applied to the DFT field, specifically reflected in the following aspects:
[0072] 1. Significantly improve fault coverage
[0073] By inserting control points and observation points, TPI solves the problem of nodes that are difficult to observe and control in the circuit, making these nodes easier to test. The main goal of DFT is to ensure that the circuit has a high fault coverage, especially in large-scale integrated circuits. The application of TPI enables the test point design to more comprehensively cover all key fault points, thus significantly improving the overall fault coverage and effectively guaranteeing the quality and reliability of the circuit.
[0074] 2. Reduce test complexity and the number of test vectors
[0075] TPI simplifies the test generation process by making the states of certain nodes directly controllable, reducing the number of test vectors required for testing. In DFT, simplifying the generation of test vectors can effectively reduce test costs and complexity. Reducing the number of test vectors also directly shortens the test time, thereby reducing the time and storage costs for test execution and improving the DFT test efficiency.
[0076] 3. Reduce the impact of untestable faults and redundant faults
[0077] TPI makes previously untestable or redundant faults testable, reducing untestable faults in DFT testing. In DFT design, fewer untestable faults allow test resources to be concentrated on more critical fault points.
[0078] 4. Improve the efficiency of scan testing
[0079] The control points and observation points inserted by TPI make specific nodes in the scan chain easier to test, simplifying the design of scan testing. In the scan test design of DFT, TPI can greatly optimize the controllability and observability of the scan chain, making test generation simpler, reducing the scan chain length and test time, and improving the test execution speed and efficiency.
[0080] 5. Support Built-in Self-Test (BIST) Function
[0081] By inserting appropriate test points in the circuit, TPI can support the Built-in Self-Test (BIST) function, ensuring self-detection within the chip. BIST is one of the important techniques in DFT, used to improve the circuit's self-testing ability. The application of TPI in BIST can effectively increase the testability of the circuit, enabling BIST to detect more faults and improve the accuracy and efficiency of its detection, which is particularly important for some applications with high reliability requirements.
[0082] 6. Improve the Accessibility of Test Signals and Simplify Fault Diagnosis
[0083] The additional observation points of TPI enable more signals to be directly observed, improving the accessibility of test signals. DFT relies on the monitoring of specific signals in fault diagnosis. TPI improves the observability of signals, simplifies the fault diagnosis process, allowing the test system to locate the fault position faster, thereby improving the efficiency of fault repair.
[0084] 7. Flexible Application in High-Density IC Design
[0085] TPI can flexibly select key nodes for test point insertion and optimize the test structure according to different design requirements. In DFT, the testability and performance of high-density designs are balanced. The flexible insertion method of TPI can enhance the test ability without affecting the core functions of the circuit, enabling the design to have high testability in different application scenarios.
[0086] Figure 3 The algorithm flowchart of the test point insertion method based on circuit cost in this application is listed. After the program starts, the number of TP selection points is first set, that is, the total number of inserted points of each type. Subsequently, the candidate test point set is set according to the required function type. Considering the fault coverage rate and diagnosis efficiency, the number of candidate test points can be determined based on the circuit scale.
[0087] This application provides a method for calculating the number of candidate test points. First, determine the circuit scan cell scale. For example, through simulation, we obtain that the number of gate levels is cell_n, and the number of TP selection points to be inserted is insert_n, and calculate the number of candidate test points candiate_n. The following calculation formula is used to determine the number of sampling points:
[0088]
[0089] When determining After that, it is allocated proportionally according to the type of insertion point required by the circuit. In this application, it is determined according to the set quantity ratio of the original CP1 control points, CP0 control points, and OP observation points.
[0090] Before formally calculating the cost information on each wire in the entire netlist, we also need to determine which cost function to use for the calculation. On the premise of ensuring that the candidate test point set is not empty, select the corresponding type of TP points and insert them into the circuit for simulation testing. This process can specifically include the following steps:
[0091] 1). Simulate the entire netlist data, calculate the controllability-observability (COP) value, Sandia controllability-observability (SCOP) value of each wire, and the test count (TC) value simulation parameters, and set the line quantity statistical value corresponding to the simulation parameters;
[0092] In this solution, controllability refers to the ease of controlling the logic value (0 or 1) of internal nodes in the circuit through input signals. For example, the fewer input assignment times required to set the value of a certain node to 1, the higher the controllability. Observability refers to the ease of observing the logic state of internal nodes in the circuit through output signals. If the information of a node can be efficiently propagated to the output end, its observability is high. The calculation formulas for these three simulation parameters in this application are as follows:
[0093]
[0094]
[0095]
[0096] Among them, and represent the probabilities of 0 and 1 on wire n, represents the probability that the wire n can be observed at the output; and represent the controllable values of 0 and 1 on wire n, represents the observable value of wire n; and represent the total values of 0 and 1 on wire n.
[0097] 2). According to the relationship between the COP value, SCOP value, TC value of each wire and their respective set thresholds, determine the line quantity statistical values that meet various simulation parameters in the current round of netlist data;
[0098] For the above three types of parameter information, corresponding thresholds are set respectively. Poll all wires in the netlist data, and calculate the corresponding COP value, SCOP value, and TC value respectively. For the corresponding values on each wire, compare them with the corresponding thresholds. If the threshold is exceeded, the corresponding line count value is incremented by 1. That is, when the COP value of the selected line exceeds the COP threshold, the line count value of the COP information is incremented by one; when the SCOP value exceeds the SCOP threshold, the line count value of the SCOP information is incremented by one; when the TC value exceeds the TC threshold, the line count value of the TC information is incremented by one.
[0099] For example, after polling all wires, the number of COP values exceeding the COP threshold COP_threshold is 100, the number of SCOP values exceeding the SCOP threshold SCOP_shreshold is 200, and the number of TC values exceeding the TC threshold TC_threshold is 1000.
[0100] 3) Determine the cost function of the insertion point type in this round based on the magnitude relationship of the line count values of various simulation parameters;
[0101] As mentioned above, different insertion point types will have different effects on the circuit. Therefore, specific analysis is required when evaluating the influence. Especially in terms of the cost function, different types require constructing different cost functions. Even for the same type but different functional candidate test points, the effects produced by inserting them at the same position are also different. So more detailed consideration is needed, and the specific probability is as follows:
[0102] A. Determine the simulation parameter with the largest line count value of each type as the core calculation cost, and the remaining simulation parameters as the auxiliary calculation cost;
[0103] B. Design a cost function based on the insertion point type, core calculation cost, and auxiliary calculation cost in this round.
[0104] Taking the previous example, the number of COP_threshold is 100, the number of SCOP_shreshold is 200, and the number of TC_threshold is 1000. Then we choose to focus on the TC calculation cost function formula.
[0105] Specifically, when determining the cost function, it is necessary to ensure that the cost value of each wire is greater than 0. A cost value of 0 represents a non - physical abnormal state in test point insertion, which essentially stems from the disconnection between the algorithm model and physical implementation. It can lead to the failure of the optimization goal, the neglect of timing constraints, and the inability to activate the test point function, ultimately resulting in the failure of CP1 selection. The core of solving this problem lies in correcting the cost model, enhancing physical verification, and ensuring the compatibility of the tool chain. Through multi - dimensional cost calculation and a strict timing - driven process, such problems can be effectively avoided, improving the success rate of test point insertion and the testability of the circuit.
[0106] In a possible implementation, the cost function under different types can be constructed as follows:
[0107] 1. Cost function of CP1 control points
[0108] CP1 is mostly used for high - priority fault coverage (such as critical path timing repair or cascade control), and its cost function needs to integrate dynamic testability gain and timing sensitivity. The formula for the CP1 cost function is as follows:
[0109]
[0110] is the gain of fault detection probability, used to calculate the increase in the detection probability of target faults (such as stuck - at faults) after inserting CP1; slack is the reciprocal of the timing margin, representing the timing margin of the path where CP1 is located, and the smaller the margin (the larger the reciprocal), the higher the cost; is the dynamic test complexity, representing the impact of CP1 on test pattern generation. For example, continuously increasing the number of test patterns or the length of the scan chain after the insertion point will change this value; ., , and are physical constraint parameters for balancing test coverage.
[0111] 2. Cost function of CP0 control points
[0112] CP0 is usually used for basic control functions (such as system - level timing control or low - priority fault detection), and its cost function focuses on static resource consumption and controllability optimization. The formula for the CP0 cost function is as follows:
[0113]
[0114] represents the type - 0 controllability index, which quantifies the difficulty of driving a node to logic 0; is the static timing constraint, is the overhead area; , and are adjustment parameters
[0115] 3. Cost Function of OP Observation Points
[0116] OP is used to enhance the fault propagation ability, and its cost function focuses on improving observability and maintaining signal integrity. The OP cost function formula is as follows:
[0117]
[0118] represents the difficulty of quantifying the propagation of node values to the main output; represents the number of newly added fault propagation paths after inserting OP. The more paths, the lower the cost; is the reciprocal of the noise margin, representing the crosstalk or signal attenuation introduced by OP; , and are weight coefficients.
[0119] 4). Perform cost simulation on the netlist data based on the cost function of the insertion point type in this round, and calculate the cost values of each line and the entire circuit.
[0120] For the candidate test points selected for insertion in the set, it is necessary to continuously test by inserting them at different positions in the circuit (link) to determine the best target insertion site. This process specifically includes the following:
[0121] a. Insert the selected candidate test points into different positions in the circuit in sequence, and calculate the simulation cost values at different insertion sites according to the cost function in this round;
[0122] a. Calculate the difference in simulation cost before and after different insertion points, and screen out the maximum simulation cost difference;
[0123] Suppose a candidate test point is selected and inserted into 100 sites respectively. Calculate the circuit cost values after 100 insertions respectively, and then sort them in descending order to select the maximum value. Then use the following formula to calculate the cost difference before and after insertion:
[0124] ΔC = C old −C new
[0125] where C old represents the circuit cost simulation value before insertion, and C new represents the maximum simulation cost value selected after insertion.
[0126] c. When ΔC is greater than the cost difference threshold, the insertion site corresponding to the maximum simulation cost difference is determined as the target insertion site, and the corresponding candidate test point is the target test point (target insertion point); conversely, when ΔC is less than the cost difference threshold, it indicates that this insertion point will not reduce the test cost, so this round of loop is exited and other candidate test points are continued to be selected from the set. The cost difference threshold here is an empirical value set according to the actual circuit function.
[0127] Further, after finding the target insertion site that meets the conditions, insert this target test point into the netlist data, and at the same time store this target test point and the target insertion site into the result array, print relevant information, and update the number of inserted points.
[0128] Execute the next step of extracting candidate test points and performing cost simulation calculation to determine the target insertion site. When the number of inserted points reaches the set TP selection points, or when the updated candidate test point set is empty, the test ends.
[0129] Figure 4 Exemplarily, schematic diagrams of cost simulation before and after different types and numbers of insertion points are given, taking the ATPG Log with CP0 = 5, CP1 = 5, and OP = 5 as an example. Among them, -ctrl0 sets the number of CP0 control points, -ctrl1 sets the number of CP1 control points, and -obs sets the number of OP observation points. Figure 4 The above figure is the pre-insertion simulation, and the following figure is the experimental test result of the post-insertion simulation. According to the simulation results, it can be seen that when additional control points or observation points are inserted, the fault coverage rate of the circuit has been greatly improved to varying degrees, and the number of observable fault points has also been increased to a certain extent.
[0130] In summary, for different types of control points and observation points, this application constructs corresponding cost functions according to their respective and circuit characteristics, which perfectly fits the characteristics of the circuit, greatly improves the circuit fault coverage rate and the number of observable faults. In addition, when selecting candidate test points, the corresponding cost difference threshold adaptively sets values for different scale circuits and circuit types, which can also optimize the speed of algorithm implementation to a certain extent.
[0131] Figure 5 The structural block diagram of the test point insertion device based on circuit cost provided by the embodiment of the present application is shown. The device includes:
[0132] A determination module 510, configured to read the netlist data and determine a candidate test point set according to the circuit scale and the set number of insertion points;
[0133] A cost simulation module 520 is configured to determine the type of the current insertion point and the set of candidate test points updated in the previous round, select a candidate test point from the set of candidate test points, and insert it into the circuit for cost simulation;
[0134] A selection module 530 is configured to calculate the cost difference of the circuit cost simulation before and after inserting the candidate test point respectively, and select a target test point and a corresponding target insertion site whose cost difference meets the difference threshold;
[0135] An update module 540 is configured to insert the target test point into the netlist data and update the set of candidate test points according to the remaining number of insertion points.
[0136] The test point insertion device based on circuit cost provided by the embodiments of the present application can be applied to the test point insertion method based on circuit cost provided in the above embodiments. For related details, refer to the above method embodiments. The implementation principle and technical effects are similar and will not be elaborated here.
[0137] It should be noted that the embedded large model acceleration system platform provided in the embodiments of the present application is only illustrated by the above division of each functional module / functional unit. In actual applications, the above functions can be allocated to different functional modules / functional units according to needs, that is, the internal structure of the embedded large model acceleration system platform is divided into different functional modules / functional units to complete all or part of the functions described above. In addition, the implementation manner of the embedded large model acceleration system platform method provided in the above method embodiments and the implementation manner of the embedded large model acceleration system platform provided in this embodiment belong to the same concept. The specific implementation process of the embedded large model acceleration system platform provided in this embodiment can be seen in the above method embodiments and will not be elaborated here.
[0138] Figure 6The structure block diagram of an embedded computer device provided by an exemplary embodiment of the present application is shown. It is a computer device such as a desktop computer, a laptop computer, a handheld computer, and a cloud server, etc. The computer device may include, but is not limited to, a processor and a memory. Among them, the processor and the memory may be connected by a bus or other means. Among them, the processor may be a central processing unit (CPU). The processor may also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, graphics processing units (GPUs), embedded neural network processors (NPUs), or other dedicated deep learning co-processors, discrete gate or transistor logic devices, discrete hardware components, etc. chips, or a combination of the above various types of chips.
[0139] The processor may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor may be implemented in at least one hardware form of DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), or PLA (Programmable Logic Array). The processor may also include a main processor and a co-processor. The main processor is a processor for processing data in the wake state, also known as the CPU (Central Processing Unit); the co-processor is a low-power processor for processing data in the standby state. In some embodiments, the processor may be integrated with a GPU (Graphics Processing Unit), and the GPU is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor may also include an AI (Artificial Intelligence) processor, and the AI processor is used to process computational operations related to machine learning.
[0140] The memory, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs, non-transitory computer-executable programs, and modules, such as the program instructions / modules corresponding to the methods in the above embodiments of the present application. By running the non-transitory software programs, instructions, and modules stored in the memory, the processor can execute various functional applications and data processing of the processor, that is, implement the methods in the above method embodiments. The memory may include a program storage area and a data storage area. Among them, the program storage area can store an operating system and application programs required for at least one function; the data storage area can store data created by the processor and the like. In addition, the memory may include a high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, a flash memory device, or other non-transitory solid-state storage devices. In some embodiments, the memory may optionally include a memory remotely provided relative to the processor, and these remote memories can be connected to the processor through a network. Examples of the above networks include but are not limited to the Internet, an enterprise intranet, a local area network, a mobile communication network, and combinations thereof.
[0141] In some embodiments, the computer device may also optionally include: a peripheral device interface and at least one peripheral device. The processor, the memory, and the peripheral device interface can be connected through a bus or signal lines. Each peripheral device can be connected to the peripheral device interface through a bus, signal lines, or a circuit board. Specifically, the peripheral devices include at least one of a radio frequency circuit, a display screen, and a keyboard.
[0142] The peripheral device interface can be used to connect at least one peripheral device related to I / O (Input / Output) to the processor and the memory. In some embodiments, the processor, the memory, and the peripheral device interface are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor, the memory, and the peripheral device interface can be implemented on a separate chip or circuit board, and this embodiment does not limit this.
[0143] The display screen is used to display the UI (User Interface). The UI may include graphics, text, icons, videos, and any combination thereof. When the display screen is a touch display screen, the display screen also has the ability to collect touch signals on or above the surface of the display screen. The touch signals can be input as control signals to the processor for processing. At this time, the display screen can also be used to provide virtual buttons and / or a virtual keyboard, also known as soft buttons and / or a soft keyboard. In some embodiments, there may be one display screen, which is provided on the front panel of the computer device; in other embodiments, there may be at least two display screens, which are respectively provided on different surfaces of the computer device or are in a foldable design; in other embodiments, the display screen may be a flexible display screen, which is provided on the curved surface or the folding surface of the computer device. Even, the display screen can be set to an irregular non-rectangular shape, that is, a special-shaped screen. The display screen can be prepared from materials such as LCD (Liquid Crystal Display) and OLED (Organic Light-Emitting Diode).
[0144] The power supply is used to supply power to each component in the computer device. The power supply can be alternating current, direct current, a disposable battery, or a rechargeable battery. When the power supply includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery charged through a wired circuit, and a wireless rechargeable battery is a battery charged through a wireless coil. The rechargeable battery can also be used to support fast charging technology.
[0145] Those skilled in the art can understand that the structure shown in this embodiment does not constitute a limitation on the computer device, and it may include more or fewer components than shown in the figure, or combine some components, or adopt different component arrangements.
[0146] The embodiments of the present application also disclose a computer-readable storage medium. Specifically, the computer-readable storage medium is used to store a computer program, and when the computer program is executed by a processor, the methods in the above method embodiments are implemented. Those skilled in the art can understand that to implement all or part of the processes in the above method embodiments of the present application, it can be completed by instructing relevant hardware through a computer program. The program can be stored in a computer-readable storage medium. When the program is executed, it can include the processes of the above method embodiments. Among them, the storage medium can be a magnetic disk, an optical disc, a read-only memory (ROM), a random access memory (RAM), a flash memory, a hard disk drive (HDD), or a solid-state drive (SSD), etc.; the storage medium can also include a combination of the above types of memories.
[0147] This specific embodiment is only an interpretation of the present invention and does not limit the present invention. After reading this specification, those skilled in the art can make modifications to this embodiment that do not contribute creatively according to needs, but as long as they are within the scope of the claims of the present invention, they are protected by the patent law.
Claims
1. A test point insertion method based on circuit cost, characterized in that The method includes: Reading netlist data and determining a set of candidate test points according to the circuit scale and the number of insertion points set; Determining the type of insertion point in this round and the set of candidate test points updated in the previous round, selecting candidate test points from the set of candidate test points, and inserting them into the circuit for cost simulation; specifically simulating the entire netlist data, calculating the controllability-observability (COP) value, Sandia controllability-observability (SCOP) value of each line, and the test count (TC) value simulation parameters, and setting the line number statistics value corresponding to the simulation parameters; According to the relationships between the COP value, SCOP value, and TC value of each line and their respective set thresholds, determining the line number statistics value in the netlist data of this round that meets various simulation parameters; Determining the cost function of the insertion point type in this round based on the magnitude relationship of the line number statistics values of various simulation parameters; Performing cost simulation on the netlist data based on the cost function of the insertion point type in this round, and calculating the cost value of each line and the entire circuit; Calculating the cost difference of the circuit cost simulation before and after inserting the candidate test points respectively, and selecting the target test point and the corresponding target insertion site whose cost difference meets the difference threshold; Inserting the target test point into the netlist data and updating the set of candidate test points according to the remaining number of insertion points.
2. The test point insertion method based on circuit cost according to claim 1, wherein The determining the line number statistics value in the netlist data of this round that meets various simulation parameters includes: Polling all lines in the netlist data and calculating the corresponding COP value, SCOP value, and TC value respectively; When the COP value of the selected line exceeds the COP threshold, incrementing the line number statistics value of the COP information by one; when the SCOP value exceeds the SCOP threshold, incrementing the line number statistics value of the SCOP information by one; when the TC value exceeds the TC threshold, incrementing the line number statistics value of the TC information by one.
3. The test point insertion method based on circuit cost according to claim 2, wherein The determining the cost function of the insertion point type in this round based on the magnitude relationship of the line number statistics values of various simulation parameters includes: Determining the simulation parameter with the largest line number statistics value of each type as the core calculation cost, and the remaining simulation parameters as the auxiliary calculation costs; Designing a cost function based on the insertion point type, core calculation cost, and auxiliary calculation costs in this round.
4. The test point insertion method based on circuit cost according to claim 2, wherein The calculation formulas of various simulation parameters are as follows: wherein the and represent the probabilities of 0 and 1 on line n, represents the probability that it can be observed at the output on line n; and represent the controllable values of 0 and 1 on line n, represents the observable value on line n; and represent the total values of 0 and 1 on line n.
5. The test point insertion method based on circuit cost according to claim 1, wherein The calculating the cost difference of the circuit cost simulation before and after inserting the candidate test points respectively, and selecting the target insertion site whose cost difference meets the cost threshold includes: Polling all candidate test points in the set of candidate test points, inserting the selected candidate test points into different positions in the circuit in sequence, and calculating the simulation cost value at different insertion sites according to the cost function of this round; Calculating the simulation cost difference before and after different insertion points, and screening out the largest simulation cost difference; Calculating the cost difference before and after insertion according to the following formula: Δ C = Cold − Cnew Among them, Cold represents the circuit cost simulation value before insertion, Cnew represents the maximum simulation cost value after screening and insertion; When ΔC is greater than the cost difference threshold, determining the insertion site corresponding to the largest simulation cost difference as the target insertion site.
6. The test point insertion method based on circuit cost according to claim 1, wherein The inserting the target insertion site into the netlist data and updating the set of candidate test points according to the remaining number of insertion points includes: Inserting the target test point into the netlist data, moving it from the set of candidate test points to the result array, and updating the number of inserted points; Execute the step of the next round of extracting candidate test points and cost simulation calculation to determine the target insertion site. When the number of inserted points reaches the set value, or the updated candidate test point set is empty, end the test.
7. A test point insertion device based on circuit cost, characterized in that, The device includes: A determination module, configured to read netlist data and determine a candidate test point set according to the circuit scale and the set number of insertion points; A cost simulation module, configured to determine the type of insertion points in this round and the updated candidate test point set in the previous round, select candidate test points from the candidate test point set, and insert them into the circuit for cost simulation; specifically simulate the entire netlist data, calculate the controllability / observability (COP) value of each line, the Sandia controllability / observability (SCOP) value, and the test count (TC) value simulation parameters, and set the line number statistical value corresponding to the simulation parameters; According to the relationship between the COP value, SCOP value, and TC value of each line and their respective set thresholds, determine the line number statistical value in the netlist data of this round that meets various simulation parameters; Determine the cost function of the insertion point type in this round based on the magnitude relationship of the line number statistical values of various simulation parameters; Perform cost simulation on the netlist data based on the cost function of the insertion point type in this round, and calculate the cost value of each line and the entire circuit; A selection module, configured to calculate the cost difference of the circuit cost simulation before and after inserting the candidate test points respectively, and select the target test point and the corresponding target insertion site whose cost difference meets the difference threshold; An update module, configured to insert the target test point into the netlist data and update the candidate test point set according to the remaining number of insertion points.
8. A computer device, characterized in that, The computer device includes a processor and a memory. At least one instruction, at least one program, a code set, or an instruction set is stored in the memory. The at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by the processor to implement the test point insertion method based on circuit cost as described in any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, At least one instruction, at least one program, a code set, or an instruction set is stored in the readable storage medium. The at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by the processor to implement the test point insertion method based on circuit cost as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Test point verification method and related device
CN115983191A
System and method for carrying out boundary scan test by using test point of pin to be tested
CN117686892A