Method, device, storage medium and electronic equipment for handling hold timing violation paths

CN122616451APending Publication Date: 2026-08-21INST OF MICROELECTRONICS CHINESE ACAD OF SCI LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510181307.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-19
Publication Date
2026-08-21

AI Technical Summary

Technical Problem

[0003]有鉴于此,本发明提供了一种保持时序违规路径处理方法、装置、存储介质及电子设备,主要目的在于解决目前存在金属ECO的实施周期长,芯片生产效率低的问题

Benefits of technology

[0035] The beneficial effects of this application are as follows: This application obtains the hold-time violation path in the metal ECO stage; it uses a preset spare unit search algorithm to search for spare units in a preset search space corresponding to the hold-time violation path, obtaining target spare units for repairing the hold-time violation path. The unit types of the target spare units include buffer types and inverter types; the target spare units are used to perform path repair processing on the hold-time violation path, obtaining the metal ECO target path that meets the preset hold-time design requirements corresponding to the hold-time violation path. The use of the preset spare unit search algorithm to search for spare units in the preset search space corresponding to the hold-time violation path achieves automated acquisition of spare units and automated insertion of the automatically acquired spare units, which can quickly resolve hold-time violations and shorten the implementation cycle of metal ECO.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122616451A_ABST
    Figure CN122616451A_ABST
Patent Text Reader

Abstract

The application discloses a kind of holding timing violation path processing method, device, storage medium and electronic equipment. It is related to the technical field of digital integrated circuit physical design, wherein the method comprises: obtaining the holding timing violation path of metal ECO stage;Adopting pre-device unit search algorithm in the preset search space corresponding to the holding timing violation path carries out spare unit search, obtains the target spare unit for repairing the holding timing violation path, and the unit type of the target spare unit includes buffer type and inverter type;Adopting the target spare unit carries out path repair processing to the holding timing violation path, obtains the metal ECO target path corresponding to the holding timing violation path, which satisfies the preset holding timing design requirement.The method of the application can shorten the metal ECO implementation cycle and improve the efficiency of metal ECO implementation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the technical fields of digital integrated circuit physical design, system-on-a-chip, back-end layout timing optimization, etc., and particularly to a method, apparatus, storage medium and electronic device for handling timing violation paths. Background Technology

[0002] With increasing design challenges and complexity, late-stage metal ECOs (Engineering Change Orders) have become a critical and indispensable part of the tape-out solution cycle, requiring faster turnaround times and lower rework costs. Metal ECOs are a widely adopted technique by major integrated circuit design companies to address final-stage functional and timing failures. However, limitations such as pre-injection resource constraints, significant manual workload, and turnaround time result in long implementation cycles for existing metal ECOs, negatively impacting the overall progress, cost, quality, and market competitiveness of chip design projects. Summary of the Invention

[0003] In view of this, the present invention provides a method, apparatus, storage medium and electronic device for handling timing violation paths, the main purpose of which is to solve the problems of long implementation cycle and low chip production efficiency of current metal ECO.

[0004] To address the above problems, this application provides a method for handling timing violation paths, including:

[0005] Identify the hold-time violation path during the metal ECO phase;

[0006] A preset backup unit search algorithm is used to search for backup units in a preset search space corresponding to the hold-time violation path to obtain target backup units for repairing the hold-time violation path. The unit types of the target backup units include buffer type and inverter type.

[0007] The target backup unit is used to perform path repair processing on the holding timing violation path to obtain a metal ECO target path that meets the preset holding timing design requirements corresponding to the holding timing violation path.

[0008] Optionally, the step of using a preset backup unit search algorithm to search for backup units within a preset search space corresponding to the time-keeping violation path, and obtaining target backup units for repairing the time-keeping violation path, specifically includes:

[0009] Obtain the violation pin corresponding to the violation unit of the timing violation path;

[0010] Based on the non-compliant pin, read the coordinate position and driver file of the non-compliant pin;

[0011] Based on the coordinate positions, query each preset search space to obtain the target search space corresponding to the violation unit;

[0012] Based on the driver file, a backup unit search is performed in the target search space in ascending order of search distance to obtain the target backup unit used to repair the timing violation path.

[0013] Optionally, the step of searching for backup units within the target search space based on the driver file in ascending order of search distance to obtain target backup units for repairing the timing violation path specifically includes:

[0014] Based on the driver file, each of the backup units in the target search space is traversed in ascending order of search distance, and the unused backup unit that ranks first and has the same specifications as the driver file is determined as the target backup unit.

[0015] Optionally, the step of using the target backup unit to perform path repair processing on the hold-time violation path to obtain a metal ECO target path that meets the preset hold-time design requirements corresponding to the hold-time violation path specifically includes:

