Circuit partitioning optimization method and system, storage medium

Through the use of three sets of iteration strategies and paging satisfaction judgment strategies in the circuit division, the problem of low circuit division efficiency in existing technology in the existing technology has been solved, and the more efficient circuit division is achieved, reducing system overhead.

CN114004181BActive Publication Date: 2025-01-24SHENZHEN STATE MICRO TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111256201.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-27
Publication Date
2025-01-24
Estimated Expiration
2041-10-27

AI Technical Summary

Technical Problem

In the prior art, there are redundant problems in case of repeated access and calculation of circuit division, resulting in long division time and low efficiency.

Method used

The iterative strategies and pagination satisfaction judgment strategies are used to use three sets of collection (initial collection, temporary collection, and additional collection). It is divided through the driver and load relationship of the seed instance to avoid repeated iteration and redundancy calculation.

Benefits of technology

It improves the efficiency of circuit division, reduces the overhead caused by multiple iterations and accesses of instances, avoids unnecessary system overhead, and improves algorithm performance by 30%.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114004181B_ABST
    Figure CN114004181B_ABST
Patent Text Reader

Abstract

The present invention discloses an optimization method and system for circuit partitioning, and a storage medium. The optimization method for circuit partitioning includes: generating an initial set of all instances in a netlist; judging whether the number of instances in the initial set is less than or equal to the number of instances on a single page; if not, selecting one of the instances from the initial set as a seed according to a first preset rule and adding it to the current page; solving the instances on the same page as the seed, and putting the instances on the same page as the seed into a temporary set; if the number of instances in the temporary set is less than or equal to the number of instances on a single page, selecting a seed from the temporary set according to a second preset rule, solving the instances on the same page as the seed, and appending them to the temporary set until the total number of instances in the temporary set is greater than the number of instances on a single page. The circuit partitioning of the present invention takes less time and is more efficient.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of circuit netlist partitioning, and in particular to a circuit partitioning optimization method and system. Background Art

[0002] In the display of large-scale circuit schematics, it is a common method to divide large-scale circuits into smaller circuits and display them on different pages. According to the connection relationship of the instances in the read-in netlist, the number of driver connection instances, the number of load connections, the number of instances connected to the divided instances, and other factors, it is determined whether to divide them into the same page for display. The number of instances displayed on each page (page_size) can be specified by the program. If the number of instances on the same page exceeds the specified number, the remaining instances will be divided into the next page, and so on, until all instances are divided.

[0003] When dividing a circuit in the prior art, there are problems such as repeated instance access and redundant calculation, which leads to long division time and low division efficiency. Summary of the invention

[0004] In order to solve the technical problem of low circuit partitioning efficiency in the prior art, the present invention proposes a circuit partitioning optimization method and system, and a storage medium.

[0005] The circuit division method proposed by the present invention comprises:

[0006] Step 1, generate an initial set of all instances in the netlist;

[0007] Step 2, determining whether the number of instances in the initial set is less than or equal to the number of single-page instances; if not, proceeding to the next step;

[0008] Step 3, selecting one of the instances from the initial set as a seed according to the first preset rule, and adding it to the current page;

[0009] Step 4, solving the instances on the same page as the seed according to the driving and load relationship of the seed, and putting the instances on the same page as the seed into a temporary set;

[0010] Step 5: determine whether the number of instances in the temporary set is less than or equal to the number of single-page instances. If so, proceed to the next step;

[0011] Step 6, selecting a seed from the temporary set according to the second preset rule, solving the instance on the same page as the seed according to the driving and load relationship of the seed, and putting the instance on the same page as the seed into an additional set;

[0012] Step 7, determine whether the total number of instances in the temporary set and the additional set is less than or equal to the number of instances on a single page. If so, copy the instances in the additional set to the temporary set and delete all instances in the additional set, and return to step 6 until the total number of instances in the temporary set and the additional set is greater than the number of instances on a single page.

[0013] Furthermore, the method further includes step 8, when the total number of instances in the temporary set and the additional set is greater than the number of instances on a single page, deleting the instances in the temporary set and the additional set from the initial set and placing them on the current page for display;

[0014] Step 9, determine whether the initial set is empty, if not, return to step 2 to continue processing the initial set.

[0015] In the above process, if the number of instances in the initial set is less than or equal to the number of instances on a single page, all instances in the initial set are added to the page and the circuit division is terminated.

[0016] Further, the first preset rule is to select the instance with the largest number of connections to non-paged instances as the seed, or to select the instance with the same number of connections to non-paged instances as other instances but the least number of connections to paged instances as the seed.

[0017] Furthermore, the second preset rule is to select instances as seeds from the temporary set in sequence according to the storage order.

