A weight determination method, apparatus, product, and medium
Patent Information
- Application Number
- CN202511207129.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-27
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2045-08-27
AI Technical Summary
[0004]然而,当前往往采用手动调整时序路径权重,具体地,设计人员根据寄存器传输级(Register Transfer Level,RTL)电路为时序路径设定权重约束,然而手动调整时序路径不可避免会面临以下弊端:数字电路包括的较多的时序路径,为每个时序路径分别设定权重,工作量大,这会导致液晶驱动芯片不可接受的超长运行时间
[0037] This application provides a weight determination method, apparatus, product, and medium applied to silicon-based driver chip digital circuits. When executing the method, firstly, timing path groups corresponding to the digital circuit are obtained, wherein the timing path characteristics within the timing path group are consistent. That is, timing paths with consistent timing path characteristics in the digital circuit are grouped together to obtain timing path groups. Timing performance data of the timing path groups is obtained; wherein, the timing performance data of the timing path groups is used to describe the violation status of the timing paths in the timing path groups. Using the timing performance data of the timing path groups, the weights of the timing path groups are determined. By establishing a correlation between the weights of the timing path groups and the timing performance data that are highly correlated with the weights of the timing paths, weights are automatically and accurately set for the timing path groups. Furthermore, by classifying timing path groups and assigning a weight to the same type of weight, the efficiency of setting timing path weights can be improved.
Smart Images