[0016] Based on the aforementioned timing violation path, determine the first input source and first output sink of the timing trigger signal;

[0017] The target spare unit is inserted between the first input source point and the first output sink point to obtain a metal ECO target path that meets the preset holding timing design requirements corresponding to the holding timing violation path.

[0018] Optionally, the method further includes:

[0019] When the preset backup unit search algorithm is used to search in the preset search space corresponding to the timing violation path, and no target backup unit for repairing the timing violation path is found, a search is performed in the preset search space to obtain a non-buffered combination unit for repairing the timing violation path.

[0020] The unbuffered combination unit is converted to a buffered combination unit for repairing the timing violation path;

[0021] The buffer combination unit is used to perform path repair processing on the hold timing violation path to obtain a metal ECO target path that meets the preset hold timing design requirements corresponding to the hold timing violation path.

[0022] Optionally, the step of using the buffer combination unit to perform path repair processing on the hold-time violation path to obtain a metal ECO target path that meets the preset hold-time design requirements corresponding to the hold-time violation path specifically includes:

[0023] Based on the aforementioned timing violation path, determine the second input source point and the second output sink point of the timing trigger signal;

[0024] The buffer combination unit is inserted between the second input source point and the second output sink point to obtain a metal ECO target path that meets the preset holding timing design requirements corresponding to the holding timing violation path.

[0025] Optionally, a search is performed within a preset search space. If no target backup unit for repairing the timing violation path is found and no non-buffered combination unit for repairing the timing violation path is found, the driving strength of the timing violation path driving unit is obtained.

[0026] The trace length used to repair the timing violation path is determined based on the driving strength;

[0027] The fixed position of the anchor unit is determined based on the length of the wiring, and the anchor unit is fixed at the fixed position.

[0028] Based on the anchor unit and the wiring length, the non-compliant holding timing path is bypassed and connected to repair the non-compliant holding timing path, thereby obtaining a metal ECO target path that meets the preset holding timing design requirements corresponding to the non-compliant holding timing path.

[0029] To address the aforementioned problems, this application provides a timing violation path processing apparatus, comprising:

[0030] The acquisition module is used to acquire hold-time violation paths during the metal ECO phase;

[0031] The search module is used to perform a backup unit search in a preset search space corresponding to the hold-time violation path using a preset backup unit search algorithm, so as to obtain a target backup unit for repairing the hold-time violation path. The unit types of the target backup unit include buffer type and inverter type.

[0032] The processing module is used to perform path repair processing on the hold-time violation path using the target backup unit, so as to obtain a metal ECO target path that meets the preset hold-time design requirements corresponding to the hold-time violation path.

[0033] To address the aforementioned problems, this application provides a storage medium storing a computer program that, when executed by a processor, implements the steps of the aforementioned method for handling timing violation paths.

[0034] To address the aforementioned problems, this application provides an electronic device, comprising at least a memory and a processor. The memory stores a computer program, and the processor, when executing the computer program in the memory, implements the steps of the aforementioned method for handling timing violation paths.

[0035] The beneficial effects of this application are as follows: This application obtains the hold-time violation path in the metal ECO stage; it uses a preset spare unit search algorithm to search for spare units in a preset search space corresponding to the hold-time violation path, obtaining target spare units for repairing the hold-time violation path. The unit types of the target spare units include buffer types and inverter types; the target spare units are used to perform path repair processing on the hold-time violation path, obtaining the metal ECO target path that meets the preset hold-time design requirements corresponding to the hold-time violation path. The use of the preset spare unit search algorithm to search for spare units in the preset search space corresponding to the hold-time violation path achieves automated acquisition of spare units and automated insertion of the automatically acquired spare units, which can quickly resolve hold-time violations and shorten the implementation cycle of metal ECO.

[0036] The above description is merely an overview of the technical solution of the present invention. In order to better understand the technical means of the present invention and to implement it in accordance with the contents of the specification, and in order to make the above and other objects, features and advantages of the present invention more apparent and understandable, specific embodiments of the present invention are described below. Attached Figure Description

[0037] Various other advantages and benefits will become apparent to those skilled in the art upon reading the following detailed description of preferred embodiments. The accompanying drawings are for illustrative purposes only and are not intended to limit the invention. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:

[0038] Figure 1 A flowchart illustrating a method for handling timing violation paths provided in an embodiment of this application is shown.

[0039] Figure 2 A flowchart illustrating another method for handling timing violation paths provided in yet another embodiment of this application is shown;

[0040] Figure 3 The original routing diagram for maintaining a timing violation path is shown in an embodiment of this application.

[0041] Figure 4 This application provides an embodiment of a metal ECO target path after repairing timing violation paths;