[0018] The partitioning system proposed by the present invention adopts the circuit partitioning optimization method described in the above technical solution, comprising:

[0019] An allocation module allocates the instances to be divided to form corresponding sets, wherein the sets include an initial set, a temporary set, and an additional set;

[0020] The judgment module analyzes the instance of the currently processed set and compares the analysis result with the corresponding conditions to determine the end of the process or select the seed corresponding to the set; the division module solves the instance on the same page as the seed according to the drive and load relationship of the seed, and divides the circuit according to the temporary set that meets the corresponding conditions;

[0021] The deletion module deletes the instances that have been divided into corresponding pages from the initial set.

[0022] The computer-readable storage medium proposed in the present invention is used to store a computer program, and when the computer program is run, the circuit partition optimization method described in the above technical solution is executed.

[0023] The present invention designs three sets, and after determining the instance of a page, the instance of the page will be deleted from the initial set, and the updated initial set will be used as the basis for the re-division, so that the divided instance will not be repeatedly divided after the division, thereby improving the efficiency of circuit division. In addition, when the number of instances of the current page is insufficient, it will iteratively search for additional sets one by one. Once the number of instances in the additional set and the temporary set meets the requirements, the iteration process will be stopped in time, thereby avoiding the practice of traversing all the repeated iterations in the prior art. In addition, the present invention also terminates the division process in time by judging the number of instances of the updated initial set, thereby avoiding the generation of unnecessary system overhead. Therefore, based on the divided instance iteration strategy and the paging satisfaction judgment strategy, the present invention solves the problems of repeated iterative access of the divided instance in the prior art, continuing to solve the same page instance under the paging requirements, and repeated iteration of the instance of the last page, and reduces the overhead caused by multiple iterations and accesses of the instance by using the divided instance, and judges whether the current solution meets the paging requirements, thereby avoiding the redundant overhead caused by the re-solution, thereby improving the performance of the circuit division algorithm. It has been verified that compared with the prior art solution, the algorithm performance of the present invention is improved by 30%. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] The present invention is described in detail below with reference to the embodiments and accompanying drawings, wherein:

[0025] Figure 1 is a flow chart of an embodiment of the present invention. DETAILED DESCRIPTION

[0026] In order to make the technical problems, technical solutions and beneficial effects to be solved by the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0027] Thus, a feature indicated in this specification will be used to illustrate one of the features of an embodiment of the present invention, rather than implying that each embodiment of the present invention must have the described feature. In addition, it should be noted that this specification describes many features. Although some features can be combined together to illustrate possible system designs, these features can also be used in other combinations that are not explicitly described. Thus, unless otherwise stated, the described combinations are not intended to be limiting.

[0028] like Figure 1 As shown, the circuit partitioning optimization method of the present invention first reads in the circuit netlist and generates an initial set S1 of all instances in the netlist.

[0029] It is determined whether the number of instances in the initial set S1 is less than or equal to the number of instances on a single page to exclude small-scale circuits. If the number of instances in the initial set S1 is greater than the number of instances on a single page, the instances in the initial set are divided.

[0030] The specific division process is to first select one of the instances from the initial set as a seed according to the first preset rule and add it to the current page. In a specific embodiment, the first preset rule can be to select the instance that is connected to the largest number of unpaged instances as the seed, or to select the instance that is connected to the same number of unpaged instances as other instances but connected to the least number of paged instances as the seed. This seed selection requires traversing all instances in the initial set, and then selecting the seeds according to the first preset rule. Therefore, after adding the instances of the current page and deleting the instances that have been added to the current page from the initial set, the iterative process of searching for seeds based on the initial set will be accelerated.

[0031] According to the drive and load relationship of the seed, the instance on the same page as the seed is solved, and the instance on the same page as the seed is placed in a temporary set. Determine whether the number of instances in the current temporary set is less than or equal to the number of single-page instances. If so, it means that instances need to be added to the temporary set. Seeds are selected from the temporary set according to the second preset rule. In a specific embodiment, all instances in the temporary set are used as seeds, and they are traversed in sequence according to the storage order. The instance on the same page as the currently traversed seed is solved according to its drive and load relationship, and the instance on the same page as the currently traversed seed is placed in an additional set S3.

[0032] Determine whether the total number of instances in the temporary set S2 and the additional set S3 is less than or equal to the number of single-page instances. If so, copy the instances in the additional set S3 to the temporary set S2 and delete all instances in the additional set S3. Then traverse the next seed in the temporary set until the total number of instances in the temporary set and the additional set is greater than the number of single-page instances.

