A timing critical path aware ECO optimization method
Patent Information
- Application Number
- CN202611513740.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-28
- Publication Date
- 2026-10-30
AI Technical Summary
[0007]本发明针对现有ECO过程中无法提前评估修改点对时序关键路径影响的问题,创新性地提出了一种时序关键路径感知的ECO优化方法,通过建立ECO修改点与关键路径之间的量化影响评估模型,在ECO执行前预测潜在时序风险,在ECO过程中指导修改点的选择与替代,在ECO完成后结合实际时序结果进行验证并反馈修正评估模型,使ECO流程由传统的先修改后验证转变为先预测再修改,从而提高ECO结果的时序可靠性
本发明在ECO执行前即可预测候选修改点对关键路径的潜在影响,避免了传统方法只能在ECO完成后通过STA才发现时序问题的被动局面,把时序风险的发现时刻从ECO之后提前到了ECO之前;通过与patchsize的联合评估,避免了单纯追求patchsize最小而牺牲时序的情况,在patchsize与时序质量之间取得平衡,整体上获得更佳的ECO结果。
Smart Images

Figure CN123013839A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of ECO technology, specifically relating to a time-critical path-aware ECO optimization method. Background Technology
[0002] A traditional ECO process typically includes: RTLECO, which identifies the modules and modification points that need to be modified based on changes to the RTL code; SYNECO, which modifies the netlist for the synthesis stage based on the modification points from RTLECO; DFTECO, which modifies the netlist for the DFT stage based on the modification points from SYNECO; FPECO, which adjusts chip floorplan information based on functional modification requirements or the results of previous ECO stages; and PRECO, which modifies the netlist for the placement and routing stage based on the modification points from DFTECO. In this process, each ECO stage generates modification points with functional equivalence as the goal, and the correctness of the ECO results is confirmed through logical equivalence verification.
[0003] However, existing ECO methods mainly focus on functional equivalence and patch size optimization during execution, lacking prior analysis of the relationship between ECO modification points and time-critical paths.
[0004] On the one hand, for the same functional modification requirement, there are usually multiple implementation methods in the RTL stage and subsequent ECO stages. Different implementation methods will introduce different changes in logic structure or connection relationships, thus affecting the critical path to varying degrees. Since the timing critical path is usually composed of complex combinational logic and register connections, some ECO modification points, although they can meet the functional requirements, may change the logic structure or connection relationships on the critical path. For example, inserting logic levels on the critical path connections or adding fan-out loads to the units on the critical path may lead to increased critical path latency and reduced chip operating frequency.
[0005] On the other hand, using only the minimum patch size as the optimization objective also has its shortcomings. An ECO result with a patch size of 0 is not optimal in some cases. For example, even if no cells are added or deleted, if the modified connections happen to be on a timing-critical path, it may still reduce the chip's operating frequency.
[0006] Because existing methods typically require static timing analysis (STA) after an ECO to confirm whether it affects the critical path, they have the following drawbacks: First, the impact of an ECO on the critical path cannot be predicted in advance and can only be discovered afterward; second, high-risk ECO modification points cannot be avoided in advance, as the tool lacks awareness of the critical path when generating modification points; third, once a timing problem is discovered after an ECO, the modification point needs to be regenerated and the ECO repeated, which may introduce new timing problems, leading to uncontrollable iteration counts and increasing iteration costs and tape-out cycle risks; fourth, even if a timing problem is discovered, due to the lack of a quantitative description of the relationship between modification points and the critical path, it is difficult to pinpoint which modification point caused the timing degradation, requiring a complete rework. Summary of the Invention
[0007] This invention addresses the problem that existing ECO processes cannot assess the impact of modification points on the time-critical path in advance. It innovatively proposes a time-critical path-aware ECO optimization method. By establishing a quantitative impact assessment model between ECO modification points and the critical path, it predicts potential time-related risks before ECO execution, guides the selection and replacement of modification points during ECO, and verifies and corrects the assessment model based on actual time-related results after ECO completion. This transforms the ECO process from the traditional "modify first, verify later" approach to "predict first, modify later," thereby improving the time-related reliability of ECO results.
[0008] The solution of the present invention is as follows: A timing-critical path-aware ECO optimization method for the ECO stage of integrated circuit design, the method comprising the following steps: Step S1: Perform static timing analysis on the netlist to be ECO in the current design phase, and extract the critical path set. Each critical path in the critical path set includes a start register, an end register, a sequence of cells on the critical path, and a timing margin slack for the critical path. The critical cell set and the critical register set are obtained from the critical path set.
[0009] Step S2: Based on the functional modification requirements, perform a difference analysis on the old and new designs to obtain a set of candidate ECO modification points. The set of candidate ECO modification points is divided into at least two candidate implementation schemes. Each candidate implementation scheme consists of a set of candidate ECO modification points, and each candidate implementation scheme, when applied individually to the netlist to be ECO, is logically equivalent to the functional modification requirements.
[0010] Step S3: For each candidate ECO modification point in the candidate ECO modification point set, determine the association relationship between the candidate ECO modification point and each critical path in the critical path set. The association relationship includes logical association relationship, spatial distance relationship and structural perturbation relationship. Based on the association relationship and the slack of the corresponding critical path, calculate the impact score of the candidate ECO modification point, and determine the impact level of the candidate ECO modification point based on the impact score and the preset impact level threshold.
[0011] Step S4, while maintaining logical equivalence, determines the ECO modification scheme based on the impact score obtained in step S3. Specifically, this includes: using the maximum value of the impact scores of each candidate ECO modification point in a candidate implementation scheme as the scheme impact score of that candidate implementation scheme, and selecting the candidate implementation scheme with the smallest scheme impact score; for candidate ECO modification points in the selected candidate implementation scheme whose impact scores are greater than a first threshold, generating alternative modification points that are logically equivalent to them and whose logical association or spatial distance relationship with the critical path is weakened; re-executing step S3 on the alternative modification points to obtain the impact score of the alternative modification points; when the impact score of the alternative modification point is less than the impact score of the original candidate ECO modification point, replacing the original candidate ECO modification point with the alternative modification point; performing ECO operations on the ECO netlist to be modified according to the ECO modification scheme to obtain the ECO result netlist.
[0012] Step S5: Perform static time series analysis on the ECO result netlist to obtain the actual time series changes of each critical path; compare the actual time series changes with the impact scores of the corresponding candidate ECO modification points obtained in step S3 to obtain the prediction error, and use the prediction error to update the weight coefficients used to calculate the impact scores in step S3.
[0013] Furthermore, the method for extracting the critical path set in step S1 is any one of the following: determining the time-series paths with slack less than a preset slack threshold as critical paths; or sorting all time-series paths in ascending order of slack and taking the top ones. The path is identified as the critical path. After extracting the set of critical paths, an index is created for each critical unit in the set of critical units, and the index records the number of the critical path to which the critical unit belongs.
[0014] Furthermore, the logical association is determined by logical level distance. Representation, logical relevance When a candidate ECO modification point is neither part of the critical path nor located within the fan-in or fan-out cone of any cell on the critical path, it is determined that there is no logical relationship between the two. Take 0.
[0015] Furthermore, the spatial distance relationship is determined by spatial correlation. The representation is based on Manhattan distance calculation in the layout and routing stage, and on hierarchical distance calculation in the design hierarchy tree in the synthesis or DFT stage.
[0016] Furthermore, the structural perturbation relationship is determined by the degree of structural perturbation. Characterization, .
[0017] Furthermore, the impact score ,in , This represents the time-series sensitivity weight.
[0018] Furthermore, the impact level threshold includes a first threshold. Second threshold and the third threshold Based on this, the impact level is divided into four levels: high, medium, low, and very low.
[0019] Furthermore, the alternative modification points can be generated in at least one of the following ways: driven copy isolation, location migration, non-critical branch implementation, spare unit reuse, and equivalent structure rewriting.
[0020] Furthermore, logical equivalence verification is performed on the generated alternative modification points, and replacement is only allowed if the verification is passed; if a better alternative modification point cannot be generated, the original candidate ECO modification point is added to the controlled risk point list and verified first in step S5.
[0021] Furthermore, step S3 also includes calculating the critical path impact ratio of this ECO task. ,when When the impact ratio exceeds a preset threshold, the search range of candidate implementation schemes is expanded.
[0022] Furthermore, in step S5, when the prediction error is greater than a preset error threshold, the weight coefficients are updated and normalized using gradient descent, and the updated weight coefficients are used for subsequent ECO tasks.
[0023] Furthermore, in step S5, when the worst slack degradation after ECO is greater than a preset timing degradation threshold, the ECO modification scheme is rolled back and the candidate implementation scheme with the second smallest impact score is selected for re-execution.
[0024] Furthermore, in step S4, when selecting candidate implementation schemes, a joint evaluation is also performed based on patch size to calculate a comprehensive score. The candidate implementation scheme with the lowest overall score is selected.
[0025] Furthermore, the current design phase of the ECO includes any one of the synthesis phase, DFT phase, and placement and routing phase; the ECO operation includes at least one of RTLECO, SYNECO, DFTECO, FPECO, and PRECO.
[0026] Compared with the prior art, the beneficial effects of this invention are: This invention can predict the potential impact of candidate modification points on the critical path before ECO execution, avoiding the passive situation of traditional methods that can only discover timing problems through STA after ECO is completed. It advances the discovery of timing risks from after ECO to before ECO. By jointly evaluating with patch size, it avoids the situation of simply pursuing the minimum patch size at the expense of timing, and achieves a balance between patch size and timing quality, resulting in better overall ECO results. Attached Figure Description
[0027] Figure 1 This is a flowchart of an ECO optimization method for time-critical path awareness according to the present invention. Figure 2 This is a schematic diagram illustrating a specific implementation of ECO optimization based on critical path impact assessment according to the present invention. Detailed Implementation
[0028] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below. Obviously, the described embodiments are only some embodiments of this invention, not all embodiments. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this invention.
[0029] To facilitate understanding, the terms used in this invention will be explained first: Slack, or timing margin, refers to the difference between the time required for a timing path and its arrival time. A negative slack indicates that the path does not meet the timing constraints; the worst slack is the minimum slack among all timing paths.
[0030] A fan-in cone refers to the set of all preceding units that a node logically depends on; a fan-out cone refers to the set of all subsequent units that a node logically drives.
[0031] A candidate ECO modification point refers to an atomic modification action generated by design difference analysis. It can be represented as a quintuple, including the modification location, modification type, driving network, load network, and the number of the candidate implementation scheme to which it belongs. Modification types include adding a unit, deleting a unit, replacing a unit, and changing a connection.
[0032] An anchor cell is a reference cell used to determine the location of a candidate ECO modification point. For modification points of the type of adding a cell, the anchor cell is the first one placed among the driving cell or load cell of the added cell; for modification points of the type of deleting or replacing a cell, the anchor cell is the cell that is deleted or replaced; for modification points of the type of changing a connection, the anchor cell is the driving cell of that connection.
[0033] Spare cells are redundant logic units that are pre-distributed in the layout during the layout phase and are not yet in use. They can be reused during ECO to implement new logic without changing the layout.
[0034] patchsize refers to the sum of the number of cells added and the number of cells deleted before and after an ECO operation.
[0035] The core idea of this invention is that a functional modification requirement does not have a unique implementation on the gate-level netlist. The set of modification points provided by the difference analysis tool is just one of many logically equivalent implementations. These implementations are functionally equivalent, but not equivalent in their relationship with the time-critical path. Therefore, before actually executing an ECO (Enhanced Recovery Operator) test, the critical path in the design can be extracted, and the relationship between each candidate modification point and these critical paths can be quantified into an impact score. This score is then used to select implementation schemes and replace high-risk modification points. After the ECO test is completed, the actual time-series results are used to calibrate the scoring model, making the scoring increasingly accurate over time.
[0036] Example 1 like Figure 1 The diagram shows a flowchart of a time-critical path-aware ECO optimization method according to the present invention. This method divides the traditional ECO process into a Pre-ECO stage, an ECO stage, and a Post-ECO stage. In the Pre-ECO stage, critical path information extraction and impact assessment of ECO modification points are completed. In the ECO stage, time-aware ECO optimization is performed based on the impact assessment results. In the Post-ECO stage, time-series verification is performed, and the verification results are fed back to the ECO stage and the impact assessment model.
[0037] Step S1: Perform static timing analysis on the netlist to be ECO in the current design phase, and extract the critical path set. Each critical path in the critical path set includes a start register, an end register, a sequence of cells on the critical path, and a timing margin slack for the critical path. The critical cell set and the critical register set are obtained from the critical path set.
[0038] Step S2: Based on the functional modification requirements, perform a difference analysis on the old and new designs to obtain a set of candidate ECO modification points. The set of candidate ECO modification points is divided into at least two candidate implementation schemes. Each candidate implementation scheme consists of a set of candidate ECO modification points, and each candidate implementation scheme, when applied individually to the netlist to be ECO, is logically equivalent to the functional modification requirements.
[0039] Step S3: For each candidate ECO modification point in the candidate ECO modification point set, determine the association relationship between the candidate ECO modification point and each critical path in the critical path set. The association relationship includes logical association relationship, spatial distance relationship and structural perturbation relationship. Based on the association relationship and the slack of the corresponding critical path, calculate the impact score of the candidate ECO modification point, and determine the impact level of the candidate ECO modification point based on the impact score and the preset impact level threshold.
[0040] Step S4, while maintaining logical equivalence, determines the ECO modification scheme based on the impact score obtained in step S3. Specifically, this includes: using the maximum value of the impact scores of each candidate ECO modification point in a candidate implementation scheme as the scheme impact score of that candidate implementation scheme, and selecting the candidate implementation scheme with the smallest scheme impact score; for candidate ECO modification points in the selected candidate implementation scheme whose impact scores are greater than a first threshold, generating alternative modification points that are logically equivalent to them and whose logical association or spatial distance relationship with the critical path is weakened; re-executing step S3 on the alternative modification points to obtain the impact score of the alternative modification points; when the impact score of the alternative modification point is less than the impact score of the original candidate ECO modification point, replacing the original candidate ECO modification point with the alternative modification point; performing ECO operations on the ECO netlist to be modified according to the ECO modification scheme to obtain the ECO result netlist.
[0041] Step S5: Perform static time series analysis on the ECO result netlist to obtain the actual time series changes of each critical path; compare the actual time series changes with the impact scores of the corresponding candidate ECO modification points obtained in step S3 to obtain the prediction error, and use the prediction error to update the weight coefficients used to calculate the impact scores in step S3.
[0042] This embodiment takes the primary function ECO in the integration phase as an example, combined with... Figure 2 The method of the present invention will be described in detail.
[0043] Process 1, Pre-ECO stage: Critical path information extraction.
[0044] Suppose the current design requires a functional modification, necessitating a functional ECO. Before executing the ECO, a static timing analysis is performed on the netlist to be executed, and a slack threshold is set. The threshold is 0.050 ns. Timing paths with a slack less than this threshold are identified as critical paths. In this embodiment, a total of 20 critical paths were extracted. The worst slack time was -0.082ns, which is... .
[0045] like Figure 2 As shown in (1) in this embodiment, the worst critical path is denoted as... : REG_A→L1→L2→L3→L4→REG_F. Here, REG_A is the start register of the critical path, REG_F is the end register of the critical path, and L1 to L4 are the combinational logic units on this critical path.
[0046] The slack of the critical path is -0.082ns. The critical element set is obtained by taking the union of all elements on the 20 critical paths, and the critical register set is obtained by taking the union of all start and end registers. An index is created for each critical element, and the critical path number to which it belongs is recorded. This allows for constant-time lookup in subsequent impact assessments to determine whether an element is on a critical path and on which critical paths it is located.
[0047] It should be noted that there is no layout information in the synthesis and DFT stages. At this time, static timing analysis is based on the line load model, or the timing back-annotation information generated in the placement and routing stage of the previous version design can be directly reused to improve the accuracy of critical path extraction.
[0048] Process 2, Pre-ECO stage: Impact assessment of ECO modification points.
[0049] Based on the functional modification requirements, a set of candidate ECO modification points is generated through difference analysis between the old and new designs. In this embodiment, the difference analysis generated a total of 76 candidate ECO modification points, among which those related to the critical path... The relevant candidate modification points are to ,like Figure 2 As shown in (1) of the table.
[0050] Unlike traditional methods, this invention does not retain only one set of results when generating candidate modification points. Instead, it divides these 76 candidate modification points into several candidate implementation schemes based on logical equivalence. Each candidate implementation scheme, when applied individually to the ECO netlist, can satisfy the same functional modification requirement. This is similar to... Regarding the relevant parts, there are two candidate implementation schemes: candidate implementation schemes Depend on , , The structure directly implements the required functional modifications on the combinational logic segment of the critical path; candidate implementation schemes. Depend on , The two are functionally equivalent, but their impact on the critical path differs significantly. They achieve equivalent functionality through bypass logic near the critical path endpoint register.
[0051] Then, an impact score is calculated for each candidate ECO modification point. In this embodiment, the weighting coefficient is taken as... , , Coverage weight Reference distance Logic level reference value Fan-out reference value .
[0052] For the critical path Its time-series sensitivity weight That is, the sensitivity weight of the worst path is taken to its maximum value.
[0053] by Let's take an example to illustrate the calculation process that affects the score. The modified connection belongs to the critical path. Therefore, the logical series distance Logical relevance ; anchoring unit and The distance between the nearest units L1 is 2.1 μm, and the spatial correlation is... ; After application, a new Level 1 logic is added to the critical path, and two new fan-outs are added to L1, increasing the structural perturbation degree. Therefore, the single-path impact . It has a logical relationship with 5 of the 20 critical paths, therefore the coverage item is... Ultimately, this affects the rating. .
[0054] In the same way to The calculations were performed, and the results are shown in Table 1: Table 1 This embodiment to Calculation data statistics table ; In this embodiment, the influence level threshold is taken as... , , Therefore, and The impact level is high. For the middle, For low, Extremely low, with Figure 2 The impact assessment results shown in (2) are consistent. The physical meaning of this result is clear: and It falls directly on the combinational logic segment of the critical path, and once applied, it will change the logical structure of the critical path itself; Although it is not on the critical path, it is located within the L2 fan-in cone and is relatively close, so it will indirectly affect the critical path through load changes; It is three levels logically distant from the critical path and is already quite far in space, so the impact is limited. The distance from the critical path endpoint register is the furthest, reaching a logical level distance of 7, so it will basically not affect the critical path.
[0055] Further calculate the critical path impact ratio of this ECO task. That is, the average score of the impact of all 76 candidate ECO modification points, in this embodiment. If the impact ratio is less than the preset threshold of 15%, it indicates that the overall coupling between this functional modification and the critical path is low, and there is no need to expand the search scope of candidate implementation solutions. If the threshold is exceeded, it means that the modification points given by the difference analysis fall largely near the critical path. At this time, we should return to step S2 to expand the search scope to generate new candidate implementation schemes.
[0056] Process 3, ECO phase: ECO optimization based on impact assessment results.
[0057] Based on the impact assessment results obtained in the Pre-ECO phase, this invention adjusts the ECO modification strategy, such as... Figure 2 As shown in (3) of the text.
[0058] First, a solution-level selection is performed. The maximum impact score of each candidate ECO modification point in the candidate implementation scheme is used as the solution impact score, which is the "barrel principle" because if a critical path is disrupted by even one high-risk modification point, the timing quality of the entire solution is already compromised. In this embodiment... , Therefore, choose As a modification to ECO.
[0059] As a preferred implementation, the selection of the solution can also be combined with patch size for joint evaluation. In this embodiment... Three new units need to be added. Two new units need to be added. ,Pick , Then the overall score , still choose The significance of joint evaluation is that when the timing impact of two solutions is similar, the solution with a smaller patch size is preferred, and when the patch sizes are similar, the solution with a smaller timing impact is preferred, thus avoiding the situation where simply pursuing the smallest patch size results in changes being made on the critical path.
[0060] Next, point-level substitution is performed. For the selected options, those with an impact score greater than the first threshold... Candidate modification points are identified, and alternative modification points are generated. In this embodiment... Inside and The impact scores were 25% and 10% respectively, neither exceeding [the threshold]. Therefore, no replacement is needed; ECO can be executed directly.
[0061] If the selected solution still has an impact score greater than For any modification points, alternative modification points are generated as follows, and the impact score is recalculated for each alternative modification point: (1) Drive replication isolation. When a high impact is caused by a new fanout load, the drive unit of the modified connection at the modification point is copied to obtain a replica unit. All the new loads are then attached to the replica unit, keeping the fanout number of the original drive unit on the critical path unchanged. This method reduces structural disturbance at the cost of adding one unit. The fan-out term in the value is reduced to 0.
[0062] (2) Location migration. The modification point is migrated to a node that is logically equivalent but located outside the fan-in and fan-out cones of the critical path. For example, if the same control signal has multiple equivalent generation points in the design, the one not within the critical path logic cone is selected. In this case, the logical associativity is... It drops directly to 0.
[0063] (3) Implementation of non-critical branches. When a unit on the critical path drives multiple branches at the same time, implement the equivalent logic on the non-critical fan-out branches so that the modification does not fall on the critical branch.
[0064] (4) Reuse of spare units. New logic should prioritize units whose spatial distance from the critical path is greater than the reference distance. The backup unit is implemented to reduce spatial correlation. .
[0065] (5) Equivalent structure rewriting. Rewrite the logic corresponding to the modification point into an equivalent structure with a logic level no greater than that before the rewriting. For example, rewrite a serial AND gate chain into a balanced tree structure; or when the modification point needs to introduce an enable signal, connect the signal to the selection end of the existing selector on the critical path instead of the data end, because the delay from the selection end to the output is usually not in the data propagation direction of the critical path.
[0066] Each generated alternative modification point requires logical equivalence verification. Only those that pass verification and have a lower impact score than the original modification point are replaced, ensuring that functional equivalence is not compromised while reducing timing risks. If a high-impact modification point cannot generate a verified alternative with a lower impact score, the original modification point is retained and added to the controlled risk point list. During the Post-ECO phase, its associated critical paths undergo priority timing verification.
[0067] After determining the ECO modification plan, each modification point is applied sequentially in order of increasing impact score, and incremental time series estimation is performed. Once the estimated delay increment of the critical path exceeds the preset time series budget after a modification point is applied, the process immediately returns to the point-level replacement process to regenerate the modification point, thereby controlling the risk within a single point.
[0068] Process 4, Post-ECO stage: timing verification and feedback optimization.
[0069] After completing the ECO, perform a static time series analysis again on the ECO result netlist. For example... Figure 2 As shown in (4) in this embodiment, and The corresponding logical modifications have been applied to the ECO results, and to The candidate implementation was not selected, and the critical path... No structural changes occurred in L1 to L4.
[0070] Timing analysis results show that the worst-case slack after the ECO is -0.082ns, consistent with the pre-ECO state, indicating that the ECO did not worsen the critical path, and the timing results meet the requirements. Among the top 10 paths sorted by worst slack, the endpoint register corresponding to the first path is REG_1, which is consistent with the modification point. Correlation; the endpoint register corresponding to the second item is REG_2, which is related to the modification point. Related; the remaining paths are not related to the modification points of this ECO.
[0071] Then, a comparison was made between the predictions and the actual results. The worst-case slack of the associated critical path before ECO was -0.062ns, which changed to -0.082ns after ECO, a deterioration of 0.020ns. The actual impact was... ;and The worst-case slack of the associated critical path before ECO was -0.070ns, which changed to -0.075ns after ECO, a deterioration of 0.005ns. The actual impact was... The deviations from the predicted values of 25% and 10% were 1% and 4%, respectively, indicating prediction errors. If the error is less than the preset error threshold of 10%, it means that the current weighting coefficients are applicable to this design and do not need to be updated.
[0072] Furthermore, since the worst-case slack degradation was 0, which did not exceed the preset timing degradation threshold of 0.030ns, the ECO modification scheme was accepted and the process ended.
[0073] Example 2 This embodiment takes the ECO function in the layout and routing stage as an example to illustrate the implementation process of replacing high-impact modification points, rolling back the scheme, and updating the weight coefficients.
[0074] During the layout and routing phase, complete layout information already exists in the design; therefore, spatial distance relationships are calculated based on Manhattan distance. In this embodiment, the reference distance is... A 50μm depth was used. Static time series analysis extracted 200 critical paths, with the worst slack being -0.150ns. The candidate modification point set generated by difference analysis was divided into three candidate implementation schemes, with their impact scores being... , , Therefore, the first choice is... .
[0075] There are two modification points in the data whose impact on the score exceeds the first threshold. and , , .right In this regard, its high impact mainly stems from structural disturbance, as it adds four fan-out loads to a single unit on the critical path. Therefore, a driven replication isolation method is used to generate alternative modification points. After copying the unit, attach the new load to the replica and recalculate. After passing the logical equivalence verification, replace .right In this regard, its high impact mainly stems from logical coherence, and the function corresponding to this modification point has no other equivalent generation point in the design. After trying the above five alternative methods one by one, it was impossible to generate an alternative modification point that passed the logical equivalence verification and had a lower impact score. Therefore, it is retained. And add it to the list of controlled risk points.
[0076] After executing the ECO, timing verification was performed. The worst slack in the ECO result netlist was -0.191ns, a deterioration of 0.041ns compared to the -0.150ns before the ECO, exceeding the preset timing degradation threshold of 0.030ns. Therefore, a rollback was triggered: the modified ECO implementation was revoked, and the candidate implementation with the second-lowest impact on the score was selected. After re-executing processes 3 and 4, the worst-case slack was -0.156 ns, and the degradation was 0.006 ns, which did not exceed the timing degradation threshold. Therefore, the process was accepted. The corresponding ECO result.
[0077] In this ECO task, a total of 12 modified points were used in the prediction error statistics. The average absolute deviation between the predicted impact score and the actual impact of each modified point is calculated. The error exceeded the preset error threshold of 10%. The deviations were mainly concentrated at modification points that were spatially distant but showed significant timing deterioration, indicating that the impact of spatial distance on actual timing was underestimated during the placement and routing phase. Therefore... With the goal of minimizing, the weight coefficients are updated once using gradient descent with a learning rate of 0.05. After updating and normalizing, the results are obtained. , , The updated weight coefficients are saved and used in subsequent ECO tasks. In the next ECO task, the prediction error for the same batch of modified points drops to 7%, below the error threshold.
[0078] Therefore, the impact assessment model of this invention is not a fixed empirical formula, but a model that can continuously self-correct as ECO tasks accumulate, thus adapting to different process nodes, different design stages, and different design styles.
[0079] This invention has been described through specific embodiments. Those skilled in the art will understand that various modifications and equivalent substitutions can be made to this invention without departing from its scope. Furthermore, various modifications can be made to this invention for specific situations without departing from its scope. Therefore, this invention is not limited to the specific embodiments disclosed, but should include all embodiments falling within the scope of the claims.
Claims
1. A time-critical path-aware ECO optimization method, characterized in that, The method includes the following steps: Step S1: Perform static timing analysis on the netlist to be ECO in the current design phase, and extract the critical path set. Each critical path in the critical path set includes a start register, an end register, a sequence of cells on the critical path, and a timing margin slack for the critical path. The critical cell set and the critical register set are obtained from the critical path set. Step S2: Based on the functional modification requirements, perform a difference analysis on the old and new designs to obtain a set of candidate ECO modification points. The set of candidate ECO modification points is divided into at least two candidate implementation schemes. Each candidate implementation scheme consists of a set of candidate ECO modification points. Each candidate implementation scheme is logically equivalent to the functional modification requirements after being applied to the netlist to be ECO. Step S3: For each candidate ECO modification point in the candidate ECO modification point set, determine the association relationship between the candidate ECO modification point and each critical path in the critical path set. The association relationship includes logical association relationship, spatial distance relationship and structural perturbation relationship. Based on the association relationship and the slack of the corresponding critical path, calculate the impact score of the candidate ECO modification point, and determine the impact level of the candidate ECO modification point based on the impact score and the preset impact level threshold. Step S4, while maintaining logical equivalence, determines the ECO modification scheme based on the impact score obtained in step S3. Specifically, this includes: using the maximum impact score of each candidate ECO modification point in a candidate implementation scheme as the scheme impact score for that candidate implementation scheme; selecting the candidate implementation scheme with the smallest scheme impact score; for candidate ECO modification points in the selected candidate implementation scheme whose impact score is greater than a first threshold, generating alternative modification points that are logically equivalent to them and whose logical association or spatial distance relationship with the critical path is weakened; re-executing step S3 on the alternative modification points to obtain their impact scores; when the impact score of the alternative modification point is less than the impact score of the original candidate ECO modification point, replacing the original candidate ECO modification point with the alternative modification point; and performing ECO operations on the ECO netlist to be modified according to the ECO modification scheme to obtain the ECO result netlist. Step S5: Perform static time series analysis on the ECO result netlist to obtain the actual time series changes of each critical path; compare the actual time series changes with the impact scores of the corresponding candidate ECO modification points obtained in step S3 to obtain the prediction error, and use the prediction error to update the weight coefficients used to calculate the impact scores in step S3.
2. The time-critical path-aware ECO optimization method according to claim 1, characterized in that, The method for extracting the critical path set in step S1 is any of the following: determining the time-series paths with slack less than a preset slack threshold as critical paths; or sorting all time-series paths by slack from smallest to largest and taking the top ones. This path has been identified as the critical path. It is a preset positive integer; After extracting the critical path set, an index is created for each critical unit in the critical unit set, and the index records the critical path number to which the critical unit belongs.
3. The time-critical path-aware ECO optimization method according to claim 2, characterized in that, The logical relationships are determined by logical series distances. Characterization, The value can be determined as follows: When the cell or connection modified by the candidate ECO modification point belongs to the critical path. Set to 0; When the cell or connection modified by the candidate ECO modification point does not belong to the critical path, but is located within the fan-in cone or fan-out cone of any cell on the critical path. Take the minimum logic level between the candidate ECO modification point and the unit on the critical path along the fan-in or fan-out direction; When a candidate ECO modification point is neither part of the critical path nor located in the fan-in cone or fan-out cone of any unit on the critical path, it is determined that the candidate ECO modification point has no logical relationship with the critical path. When a logical relationship exists, the degree of logical relationship ; When there is no logical relationship, Take 0.
4. The time-critical path-aware ECO optimization method according to claim 3, characterized in that, The spatial distance relationship is determined by spatial correlation. Characterization, and Different calculation methods are used depending on the current design stage: When the current design phase is the placement and routing phase, the minimum Manhattan distance between the anchor cell of the candidate ECO modification point and each cell on the critical path is taken as the spatial distance. , , This is a preset reference distance; When the current design phase is the synthesis phase or the DFT phase, the minimum number of shortest path edges between the anchor element of the candidate ECO modification point and each element on the critical path in the design hierarchy tree is taken as the hierarchy distance. , .
5. The time-critical path-aware ECO optimization method according to claim 4, characterized in that, The structural perturbation relationship is determined by the degree of structural perturbation. Characterization, ,in The number of logical levels added to the critical path or to branches that are logically related to the critical path after applying the candidate ECO modification point. The number of fan-outs added to the cells on the critical path after applying the ECO modification point to this candidate ECO modification point. and These are the preset logic level reference value and fan-out reference value, respectively.
6. The time-critical path-aware ECO optimization method according to claim 5, characterized in that, The calculation of the impact score includes: Candidate ECO modification point e and critical path Calculate the time-series sensitivity weights ,in for Slack, The Slack threshold is... The worst slack in the set of critical paths; Calculate e pairs Single path impact ,in , , The weighting coefficients are and ; Calculate the impact score of e ,in The number of critical paths that are logically related to 'e'. The total number of critical paths in the critical path set. This is the preset coverage weighting coefficient.
7. The time-critical path-aware ECO optimization method according to claim 6, characterized in that, In step S4, a logical equivalence verification is performed on the generated alternative modification point. The original candidate ECO modification point is allowed to be replaced by the alternative modification point only if the logical equivalence verification is passed.
8. The time-critical path-aware ECO optimization method according to claim 7, characterized in that, When a candidate ECO modification point with an impact score greater than the first threshold cannot generate an alternative modification point that passes the logical equivalence verification and has a lower impact score, the candidate ECO modification point is retained and added to the controlled risk point list. In step S5, the critical paths associated with the candidate ECO modification points in the controlled risk point list are given priority for time-series verification.
9. The time-critical path-aware ECO optimization method according to claim 8, characterized in that, The current design phase of the ECO includes any one of the synthesis phase, DFT phase, and place-and-route phase; the ECO operation includes at least one of the following: RTLECO, SYNECO, DFTECO, FPECO, PRECO.
10. The time-critical path-aware ECO optimization method according to claim 9, characterized in that, When the current design stage is the synthesis stage or the DFT stage, the static timing analysis in step S1 is based on the line load model or timing back-annotation information from the previous version of the design.