[0042] Figure 5 This application illustrates a metal ECO target path that modifies the initial connection to a recombined connection using a non-buffered combination unit, according to an embodiment of this application.

[0043] Figure 6 This illustrates the original timing violation path prior to the addition of the anchor unit, as provided in an embodiment of this application.

[0044] Figure 7 The following is an illustration of the timing path for adding anchor units according to an embodiment of this application;

[0045] Figure 8 The final metal ECO target path obtained after removing the anchor unit, as provided in the embodiment of this application, is shown.

[0046] Figure 9 This diagram illustrates a comparison of the time spent manually repairing violations and the time spent using the automated violation repair method provided in this application.

[0047] Figure 10 A structural block diagram of a timing violation path processing device provided in an embodiment of this application is shown. Detailed Implementation

[0048] Various embodiments and features of this application are described herein with reference to the accompanying drawings.

[0049] It should be understood that various modifications can be made to the embodiments described herein. Therefore, the above description should not be considered as limiting, but merely as an example of embodiments. Other modifications within the scope and spirit of this application will be apparent to those skilled in the art.

[0050] The accompanying drawings, which are included in and form part of this specification, illustrate embodiments of the present application and, together with the general description of the present application given above and the detailed description of the embodiments given below, serve to explain the principles of the present application.

[0051] These and other features of this application will become apparent from the following description of preferred forms of embodiments given as non-limiting examples, with reference to the accompanying drawings.

[0052] It should also be understood that although this application has been described with reference to some specific examples, those skilled in the art can certainly implement many other equivalent forms of this application.

[0053] The above and other aspects, features and advantages of this application will become more apparent when taken in conjunction with the accompanying drawings and in view of the following detailed description.

[0054] Specific embodiments of this application are described thereafter with reference to the accompanying drawings; however, it should be understood that the claimed embodiments are merely examples of this application, which can be implemented in various ways. Well-known and / or repeated functions and structures are not described in detail to avoid unnecessary or redundant details that could obscure the application. Therefore, the specific structural and functional details claimed herein are not intended to be limiting, but merely serve as the basis and representative basis for the claims to teach those skilled in the art to use this application in a variety of substantially any suitable detailed structures.

[0055] This specification may use the phrases “in one embodiment,” “in another embodiment,” “in yet another embodiment,” or “in other embodiments,” all of which may refer to one or more of the same or different embodiments according to this application.

[0056] This application provides a method for handling timing violation paths, such as... Figure 1 As shown, it includes:

[0057] Step S101: Obtain the hold-time violation path in the metal ECO stage;

[0058] In practice, static timing analysis tools can be used to perform timing analysis and extract violation information under preset analysis environments and constraints. Specifically, before performing static timing analysis, the design netlist, layout, and relevant process libraries must be input into the static timing analysis tool, such as PrimeTime. Simultaneously, correct clock constraints, input / output delays, and other timing constraints must be set. These constraints must match the actual operating conditions of the chip to ensure the accuracy of the analysis results. The static timing analysis tool analyzes and calculates all timing paths in the chip based on the given design and constraint information. During the analysis, the tool considers factors such as signal propagation delay between logic units and clock signal skew, calculating the hold time margin for each timing path. After the analysis is complete, the tool outputs a detailed timing report. The report clearly indicates which paths have hold time violations, along with the specific values ​​of the violations and related path information, such as the start point, end point, and logic units traversed. Designers can use this information to locate the specific circuit position for subsequent ECO repair. Holding time violation paths can also be obtained using methods such as circuit simulation and layout-based physical verification. A holding time violation occurs when the input data signal of a flip-flop needs to remain stable for a certain period of time after the arrival of the valid edge of the clock signal; this time is called the holding time. If the data signal changes during the holding time, a holding time violation will occur, which may also cause the flip-flop to output incorrect results and trigger abnormal circuit function. The path where the holding time violation occurs is the holding time violation path.

[0059] Step S102: Use a preset backup unit search algorithm to search for backup units in a preset search space corresponding to the hold-time violation path, and obtain target backup units for repairing the hold-time violation path. The unit types of the target backup units include buffer type and inverter type.

[0060] In the specific implementation process, the pin name corresponding to the violating unit of the timing violation path is obtained; based on the pin name, the coordinate position and driver file of the violating unit are read; based on the coordinate position, each preset search space is queried to obtain the target search space corresponding to the violating unit; based on the driver file, a backup unit search is performed in the target search space in ascending order of search distance to obtain the target backup unit used to repair the timing violation path. The preset backup unit search algorithm of this application can be implemented using TCL scripts to achieve an automatic metal ECO process, realizing automated search and automated insertion of backup units, saving ECO implementation time.