[0033] Once the total number of instances in the temporary set and the additional set is greater than the number of instances on a single page, the instances in the additional set S3 are copied to the temporary set S2 and all instances in the additional set S3 are deleted. All instances in the temporary set S2 are displayed as instances of the current page. At the same time, the instances of the new temporary set are deleted from the initial set, or in other words, all instances in the old temporary set and the additional set are deleted from the initial set. This ensures that the instances of the page that has been determined to be displayed are no longer traversed and looped, which reduces the time for circuit division and improves the efficiency of circuit division.

[0034] If there are still instances in the initial set at this time, that is, the initial set is not empty, the corresponding seed is selected from the updated initial set again to repeat the above steps. The final loop ends when there are no instances in the initial set, or the number of instances in the initial set is less than or equal to the number of single-page instances.

[0035] The present invention also protects the corresponding circuit partitioning optimization system, which includes an allocation module, a judgment module, a deletion module and a partitioning module. The allocation module is used to allocate the instances to be partitioned to form corresponding sets, and update the sets at the same time. The sets include the above-mentioned initial sets, temporary sets and additional sets. The judgment module presets a variety of corresponding conditions. The judgment module analyzes the instances of the currently processed set, and compares the analysis results with the corresponding conditions to determine the end of the process, or selects the seeds corresponding to the set. The partitioning module solves the instances on the same page as the seeds according to the driving and load relationship of the seeds, and partitions the circuit according to the temporary sets that meet the corresponding conditions. The deletion module deletes the instances that have been partitioned to the corresponding pages from the initial set. With the deletion module, first, the instances of the instances in the initial set can be updated, and the number of instances in the initial set is the basis for the judgment module to determine whether to continue the partition. Second, it is used to speed up the subsequent iterative process and reduce repeated access.

[0036] The present invention also protects a computer-readable storage medium. When a computer program stored in the computer-readable storage medium is run to execute the circuit partition optimization method of the present invention, the computer-readable storage medium also falls within the protection scope of the present invention.

[0037] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the protection scope of the present invention.

Claims

1. A circuit partitioning optimization method, characterized in that: include: Step 1, generate an initial set of all instances in the netlist; Step 2, determining whether the number of instances in the initial set is less than or equal to the number of single-page instances; if not, proceeding to the next step; Step 3, selecting one of the instances from the initial set as a seed according to a first preset rule, and adding it to the current page; the first preset rule is to select the instance with the largest number of connections to the unpaged instances as the seed, or to select the instance with the same number of connections to the unpaged instances as other instances but the least number of connections to the paged instances as the seed; Step 4, solving the instances on the same page as the seed according to the driving and load relationship of the seed, and putting the instances on the same page as the seed into a temporary set; Step 5: determine whether the number of instances in the temporary set is less than or equal to the number of single-page instances. If so, proceed to the next step; Step 6, selecting a seed from the temporary set according to a second preset rule, solving the instance on the same page as the seed according to the drive and load relationship of the seed, and putting the instance on the same page as the seed into an additional set; the second preset rule is to select instances as seeds from the temporary set in sequence according to the storage order; Step 7, determine whether the total number of instances in the temporary set and the additional set is less than or equal to the number of instances on a single page. If so, copy the instances in the additional set to the temporary set and delete all instances in the additional set, and return to step 6 until the total number of instances in the temporary set and the additional set is greater than the number of instances on a single page.

2. The circuit partitioning optimization method according to claim 1, characterized in that: Also includes: Step 8: When the total number of instances in the temporary collection and the additional collection is greater than the number of instances on a single page, the instances in the temporary collection and the additional collection are deleted from the initial collection and displayed on the current page; Step 9, determine whether the initial set is empty, if not, return to step 2 to continue processing the initial set.

3. The circuit partitioning optimization method according to claim 1, characterized in that: If the number of instances in the initial set is less than or equal to the number of instances on a single page, all instances in the initial set are added to the page and the circuit division is terminated.

4. A partitioning system using the circuit partitioning optimization method according to any one of claims 1 to 3, characterized in that: include: An allocation module allocates the instances to be divided to form corresponding sets, wherein the sets include an initial set, a temporary set, and an additional set; The judgment module analyzes the instance of the currently processed set and compares the analysis result with the corresponding conditions to determine the end of the process or select the seed corresponding to the set; A partitioning module solves the instances on the same page as the seed according to the driving and load relationship of the seed, and partitions the circuit according to the temporary set that meets the corresponding conditions; The deletion module deletes the instances that have been divided into corresponding pages from the initial set.

5. A computer-readable storage medium for storing a computer program, characterized in that: The computer program executes the circuit partition optimization method according to any one of claims 1 to 3 when running.

Citation Information

Patent Citations

  • Subunit array splicing pretreatment method of very large scale integrated circuit layout hierarchy comparison tool

    CN106649897A

  • Parallel comprehensive algorithm utilizing hierarchical information

    CN111079362A