Figure CN121053921B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of digital circuit technology, and in particular to a method, apparatus, product, and medium for determining weights. Background Technology
[0002] Due to its advantages such as small size, high resolution, high light efficiency, and low power consumption, silicon-based liquid crystals (LCDs) have been widely used in next-generation high-resolution laser projection display systems and near-eye systems. The silicon-based driver chip is the core and critical foundation of silicon-based LCD devices, and an indispensable bottleneck component in the entire device development process. In the back-end implementation of the digital circuit architecture design (hereinafter referred to as digital circuit) of the ultra-high resolution silicon-based LCD driver chip, clock tree convergence is crucial for the chip to complete as planned.
[0003] Clock tree convergence aims to control the propagation delay and phase offset of the clock signal in various critical parts of a digital circuit within an acceptable range, ensuring that the timing performance of the digital circuit meets design specifications and expected goals. Determining the weights of timing paths is crucial for achieving clock tree convergence; these weights determine the importance of each timing path during timing optimization and analysis. Simply put, timing paths with higher weights receive more attention and resources during optimization to ensure their timing performance is prioritized.
[0004] However, current methods often involve manually adjusting timing path weights. Specifically, designers set weight constraints for timing paths based on Register Transfer Level (RTL) circuitry. However, manually adjusting timing paths inevitably faces the following drawbacks: digital circuits contain numerous timing paths, and assigning weights to each path individually is labor-intensive, leading to unacceptably long runtimes for LCD driver chips. Furthermore, digital circuits are complex, making it difficult for designers to accurately determine the weights of clock circuits using RTL.
[0005] Therefore, in silicon-based driver chip digital circuits, how to accurately and automatically determine the timing path weights has become a technical problem to be solved. Summary of the Invention
[0006] This application provides a weight determination method, apparatus, product, and medium for accurately and automatically determining the weight of a time-series path.
[0007] In a first aspect, embodiments of this application provide a weight determination method applied to a silicon-based driver chip digital circuit, the method comprising:
[0008] Obtain the timing path group corresponding to the digital circuit, wherein the timing path characteristics in the timing path group are consistent;
[0009] Acquire the timing performance data of the timing path group; the timing performance data of the timing path group is used to describe the violation status of the timing path in the timing path group.
[0010] The weights of the time-series path groups are determined using the time-series performance data of the time-series path groups.
[0011] Optionally, the timing performance data of the timing path group includes one or more of the following: worst negative margin (WNS), total negative margin (TNS), and number of illegal paths (NVP).
[0012] Optionally, determining the weights of the time-series path group using the time-series performance data of the time-series path group includes:
[0013] The weights of the time path group are determined using the WNS, TNS, and NVP of the time path group.
[0014] Optionally, determining the weights of the timing path group using the WNS, TNS, and NVP of the timing path group includes:
[0015] If the NVP of the timing path group is greater than 0, the weight of the timing path group is determined based on the WNS and TNS of the timing path group.
[0016] Optionally, if the number of timing path groups corresponding to the digital circuit is n, where n is greater than 1 and n is an integer,
[0017] The step of determining the weights of the time-series path group based on the WNS and TNS of the time-series path group includes:
[0018] Determine the baseline WNS and the baseline TNS;
[0019] Wherein, the reference WNS is the WNS with the largest absolute value among the WNS of the multiple timing path groups, and the reference TNS is the TNS with the largest absolute value among the TNS of the multiple timing path groups;
[0020] A first weight value is determined based on the WNS of the time-series path group and the baseline WNS;
[0021] The second weight value is determined based on the TNS of the time path group and the baseline TNS;
[0022] Wherein, the first weight value is positively correlated with the quotient of the WNS of the time path group and the benchmark WNS, and the second weight value is positively correlated with the quotient of the TNS of the time path group and the benchmark TNS;
[0023] The larger weight value is selected from the first weight value and the second weight value as the calculated weight value of the time-series path group;
[0024] The weights of the time-series path groups are determined based on their calculated weight values.
[0025] Optionally, determining the weight of the time-series path group based on its calculated weight value includes:
[0026] Compare the calculated weight values of the time-series path groups with their original weight values;
[0027] If the calculated weight value of the time-series path group is greater than the original weight value, the calculated weight value is used as the weight of the time-series path group; otherwise, the original weight value is used as the weight of the time-series path group.
[0028] Optionally, obtaining the timing performance data of the timing path group includes:
[0029] Obtain the timing performance data of the timing path group from the timing report and constraint report.
[0030] Secondly, embodiments of this application provide a weight determination device applied to a silicon-based driver chip digital circuit, the device comprising:
[0031] The first acquisition unit is used to acquire a timing path group, the timing path group including timing paths of the same path type in the digital circuit;
[0032] The second acquisition unit is used to acquire the timing performance data of the timing path group; the timing performance data of the timing path group is used to describe the timing path violation status in the timing path group.
[0033] The determining unit is used to determine the weight of the timing path group using the timing performance data of the timing path group.
[0034] Thirdly, embodiments of this application provide a computer program product, the computer program product comprising: a computer program (also referred to as code or instructions), which, when the computer program is run, causes a computer to perform the method in any of the possible implementations of any of the above aspects.
[0035] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program (also referred to as code or instructions) that, when run on a computer, causes the computer to perform the method in any of the possible implementations of the second aspect described above.
[0036] Fifthly, embodiments of this application provide a chip system including one or more processors for calling and executing instructions stored in memory, causing the methods in any of the above aspects or possible implementations to be executed. The chip system may be composed of chips or may include chips and other discrete devices.
[0037] This application provides a weight determination method, apparatus, product, and medium applied to silicon-based driver chip digital circuits. When executing the method, firstly, timing path groups corresponding to the digital circuit are obtained, wherein the timing path characteristics within the timing path group are consistent. That is, timing paths with consistent timing path characteristics in the digital circuit are grouped together to obtain timing path groups. Timing performance data of the timing path groups is obtained; wherein, the timing performance data of the timing path groups is used to describe the violation status of the timing paths in the timing path groups. Using the timing performance data of the timing path groups, the weights of the timing path groups are determined. By establishing a correlation between the weights of the timing path groups and the timing performance data that are highly correlated with the weights of the timing paths, weights are automatically and accurately set for the timing path groups. Furthermore, by classifying timing path groups and assigning a weight to the same type of weight, the efficiency of setting timing path weights can be improved. Attached Figure Description
[0038] 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 of the embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0039] Figure 1 A flowchart of a weight determination method provided in an embodiment of this application;
[0040] Figure 2 A schematic diagram of a digital circuit provided in an embodiment of this application;
[0041] Figure 3 A flowchart of another weight determination method provided in this application embodiment;
[0042] Figure 4 This is a schematic diagram of a weight determination device provided in an embodiment of this application. Detailed Implementation
[0043] To enable those skilled in the art to better understand the present application, the technical solutions in this embodiment will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0044] As mentioned earlier, current methods often involve manually adjusting timing path weights. Specifically, designers set weight constraints for timing paths based on Register Transfer Level (RTL) circuitry. However, manually adjusting timing paths inevitably faces the following drawbacks: digital circuits contain numerous timing paths, and setting weights for each path is labor-intensive, leading to unacceptably long runtimes for LCD driver chips. Furthermore, digital circuits have complex structures, making it difficult for designers to accurately determine the weights of clock circuits using RTL.
[0045] In view of this, embodiments of this application provide a weight determination method, apparatus, product, and medium applied to silicon-based driver chip digital circuits. When executing the method, firstly, timing path groups corresponding to the digital circuit are obtained, wherein the timing path characteristics within the timing path group are consistent. That is, timing paths in the digital circuit with consistent timing path characteristics are grouped together to obtain timing path groups. Timing performance data of the timing path groups is obtained; wherein, the timing performance data of the timing path groups is used to describe the violation status of the timing paths in the timing path groups. Using the timing performance data of the timing path groups, the weights of the timing path groups are determined. By establishing a correlation between the weights of the timing path groups and the timing performance data that are highly correlated with the weights of the timing paths, weights are automatically and accurately set for the timing path groups. Furthermore, by classifying timing path groups and assigning a weight to the same type of weight, the efficiency of setting timing path weights can be improved.
[0046] The weight determination method provided in the embodiments of this application is described below with reference to the accompanying drawings. First, it should be noted that the executing entity of the weight determination method in the embodiments of this application is an electronic device. It should be noted that this electronic device can be a computer, laptop computer, server, or other device with computing capabilities.
[0047] Appendix Figure 1 A flowchart of a weight determination method provided in this application embodiment is shown. The method includes the following steps:
[0048] S110. Obtain a timing path group, wherein the timing path group includes timing paths of the same path type in the digital circuit.
[0049] Consistent timing path types refer to timing paths that are the same or similar in type. In the embodiments of this application, timing path types include, but are not limited to: data paths, combinational logic paths, register-to-register paths, and time-crossing timing paths.
[0050] Different types of timing paths have different latency, different expected timing constraints, and therefore different timing path weights. Conversely, timing paths of the same type have the same latency and the same expected timing constraints, and these timing paths often have the same or similar weights. To improve the speed of weight setting, this embodiment of the application groups timing paths of the same type together, resulting in timing path groups.
[0051] For example, such as Figure 2 The diagram shows a schematic of a digital circuit according to an embodiment of this application. This digital circuit includes four timing paths: Path1, Path2, Path3, and Path4. Path1 is a path from a logic gate (Logic) to a register (DQ); Path2 is a path from a register to a logic gate and back to a register; Path3 is a path from a register to a logic gate; and Path4 is a path from a logic gate to a register. Clearly, these four circuits have different path types and belong to different timing path groups.
[0052] In this embodiment, the electronic device can cluster different types of timing paths based on preset rules to obtain different timing path groups. Alternatively, the electronic device can also obtain timing path groups of different timing paths from a constraint report; this embodiment is not specifically limited to this.
[0053] S120. Obtain the timing performance data of the timing path group. The timing performance data of the timing path group is used to describe the violation status of the timing path in the timing path group.
[0054] The timing performance data of the timing path group is used to describe the violation status of the timing paths in the timing path group, including but not limited to: the worst negative margin (WNS), the total negative margin (TNS), and the number of violations (NVP) of the timing path group.
[0055] Here, WNS is the minimum slack time among the time-series paths in the time-series path group. Slack is the difference between the actual arrival time and the specified latest arrival time. If WNS is less than 0, it indicates that at least one time-series path in the group violates the timing constraints, and this needs to be carefully considered when setting the weights of the time-series paths. It should be noted that if WNS is greater than or equal to 0, it means that there are no paths in the time-series path group that violate the timing constraints, and their weights do not need to be adjusted.
[0056] TNS is the sum of the absolute values of all relaxation times in a time-series path group. TNS provides the overall latency of all time-series violation paths in the time-series path group. The larger the TNS, the more time-series path violations there are in the time-series path group, and it should be given more consideration when setting time-series path weights.
[0057] NVP (Number of Validated Timing Paths) is the total number of timing path violations found in a timing path group during timing analysis. NVP is a direct indicator for assessing the severity of timing problems in a design.
[0058] In the embodiments of this application, the electronic device can use at least one of the WNS, TNS and NVP of the timing path group to accurately determine the weight of the timing path group, thereby guiding the weight of each timing path in the timing path.
[0059] Among them, electronic devices can obtain timing performance data of timing path groups through timing reports and constraint reports of digital circuits.
[0060] Timing reports are documents generated after timing analysis of digital circuits. They include timing information for all timing paths of the digital circuit, including but not limited to: relaxation time, clock cycle, all timing paths with relaxation times less than or equal to a preset threshold, and the total number of non-compliant paths.
[0061] A constraint report is a document generated after constraint checks. It includes whether timing constraints defined in digital circuit design are correctly applied and satisfied, including but not limited to constraint verification, a list of unsatisfied constraints, and constraint coverage.
[0062] S130. Using the timing performance data of the timing path group, determine the weight of the timing path group.
[0063] Electronic devices can pre-establish a mapping relationship between the timing performance data and weights of timing path groups. After obtaining the timing performance data of the timing path groups, the electronic devices can automatically determine the weights of the timing path groups based on this mapping relationship.
[0064] In one example, the electronic device can acquire the WNS (Waste Number) of each timing path group, select the WNS with the largest absolute value as the baseline WNS, and use the ratio of the WNS of each timing path group to the baseline WNS as the weight of each timing path group. For example, the timing path groups corresponding to the digital circuit are 4, namely group1, group2, group3, and group4, where the WNS values of group1, group2, group3, and group4 are -0.2ns, -0.4ns, -0.1ns, and -0.5ns, respectively. The baseline WNS is -0.5ns, so the timing path weights of group1, group2, group3, and group4 are 0.4, 0.8, 0.2, and 1, respectively.
[0065] In one example, the electronic device can acquire the TNS of each timing path group, select the largest TNS as the benchmark TNS, and use the ratio of the TNS of each timing path group to the benchmark TNS as the weight of each timing path group. For example, the timing path groups corresponding to the digital circuit are 4, namely group1, group2, group3, and group4. The TNS values of group1, group2, group3, and group4 are 0.2ns, 0.4ns, 0.1ns, and 0.5ns, respectively. The benchmark TNS is 0.5ns, so the timing path weights of group1, group2, group3, and group4 are 0.4, 0.8, 0.2, and 1, respectively.
[0066] In another example, the electronic device can obtain the NVP of each timing path group, select the largest NVP as the baseline NVP, and use the ratio of the NVP of each timing path group to the baseline NVP as the weight of each timing path group. For example, the timing path groups corresponding to the digital circuit are 4, namely group1, group2, group3, and group4. The NVP values of group1, group2, group3, and group4 are 5, 10, 2, and 15, respectively. The baseline NVP is 15, so the timing path weights of group1, group2, group3, and group4 are 0.3, 0.7, 0.1, and 1, respectively.
[0067] In another example, the electronic device performs the following operations for each timing path group: obtains a first weight based on the timing path group's TNS, a second weight based on the timing path group's WNS, and a third weight based on the timing path group's NVP. The first, second, and third weights are compared, and the largest weight is taken as the weight of the timing path group.
[0068] It should be noted that the weights of the timing path group can also be determined in other ways in the embodiments of this application, and the embodiments of this application are not specifically limited.
[0069] This application provides a weight determination method. First, timing path groups corresponding to digital circuits are obtained, where timing path characteristics within a timing path group are consistent. That is, timing paths with consistent timing path characteristics in the digital circuit are grouped together to obtain timing path groups. Timing performance data of the timing path groups is obtained; this timing performance data describes the violation status of timing paths within the timing path group. The weights of the timing path groups are determined using the timing performance data. By establishing a correlation between the weights of the timing path groups and the timing performance data that are highly correlated with the weights of the timing paths, weights are automatically and accurately set for the timing path groups. Furthermore, by classifying timing path groups and assigning a weight to the same type of weight, the efficiency of setting timing path weights can be improved.
[0070] The above describes a method for determining weights. The following section provides a detailed description of the weight determination method provided in this application, with reference to specific embodiments.
[0071] Appendix Figure 3 A flowchart of another weight determination method provided in this application embodiment, the method including the following:
[0072] After the electronic device opens the weight determination method (i.e., starts), it reads each flag bit and the default WNS, TNS and NVP.
[0073] In the embodiments of this application, each flag bit includes a reset flag bit, a path exclusion flag bit, and / or an illegal parameter flag bit, also known as a WNS, TNS, or NVP flag bit.
[0074] The reset flag is used to determine the initial weights of each timing path in the original timing constraint file. In this embodiment, if the reset flag is a first value (e.g., 1), it indicates that no weights have been set for timing path groups in the original timing constraint file, and the weights of all timing path groups in the original timing constraint file need to be reset to the default weights (e.g., set to 1). If the reset flag is a second value (e.g., 0), the initial weights of each timing path in the original timing constraint file are determined.
[0075] The initial timing constraint file (Synopsys Design Constraints, initial SDC) includes timing path constraints between registers within the module and the weight values of timing path groups up to the current time step. These timing path group weight values can be preset by the designer or obtained through [method / mechanism]. Figure 3 Once the method shown is determined, the embodiments in this application are not specifically limited.
[0076] The violation parameter flag is used to determine whether weight calculation parameters related to WNS, TNS, and NVP are set in the original timing constraint file. If the violation parameter flag is the third value (e.g., 0), it indicates that weight calculation parameters related to WNS, TNS, and NVP are not set, and the weight calculation parameters related to WNS, TNS, and NVP are reset to 1. If the violation parameter flag is the fourth value (e.g., 1), the weight values of the timing path group are adjusted according to the values of WNS, TNS, and NVP of the timing path group.
[0077] The `excluded_path` flag is used to exclude clock path groups that do not require further optimization. If a clock path group is marked as `excluded_path` (e.g., the `excluded_path` flag is 1), its weight value will be forcibly set to 1 regardless of its WNS, TNS, or NVP status. From a weight adjustment perspective, this is equivalent to removing it from the optimization queue, thus avoiding unnecessary waste of computational resources.
[0078] Then execute S310~S3101.
[0079] S310, Read the original timing constraint file.
[0080] S320: Determine whether the original timing constraint file includes the original weight values for each timing path group. If yes, execute S340 and S360 in parallel. If not, execute S330.
[0081] S330. Define the timing path weights as default weights in the original timing constraint file and restart the weight confirmation process.
[0082] S340, normalize the NVP, TNS and WNS of each time-series path group.
[0083] Specifically, in this embodiment of the application, timing reports and constraint reports can be read by preset commands, and the WNS, TNS and WNS of timing path groups can be extracted from the timing reports and constraint reports according to preset subroutines.
[0084] For example, the default commands are report_qor and report_constraint. Specifically, report_constraint reads the constraint report, and report_qor reads the timing report. Based on the default reports and the timing reports, the WNS, TNS, and NVP of the timing path group are obtained, as well as the clock period of the timing path group.
[0085] To improve the accuracy of determination, the WNS, TNS and NVP of the timing path group are normalized in this embodiment. The specific normalization method is shown in the following formulas (1) to (3):
[0086] Group_m_WNS=WNS / per (1)
[0087] Group_m_TNS=TNS / per (2)
[0088] Group_m_NVP=NVP / per (3)
[0089] Where WNS refers to the WNS in the timing path group, per is the clock cycle contained in the timing path group, TNS is the TNS in the timing path group, and NVP is the NVP of the timing path. Group_m_WNS is the normalized WNS, Group_m_TNS is the normalized TNS, and Group_m_NVP is the normalized NVP.
[0090] S350: Determine the time series path groups with normalized NVP greater than 0. For time series path groups with normalized NVP greater than 0, execute S370. For time series path groups with normalized NVP less than or equal to 0, end the weight determination.
[0091] For example, if there are four groups, namely group1, group2, group3 and group4, where the Group_m_NVP of group1 and group2 is greater than 0, and the Group_m_NVP of group3 and group4 is less than 0, then group1 and group2 will execute S370, while group3 and group4 will not perform weight adjustment.
[0092] S360. Obtain the original weight values of each time-series path group.
[0093] In this embodiment, the computing device obtains the original weight values of each time-series path group from the original constraint file. It should be noted that the original weight values of each adjusted time-series path group are stored in the original constraint file.
[0094] S370, Obtain the baseline TNS and baseline MNS in the timing path group.
[0095] In this embodiment of the application, for all time-series path groups where Group_m_NVP is greater than 0, Group_m_TNS is arranged in descending (or ascending) order of absolute value, and the Group_m_TNS with the largest absolute value is selected as the baseline TNS.
[0096] Sort Group_m_WNS in descending (or ascending) order of absolute value, and take the Group_m_WNS with the largest absolute value as the baseline WNS.
[0097] Furthermore, in this embodiment of the application, if Group_m_NVP is less than or equal to 0, indicating that there are no illegal paths in the time-series path group, then the weight of the time-series path group is not adjusted.
[0098] S380, Calculate the weight values of the time sequence path group.
[0099] The methods for determining the computational weight values for each time-series path group include:
[0100] The first weight value and the second weight value are calculated according to formulas (4) and (5) respectively.
[0101] net_weight1=expr{Group_m_WNS / w_WNS} (4)
[0102] net_weight2=expr{Group_m_TNS / w_TNS} (5)
[0103] Where w_WNS is the baseline WNS, w_TNS is the baseline TNS, net_weight1 is the first weight value, and net_weight2 is the second weight value. expr{} indicates that the integer part of the content within the parentheses is taken.
[0104] Then, the largest weight value is obtained from the first weight value and the second weight value, and this weight value is used as the calculated weight value of the time series path group.
[0105] For example, by calculation, the first weight value of group1 is determined to be 0.4 and the second weight value is determined to be 0.8, then the calculated weight value of group1 is 0.8. The first weight value of group2 is determined to be 0.3 and the second weight value is determined to be 0.4, then the calculated weight value of group2 is 0.4.
[0106] S390. Compare whether the original weight value of the time sequence path group is greater than the calculated weight value. If yes, execute S3100; otherwise, execute S3101.
[0107] S3100, Define the weights of the time-series path groups as the original weight values, and then end.
[0108] S3101. Define the weight of the time sequence path group as the calculated weight value and end.
[0109] It should be noted that if the timing path group does not exist and is not in the excluded timing path group (the timing path group with the flag set to excluded_path), or if the timing path group exists but the current TNS is greater than the previous value, then the weight of the original timing path group will remain unchanged.
[0110] Therefore, the embodiments of this application do not require manual adjustment of the timing path group weights, reducing the process of repeated iterations. In addition, if the silicon-based driver chip changes, the timing path group does not need to be manually modified again. This method can automatically generate new clock pathgroup weights from the report_qor and report_constraint data of the new silicon-based driver chip circuit structure, which greatly simplifies the workload of defining timing constraint files (SDCs), reduces the number of iterations for modifying timing constraint files, improves work efficiency, and shortens the project process of silicon-based driver chips.
[0111] In addition, this application also provides a weight determination device.
[0112] Appendix Figure 4 This application provides a schematic diagram of a weight determination device 400, which includes:
[0113] The first acquisition unit 401 is used to acquire a timing path group, the timing path group including timing paths of the same path type in the digital circuit;
[0114] The second acquisition unit 402 is used to acquire the timing performance data of the timing path group; the timing performance data of the timing path group is used to describe the timing path violation status in the timing path group.
[0115] The determining unit 403 is used to determine the weight of the timing path group using the timing performance data of the timing path group.
[0116] Optionally, the timing performance data of the timing path group includes one or more of the following: worst negative margin (WNS), total negative margin (TNS), and number of illegal paths (NVP).
[0117] Optionally, determining the weights of the time-series path group using the time-series performance data of the time-series path group includes:
[0118] The weights of the time path group are determined using the WNS, TNS, and NVP of the time path group.
[0119] Optionally, determining the weights of the timing path group using the WNS, TNS, and NVP of the timing path group includes:
[0120] If the NVP of the timing path group is greater than 0, the weight of the timing path group is determined based on the WNS and TNS of the timing path group.
[0121] Optionally, if the number of timing path groups corresponding to the digital circuit is n, where n is greater than 1 and n is an integer, determining the weight of the timing path group based on the WNS and TNS of the timing path group includes:
[0122] Determine the baseline WNS and the baseline TNS;
[0123] Wherein, the reference WNS is the WNS with the largest absolute value among the WNS of the multiple timing path groups, and the reference TNS is the TNS with the largest absolute value among the TNS of the multiple timing path groups;
[0124] A first weight value is determined based on the WNS of the time-series path group and the baseline WNS;
[0125] The second weight value is determined based on the TNS of the time path group and the baseline TNS;
[0126] Wherein, the first weight value is positively correlated with the quotient of the WNS of the time path group and the benchmark WNS, and the second weight value is positively correlated with the quotient of the TNS of the time path group and the benchmark TNS;
[0127] The larger weight value is selected from the first weight value and the second weight value as the calculated weight value of the time-series path group;
[0128] The weights of the time-series path groups are determined based on their calculated weight values.
[0129] Optionally, determining the weight of the time-series path group based on its calculated weight value includes:
[0130] Compare the calculated weight values of the time-series path groups with their original weight values;
[0131] If the calculated weight value of the time-series path group is greater than the original weight value, the calculated weight value is used as the weight of the time-series path group; otherwise, the original weight value is used as the weight of the time-series path group.
[0132] Optionally, obtaining the timing performance data of the timing path group includes:
[0133] Obtain the timing performance data of the timing path group from the timing report and constraint report.
[0134] This application provides a weight determination device for grouping timing paths with consistent timing path characteristics in a digital circuit into a timing path group. Timing performance data of the timing path group is acquired; wherein, the timing performance data of the timing path group is used to describe the violation status of the timing paths in the timing path group. The weights of the timing path groups are determined using the timing performance data. By establishing a correlation between the weights of the timing path groups and the timing performance data that are highly correlated with the weights of the timing paths, the weights of the timing path groups are automatically and accurately set. Furthermore, by classifying the timing path groups and assigning a weight to the same type of weight, the efficiency of setting timing path weights can be improved.
[0135] According to the method provided in the embodiments of this application, this application also provides a chip system, which includes one or more processors for calling and executing instructions stored in memory, thereby causing the method described in the embodiments of this application to be executed. The chip system may be composed of chips or may include chips and other discrete devices.
[0136] The chip system may include input circuits or interfaces for transmitting information or data, and output circuits or interfaces for receiving information or data.
[0137] According to the method provided in the embodiments of this application, this application also provides a computer program product, which includes: computer program code, which, when run on a computer, causes the computer to execute the various steps or processes executed by the network device or terminal device in any of the foregoing method embodiments.
[0138] According to the method provided in the embodiments of this application, this application also provides a computer-readable storage medium storing program code, which, when run on a computer, causes the computer to execute the various steps or processes executed by the network device or terminal device in any of the foregoing method embodiments.
[0139] The computer-readable storage medium may be the aforementioned volatile memory or non-volatile memory, or it may include both volatile memory and non-volatile memory.
[0140] In the embodiments of this application, the terms and English abbreviations are exemplary examples given for ease of description and should not be construed as limiting the application in any way. This application does not preclude the possibility of defining other terms that can achieve the same or similar functions in existing or future agreements.
[0141] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When these computer instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated.
[0142] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
Claims
1. A method for determining weights, characterized in that, The method, applied to silicon-based driver chip digital circuits, includes: Obtain n timing path groups, where n is an integer greater than 1, and the timing path groups include timing paths of the same path type in the digital circuit; Acquire the timing performance data of the timing path group; the timing performance data of the timing path group is used to describe the violation status of the timing path in the timing path group. The weights of the time-series path groups are determined using the time-series performance data of the time-series path groups. The time-series performance data of the time-series path group includes: worst negative margin (WNS), total negative margin (TNS), and number of illegal paths (NVP). If the NVP of the timing path group is greater than 0, the baseline WNS and the baseline TNS are determined; wherein, the baseline WNS is the WNS with the largest absolute value among the WNS of the multiple timing path groups, and the baseline TNS is the TNS with the largest absolute value among the TNS of the multiple timing path groups. A first weight value is determined based on the WNS of the time-series path group and the baseline WNS; The second weight value is determined based on the TNS of the time path group and the baseline TNS; The first weight value is positively correlated with the quotient of the WNS of the time path group and the benchmark WNS, and the second weight value is positively correlated with the quotient of the TNS of the time path group and the benchmark TNS. The larger weight value is selected from the first weight value and the second weight value as the calculated weight value of the time-series path group; The weights of the time-series path groups are determined based on their calculated weight values.
2. The determination method according to claim 1, characterized in that, The step of determining the weight of the time series path group based on the calculated weight value of the time series path group includes: Compare the calculated weight values of the time-series path groups with the original weight values; If the calculated weight value of the time-series path group is greater than the original weight value, the calculated weight value is used as the weight of the time-series path group; otherwise, the original weight value is used as the weight of the time-series path group.
3. The determination method according to claim 1, characterized in that, The acquisition of the timing performance data of the timing path group includes: Obtain the timing performance data of the timing path group from the timing report and constraint report.
4. A weight determination device, characterized in that, The device, used in silicon-based driver chip digital circuits, includes: The first acquisition unit is used to acquire n timing path groups, where n is an integer greater than 1, and the timing path groups include timing paths of the same path type in the digital circuit. The second acquisition unit is used to acquire the timing performance data of the timing path group; the timing performance data of the timing path group is used to describe the timing path violation status in the timing path group. A determining unit is used to determine the weight of the time-series path group using the time-series performance data of the time-series path group; The time-series performance data of the time-series path group includes: worst negative margin (WNS), total negative margin (TNS), and number of illegal paths (NVP). The method for determining the weights of the time-series path group using the time-series performance data of the time-series path group includes: If the NVP of the timing path group is greater than 0, the baseline WNS and the baseline TNS are determined; wherein, the baseline WNS is the WNS with the largest absolute value among the WNS of the multiple timing path groups, and the baseline TNS is the TNS with the largest absolute value among the TNS of the multiple timing path groups. A first weight value is determined based on the WNS of the time-series path group and the baseline WNS; The second weight value is determined based on the TNS of the time path group and the baseline TNS; The first weight value is positively correlated with the quotient of the WNS of the time path group and the benchmark WNS, and the second weight value is positively correlated with the quotient of the TNS of the time path group and the benchmark TNS. The larger weight value is selected from the first weight value and the second weight value as the calculated weight value of the time-series path group; The weights of the time-series path groups are determined based on their calculated weight values.
5. A computer program product, characterized in that, The computer program product includes: a computer program that, when run, causes a computer to perform the method according to any one of claims 1-3.
6. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when run on a computer, causes the computer to perform the method described in any one of claims 1-3.
Citation Information
Patent Citations
Time sequence optimization method and device based on logic synthesis, equipment and medium
CN117933157A