[0061] Step S103: Use the target backup unit to perform path repair processing on the holding timing violation path to obtain a metal ECO target path that meets the preset holding timing design requirements corresponding to the holding timing violation path.

[0062] In the specific implementation process, the first input source and first output sink of the hold timing trigger signal are determined based on the hold timing violation path. The original connection is rewired using a buffer unit or inverter, thereby increasing the path delay and repairing all hold timing violations or ECO paths. Repair is achieved by inserting a buffer or inverter pair between the first input source and the first output sink. The target spare unit is inserted between the first input source and the first output sink to obtain a metal ECO target path that meets the preset hold timing design requirements corresponding to the hold timing violation path. The first input source is typically the main input at the beginning of the trigger or ECO path; the first output sink is typically the main output of the trigger or ECO path. The preset hold timing design requirement is that the design should ensure the input data signal of the trigger remains stable for a certain period of time; this certain period of time is the hold time length required by the preset hold timing design.

[0063] This application obtains a hold-time violation path; employs a preset spare unit search algorithm to search for spare units within a preset search space corresponding to the hold-time violation path, obtaining target spare units for repairing the hold-time violation path. The target spare units include buffer and inverter types. The target spare units are then used to repair the hold-time violation path, resulting in a metal ECO target path that meets preset hold-time design requirements. The use of the preset spare unit search algorithm to search for spare units within the preset search space corresponding to the hold-time violation path achieves automated acquisition of spare units and automated insertion of the automatically acquired spare units, quickly resolving hold-time spurious events and shortening the implementation cycle of the metal ECO.

[0064] Another embodiment of this application provides a different method for handling timing violation paths, such as... Figure 2 As shown, it includes:

[0065] Step S201: Obtain the hold-time violation path in the metal ECO stage;

[0066] In this step, a static timing analysis tool can be used to perform timing analysis and extract violation information under a preset analysis environment and constraints. Specifically, before performing static timing analysis, the design netlist, layout, and relevant process libraries must be input into the static timing analysis tool, such as PrimeTime. Simultaneously, correct clock constraints, input / output delays, and other timing constraints must be set. These constraints must match the actual operating conditions of the chip to ensure the accuracy of the analysis results. The static timing analysis tool will analyze and calculate all timing paths in the chip based on the given design and constraint information. During the analysis, the static timing analysis tool considers factors such as signal propagation delay between logic units and clock signal skew, calculating the hold time margin for each timing path. After the analysis is complete, the tool will output a detailed timing report. The report will clearly indicate which paths have hold time violations, along with the specific values ​​of the violations and related path information, such as the start point, end point, and logic units traversed. Designers can use this information to locate the specific circuit position for subsequent ECO repair. Holding time violation paths can also be obtained using methods such as circuit simulation and layout-based physical verification. A holding time violation occurs when the input data signal of a flip-flop needs to remain stable for a certain period of time after the arrival of the valid edge of the clock signal; this time is called the holding time. If the data signal changes during the holding time, a holding time violation will occur, which may also cause the flip-flop to output incorrect results and trigger abnormal circuit function. The path where the holding time violation occurs is the holding time violation path.

[0067] Step S202: Use a preset backup unit search algorithm to search for backup units in a preset search space corresponding to the time-keeping violation path, and obtain the target backup unit for repairing the time-keeping violation path;

[0068] In this step, the following steps are implemented: First, the violation pin corresponding to the violation unit in the time-preserving violation path is obtained. Based on the violation pin, its coordinate position and driver file are read. Then, each preset search space is queried based on its coordinate position to obtain the target search space corresponding to the violation unit. Specifically, the location of the violation pin is the location where violation path processing is required. Backup units need to be selected from the search space near the coordinate position. Each path can be pre-divided into regions, and then a corresponding search space is matched for each region. Each search space includes at least one backup unit for subsequent path processing in that region. The target region where the violation pin is located is determined based on its coordinate position, and then the target search space is determined based on the target region. Based on the driver file, backup units are searched within the target search space in ascending order of search distance to obtain the target backup unit used to repair the time-preserving violation path. Specifically, the driving capability of the violating unit is determined based on the driving file, and the required delay is determined based on the current delay of the timing violation path, the driving capability, and preset design requirements. The required delay is compared with the design delay of the backup unit with the smallest search distance. If the design delay of the backup unit is greater than or equal to the required delay, the backup unit is determined as the target backup unit. If the design delay of the backup unit is less than the required delay, the next backup unit is searched in the target search space at a preset step size until the design delay of the current backup unit obtained is greater than or equal to the required delay, at which point the current backup unit is determined as the target backup unit.

