Integrated circuit path optimization method based on multi-dimensional feature determination
By calculating the score of the integrated circuit signal transmission path using a multi-dimensional feature determination method, replicable and unoptimized paths are identified, and targeted optimization is performed. This solves the problem of poor timing violation optimization in existing technologies and achieves efficient timing violation repair and resource utilization optimization.
Patent Information
- Application Number
- CN202511622953.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-07
- Publication Date
- 2026-01-27
- Estimated Expiration
- 2045-11-07
AI Technical Summary
Existing technologies for resolving timing violations in integrated circuits typically employ a single metric for evaluation, resulting in poor optimization performance, low iteration efficiency, and a tendency to waste resources or miss errors.
By using a multi-dimensional feature-based method, the score of the signal transmission path is calculated, including the degree of signal delay, the degree of load dispersion, and the number of buffer stages. This identifies replicable and unoptimized paths and performs targeted optimization to avoid over-replication.
It achieves a high timing violation repair rate of over 90%, reduces resource waste to less than 5%, shortens the design cycle, and improves chip performance.
Smart Images

Figure CN121072452B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of integrated circuit technology, and in particular to an integrated circuit path optimization method based on multi-dimensional feature determination. Background Technology
[0002] As integrated circuits develop, their scale continues to increase. However, large-scale integrated circuits often have characteristics such as excessively long signal transmission paths, excessive fan-out, crossing congested areas, or dispersed physical distribution. These characteristics can lead to timing violation problems.
[0003] Currently, to address timing violations, common methods include inserting buffers or upsizing drivers on the critical path, increasing wiring width, spacing, or hierarchy. Alternatively, some designers may make their own judgments and duplicate certain lines with large fan-out.
[0004] However, inserting buffer or upsizing drive units on the critical path has limited effectiveness in addressing fan-out issues across large areas. Increasing wiring width, spacing, or layers only improves single signal transmission paths. Manual judgment may lead to omissions or over-replication due to the single evaluation metric, and the iteration efficiency is low, all of which fail to achieve the desired optimization results. Summary of the Invention
[0005] In view of this, embodiments of this application provide an integrated circuit path optimization method based on multi-dimensional feature determination.
[0006] According to a first aspect of the embodiments of this application, an integrated circuit path optimization method based on multi-dimensional feature determination is provided, comprising: determining signal transmission characteristics of the integrated circuit based on the layout and routing data of the integrated circuit and the static timing analysis data of the integrated circuit, wherein the signal transmission characteristics are used to indicate the signal delay degree, load dispersion degree and buffer level of multiple signal transmission paths included in the integrated circuit; determining the scores of the multiple signal transmission paths based on the signal transmission characteristics; determining signal transmission paths with scores higher than a first threshold as reproducible paths, and determining signal transmission paths with scores lower than a second threshold as paths to be optimized, wherein the second threshold is less than or equal to the first threshold; and optimizing the paths to be optimized based on the reproducible paths.
[0007] According to the solution provided in this application, a score for the signal transmission path is calculated based on signal transmission characteristics, and the signal transmission path is evaluated from multiple dimensions, avoiding poor optimization results caused by a single indicator evaluation. By determining the path that needs optimization through the signal transmission path score, targeted processing is achieved without optimizing the entire integrated circuit, thus avoiding resource waste caused by excessive replication. Attached Figure Description
[0008] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings.
[0009] Figure 1 This is a flowchart of the steps of an integrated circuit path optimization method based on multi-dimensional feature determination according to an embodiment of this application;
[0010] Figure 2 This is a flowchart of the steps of a method for calculating the normalization result of time-series features according to an embodiment of this application;
[0011] Figure 3 This is a flowchart of the steps of an integrated circuit path optimization method based on multi-dimensional feature determination according to another embodiment of this application;
[0012] Figure 4A The signal transmission path of the integrated circuit without optimization is shown.
[0013] Figure 4B The optimized signal transmission path of the integrated circuit is shown;
[0014] Figure 5 This is a schematic diagram of an automated optimization device for an integrated circuit according to an embodiment of this application;
[0015] Figure 6 This is a schematic diagram of an electronic device according to an embodiment of this application. Detailed Implementation
[0016] The present application is described below based on embodiments, but it is not limited to these embodiments. In the detailed description of the present application below, certain specific details are described in detail. Those skilled in the art can fully understand the present application without these details. To avoid obscuring the essence of the present application, well-known methods, processes, and flows are not described in detail. Furthermore, the accompanying drawings are not necessarily drawn to scale.
[0017] Figure 1This is a flowchart illustrating the steps of an integrated circuit path optimization method based on multi-dimensional feature determination, according to an embodiment of this application. Figure 1 As shown, the integrated circuit path optimization method based on multi-dimensional feature determination may include the following steps:
[0018] Step 101: Determine the signal transmission characteristics of the integrated circuit based on the layout and routing data and the static timing analysis data of the integrated circuit.
[0019] To optimize integrated circuits (ICs), it's essential to first understand their inherent problems. This can be achieved by extracting place and route data from the IC design's layout and routing diagram, and by obtaining static timing analysis (STA) data from the IC's report. Based on these data, the IC's signal transmission characteristics are then determined. These characteristics indicate the signal delay, load dispersion, and number of buffer stages within the IC's multiple signal transmission paths.
[0020] Step 102: Determine the scores of multiple signal transmission paths based on signal transmission characteristics.
[0021] After obtaining the signal transmission characteristics, each signal transmission path is scored according to its corresponding characteristics. The scoring method can be to score the signal delay, load dispersion, and number of buffer stages from multiple dimensions and then combine them to obtain the final score. Alternatively, the signal delay, load dispersion, and number of buffer stages can be normalized and then assigned different weights according to their respective characteristics to calculate the final score.
[0022] Step 103: Determine the signal transmission path with a score higher than the first threshold as a replicable path, and determine the signal transmission path with a score lower than the second threshold as a path to be optimized.
[0023] A higher score for a signal transmission path indicates superior signal transmission performance and suitability for repetition. Therefore, signal transmission paths with scores above a first threshold are identified as reproducible paths, while those below a second threshold are identified as paths requiring optimization. Since some paths may only have barely adequate signal transmission and do not require immediate optimization, they are not ideally suited for repetition either. Therefore, the second threshold can be lower than the first threshold, or, for simplicity, the first threshold can be equal to the second threshold. Any signal transmission path that does not require optimization can be used for repetition. For example, the first threshold could be 0.7, and the second threshold could be 0.5.
[0024] Step 104: Optimize the path to be optimized based on the replicable path.
[0025] The duplication / cloning operation in integrated circuits is a technique that optimizes signal transmission by creating copies of driver units, so that the "signal source" in the copyable path can share the load of the path to be optimized.
[0026] The integrated circuit path optimization method based on multi-dimensional feature determination proposed in this application calculates the score of the signal transmission path through signal transmission characteristics, and evaluates the signal transmission path from multiple dimensions, avoiding poor optimization results caused by single-index evaluation. By determining the path to be optimized through the signal transmission path score, targeted processing is achieved without optimizing the entire integrated circuit, avoiding resource waste caused by excessive replication. Furthermore, existing EDA tools (such as Synopsys IC Compiler, Cadence Innovus, etc.) only support replication recommendations based on a single index, such as fan-out (e.g., recommending replication when >50) or timing margin (e.g., prompting optimization when <-30ps). Designers need to manually try-run different replication schemes, resulting in long iteration cycles, which may take a week or several weeks depending on the actual situation. Moreover, the reliance on a single index can easily lead to excessive replication (10%-15% resource waste) or optimization omissions (timing violation repair rate <70%). This solution achieves intelligent determination of replicable paths through multi-dimensional indicator scoring and dynamic threshold correction, without the need for manual intervention. After a single round of optimization, the timing violation repair rate is increased to over 90%, and resource waste is reduced to less than 5%, thus solving the problems of "slow iteration and low accuracy" of existing EDA tools.
[0027] In one possible implementation, the process of determining the scores of multiple signal transmission paths based on signal transmission characteristics may further include:
[0028] For each of the multiple signal transmission paths, the timing characteristics, physical characteristics, and path link characteristics corresponding to the signal transmission path are determined based on the signal transmission characteristics. The timing characteristics are used to indicate the signal delay level of the signal transmission path, the physical characteristics are used to indicate the load distribution level of the signal transmission path, and the path link characteristics are used to indicate the number of buffer stages in the signal transmission path.
[0029] Signal transmission characteristics can include timing characteristics, physical characteristics, and path link characteristics corresponding to the signal transmission path. Timing characteristics can include at least one of worst-case timing margin (slack), average timing margin (slack), and clock length value. Timing margin indicates the difference between the valid data time and the clock cycle after the data arrives at the clock edge. Positive numbers indicate compliance, and negative numbers indicate violations. For example, a worst-case timing margin of -16 ps for a signal transmission path means that this signal transmission path will have a maximum timeout of 16 picoseconds during signal transmission. The worst-case timing margin and average timing margin values of the signal transmission path are negatively correlated with the final score, while the clock length of the signal transmission path is positively correlated with the final score. Physical characteristics can include at least one of the following: path length of the signal transmission path, the number and maximum spacing of load clusters in the signal transmission path, and the hierarchical name to which the load belongs. The path length, the number and maximum spacing of load clusters in the signal transmission path are negatively correlated with the final score, and the hierarchical name to which the load belongs is used to locate the signal transmission path. Path link characteristics may include at least one of the number of signal-driven endpoints (fan-out) and the number of buffers in the signal transmission path, and the number of signal-driven endpoints and the number of buffers in the signal transmission path are negatively correlated with the final score.
[0030] Based on the timing characteristics, physical characteristics, and path link characteristics of the signal transmission path, the score of the signal transmission path is calculated using the following formula:
[0031] in, A score used to characterize the signal transmission path. Normalization results used to characterize temporal features Normalization results used to characterize physical features Normalization results used to characterize path link features Weights used to characterize time-series features Weights used to characterize physical features Weights used to characterize the features corresponding to path links, and The sum of is 1.
[0032] Since timing characteristics, physical characteristics, and path link characteristics all contain multiple parameters, normalization is required before scoring. After normalization, the score for the signal transmission path is calculated based on the weights corresponding to the timing characteristics, physical characteristics, and path link characteristics. (Weights) It can be dynamically adjusted according to the chip process node. For example, in the 5nm process, timing characteristics have a greater impact on performance. The value can be between 0.4 and 0.5. With a 7nm process, physical characteristics (load dispersion) have a more significant impact. The value can be between 0.4 and 0.5. Furthermore, by analyzing optimization cases of mass-produced chips under the same process, the contribution of each feature to the timing violation repair rate can be statistically analyzed, and the weight values can be calibrated in reverse to ensure that the score is strongly correlated with the actual optimization effect.
[0033] In this embodiment of the application, the signal transmission path can be analyzed in multiple dimensions by using timing features, physical features and path link features, and the final score can be calculated by normalization, so as to quantify the problems of the signal transmission path and intuitively see the signal transmission path that needs to be optimized.
[0034] Figure 2 This is a flowchart illustrating the steps of a method for calculating the normalization result of timing features according to an embodiment of this application. Figure 2 As shown, the method for calculating the normalization result of time series features may include the following steps:
[0035] Step 201: Calculate the margin and severity of the signal transmission path based on the timing margin of the signal transmission path and the timing margin of the previous level signal transmission path.
[0036] To calculate the normalized result of the timing characteristics, we first calculate the timing margin of the signal transmission path and the timing margin of the previous-level signal transmission path. We then calculate the margin and severity of the signal transmission path. The margin indicates the allowance for data arrival times beyond the required time. The severity indicates the degree of influence of the signal transmission state on the signal transmission path.
[0037] Step 202: Linearly mix the margin and severity of the signal transmission path to obtain the normalized result of the timing characteristics corresponding to the signal transmission path.
[0038] The normalization result of the time series features can be calculated using the following formula:
[0039]
[0040] in, Used to characterize the residual function Used to characterize the severity function Used to characterize the weights corresponding to the residuals in linear mixing. It can be a preset value, or it can be adjusted according to the degree of automation optimization of the integrated circuit. For example, when the integrated circuit is optimized for the first time, a value higher than 0.5 can be set. The more times the integrated circuit is automatically optimized, the better. The value can be as small as possible, up to close to 0.5.
[0041] Specifically, the residual function can be as follows:
[0042]
[0043] in, Used to characterize the margin. Used to characterize the reference margin, the reference margin ranges from [100ps, 300ps], and the value of the reference margin can be adjusted according to the degree of automation optimization of the integrated circuit.
[0044] When P (margin) < P_ref, g_P(P) increases linearly with the increase of P, which shows that the smaller the margin, the lower the replication feasibility; when P ≥ P_ref, g_P(P) approaches 1, avoiding score saturation caused by over-computation and ensuring the stability of the feasibility judgment of the path with sufficient margin.
[0045] The severity function can be as follows:
[0046]
[0047] in, Used to characterize severity The reference severity is used to characterize the severity, and the reference severity value ranges from [50ps, 200ps]. The reference severity is used to control the slope of the severity function curve.
[0048] When V (severity) < V_ref, g_V(V) increases rapidly with the increase of V, highlighting that the more severe the timing violation, the higher the urgency of optimization; when V ≥ V_ref, g_V(V) approaches 1, preventing a single path from monopolizing optimization resources due to excessively high severity.
[0049] Specifically, the margin of a signal transmission path is the maximum value between the timing margin of the previous level signal transmission path and 0. ,in, The severity of a signal transmission path is the timing margin of the preceding signal transmission path, and is the maximum value between the inverse of the timing margin and 0. in, Timing margin used to characterize the signal transmission path.
[0050] When P is small (e.g., <50ps) but V is large (e.g., >150ps), ft is determined by (e.g., 0.5-0.6) After balancing, the value is taken as 0.4-0.5, which indicates that the path needs optimization, but does not blindly determine it as high priority, thus avoiding resource misallocation; when P is large (e.g., >200ps) but V is small (e.g., <50ps), A value of 0.6-0.7 indicates that there is a margin of safety but not an urgent need, prioritizing the optimization of high-urgency paths and improving the overall optimization robustness.
[0051] In this embodiment, linear mixing ensures that when the margin is small but the severity is very high (urgent but low feasibility), the normalization result of the time series features is still partially supported by the severity function (reminding that intervention is needed), but without blindly pushing the chance to 1. Simultaneously, if the margin is large but the severity is low, the combination reflects "marginal but not urgent." This improves the accuracy of the normalization result of the time series features.
[0052] In one possible implementation, the normalization result of the physical characteristics can be obtained by the following method:
[0053] Based on physical characteristics, the cluster dispersion sub-feature, load quantity sub-feature, and physical distance sub-feature are determined. The cluster dispersion sub-feature is used to characterize the distribution of loads, the load quantity sub-feature is used to characterize the number of loads corresponding to the driving source in the signal transmission path, and the physical distance sub-feature is used to characterize the maximum distance between the driving source and the load.
[0054] Physical characteristics indicate the degree of load dispersion along a signal transmission path. Specifically, this can include the location of each load along the path. Therefore, loads along the path can be clustered using K-medoids (K∈[1,Kmax]) based on distance. The clustering result is closer to 1 (closer within clusters, farther between clusters), indicating a stronger tendency for replication. Kmax = number of loads / 5, to avoid overly fine clustering.
[0055] The normalization result of the physical feature is determined based on the cluster dispersion sub-feature, load quantity sub-feature, and physical distance sub-feature, as well as the weights corresponding to the cluster dispersion sub-feature, load quantity sub-feature, and physical distance sub-feature.
[0056] To calculate the normalization result of physical features, the cluster dispersion sub-feature, load quantity sub-feature, and physical distance sub-feature can be normalized separately and then summed with weights.
[0057] The normalization result of the cluster dispersion sub-feature is calculated according to the following formula:
[0058]
[0059] in, S is used to characterize the normalization result of the cluster dispersion sub-feature.
[0060] The cluster dispersion S is calculated as follows: S = (average intra-cluster distance / minimum inter-cluster distance) * 0.5. When intra-cluster spacing is compact (e.g., <30μm) and inter-cluster spacing is sparse (e.g., >100μm), S approaches 1. In this case, the normalized result of the cluster dispersion sub-features is... If the value approaches 1, it proves that the signal transmission path is suitable for replication, thereby accurately identifying paths with reasonable load distribution and reducing timing risks after replication.
[0061] The normalized result of the load quantity sub-feature is calculated according to the following formula:
[0062]
[0063] in, Used to characterize the normalization result of the load quantity sub-feature Used to characterize the fan-out quantity Used to characterize the fan-out reference value.
[0064] The normalized result of the physical distance sub-feature is calculated according to the following formula:
[0065]
[0066] in, Used to characterize the normalization result of physical distance sub-features Used to characterize the maximum Manhattan distance, Used to characterize the reference distance.
[0067] In this embodiment of the application, the cluster dispersion sub-feature is evaluated in the physical features, and the calculation is performed accordingly. By incorporating temporal characteristics during scoring, the replication strategy can be transformed from a static rule-based approach to an adaptive data-driven model. By determining the normalized results of physical features through cluster dispersion sub-features, load quantity sub-features, and physical distance sub-features, the signal transmission path can be evaluated from multiple dimensions, improving the accuracy of the physical feature normalization results.
[0068] Figure 3 This is a flowchart of the steps of an integrated circuit path optimization method based on multi-dimensional feature determination according to another embodiment of this application, as follows: Figure 3 As shown, the integrated circuit path optimization method based on multi-dimensional feature determination may include the following steps:
[0069] Step 301: Determine the signal transmission characteristics of the integrated circuit based on the layout and routing data and the static timing analysis data of the integrated circuit.
[0070] Step 302: Determine the scores of multiple signal transmission paths based on signal transmission characteristics.
[0071] Step 303: Determine the signal transmission path with a score higher than the first threshold as a replicable path, and determine the signal transmission path with a score lower than the second threshold as a path to be optimized.
[0072] Steps 301-303 are the same as steps 101-103 in the previous embodiments, and will not be repeated here.
[0073] Step 304: Select a first number of loads from the loads included in the path to be optimized as cluster centers. The number of clusters in each cluster center is greater than 1 and less than or equal to the third threshold.
[0074] Step 305: Calculate the Manhattan distance from the physical coordinates of each load to each cluster center, and assign each load to the cluster containing the cluster center with the shortest Manhattan distance.
[0075] Step 306: Copy at least some of the driving units in the copyable path, so that at least some of the driving units correspond to the cluster to which the load of the path to be optimized belongs, thereby optimizing the path to be optimized.
[0076] In the signal transmission path of an integrated circuit, the signal load is often distributed across different regions of the integrated circuit (e.g., different functional modules, different physical locations). Directly copying a driver unit to cover all integrated circuits may lead to new long transmission lines or uneven load distribution, failing to solve timing issues. Therefore, during path optimization, to reduce long transmission lines and cross-regional fan-out, clustering methods can be used to group the dispersed loads by physical location. Using K-means or K-medoids algorithms, the loads included in the path to be optimized are clustered based on Manhattan distance. For example, 118 loads might be clustered into 3 clusters, with loads within each cluster close together (e.g., maximum distance within a cluster < 50 μm) and greater distances between clusters (e.g., > 100 μm). Then, at least some driver units in the replicable path are copied, enabling the copied driver units to drive the clusters of loads included in the path to be optimized. The initial number is less than the number of loads included in the path to be optimized.
[0077] Compared to traditional replication methods that rely solely on fan-out thresholds, clustering loads based on their physical coordinates effectively distinguishes between centralized and discrete load distributions, significantly reducing unnecessary replication operations and improving optimization efficiency.
[0078] Specifically, the number of drive units in the reproducible path that are copied can be equal to the number of clusters in the load partition of the path to be optimized, and the copied drive units correspond one-to-one with the clusters.
[0079] Specifically, in order to determine the number of clusters into which the load included in the path to be optimized is divided, the load included in the path to be optimized can be classified into a second number of clusters, the signal transmission cost of the second number at different values can be calculated, and the value of the first number can be determined according to the value of the second number corresponding to the lowest signal transmission cost.
[0080] The second quantity can be any number in (1, A), where A is the number of loads included in the path to be optimized. To determine the optimal second quantity, different values of the second quantity can be taken, and the signal transmission cost under each value of the second quantity can be calculated using a cost function.
[0081]
[0082] in, Used to characterize signal transmission cost This is used to characterize the number of clusters corresponding to the path to be optimized when the second number is A. The index used to represent the cluster is used to traverse each cluster, from the first cluster to the kth cluster. Used to characterize the k-th cluster, Used for characterization The index of the load in the cluster is used to traverse each load in the k clusters. Used to characterize the center of the k-th cluster (cluster center). Used to characterize the load i to its cluster center The distance.
[0083] Calculate the sum of the distances from all loads to the center of their respective clusters when the data is divided into K clusters. The smaller this sum, the more compact the data points within the cluster, the better the clustering effect, and the more reasonably the number of subsequent replication drive units (clones) can be determined. This allows for the optimization of the critical path of integrated circuits, solving timing problems while minimizing resource waste.
[0084] The signal transmission cost corresponding to the second quantity under different values is calculated according to the cost function, and the value of the first quantity is determined according to the value of the second quantity corresponding to the lowest signal transmission cost. For example, the result of dividing the number of loads included in the path to be optimized by the value of the second quantity corresponding to the lowest signal transmission cost is used as the value of the first quantity.
[0085] Specifically, a penalty function can be added to improve the accuracy of determining the value of the second quantity corresponding to the lowest signal transmission cost:
[0086]
[0087] in, The desired number of clusters (K) is used to characterize the number of clusters to be formed. This desired number can be predetermined based on experience, design requirements, etc., and represents the reasonable number of clusters to be obtained. When the actual number of clusters (K) differs from the desired number of clusters... When a deviation exists, the absolute difference between the two is calculated. The ratio of K to K is used to quantify the degree of this deviation. If K deviates... The more, The larger the value, the more it is used to punish unreasonable cluster number selections.
[0088] In one possible implementation, the automated optimization process of the integrated circuit may further include: obtaining a preset fourth threshold, and correcting the fourth threshold according to the timing margin of the previous level signal transmission path and the timing margin of the next level signal transmission path to obtain a first threshold.
[0089] When the timing margin of the preceding signal transmission path is much less than 0, the fourth threshold can be increased (lower chance of replication); when the timing margin of the preceding signal transmission path is close to 0 or positive, the fourth threshold can be decreased (higher replication priority). Similarly, the timing margin of the following signal transmission path can be referenced in a similar manner. By adjusting the fourth threshold, the determination of a suitable signal transmission path for replication can be more accurate.
[0090] For example, when the timing margin (S_pre) of the previous stage of the signal transmission path is less than -50ps, it is determined that the previous stage path already has severe timing pressure. Replicating the current path may exacerbate the upstream burden. In this case, the fourth threshold is increased by 10%-20% to reduce the probability that the current path is determined to be a replicable path. When S_pre ≥ 0ps, the timing margin of the previous stage path is sufficient, and there is no upstream pressure to replicate the current path. The fourth threshold is decreased by 5%-10% to increase the priority of replicable path determination. When the timing margin (S_next) of the next stage is less than -30ps, the timing of the next stage path is urgent, and the replicability of the current path should be prioritized to support downstream optimization. The fourth threshold is decreased by 8%-15%. If S_next ≥ 0ps, there is no urgent need for the next stage, and the fourth threshold remains at the default value or is slightly adjusted.
[0091] The effect of automated optimization of integrated circuits can be as follows: Figures 4A-4B As shown, Figure 4A This illustrates the signal transmission path of an integrated circuit without optimization. Figure 4B The optimized signal transmission path of the integrated circuit is shown. Figure 4AThe yellow circular area represents the starting point of the signal, which is the source unit driving the signal (such as registers, logic gates, etc.). The dark blue circular area represents the driving unit that does not perform duplication, meaning there is only one original driving unit driving all related endpoints. The red area represents the load. Before optimization, the integrated circuit starts from the starting point, extends through a single driving unit (white dot), and branches into multiple paths of different colors, connecting to a large number of dispersed loads. It can be seen that the red loads are widely and densely distributed, meaning the original driving unit needs to drive many dispersed endpoints, which is prone to timing violations (signal transmission timeouts) or overload (insufficient driving capability). After optimization, Figure 4B The drive unit in the diagram is replicated multiple times. Starting from the origin, at the white dots (replicated drive units), the signal is distributed across fewer, more concentrated paths, and the number of connected red loads is significantly reduced and more concentrated. This demonstrates that by replicating the drive unit, the driving task of handling a large number of dispersed loads, originally borne by a single drive unit, is distributed among multiple replicated drive units. Each replicated unit only needs to drive a small portion of the concentrated load, thereby shortening the average signal transmission distance, reducing signal delay, resolving timing violation issues, reducing the load on individual drive units, improving drive efficiency, and avoiding signal distortion or transmission failure due to excessive load.
[0092] Figure 5 This is a schematic diagram of an integrated circuit path optimization device based on multi-dimensional feature determination according to an embodiment of this application, as shown below. Figure 5 As shown, the integrated circuit path optimization device 400 based on multi-dimensional feature determination includes:
[0093] The determination module 401 is used to determine the signal transmission characteristics of the integrated circuit based on the layout and routing data of the integrated circuit and the static timing analysis data of the integrated circuit. The signal transmission characteristics are used to indicate the signal delay, load dispersion and buffer stages of the multiple signal transmission paths included in the integrated circuit.
[0094] The scoring module 402 is used to determine the scores of multiple signal transmission paths based on signal transmission characteristics.
[0095] The optimization module 403 is used to determine the signal transmission path with a corresponding score higher than the first threshold as a replicable path, and the signal transmission path with a corresponding score lower than the second threshold as a path to be optimized, and optimize the path to be optimized according to the replicable path, wherein the second threshold is less than or equal to the first threshold.
[0096] To optimize an integrated circuit (IC), it's first necessary to understand its existing problems. Therefore, module 401 can extract placement and routing data from the IC design's layout and routing diagram, and also obtain static timing analysis data from the Static Timing Analysis (STA) report. Then, based on the IC's placement and routing data and STA data, the signal transmission characteristics of the IC are determined. These characteristics indicate the signal delay, load dispersion, and number of buffer stages in the multiple signal transmission paths included in the IC. After obtaining the signal transmission characteristics, module 402 scores each signal transmission path based on its corresponding characteristics. The scoring can be done by multi-dimensionally evaluating signal delay, load dispersion, and the number of buffer stages, then synthesizing the scores to obtain a final score; or by normalizing these factors and assigning different weights to each characteristic to calculate the final score. A higher score indicates better signal transmission performance and suitability for repetition. Therefore, the optimization module 403 identifies signal transmission paths with scores higher than the first threshold as reproducible paths and signal transmission paths with scores lower than the second threshold as paths to be optimized. Since some paths may have just barely passed the signal transmission test, they don't urgently need optimization but are not ideally suited for repetition either. Therefore, the second threshold can be lower than the first threshold, or for simplicity, the first threshold can be equal to the second threshold. Any signal transmission path that doesn't require optimization can be used for repetition. For example, the first threshold could be 0.7 and the second threshold could be 0.5.
[0097] In this embodiment, the signal transmission path score is calculated based on signal transmission characteristics, and the signal transmission path is evaluated from multiple dimensions, avoiding poor optimization results caused by a single indicator evaluation. By determining the path requiring optimization through the signal transmission path score, targeted processing is achieved, eliminating the need to optimize the entire integrated circuit and avoiding resource waste caused by excessive replication.
[0098] In this embodiment, an electronic device 500 is provided, such as... Figure 6 As shown, the electronic device 500 may include: a processor 501, a communications interface 502, a memory 503, and a communication bus 504. Wherein:
[0099] The processor 501, communication interface 502, and memory 503 communicate with each other through the communication bus 504.
[0100] Communication interface 502 is used for communication with other electronic devices or servers.
[0101] The processor 501 is used to execute program 505, which can specifically execute the relevant steps in the aforementioned embodiment of the integrated circuit path optimization method based on multi-dimensional feature determination.
[0102] Specifically, program 505 may include program code that includes computer operation instructions.
[0103] Processor 501 may be a CPU, an Application Specific Integrated Circuit (ASIC), or configured as one or more integrated circuits. A smart device may include one or more processors, which can be of the same type, such as one or more CPUs; or they may be of different types, such as one or more CPUs and one or more ASICs.
[0104] Memory 503 is used to store program 505. Memory 503 may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk storage device.
[0105] Specifically, program 505 can be used to cause processor 501 to execute the integrated circuit path optimization method based on multi-dimensional feature determination in the aforementioned embodiments.
[0106] The specific implementation of each step in program 505 can be found in the corresponding steps and units described in the aforementioned embodiment of the integrated circuit path optimization method based on multi-dimensional feature determination, and will not be repeated here. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the devices and modules described above can be referred to the corresponding process descriptions in the aforementioned method embodiments, and will not be repeated here.
[0107] The electronic device 500 in this embodiment calculates a score for the signal transmission path based on signal transmission characteristics, evaluating the signal transmission path from multiple dimensions to avoid poor optimization results caused by a single indicator evaluation. By determining the path that needs optimization through the signal transmission path score, targeted processing is achieved without optimizing the entire integrated circuit, thus avoiding resource waste caused by excessive replication.
[0108] In this embodiment, a computer-readable storage medium is provided to store instructions for causing a machine to execute an integrated circuit path optimization method based on multi-dimensional feature determination as described herein. Specifically, a system or apparatus equipped with a storage medium may be provided, on which software program code implementing the functions of any of the embodiments described above is stored, and the computer (or CPU or MPU) of the system or apparatus may read and execute the program code stored in the storage medium.
[0109] In this case, the program code read from the storage medium can itself implement the functions described in the above method embodiments, so the program code and the storage medium storing the program code constitute a part of this application.
[0110] Storage media embodiments for providing program code include floppy disks, hard disks, magneto-optical disks, optical disks (such as CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD+RW), magnetic tapes, non-volatile memory cards, and ROMs. Alternatively, program code can be downloaded from a server computer via a communication network.
[0111] In this embodiment, a computer program product is provided, including computer instructions that instruct a computing device to perform the operations corresponding to the above-described method embodiments.
[0112] It should be noted that, depending on the implementation needs, the various components / steps described in the embodiments of this application can be broken down into more components / steps, or two or more components / steps or parts of the operation of components / steps can be combined into new components / steps to achieve the purpose of the embodiments of this application.
[0113] The methods described in the embodiments of this application can be implemented in hardware, firmware, or as software or computer code that can be stored in a recording medium (such as a CD-ROM, RAM, floppy disk, hard disk, or magneto-optical disk), or as computer code downloaded over a network that is originally stored in a remote recording medium or a non-transitory machine-readable medium and will be stored in a local recording medium. Thus, the methods described herein can be processed by software stored on a recording medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware (such as an ASIC or FPGA). It is understood that computers, processors, microprocessor electronic devices, or programmable hardware include storage components (e.g., RAM, ROM, flash memory, etc.) capable of storing or receiving software or computer code, which, when accessed and executed by the computer, processor, or hardware, implements the methods described herein. Furthermore, when a general-purpose computer accesses code used to implement the methods shown herein, the execution of the code transforms the general-purpose computer into a dedicated computer for performing the methods shown herein.
[0114] This application's embodiments address the technical problems associated with signal transmission path duplication / cloning during integrated circuit timing violations by quickly and accurately locating critical paths, shortening design cycles, reducing design costs, and effectively resolving critical path timing violations. This improves chip performance, such as increasing chip operating speed, reducing power consumption, and enhancing product competitiveness. Furthermore, the weights and thresholds in this solution are adjustable to adapt to different chip manufacturing processes (such as 5nm, 7nm, etc.), better meeting customers' optimization needs for chips at different process nodes.
[0115] It should be understood that the various embodiments in this specification are described in a progressive manner, and the same or similar parts between the various embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, for the method embodiments, since they are basically similar to the methods described in the apparatus and system embodiments, the description is relatively simple, and relevant parts can be referred to the descriptions of other embodiments.
[0116] It should be understood that the foregoing describes specific embodiments of this specification. Other embodiments are within the scope of the claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0117] It should be understood that the use of a singular form to describe an element or to show only one element in the accompanying drawings does not imply that the number of such element is limited to one. Furthermore, modules or elements described or shown as separate herein may be combined into a single module or element, and modules or elements described or shown as single herein may be broken down into multiple modules or elements.
[0118] It should also be understood that the terminology and expressions used herein are for descriptive purposes only, and one or more embodiments described herein should not be limited to these terms and expressions. The use of these terms and expressions does not exclude any illustrative and descriptive equivalent features (or parts thereof), and it should be recognized that various modifications that may exist should also be included within the scope of the claims. Other modifications, variations, and substitutions may also exist. Accordingly, the claims should be considered to cover all such equivalents.
Claims
1. An integrated circuit path optimization method based on multi-dimensional feature determination, comprising: Based on the layout and routing data of the integrated circuit and the static timing analysis data of the integrated circuit, the signal transmission characteristics of the integrated circuit are determined, wherein the signal transmission characteristics are used to indicate the signal delay, load dispersion and buffer stages of the multiple signal transmission paths included in the integrated circuit. Based on the signal transmission characteristics, the scores of the multiple signal transmission paths are determined; Signal transmission paths with corresponding scores higher than the first threshold are identified as reproducible paths, and signal transmission paths with corresponding scores lower than the second threshold are identified as paths to be optimized, wherein the second threshold is less than or equal to the first threshold. Optimize the path to be optimized based on the reproducible path; The step of determining the scores of the multiple signal transmission paths based on the signal transmission characteristics includes: For each of the plurality of signal transmission paths, the timing characteristics, physical characteristics, and path link characteristics corresponding to the signal transmission path are determined according to the signal transmission characteristics. The timing characteristics are used to indicate the signal delay level of the signal transmission path, the physical characteristics are used to indicate the load distribution level of the signal transmission path, and the path link characteristics are used to indicate the number of buffer stages in the signal transmission path. Based on the timing characteristics, physical characteristics, and path link characteristics corresponding to the signal transmission path, the score of the signal transmission path is calculated using the following formula: in, A score used to characterize the signal transmission path. Normalization results used to characterize the time-series features Normalization results used to characterize the physical features, The normalization result used to characterize the path link features, Weights used to characterize the time-series features Weights used to characterize the physical features Weights used to characterize the path link features, and and The sum of is 1; The optimization of the path to be optimized based on the replicable path includes: A first number of loads are selected from the loads included in the path to be optimized as cluster centers, and the number of clusters in each cluster center is greater than 1 and less than or equal to a third threshold, wherein the first number is less than the number of loads included in the path to be optimized. Calculate the Manhattan distance from the physical coordinates of each load to each cluster center, and assign each load to the cluster containing the cluster center with the shortest Manhattan distance; At least a portion of the driving units in the reproducible path are copied, such that the at least a portion of the driving units correspond to the cluster to which the load of the path to be optimized belongs, thereby optimizing the path to be optimized.
2. The method according to claim 1, wherein, The method further includes: The normalized result of the time series features is calculated using the following method: The margin and severity of the signal transmission path are calculated based on the timing margin of the signal transmission path and the timing margin of the previous level signal transmission path. The margin and severity of the signal transmission path are linearly mixed to obtain the normalized result of the timing characteristics corresponding to the signal transmission path.
3. The method according to claim 2, wherein, The margin of the signal transmission path is the maximum value between the timing margin of the previous level signal transmission path and 0, and the severity of the signal transmission path is the maximum value between the negative of the timing margin of the signal transmission path and 0.
4. The method according to claim 1, wherein, The method further includes: Based on the physical characteristics, cluster dispersion sub-features, load quantity sub-features, and physical distance sub-features are determined. The cluster dispersion sub-feature is used to characterize the distribution of loads, the load quantity sub-feature is used to characterize the number of loads corresponding to the driving source in the signal transmission path, and the physical distance sub-feature is used to characterize the maximum distance between the driving source and the load. Based on the cluster dispersion sub-features, the load quantity sub-features, and the physical distance sub-features, as well as the weights corresponding to the cluster dispersion sub-features, the load quantity sub-features, and the physical distance sub-features, the normalization result of the physical characteristics is determined.
5. The method according to claim 1, wherein, The step of selecting a first number of loads as cluster centers from the loads included in the path to be optimized includes: The loads included in the path to be optimized are classified into a second number of clusters, wherein the second number is less than the number of loads included in the path to be optimized; Calculate the signal transmission cost of the second quantity for different values, and determine the value of the first quantity based on the value of the second quantity corresponding to the lowest signal transmission cost.
6. The method according to any one of claims 1-5, wherein, The method further includes: Obtain the preset fourth threshold; The fourth threshold is corrected based on the timing margin of the previous level signal transmission path and the timing margin of the next level signal transmission path to obtain the first threshold.
Citation Information
Patent Citations
MPTCP path selection method based on improved grey correlation analysis method
CN110336747A
Multi-Point CTS-based chip clock design optimization method
CN119783627A