[0069] Before performing a backup cell search within a preset search space corresponding to the time-keeping violation path using a preset backup cell search algorithm, this application constructs the preset backup cell search algorithm through the following steps:

[0070] Step 1: Define the upper and lower bounds of each search space and search for spare cells within a specific bounded area. When setting the boundaries, first set the coordinates of the cell, then set the search space (the distance per unit distance in the x and y directions), and search for spare cells within the defined range.

[0071] Step 2: Configure the unit type of the spare unit: The unit type includes inverter type or buffer type;

[0072] Step 3: Configure and select different types of buffers or reverse drive units;

[0073] Step 4: When there are multiple hold-time violation paths at the same time, multiple pins can be passed through a preset file, and spare units can be added to multiple hold-time violation paths at the same time;

[0074] Step 5: Mark the used spare units to prevent the addition of spare units that have already been reused in subsequent iterations.

[0075] Step S203: Use the target backup unit to perform path repair processing on the holding timing violation path to obtain a metal ECO target path that meets the preset holding timing design requirements corresponding to the holding timing violation path;

[0076] In the specific implementation process of this step, the first input source point and the first output sink point of the holding timing trigger signal are determined based on the holding timing violation path; the target spare unit is inserted between the first input source point and the first output sink point to obtain the metal ECO target path that meets the preset holding timing design requirements corresponding to the holding timing violation path. Figure 3 The original routing for maintaining a timing violation path is shown; where driver represents a driver unit and sinkcell represents a sink cell; the first input source point is point o of the driver unit; and the first output sink point is point a of the sink cell. Figure 4 The diagram shows the metal ECO target path after repairing the timing violation path; where spare represents the selected target spare unit, which is inserted between the first input source point and the first output sink point to obtain the metal ECO target path that meets the preset timing design requirements corresponding to the timing violation path.

[0077] Step S204: When the preset backup unit search algorithm is used to search in the preset search space corresponding to the timing violation path, and no target backup unit for repairing the timing violation path is found, a search is performed in the preset search space to obtain a non-buffered combination unit for repairing the timing violation path.

[0078] In this step, the conversion and use of the non-buffered combination unit means that the NAND and NOR types of the spare unit are converted to NOT type and combined as a buffer on the violation path. A search is performed within the preset search space to obtain non-buffered combination units for repairing the timing violation path. These non-buffered combination units include NAND gate units and NOR gate units.

[0079] Step S205: Perform cell type conversion on the unbuffered combination unit to obtain a buffered combination unit for repairing the timing violation path;

[0080] In the specific implementation process of this step, the non-buffered combination unit is converted to a buffered combination unit for repairing the timing violation path. The non-buffered combination unit is then recombined and connected with NOT gate units and OR NOT gate units to obtain the buffered combination unit. The conversion and use of the non-buffered combination unit represents the conversion of the NAND and NOR types of the spare unit to the NOT type.

[0081] Step S206: Use the buffer combination unit to perform path repair processing on the hold timing violation path to obtain a metal ECO target path that meets the preset hold timing design requirements corresponding to the hold timing violation path;

[0082] In the specific implementation process, this step, such as Figure 5 As shown, the initial connection in the figure is modified by recombining the unbuffered combination unit with the NOT gate unit and the OR NOT gate unit to perform path repair processing on the timing violation path, so as to obtain the metal ECO target path that meets the preset timing design requirements corresponding to the timing violation path.

[0083] Step S207: Search within the preset search space. If no target backup unit for repairing the timing violation path is found and no non-buffered combination unit for repairing the timing violation path is found, obtain the driving strength of the timing violation path driving unit.

[0084] In the specific implementation process of this step, a search is performed within the preset search space. If no target backup unit for repairing the timing violation path is found, and no non-buffered combination unit for repairing the timing violation path is found, the trace length between the driving unit and the sink unit of the timing violation path is increased to repair the timing violation path.

[0085] Step S208: Determine the trace length for repairing the timing violation path based on the drive strength;

[0086] In the specific implementation of this step, the driving strength of the driving unit is relatively large, and the signal propagation speed will be faster. Therefore, a longer detour path may be required to increase the delay. The routing length of the detour path is determined by the magnitude of the driving strength. By increasing the routing length, the time delay of the timing violation path is increased, so as to achieve the repair of the timing violation path.

[0087] Step S209: Determine the fixed position of the anchor unit based on the routing length, and fix the anchor unit at the fixed position;

[0088] In this step, the anchor unit is locked at the determined fixed location using physical design tools. For example, in FPGA design, the physical location of the anchor unit can be specified using a constraint file (XDC). Figure 6 The image shows the original timing violation path in this application before the anchor unit was added; as shown... Figure 7 The diagram shows the timing path for maintaining anchor units in this application.

[0089] Step S210: Based on the anchor unit and the wiring length, the non-compliant timing path is bypassed and connected to repair the non-compliant timing path, thereby obtaining a metal ECO target path that meets the preset timing design requirements corresponding to the non-compliant timing path.

[0090] In this step, after fixing the anchor unit, the timing violation path is rerouted based on the anchor unit and the wiring length to obtain the current path. The current path is then re-analyzed for timing violations to verify whether the violation has been resolved. If problems persist, the anchor unit's fixed position is further determined. Based on the new fixed position, the anchor unit is repositioned and the wiring is re-reconnected to update the current path until the updated current path's timing compliance meets design requirements. This ensures a balance between the anchor unit's fixed position and drive strength. Finally, the anchor unit is removed, and the updated current path is designated as the metal ECO target path. Figure 8 The image shows the final metal ECO target path obtained after removing the anchor unit in this application.

[0091] like Figure 9 The diagram shows a comparison of the time spent manually fixing violations and the time spent using the automated violation fixing method provided in this application. Testing was conducted in two phases: validity verification of hold-time violations and testing of the ECO-optimized spare cell selection algorithm. All timing results are based on Synopsys Primtime. This implementation was performed under 47 pin scenarios with hold-time violations. The comparison of runtime for a module design example demonstrates how the automated solution reduces implementation time in multiple ways, enabling faster design development, shorter cycle times, and improved time-to-market.

[0092] This application addresses various scenarios involving timing violation paths by: acquiring a backup unit search algorithm to search for backup units within a pre-defined search space corresponding to the timing violation path; using a pre-defined backup unit search algorithm to search for backup units within a pre-defined search space; using a target backup unit to repair the timing violation path when no backup unit is found, but pairs of non-buffered combination units are found within the pre-defined search space; and using anchor units and increasing trace length to repair the timing violation path when neither a backup unit nor pairs of non-buffered combination units are found within the target search space. This approach effectively resolves timing violation situations, shortens the metal ECO implementation cycle, and improves the efficiency of metal ECO implementation.

[0093] Another embodiment of this application provides a device for handling timing violation paths, such as... Figure 10 As shown, it includes:

[0094] Module 1 is used to obtain the hold-time violation path in the metal ECO stage;

[0095] Search module 2 is used to perform a backup unit search in a preset search space corresponding to the hold-time violation path using a preset backup unit search algorithm, so as to obtain a target backup unit for repairing the hold-time violation path. The unit types of the target backup unit include buffer type and inverter type.

[0096] Processing module 3 is used to perform path repair processing on the holding timing violation path using the target backup unit, so as to obtain a metal ECO target path that meets the preset holding timing design requirements corresponding to the holding timing violation path.

[0097] In the specific implementation process, the search module 2 is specifically used to: obtain the violation pin corresponding to the violation unit of the timing violation path; based on the violation pin, read the coordinate position and driver file of the violation pin; query each preset search space based on the coordinate position to obtain the target search space corresponding to the violation unit; based on the driver file, search for backup units in the target search space in order of increasing search distance to obtain the target backup unit for repairing the timing violation path.

[0098] In the specific implementation process, the search module 2 is also used to: based on the driver file, traverse each of the backup units in the target search space in order of increasing search distance, and determine the unused backup unit that ranks first and has the same specifications as the driver file as the target backup unit.

[0099] In the specific implementation process, the processing module 3 is specifically used to: determine the first input source point and the first output sink point of the hold timing trigger signal based on the hold timing violation path; insert the target spare unit between the first input source point and the first output sink point to obtain a metal ECO target path that meets the preset hold timing design requirements corresponding to the hold timing violation path.

[0100] In the specific implementation process, the processing module 3 is further configured to: when the preset backup unit search algorithm is used to search within the preset search space corresponding to the hold-time violation path, and no target backup unit for repairing the hold-time violation path is found, search within the preset search space to obtain a non-buffered combination unit for repairing the hold-time violation path; perform unit type conversion on the non-buffered combination unit to obtain a buffered combination unit for repairing the hold-time violation path; use the buffered combination unit to perform path repair processing on the hold-time violation path to obtain a metal ECO target path that meets the preset hold-time design requirements corresponding to the hold-time violation path.

[0101] In the specific implementation process, the processing module 3 is also used to: determine the second input source point and the second output sink point of the hold timing trigger signal based on the hold timing violation path; insert the buffer combination unit between the second input source point and the second output sink point to obtain a metal ECO target path that meets the preset hold timing design requirements corresponding to the hold timing violation path.

[0102] In the specific implementation process, the processing module 3 is also used to: determine the routing length for repairing the holding timing violation path based on the driving intensity; determine the fixed position of the anchor unit based on the routing length, and fix the anchor unit at the fixed position; and perform a bypass connection on the holding timing violation path based on the anchor unit and the routing length to repair the holding timing violation path and obtain a metal ECO target path that meets the preset holding timing design requirements corresponding to the holding timing violation path.

[0103] This application addresses various scenarios involving timing violation paths by: acquiring a backup unit search algorithm to search for backup units within a pre-defined search space corresponding to the timing violation path; using a pre-defined backup unit search algorithm to search for backup units within a pre-defined search space; using a target backup unit to repair the timing violation path when no backup unit is found, but pairs of non-buffered combination units are found within the pre-defined search space; and using anchor units and increasing trace length to repair the timing violation path when neither a backup unit nor pairs of non-buffered combination units are found within the target search space. This approach effectively resolves timing violation situations, shortens the metal ECO implementation cycle, and improves the efficiency of metal ECO implementation.

[0104] Another embodiment of this application provides a storage medium storing a computer program, which, when executed by a processor, implements the following method steps:

[0105] Step 1: Obtain the hold-time violation path in the metal ECO stage;

[0106] Step 2: Use a preset backup unit search algorithm to search for backup units in a preset search space corresponding to the hold-time violation path, and obtain target backup units for repairing the hold-time violation path. The unit types of the target backup units include buffer type and inverter type.

[0107] Step 3: Use the target backup unit to perform path repair processing on the holding timing violation path to obtain a metal ECO target path that meets the preset holding timing design requirements corresponding to the holding timing violation path.

[0108] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

[0109] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is used as an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above.

[0110] The specific implementation process of the above method steps can be found in the embodiment of the above arbitrary time-preserving violation path processing method, which will not be repeated here.

[0111] This application addresses various scenarios involving timing violation paths by: acquiring a backup unit search algorithm to search for backup units within a pre-defined search space corresponding to the timing violation path; using a pre-defined backup unit search algorithm to search for backup units within a pre-defined search space; using a target backup unit to repair the timing violation path when no backup unit is found, but pairs of non-buffered combination units are found within the pre-defined search space; and using anchor units and increasing trace length to repair the timing violation path when neither a backup unit nor pairs of non-buffered combination units are found within the target search space. This approach effectively resolves timing violation situations, shortens the metal ECO implementation cycle, and improves the efficiency of metal ECO implementation.

[0112] Another embodiment of this application provides an electronic device, which can be a server. The electronic device includes a processor, a memory, a network interface, and a database connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile and / or volatile storage media and internal memory. The non-volatile storage media stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The network interface is used to communicate with external clients via a network connection. When the program is executed by the processor, it implements the functions or steps of a timing violation path handling method on the server side.

[0113] In one embodiment, an electronic device is provided, which can be a client. The electronic device includes a processor, memory, a network interface, a display screen, and an input device connected via a system bus. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The network interface is used to communicate with an external server via a network connection. When the program of the electronic device is executed by the processor, it implements the functions or steps of a timing violation path handling method on the client side.

[0114] Another embodiment of this application provides an electronic device, including at least a memory and a processor. The memory stores a computer program, and the processor, when executing the computer program in the memory, performs the following method steps:

[0115] Step 1: Obtain the hold-time violation path in the metal ECO stage;

[0116] Step 2: Use a preset backup unit search algorithm to search for backup units in a preset search space corresponding to the hold-time violation path, and obtain target backup units for repairing the hold-time violation path. The unit types of the target backup units include buffer type and inverter type.

[0117] Step 3: Use the target backup unit to perform path repair processing on the holding timing violation path to obtain a metal ECO target path that meets the preset holding timing design requirements corresponding to the holding timing violation path.

[0118] The specific implementation process of the above method steps can be found in the embodiment of the above arbitrary time-preserving violation path processing method, which will not be repeated here.

[0119] This application addresses various scenarios involving timing violation paths by: acquiring a backup unit search algorithm to search for backup units within a pre-defined search space corresponding to the timing violation path; using a pre-defined backup unit search algorithm to search for backup units within a pre-defined search space; using a target backup unit to repair the timing violation path when no backup unit is found, but pairs of non-buffered combination units are found within the pre-defined search space; and using anchor units and increasing trace length to repair the timing violation path when neither a backup unit nor pairs of non-buffered combination units are found within the target search space. This approach effectively resolves timing violation situations, shortens the metal ECO implementation cycle, and improves the efficiency of metal ECO implementation.

[0120] The above embodiments are merely exemplary embodiments of this application and are not intended to limit this application. The scope of protection of this application is defined by the claims. Those skilled in the art can make various modifications or equivalent substitutions to this application within its substance and scope of protection, and such modifications or equivalent substitutions should also be considered to fall within the scope of protection of this application.

Claims

1. A method for handling time-sequence violation paths, characterized in that, include: Identify the hold-time violation path during the metal ECO phase; A preset backup unit search algorithm is used to search for backup units in a preset search space corresponding to the hold-time violation path to obtain target backup units for repairing the hold-time violation path. The unit types of the target backup units include buffer type and inverter type. The target backup unit is used to perform path repair processing on the holding timing violation path to obtain a metal ECO target path that meets the preset holding timing design requirements corresponding to the holding timing violation path.

2. The method as described in claim 1, characterized in that, The step of using a preset backup unit search algorithm to search for backup units within a preset search space corresponding to the time-keeping violation path, and obtaining target backup units for repairing the time-keeping violation path, specifically includes: Obtain the violation pin corresponding to the violation unit of the timing violation path; Based on the non-compliant pin, read the coordinate position and driver file of the non-compliant pin; Based on the coordinate positions, query each preset search space to obtain the target search space corresponding to the violation unit; Based on the driver file, a backup unit search is performed in the target search space in ascending order of search distance to obtain the target backup unit used to repair the timing violation path.

3. The method as described in claim 2, characterized in that, The step of searching for backup units within the target search space based on the driver file, in ascending order of search distance, to obtain target backup units for repairing the timing violation path, specifically includes: Based on the driver file, each of the backup units in the target search space is traversed in ascending order of search distance, and the unused backup unit that ranks first and has the same specifications as the driver file is determined as the target backup unit.

4. The method as described in claim 1, characterized in that, The step of using the target backup unit to perform path repair processing on the hold-time violation path to obtain a metal ECO target path that meets the preset hold-time design requirements corresponding to the hold-time violation path specifically includes: Based on the aforementioned timing violation path, determine the first input source and the first output sink of the timing trigger signal; The target spare unit is inserted between the first input source point and the first output sink point to obtain a metal ECO target path that meets the preset holding timing design requirements corresponding to the holding timing violation path.

5. The method as described in claim 1, characterized in that, The method further includes: When the preset backup unit search algorithm is used to search in the preset search space corresponding to the timing violation path, and no target backup unit for repairing the timing violation path is found, a search is performed in the preset search space to obtain a non-buffered combination unit for repairing the timing violation path. The unbuffered combination unit is converted to a buffered combination unit for repairing the timing violation path; The buffer combination unit is used to perform path repair processing on the hold timing violation path to obtain a metal ECO target path that meets the preset hold timing design requirements corresponding to the hold timing violation path.

6. The method as described in claim 4, characterized in that, The step of using the buffer combination unit to perform path repair processing on the hold-time violation path to obtain the metal ECO target path that meets the preset hold-time design requirements corresponding to the hold-time violation path specifically includes: Based on the aforementioned timing violation path, determine the second input source point and the second output sink point of the timing trigger signal; The buffer combination unit is inserted between the second input source point and the second output sink point to obtain a metal ECO target path that meets the preset holding timing design requirements corresponding to the holding timing violation path.

7. The method as described in claim 2, characterized in that, If a search is performed within a preset search space and no target backup unit for repairing the timing violation path is found, and no non-buffered combination unit for repairing the timing violation path is found, the driving strength of the timing violation path driving unit is obtained. The trace length used to repair the timing violation path is determined based on the driving strength; The fixed position of the anchor unit is determined based on the length of the wiring, and the anchor unit is fixed at the fixed position. Based on the anchor unit and the wiring length, the non-compliant holding timing path is bypassed and connected to repair the non-compliant holding timing path, thereby obtaining a metal ECO target path that meets the preset holding timing design requirements corresponding to the non-compliant holding timing path.

8. A device for handling timing violation paths, characterized in that, include: The acquisition module is used to acquire hold-time violation paths during the metal ECO phase; The search module is used to perform a backup unit search in a preset search space corresponding to the hold-time violation path using a preset backup unit search algorithm, so as to obtain a target backup unit for repairing the hold-time violation path. The unit types of the target backup unit include buffer type and inverter type. The processing module is used to perform path repair processing on the hold-time violation path using the target backup unit, so as to obtain a metal ECO target path that meets the preset hold-time design requirements corresponding to the hold-time violation path.

9. A storage medium, characterized in that, The storage medium stores a computer program, which, when executed by a processor, implements the steps of the timing violation path handling method according to any one of claims 1-7.

10. An electronic device, characterized in that, It includes at least a memory and a processor, wherein the memory stores a computer program, and the processor, when executing the computer program in the memory, implements the steps of the timing violation path handling method according to any one of claims 1-7.