CN112257376A - Method and device for planning feed-through path, electronic equipment and storage medium - Google Patents

Method and device for planning feed-through path, electronic equipment and storage medium Download PDF

Info

Publication number
CN112257376A
CN112257376A CN202011169157.9A CN202011169157A CN112257376A CN 112257376 A CN112257376 A CN 112257376A CN 202011169157 A CN202011169157 A CN 202011169157A CN 112257376 A CN112257376 A CN 112257376A
Authority
CN
China
Prior art keywords
path
calculated
feed
feedthrough
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011169157.9A
Other languages
Chinese (zh)
Other versions
CN112257376B (en
Inventor
王鹤飞
侯晓宇
李重阳
梁洪昌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202011169157.9A priority Critical patent/CN112257376B/en
Publication of CN112257376A publication Critical patent/CN112257376A/en
Application granted granted Critical
Publication of CN112257376B publication Critical patent/CN112257376B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

Abstract

A method and a device for planning a feed-through path, an electronic device and a storage medium are provided. The method for planning the feed-through path comprises the following steps: acquiring a feed-through to be planned; determining at least one feed-through path to be calculated between the first module and the second module according to the layout shapes of the modules and the layout positions of the modules; obtaining evaluation parameters respectively corresponding to the at least one feed-through path to be calculated; selecting a feedthrough path of the feedthrough to be planned from the at least one feedthrough path to be calculated based on the evaluation parameter. The method for planning the feed-through path evaluates the feed-through path to be calculated according to the redundancy of the internal winding resources of the module through which the feed-through path to be calculated passes, and controls the feed-through path to be planned by selecting the module with rich internal winding resources, thereby achieving the purpose of reducing the top winding resources of the integrated circuit.

Description

Method and device for planning feed-through path, electronic equipment and storage medium
Technical Field
The embodiment of the disclosure relates to a method and a device for planning a feed-through path, an electronic device and a storage medium.
Background
A hierarchical design method is generally adopted in the back-end design of an integrated circuit, for example, the integrated circuit is divided into a plurality of modules, and the plurality of modules are designed and developed in parallel, so that the design efficiency of the integrated circuit is improved. If two modules are not adjacent, i.e. the connection line between the two modules needs to pass through the other module, the connection line is called a feed-through (feedthru).
Disclosure of Invention
At least one embodiment of the present disclosure provides a method for planning a feedthrough path, applied to design of an integrated circuit, the integrated circuit including a plurality of modules, each of the plurality of modules having a layout shape and a layout position, the method including: obtaining a feedthrough to be planned, wherein the feedthrough to be planned is used for connecting a first module and a second module of the plurality of modules, and the first module and the second module are not adjacent; determining at least one feed-through path to be calculated between the first module and the second module according to the layout shape of the modules and the layout positions of the modules, wherein each feed-through path to be calculated in the at least one feed-through path to be calculated passes through at least one module except the first module and the second module in the modules; obtaining evaluation parameters corresponding to the at least one feed-through path to be calculated respectively, wherein the evaluation parameters of each feed-through path to be calculated in the at least one feed-through path to be calculated comprise routing resource redundancy evaluation parameters, and the routing resource redundancy evaluation parameters comprise internal routing resource redundancy of at least one module passed by each feed-through path to be calculated; selecting a feedthrough path of the feedthrough to be planned from the at least one feedthrough path to be calculated based on the evaluation parameter.
For example, in a method for planning a feedthrough path provided in at least one embodiment of the present disclosure, selecting a feedthrough path of the feedthrough to be planned from the at least one feedthrough path to be calculated based on the evaluation parameter includes: based on the evaluation parameters, calculating cost function values respectively corresponding to the at least one feed-through path to be calculated by using a cost function; and taking the feed-through path to be calculated corresponding to the minimum value in the cost function values respectively corresponding to the at least one feed-through path to be calculated as the feed-through path of the feed-through to be planned.
For example, in a method for planning a feedthrough path provided in at least one embodiment of the present disclosure, obtaining evaluation parameters respectively corresponding to the at least one feedthrough path to be calculated includes: for a t-th feedthrough path to be calculated of the at least one feedthrough path to be calculated: determining M modules passed by the t-th feed-through path to be calculated, wherein M is a positive integer; obtaining the internal winding resource redundancy corresponding to the M modules respectively; and taking the internal winding resource redundancy corresponding to the M modules as a winding resource redundancy evaluation parameter in the evaluation parameters corresponding to the t-th feed-through path to be calculated, wherein t is a positive integer and is less than or equal to the number of the at least one feed-through path to be calculated.
For example, in a method for planning a feedthrough path according to at least one embodiment of the present disclosure, obtaining redundancy of internal winding resources corresponding to the M modules respectively includes: for each of the M modules: acquiring the total amount of internal winding resources and the used internal winding resources of each module; and acquiring the internal winding resource redundancy corresponding to each module according to the total internal winding resource amount and the used internal winding resource amount of each module.
For example, in a method for planning a feedthrough path provided in at least one embodiment of the present disclosure, the evaluation parameters of each feedthrough path to be calculated further include a path length evaluation parameter and a port available evaluation parameter, each module in the plurality of modules includes a plurality of ports, and obtaining the evaluation parameters respectively corresponding to the at least one feedthrough path to be calculated further includes: acquiring the path length of the t-th feed-through path to be calculated, and taking the path length as a path length evaluation parameter in evaluation parameters corresponding to the t-th feed-through path to be calculated; obtaining available numbers of M ports corresponding to the M modules through which the t-th to-be-calculated feed-through path passes, and using the available numbers of M ports as available port evaluation parameters in evaluation parameters corresponding to the t-th to-be-calculated feed-through path, wherein the available number of ports corresponding to each of the M modules represents the number of available ports in a plurality of ports corresponding to each of the M modules.
For example, in the method for planning a feedthrough path provided in at least one embodiment of the present disclosure, obtaining available numbers of M ports respectively corresponding to the M modules through which the t-th feedthrough path to be calculated passes includes: for an ith module of the M modules: determining a first passing edge and a second passing edge of the ith module through which the t-th feed-through path to be calculated passes; acquiring the available number of first ports corresponding to the first passing edge and the available number of second ports corresponding to the second passing edge; taking the available number of the first ports and the available number of the second ports as the available number of the ports corresponding to the ith module; wherein i is a positive integer and is less than or equal to M.
For example, in a method for planning a feedthrough path provided in at least one embodiment of the present disclosure, the feedthroughs of the planned feedthrough path in the integrated circuit are planned feedthroughs, and acquiring a first available number of ports corresponding to the first passing edge and a second available number of ports corresponding to the second passing edge includes: acquiring the maximum available number of first ports corresponding to the first passing edge and the maximum available number of second ports corresponding to the second passing edge; acquiring a first port occupation quantity corresponding to the first passing edge, wherein the first port occupation quantity represents the quantity of ports occupied by feed-through paths of the planned feed-through in the ports corresponding to the first passing edge; acquiring a second port occupation number corresponding to the second passing edge, wherein the second port occupation number represents the number of ports occupied by the feed-through path of the planned feed-through in the ports corresponding to the second passing edge; subtracting the occupied number of the first port from the maximum number available to the first port to obtain the available number of the first port; subtracting the second port occupation number from the second port available maximum number to obtain the second port available number.
For example, in a method for planning a feedthrough path provided in at least one embodiment of the present disclosure, calculating cost function values respectively corresponding to the at least one feedthrough path to be calculated by using a cost function based on the evaluation parameter includes: for the t-th feedthrough path to be calculated: according to the routing resource redundancy evaluation parameter corresponding to the t-th to-be-calculated feed-through path, determining a routing redundancy cost value corresponding to the t-th to-be-calculated feed-through path, according to the path length evaluation parameter corresponding to the t-th to-be-calculated feed-through path, determining a feed-through path cost value corresponding to the t-th to-be-calculated feed-through path, according to the available port evaluation parameter corresponding to the t-th to-be-calculated feed-through path, determining a port occupation cost value corresponding to the t-th to-be-calculated feed-through path, and calculating the routing redundancy cost value, the feed-through path cost value and the port occupation cost value by using the cost function so as to obtain a cost function value corresponding to the t-th to-be-calculated path.
For example, in a method for planning a feedthrough path provided in at least one embodiment of the present disclosure, determining a winding redundancy cost value corresponding to the t-th feedthrough path to be calculated according to a winding resource redundancy evaluation parameter corresponding to the t-th feedthrough path to be calculated includes: determining the M modules passed by the t-th feed-through path to be calculated; determining internal winding resource redundancy corresponding to the M modules respectively according to the winding resource redundancy evaluation parameter corresponding to the t-th feed-through path to be calculated; determining internal winding redundancy cost values corresponding to the M modules respectively according to the internal winding resource redundancy quantities corresponding to the M modules respectively; and adding the internal winding redundancy cost values corresponding to the M modules respectively to obtain the winding redundancy cost value corresponding to the t-th feed-through path to be calculated.
For example, in the method for planning a feedthrough path according to at least one embodiment of the present disclosure, the redundancy of the internal winding resources corresponding to each of the M modules is in a negative correlation with the redundancy cost value of the internal winding corresponding to each of the M modules.
For example, in a method for planning a feedthrough path provided in at least one embodiment of the present disclosure, determining a port occupation cost value corresponding to the t-th feedthrough path to be calculated according to a port available evaluation parameter corresponding to the t-th feedthrough path to be calculated includes: determining the M modules passed by the t-th feed-through path to be calculated; determining the available number of ports corresponding to the M modules according to the available evaluation parameters of the ports corresponding to the t-th feed-through path to be calculated; determining the port occupation cost values corresponding to the M modules according to the available port numbers corresponding to the M modules; and adding the port occupation cost values respectively corresponding to the M modules to obtain the port occupation cost value corresponding to the t-th feed-through path to be calculated.
For example, in a method for planning a feedthrough path provided in at least one embodiment of the present disclosure, determining, according to the available number of ports corresponding to the M modules, the cost values of the ports corresponding to the M modules respectively includes: for a jth module of the M modules: determining the available number of first ports and the available number of second ports corresponding to the jth module according to the available number of ports corresponding to the jth module; determining a first occupation cost value corresponding to the jth module according to the available number of the first ports corresponding to the jth module; determining a second occupation cost value corresponding to the jth module according to the available number of the second ports corresponding to the jth module; and adding the first occupation cost value corresponding to the jth module and the second occupation cost value corresponding to the jth module to obtain the port occupation cost value corresponding to the jth module, wherein j is a positive integer and is less than or equal to M.
For example, in the method for planning a feedthrough path provided in at least one embodiment of the present disclosure, the available number of the first ports corresponding to the jth module is in a negative correlation with the first occupied cost value corresponding to the jth module; and the available number of the second ports corresponding to the jth module and the second occupied cost value corresponding to the jth module are in a negative correlation relationship.
For example, in the method for planning a feedthrough path provided in at least one embodiment of the present disclosure, the path length evaluation parameter corresponding to the t-th to-be-calculated feedthrough path has a positive correlation with the value of the feedthrough path corresponding to the t-th to-be-calculated feedthrough path.
For example, in a method for planning a feedthrough path provided in at least one embodiment of the present disclosure, a cost function value corresponding to the t-th feedthrough path to be calculated is represented as:
f(t)=a*g(t)+b*h(t)+c*m(t)
wherein t is the number of the t-th to-be-calculated feed-through path, f (& gt) is the cost function, f (t) is the cost function value corresponding to the t-th to-be-calculated feed-through path, g (t) is the port occupation cost value corresponding to the t-th to-be-calculated feed-through path, h (t) is the feed-through path cost value corresponding to the t-th to-be-calculated feed-through path, m (t) is the winding redundancy cost value corresponding to the t-th to-be-calculated feed-through path, a is the weight value corresponding to the port occupation cost value corresponding to the t-th to-be-calculated feed-through path, b is the weight value corresponding to the winding redundancy cost value corresponding to the t-th to-be-calculated feed-through path, a, b and c are calculated according to the port occupation conditions of the plurality of modules, The amount of resource redundancy of the inner winding and the layout shape are determined, and a, b and c are constants.
For example, in the method for planning a feedthrough path provided by at least one embodiment of the present disclosure, all feedthroughs to be planned between the first module and the second module are planned as a set of feedthrough groups to be planned, feedthrough paths of all feedthroughs to be planned within the set of feedthroughs to be planned are the same, and based on the evaluation parameter, the cost function values respectively corresponding to the at least one feedthrough path to be calculated are calculated by using a cost function, including: for the t-th feedthrough path to be calculated: according to the routing resource redundancy evaluation parameters corresponding to the t-th to-be-calculated feed-through path, determining the routing redundancy cost value corresponding to the t-th to-be-calculated feed-through path, according to the path length evaluation parameters corresponding to the t-th to-be-calculated feed-through path, determining the feed-through path cost value corresponding to the t-th to-be-calculated feed-through path, according to the available port evaluation parameters corresponding to the t-th to-be-calculated feed-through path and the number of to-be-planned feed-through in the to-be-planned feed-through group, determining the port occupation cost value corresponding to the t-th to-be-calculated feed-through path, and calculating the routing redundancy cost value, the feed-through path cost value and the port occupation cost value by using the cost function so as to obtain the cost function value corresponding to the t-th.
For example, in a method for planning a feedthrough path provided in at least one embodiment of the present disclosure, the integrated circuit is a digital integrated circuit.
At least one embodiment of the present disclosure provides a device for planning a feedthrough path, applied to design of an integrated circuit, the integrated circuit including a plurality of modules, each of the plurality of modules having a layout shape and a layout position, the device for planning a feedthrough path including: a feedthrough acquisition unit, configured to acquire a feedthrough to be planned, where the feedthrough to be planned is used to connect a first module and a second module of the plurality of modules, and the first module and the second module are not adjacent to each other; a feedthrough path calculation unit configured to determine at least one feedthrough path to be calculated between the first module and the second module according to a layout shape of the plurality of modules and a layout position of the plurality of modules, wherein each feedthrough path to be calculated passes through at least one module other than the first module and the second module of the plurality of modules; an evaluation parameter obtaining unit, configured to obtain evaluation parameters corresponding to the at least one feedthrough path to be calculated, respectively, where the evaluation parameter of each feedthrough path to be calculated in the at least one feedthrough path to be calculated includes a routing resource redundancy evaluation parameter, and the routing resource redundancy evaluation parameter includes an internal routing resource redundancy of at least one module through which the each feedthrough path to be calculated passes; and the feed-through path planning unit is used for selecting the feed-through path of the feed-through to be planned from the at least one feed-through path to be calculated based on the evaluation parameters.
For example, in a feedthrough path planning apparatus provided in at least one embodiment of the present disclosure, the feedthrough path planning unit includes: the cost function calculating subunit is configured to calculate, based on the evaluation parameter, cost function values respectively corresponding to the at least one feedthrough path to be calculated by using a cost function; and the feed-through path selection subunit is used for taking the feed-through path to be calculated corresponding to the minimum value in the cost function values respectively corresponding to the at least one feed-through path to be calculated as the feed-through path of the feed-through to be planned.
For example, in the planning apparatus for a feedthrough path provided in at least one embodiment of the present disclosure, when the evaluation parameter obtaining unit obtains the evaluation parameters respectively corresponding to the at least one feedthrough path to be calculated, the following operations are performed: for a t-th feedthrough path to be calculated of the at least one feedthrough path to be calculated: determining M modules passed by the t-th feed-through path to be calculated, wherein M is a positive integer; obtaining the internal winding resource redundancy corresponding to the M modules respectively; and taking the internal winding resource redundancy corresponding to the M modules as a winding resource redundancy evaluation parameter in the evaluation parameters corresponding to the t-th feed-through path to be calculated, wherein t is a positive integer and is less than or equal to the number of the at least one feed-through path to be calculated.
For example, in a planning apparatus for a feedthrough path provided in at least one embodiment of the present disclosure, the evaluation parameters of each feedthrough path to be calculated further include a path length evaluation parameter and a port availability evaluation parameter, each module in the plurality of modules includes a plurality of ports, and the obtaining of the evaluation parameters corresponding to the at least one feedthrough path to be calculated by the evaluation parameter obtaining unit includes: acquiring the path length of the t-th feed-through path to be calculated, and taking the path length as a path length evaluation parameter in evaluation parameters corresponding to the t-th feed-through path to be calculated; obtaining available numbers of M ports corresponding to the M modules through which the t-th to-be-calculated feed-through path passes, and using the available numbers of M ports as available port evaluation parameters in evaluation parameters corresponding to the t-th to-be-calculated feed-through path, wherein the available number of ports corresponding to each of the M modules represents the number of available ports in a plurality of ports corresponding to each of the M modules.
For example, in the planning apparatus for a feedthrough path provided by at least one embodiment of the present disclosure, when the cost function calculation subunit performs, based on the evaluation parameter, calculation of the cost function value corresponding to each of the at least one feedthrough path to be calculated by using a cost function, the following operations are performed: for the t-th feedthrough path to be calculated: according to the routing resource redundancy evaluation parameter corresponding to the t-th to-be-calculated feed-through path, determining a routing redundancy cost value corresponding to the t-th to-be-calculated feed-through path, according to the path length evaluation parameter corresponding to the t-th to-be-calculated feed-through path, determining a feed-through path cost value corresponding to the t-th to-be-calculated feed-through path, according to the available port evaluation parameter corresponding to the t-th to-be-calculated feed-through path, determining a port occupation cost value corresponding to the t-th to-be-calculated feed-through path, and calculating the routing redundancy cost value, the feed-through path cost value and the port occupation cost value by using the cost function so as to obtain a cost function value corresponding to the t-th to-be-calculated path.
At least one embodiment of the present disclosure provides an electronic device, including: a memory non-transiently storing computer executable instructions; a processor configured to execute the computer-executable instructions, wherein the computer-executable instructions, when executed by the processor, implement a method of feedthrough path planning according to any embodiment of the present disclosure.
At least one embodiment of the present disclosure provides a non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores computer-executable instructions that, when executed by a processor, implement a method of planning a feedthrough path according to any one of the embodiments of the present disclosure.
Drawings
To more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings of the embodiments will be briefly introduced below, and it is apparent that the drawings in the following description relate only to some embodiments of the present disclosure and are not limiting to the present disclosure.
FIG. 1 is a schematic diagram of various modules in an integrated circuit;
fig. 2 is a schematic flow chart of a method for planning a feedthrough path according to at least one embodiment of the present disclosure;
fig. 3 is a schematic flowchart of step S130 in a method for planning a feedthrough path according to at least one embodiment of the present disclosure;
fig. 4 is a schematic flowchart of step S130 in a method for planning a feedthrough path according to at least one embodiment of the present disclosure;
fig. 5 is a schematic flowchart of step S140 in a method for planning a feedthrough path according to at least one embodiment of the present disclosure;
fig. 6 is a schematic process diagram of a method for planning a feedthrough path according to at least one embodiment of the present disclosure;
fig. 7 is a schematic block diagram of a feedthrough path planning apparatus according to at least one embodiment of the present disclosure;
fig. 8 is a schematic block diagram of an electronic device provided in at least one embodiment of the present disclosure;
fig. 9 is a schematic diagram of a non-transitory computer-readable storage medium according to at least one embodiment of the disclosure.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present disclosure more clear, the technical solutions of the embodiments of the present disclosure will be described below clearly and completely with reference to the accompanying drawings of the embodiments of the present disclosure. It is to be understood that the described embodiments are only a few embodiments of the present disclosure, and not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the described embodiments of the disclosure without any inventive step, are within the scope of protection of the disclosure.
Unless otherwise defined, technical or scientific terms used herein shall have the ordinary meaning as understood by one of ordinary skill in the art to which this disclosure belongs. The use of "first," "second," and similar terms in this disclosure is not intended to indicate any order, quantity, or importance, but rather is used to distinguish one element from another. The word "comprising" or "comprises", and the like, means that the element or item listed before the word covers the element or item listed after the word and its equivalents, but does not exclude other elements or items. The terms "connected" or "coupled" and the like are not restricted to physical or mechanical connections, but may include electrical connections, whether direct or indirect. "upper", "lower", "left", "right", and the like are used merely to indicate relative positional relationships, and when the absolute position of the object being described is changed, the relative positional relationships may also be changed accordingly.
To maintain the following description of the embodiments of the present disclosure clear and concise, a detailed description of some known functions and components have been omitted from the present disclosure.
In back-end design of an integrated circuit, a hierarchical design method is generally adopted, for example, the integrated circuit is divided into a plurality of modules, and then the plurality of modules are designed and developed in parallel. For example, each module can implement a specific function, and each module independently occupies a physical area of a certain shape in the integrated circuit, and before the back-end design of the integrated circuit is started, the port condition of each module, the port connection relationship of each module with other modules, and the like are completed and are in a known state in the front-end design process of the integrated circuit. For example, the port connection relationship of each module with other modules includes the logical connection relationship of each module with which modules and the port connection number between each module and the module with the logical connection relationship. In the embodiment of the present disclosure, a connection path on the integrated circuit between a port of each module and a corresponding connection port in the module having a connection relationship is referred to as a connection line.
FIG. 1 is a schematic diagram of various modules in an integrated circuit. For example, as shown in fig. 1, the integrated circuit includes six modules, which are modules 1 to 6, and if there is no other module between two modules and the connection line between the corresponding ports of the two modules can satisfy the requirement of the manhattan path, the two modules are adjacent to each other; if other modules exist between the two modules and/or the connecting lines between the corresponding ports of the two modules cannot meet the requirement of the Manhattan path, the two modules are not adjacent. For example, module 2 in fig. 1 is adjacent to each of module 1, module 3, and module 4, module 3 is adjacent to module 5, module 6, and so on, while modules 1 and 6 are not.
Since the space occupied by the modules in the integrated circuit is constant, the top routing resources of the integrated circuit are limited, if two modules are not adjacent and there is a logical connection relationship between the two modules, the two modules need to be connected, in this case, the connection line between the two modules generally needs to pass through the other modules, and at this time, the connection line between the two modules is called a feedthrough, and the path through which the feedthrough passes is called a feedthrough path. For example, as shown in fig. 1, module 1 and module 6 are not adjacent to each other, and module 1 and module 6 are logically connected, the feed-through path of the feed-through between module 1 and module 6 is shown by the black arrow in the right rectangular box of fig. 1, for example, feed-through path (1) may start from module 1, pass through module 2, module 3 and module 5 to reach module 6, and feed-through path (2) may start from module 1, pass through module 2, module 4 and module 5 to reach module 6. The planning of the feed-through path then represents the preferred path of the feed-through between the module 1 and the module 6 that needs to be selected from the feed-through path (1) and the feed-through path (2).
Due to the limitation of the integrated circuit process, the routing in the integrated circuit needs to meet a certain width and a certain interval, so the internal routing resources of each module are limited, and for the intermediate module through which the feed-through path passes, the feed-through path needs to occupy the internal routing resources of the intermediate module. In the design of an integrated circuit, the number of feed-throughs between modules is huge and the connection relation is complex, how to plan the feed-throughs is a work which is time-consuming and influences the research and development iteration time, and if the route planning of the feed-throughs is not reasonable enough, a large amount of internal winding resources of the modules are occupied, and the area and the cost of the integrated circuit are increased.
At least one embodiment of the present disclosure provides a method for planning a feedthrough path, including: acquiring a feed-through to be planned; determining at least one feed-through path to be calculated between the first module and the second module according to the layout shapes of the modules and the layout positions of the modules; obtaining evaluation parameters corresponding to at least one feed-through path to be calculated respectively, wherein the evaluation parameters of each feed-through path to be calculated in the at least one feed-through path to be calculated comprise routing resource redundancy evaluation parameters, and the routing resource redundancy evaluation parameters comprise internal routing resource redundancy of at least one module passed by each feed-through path to be calculated; based on the evaluation parameters, a feedthrough path of the feedthrough to be planned is selected from the at least one feedthrough path to be calculated.
The method for planning the feed-through path evaluates the feed-through path to be calculated according to the internal winding resource redundancy of the module passed by the feed-through path to be calculated, and controls the feed-through path to be planned by selecting the module with rich internal winding resources, thereby overcoming the difficulty of the traditional wiring method, avoiding unreasonable occupation of the internal winding resources of the passed module, reducing the wiring difficulty, achieving the purpose of reducing the top winding resources of the integrated circuit, reducing the winding resources occupied by the feed-through path, reducing the area of the integrated circuit occupied by the wiring, reducing the research and development iteration time, reducing the cost of the integrated circuit, and improving the market competitiveness.
Embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings, but the present disclosure is not limited to these specific embodiments.
Fig. 2 is a schematic flow chart of a method for planning a feedthrough path according to at least one embodiment of the present disclosure.
For example, as shown in fig. 2, a method for planning a feedthrough path provided by an embodiment of the present disclosure includes steps S110 to S140. The method for planning the feed-through path provided by the embodiment of the disclosure is applied to the design of an integrated circuit, for example, chip design.
For example, as shown in fig. 1, an integrated circuit may include a plurality of modules, and the layout shapes and the layout positions of the plurality of modules may be determined during front-end design, for example, the layout shape of a module is the physical shape of the module in the integrated circuit, and the layout shape of a module may be a regular shape such as a rectangle (as shown in fig. 1) or an irregular shape; the layout position of a module is the coordinate position where the module is located in the integrated circuit. For example, each module includes a plurality of ports to enable data communication with other modules.
For example, the integrated circuit may be a digital integrated circuit.
First, in step S110, a feedthrough to be planned is acquired.
For example, the feedthrough to be planned is used to connect a first module and a second module of the plurality of modules, e.g., the first module and the second module are not adjacent.
For example, the plurality of modules included in the integrated circuit, the port condition of each of the plurality of modules, the port connection relationship between each of the modules and other modules, and the like are obtained according to the front-end design result of the integrated circuit, for example, if a first module and a second module in the plurality of modules have a logical port connection relationship and the first module and the second module are not adjacent, then the connection lines between the first module and the second module are all feed-throughs, and at this time, one or more connection lines arbitrarily selected from the connection lines between the first module and the second module can be used as feed-throughs to be planned.
It should be noted that, when the number of feedthroughs to be planned between two modules of the integrated circuit is greater than 1, the planning sequence of the feedthroughs to be planned may be set according to practical situations, and the disclosure does not limit this.
Next, at step S120, at least one feedthrough path to be calculated between the first module and the second module is determined according to the layout shapes of the plurality of modules, and the layout positions of the plurality of modules.
For example, each feedthrough path to be calculated in the at least one feedthrough path to be calculated passes through at least one module other than the first module and the second module in the plurality of modules.
For example, the at least one feedthrough path to be calculated represents all possible paths corresponding to the feedthrough to be planned, that is, the feedthrough to be planned may connect the first module and the second module by any one of the at least one feedthrough path to be calculated.
For example, the layout shapes and the layout positions of a plurality of modules are obtained, the adjacent relation among the modules is determined, so that at least one module between a first module and a second module is determined according to the determined adjacent relation to serve as an intermediate module through which a feed-through path to be calculated passes, different feed-through paths to be calculated are generated when a feed-through to be planned passes through different intermediate modules to complete feed-through, and in order to ensure that the feed-through paths to be calculated meet the requirements of a manhattan path, any intermediate module and other at least one intermediate module need to be in an adjacent relation with each other.
Next, in step S130, evaluation parameters respectively corresponding to at least one feedthrough path to be calculated are obtained.
For example, the evaluation parameter of each feedthrough path to be calculated in the at least one feedthrough path to be calculated includes a routing resource redundancy evaluation parameter, and the routing resource redundancy evaluation parameter includes an internal routing resource redundancy amount of at least one module passed by each feedthrough path to be calculated.
Fig. 3 is a schematic flowchart of step S130 in a method for planning a feedthrough path according to at least one embodiment of the present disclosure. For example, as shown in fig. 3, for the t-th to-be-calculated feedthrough path of the at least one to-be-calculated feedthrough path, for example, t is a positive integer and is less than or equal to the number of the at least one to-be-calculated feedthrough path, step S130 may include at least steps S1301-S1303.
In step S1301, M modules passed by the t-th feedthrough path to be calculated are determined, for example, M is a positive integer.
In step S1302, the internal winding resource redundancy amounts corresponding to the M modules are obtained.
For example, step S1302 may include: aiming at each module in the M modules, acquiring the total amount of internal winding resources and the used internal winding resources of each module; and acquiring the internal winding resource redundancy corresponding to each module according to the total internal winding resource amount of each module and the used internal winding resource amount.
In step S1303, the internal winding resource redundancy amounts corresponding to the M modules are used as the winding resource redundancy evaluation parameters in the evaluation parameters corresponding to the t-th to-be-calculated feedthrough path.
Besides the internal winding resources, the feed-through path planning of the integrated circuit can also consider the influence generated by the port number and the feed-through path length, so that the condition of each module is more comprehensively evaluated, more reasonable feed-through paths are obtained, the area of the integrated circuit occupied by wiring is further reduced, and the cost of the integrated circuit is reduced. For example, the evaluation parameter of each feedthrough path to be calculated may further include a path length evaluation parameter for evaluating the path length of the feedthrough path to be calculated and a port availability evaluation parameter for evaluating the port availability of each module through which the feedthrough path to be calculated passes.
Fig. 4 is a schematic flowchart of step S130 in a method for planning a feedthrough path according to at least one embodiment of the present disclosure. For example, as shown in fig. 4, step S130 may further include steps S1304-S1305.
In step S1304, a path length of the t-th to-be-calculated feedthrough path is obtained, and the path length is used as a path length evaluation parameter in evaluation parameters corresponding to the t-th to-be-calculated feedthrough path.
In step S1305, M available port numbers corresponding to M modules through which the t-th to-be-calculated feedthrough path passes are obtained, and the M available port numbers are used as available port evaluation parameters in the evaluation parameters corresponding to the t-th to-be-calculated feedthrough path.
For example, in M modules, the available number of ports corresponding to each module represents the number of ports available in the plurality of ports corresponding to each module.
For example, in step S1305, the obtaining the available number of M ports corresponding to M modules through which the t-th feedthrough path to be calculated passes may include: for the ith module in the M modules, determining a first passing edge and a second passing edge of the t piece of feed-through path to be calculated, which passes through the ith module; acquiring the available number of first ports corresponding to the first passing edge and the available number of second ports corresponding to the second passing edge; taking the available number of the first ports and the available number of the second ports as the available number of the ports corresponding to the ith module; for example, i is a positive integer and is equal to or less than M.
For example, where the feedthroughs of the planned feedthrough path in the integrated circuit are planned feedthroughs, obtaining the available number of first ports corresponding to the first pass-through edge and the available number of second ports corresponding to the second pass-through edge may include: acquiring the maximum available number of first ports corresponding to the first passing edge and the maximum available number of second ports corresponding to the second passing edge; acquiring the occupied number of first ports corresponding to the first passing edge; acquiring the occupied quantity of second ports corresponding to the second passing edge; subtracting the occupied number of the first port from the maximum number available to the first port to obtain the available number of the first port; the second port occupation number is subtracted from the maximum number available for the second port to obtain the second port available number.
For example, the maximum number available for the first port may represent the number of remaining ports of all ports of the first pass-through edge except ports already occupied by communication, data interaction requirements, etc. with neighboring modules at the time of the integrated circuit front-end design. The second port may represent the number of remaining ports, among all ports of the second pass-through edge, except for occupied ports for communication with neighboring modules, data interaction requirements, and the like during front-end design of the integrated circuit.
For example, the first port occupation number represents the number of ports occupied by the feedthrough path with the planned feedthrough in the ports corresponding to the first passing edge, for example, the feedthrough to be planned is the first planned feedthrough in all the feedthroughs, that is, the feedthrough path with the planned feedthrough path does not exist yet, the first port occupation number corresponding to the first passing edge may be 0, for example, the feedthrough path with the planned feedthrough path exists in the integrated circuit, and the first port occupation number represents the number of ports occupied by the feedthrough path with the planned feedthrough in the ports corresponding to the first passing edge, for example, 5.
For example, the occupied number of the second port represents the number of ports occupied by the feedthrough path with the planned feedthrough in the ports corresponding to the second passing edge, and the obtaining process is the same as the available number of the first ports, which is not described herein again.
Finally, in step S140, a feedthrough path of the feedthrough to be planned is selected from the at least one feedthrough path to be calculated, based on the evaluation parameters.
For example, step S140 may include: based on the evaluation parameters, calculating cost function values respectively corresponding to at least one feed-through path to be calculated by using the cost function; and taking the feed-through path to be calculated corresponding to the minimum value in the cost function values respectively corresponding to at least one feed-through path to be calculated as the feed-through path of the feed-through to be planned.
Fig. 5 is a schematic flowchart of step S140 in a method for planning a feedthrough path according to at least one embodiment of the present disclosure. For example, as shown in fig. 5, for the t-th to-be-calculated feedthrough path of the at least one to-be-calculated feedthrough path, calculating cost function values respectively corresponding to the t-th to-be-calculated feedthrough path by using a cost function based on the evaluation parameter may include steps S1401 to S1404.
In step S1401: and determining the routing redundancy cost value corresponding to the t-th to-be-calculated feed-through path according to the routing resource redundancy evaluation parameter corresponding to the t-th to-be-calculated feed-through path.
For example, step S1401 may include: determining M modules passed by the t-th feed-through path to be calculated; determining the internal winding resource redundancy corresponding to the M modules respectively according to the winding resource redundancy evaluation parameter corresponding to the t-th feed-through path to be calculated; determining internal winding redundancy cost values corresponding to the M modules respectively according to the internal winding resource redundancy quantities corresponding to the M modules respectively; and adding the internal winding redundancy cost values corresponding to the M modules respectively to obtain the winding redundancy cost value corresponding to the t-th feed-through path to be calculated.
For example, the internal winding resource redundancy amount corresponding to each of the M modules and the internal winding redundancy cost value corresponding to each of the M modules are in a negative correlation relationship, that is, the larger the internal winding resource redundancy amount corresponding to each module is, the smaller the internal winding redundancy cost value corresponding to the module is, so that the smaller the cost function value corresponding to the module with the larger internal winding resource redundancy amount is, and the module with the richer winding resources is selected as the module through which the feedthrough path of the feedthrough to be planned passes through by the cost function.
It should be noted that, if the redundancy of the internal routing resources of a certain module of the M modules is a negative value, the module cannot provide a routing path for the feedthrough path to be calculated, so the cost value of the internal routing redundancy of the module can be set to a maximum value, so as to avoid selecting the feedthrough path to be calculated through the cost function.
In step S1402: and determining the feed-through path cost value corresponding to the t-th feed-through path to be calculated according to the path length evaluation parameters corresponding to the t-th feed-through path to be calculated.
For example, the path length evaluation parameter corresponding to the t-th to-be-calculated feed-through path has a positive correlation with the feed-through path cost value corresponding to the t-th to-be-calculated feed-through path, that is, the shorter the path length corresponding to the t-th to-be-calculated feed-through path is, the smaller the feed-through path cost value corresponding to the t-th to-be-calculated feed-through path is, so that the smaller the cost function value corresponding to the to-be-calculated feed-through path having the shorter feed-through path length is, the feed-through path to be calculated with the shorter feed-through path length is selected as the final feed-through path of the to-be-planned feed-through by the cost function, and the.
In step S1403: and determining the occupation cost value of the port corresponding to the t-th to-be-calculated feed-through path according to the available evaluation parameters of the port corresponding to the t-th to-be-calculated feed-through path.
For example, step S1403 may include: determining M modules passed by the t-th feed-through path to be calculated; determining the available number of ports corresponding to the M modules according to the available evaluation parameters of the ports corresponding to the t-th feed-through path to be calculated; determining the port occupation cost values corresponding to the M modules according to the available number of the ports corresponding to the M modules; and adding the port occupation cost values respectively corresponding to the M modules to obtain the port occupation cost value corresponding to the t-th feed-through path to be calculated.
For example, for a jth module of the M modules, for example, j is a positive integer and is less than or equal to M, determining, according to the available number of ports corresponding to the jth module, port occupation cost values corresponding to the jth module may include: determining the available number of first ports and the available number of second ports corresponding to the jth module according to the available number of ports corresponding to the jth module; determining a first occupation cost value corresponding to a jth module according to the available number of first ports corresponding to the jth module; determining a second occupation cost value corresponding to the jth module according to the available number of the second ports corresponding to the jth module; and adding the first occupation cost value corresponding to the jth module and the second occupation cost value corresponding to the jth module to obtain the port occupation cost value corresponding to the jth module.
For example, the available number of the first ports corresponding to the jth module and the first occupied cost value corresponding to the jth module are in a negative correlation relationship, for example, the available number of the second ports corresponding to the jth module and the second occupied cost value corresponding to the jth module are in a negative correlation relationship, that is, the larger the available number of the first ports corresponding to each module is, the smaller the first occupied cost value corresponding to the module is, the larger the available number of the second ports corresponding to each module is, the smaller the second occupied cost value corresponding to the module is, so that the cost function value corresponding to the module with the larger available number of ports is smaller, and the module with the larger available number of ports is selected as the module through which the feedthrough path of the feedthrough to be planned passes.
It should be noted that, if the available number of first ports of a certain module of the M modules is less than or equal to 0, for example, the maximum available number of first ports is less than or equal to the occupied number of first ports, the first edge passing through of the certain module cannot provide a port for the feedthrough path to be calculated, so the first occupied cost value corresponding to the certain module can be set to the maximum value to avoid selecting the feedthrough path to be calculated through the cost function. Similarly, if the available number of the second ports of a certain module of the M modules is less than or equal to 0, the second passing edge of the certain module cannot provide the ports for the feedthrough path to be calculated, and the second occupied cost value corresponding to the certain module may be set to be the maximum value, so as to avoid selecting the feedthrough path to be calculated through the cost function.
In step S1404: and calculating the winding redundancy cost value, the feed-through path cost value and the port occupation cost value by using the cost function so as to obtain a cost function value corresponding to the t-th feed-through path to be calculated.
For example, the cost function value corresponding to the t-th feed-through path to be calculated is expressed by the formula (1):
(t) ═ a × g (t) + b × h (t) + c × m (t) formula (1)
For example, t is the number of the t-th feedthrough path to be calculated, f (×) is a cost function, f (t) is a cost function value corresponding to the t-th feedthrough path to be calculated, g (t) is a port occupation cost value corresponding to the t-th feedthrough path to be calculated, h (t) is a feedthrough path cost value corresponding to the t-th feedthrough path to be calculated, and m (t) is a winding redundancy cost value corresponding to the t-th feedthrough path to be calculated.
For example, a is a weight value corresponding to a port occupation cost value corresponding to the t-th to-be-calculated feed-through path, b is a weight value corresponding to a feed-through path cost value corresponding to the t-th to-be-calculated feed-through path, c is a weight value corresponding to a winding redundancy cost value corresponding to the t-th to-be-calculated feed-through path, a, b, and c are determined according to the port occupation condition, the internal winding resource redundancy amount, and the layout shape of the plurality of modules, and a, b, and c are constants.
For example, the parameters a, b, and c may be adjusted according to the self condition of the integrated circuit, for example, the multiple modules of the integrated circuit, the port occupation condition of each module, and the redundant condition of the routing resource are obtained according to the front end design result of the integrated circuit, if the port occupation ratio of the multiple modules in the integrated circuit is high, that is, the available number of the ports of each module is small, then a is set to be a little larger, so as to improve the proportion of the available evaluation parameters of the ports in the cost function; if the integrated circuit is large in shape and needs a shorter feed-through path to meet the program time sequence requirement, setting b to be a bit larger so as to improve the proportion of path length evaluation parameters in the cost function; if the internal winding resources of the integrated circuit are tense, namely the winding resource redundancy of each module is less, c is set to be a little larger so as to improve the proportion of the winding resource redundancy evaluation parameters in the cost function. And the parameters a, b and c are determined and completed according to the self condition of the integrated circuit before the feed-through path planning starts, and are kept unchanged in the feed-through path planning process.
In the method for planning the feed-through path provided by the embodiment of the disclosure, the cost function value required by each feed-through path to be calculated of the feed-through to be planned is evaluated through the cost function, so as to find out the optimal path. The cost function can evaluate not only the port occupancy rate and the whole path length of each module through which the feed-through path to be calculated passes, but also the internal winding resources of each module through which the feed-through path to be calculated passes. The method comprises the steps that modules with rich internal winding resources are distributed with higher weight values to control the path of the feed-through to be planned to pass through the modules preferentially; the purpose of reducing the winding resources at the top layer of the integrated circuit is achieved by occupying the redundant winding resources inside the module, so that the problem of difficulty of the traditional wiring method is solved, the occupied winding resources are reduced, the research and development iteration time is reduced, the wiring difficulty is reduced, the wiring occupation area is reduced, the cost of the integrated circuit is reduced to a certain extent, and the product market competitiveness is improved.
For example, to increase the iteration efficiency to increase the speed of path-to-path planning, all to-be-planned feedthroughs between the first module and the second module may be used as a set of to-be-planned feedthrough sets for planning, and feedthrough paths of all to-be-planned feedthroughs in the to-be-planned feedthrough sets are the same, then for the t-th to-be-calculated feedthrough path, based on the evaluation parameter, the calculating, by using a cost function, cost function values respectively corresponding to at least one to-be-calculated feedthrough path may include: determining a winding redundancy cost value corresponding to the t-th feedthrough path to be calculated according to the winding resource redundancy evaluation parameter corresponding to the t-th feedthrough path to be calculated; determining the feed-through path cost value corresponding to the t-th feed-through path to be calculated according to the path length evaluation parameters corresponding to the t-th feed-through path to be calculated; determining the occupation cost value of the port corresponding to the t-th to-be-calculated feed-through path according to the available evaluation parameters of the port corresponding to the t-th to-be-calculated feed-through path and the number of feed-through to be planned in the feed-through group to be planned; and calculating the winding redundancy cost value, the feed-through path cost value and the port occupation cost value by using the cost function so as to obtain a cost function value corresponding to the t-th feed-through path to be calculated.
For example, determining the port occupation cost value corresponding to the t-th to-be-calculated feed-through path according to the available evaluation parameters of the port corresponding to the t-th to-be-calculated feed-through path and the number of to-be-planned feed-through in the feed-through group to be planned may include: determining M modules passed by the t-th feed-through path to be calculated; determining the available number of ports corresponding to the M modules according to the available evaluation parameters of the ports corresponding to the t-th feed-through path to be calculated; determining the port occupation cost values corresponding to the M modules according to the available port number corresponding to the M modules and the number of feedthroughs to be planned in the feedthru group to be planned; and adding the port occupation cost values respectively corresponding to the M modules to obtain the port occupation cost value corresponding to the t-th feed-through path to be calculated.
For example, for a jth module of M modules, when determining a port occupation cost value corresponding to the jth module according to the port available number corresponding to the jth module and the number of feedthroughs to be planned in a feedthru group to be planned, first determining a size relationship between the first port available number corresponding to the jth module and the number of feedthroughs to be planned in the feedthru group to be planned, then determining a first occupation cost value and a second occupation cost value corresponding to the jth module according to the size relationship, and finally adding the first occupation cost value corresponding to the jth module and the second occupation cost value corresponding to the jth module to obtain the port occupation cost value corresponding to the jth module.
For example, if the available number of the first ports corresponding to the jth module is less than the number of the feedthroughs to be planned in the feedthru group to be planned, the first occupied cost value corresponding to the jth module is set as a maximum value, so as to avoid selecting the feedthru path to be calculated through a cost function; for example, if the available number of the first ports corresponding to the jth module is greater than or equal to the number of the to-be-planned feedthroughs in the to-be-planned feedthroughs group, according to the foregoing process, the greater the available number of the first ports corresponding to the jth module is, the smaller the first occupation cost value corresponding to the jth module is; for example, if the available number of the second ports corresponding to the jth module is less than the number of the feedthroughs to be planned in the feedthru group to be planned, the second occupied cost value corresponding to the jth module is set as a maximum value, so as to avoid selecting the feedthru path to be calculated through a cost function; for example, if the available number of second ports corresponding to the jth module is greater than or equal to the number of feedthroughs to be planned in the feedthrough set to be planned, according to the foregoing process, the greater the available number of second ports corresponding to the jth module is, the smaller the second occupation cost value corresponding to the jth module is.
Fig. 6 is a schematic process diagram of a feedthrough path planning method according to at least one embodiment of the present disclosure. For example, as shown in fig. 6, the integrated circuit includes 6 modules, module 1 to module 6, where module 2 is adjacent to module 1, module 3, and module 4, and module 5 is adjacent to module 3, module 4, and module 6. For example, the modules 1 and 6 are not adjacent to each other and it can be known from the front end design that 10 ports between the modules 1 and 6 need to be connected to transmit data, for example, when the feed-through path is planned, the modules 1 and 6 are selected to perform feed-through path planning, and then the other modules are subjected to feed-through path planning.
The following specifically describes the implementation of the method of the present disclosure, taking the method for planning the feedthrough path set between the module 1 and the module 6 as an example.
In step S110, a feedthrough to be planned is acquired. For example, as shown in the upper left block of fig. 6, the first module is module 1, the second module is module 6, the to-be-planned feed-throughs are used to connect module 1 and module 6, the set of to-be-planned feed-throughs includes 10 to-be-planned feed-throughs between module 1 and module 6, and the feed-through paths of the 10 to-be-planned feed-throughs are the same.
In step S120, at least one feedthrough path to be calculated between the module 1 and the module 6 is determined based on the layout shape and the layout position of the 6 modules shown in fig. 6. For example, there are two to-be-calculated feed-through paths satisfying the condition between the module 1 and the module 6, such as the feed-through path (1) and the feed-through path (2) shown in the upper right block of fig. 6, where the feed-through path (1) is one to-be-calculated feed-through path passing through the module 2, the module 3, and the module 4, and the feed-through path (2) is another to-be-calculated feed-through path passing through the module 2, the module 4, and the module 5.
In step S130, evaluation parameters corresponding to the feedthrough path (1) and the feedthrough path (2) are obtained, and the obtaining process of the evaluation parameters is specifically described with reference to steps S1301 to S1305 by taking the feedthrough path (1) as an example, and the obtaining process of the feedthrough path (2) is the same as the feedthrough path (1), and is not described again here.
When the t-th to-be-calculated feed-through path is the feed-through path (1) shown in fig. 1, the M blocks passed by the t-th to-be-calculated feed-through path are respectively the block 2, the block 3 and the block 5, and when the t-th to-be-calculated feed-through path is the feed-through path (2), the M blocks passed by the t-th to-be-calculated feed-through path are respectively the block 2, the block 4 and the block 5. Taking the feedthrough path (1) as an example, acquiring the evaluation parameter of the feedthrough path (1) includes acquiring a routing resource redundancy evaluation parameter, a path length evaluation parameter and a port available evaluation parameter corresponding to the feedthrough path (1).
When the winding resource redundancy evaluation parameter corresponding to the feedthrough path (1) is obtained, the internal winding resource redundancy amounts corresponding to the three modules are obtained according to the step S1302, and then the winding resource redundancy evaluation parameter in the evaluation parameter corresponding to the feedthrough path (1) is obtained according to the step S1303.
For example, obtaining the internal winding resource redundancy corresponding to the module 2 may include: the total amount of the internal winding resources of the module 2 is obtained according to the layout shape of the module 2 and the integrated circuit process, and the used internal winding resource amount of the module 2 is obtained according to the front end design result of the module 2, so that the redundant amount of the internal winding resources corresponding to the module 2 is obtained according to the total amount of the internal winding resources of the module 2 and the used internal winding resource amount. For example, if the total amount of internal winding resources of the module 2 is 100 winding paths, and 70 winding paths are already used by the module 2 in the front-end design, the amount of internal winding resource redundancy of the module 2 is 30 winding paths. Similarly, the foregoing steps are performed on the modules 3 and 5 to obtain the internal winding resource redundancy amounts corresponding to the modules 3 and 5, for example, the internal winding resource redundancy amount of the module 3 is 40 winding paths, and the internal winding resource redundancy amount of the module 5 is 20 winding paths.
The path length evaluation parameter corresponding to the feedthrough path (1) can be obtained with reference to step S1304, and is not described herein again.
When the available evaluation parameters of the ports corresponding to the feed-through path (1) are obtained, the available number of the 3 ports corresponding to the 3 modules passed by the feed-through path (1) is obtained, and the available number of the 3 ports is used as the available evaluation parameters of the ports in the evaluation parameters corresponding to the feed-through path (1).
For example, the integrated circuit process uses a 7nm (nanometer) process, and for the module 2 passed by the feed-through path (1), the layout shape is 100um × 100um (i.e., the length of the module 2 is 100um (micrometer), and the width is 100um), and then a maximum of 300 ports are calculated on each side of the module 2 according to the integrated circuit process parameters. Acquiring the available number of ports corresponding to the module 2 may include the following steps.
First, a first pass-through edge and a second pass-through edge of the module 2 are determined, for example, the first pass-through edge may be an edge through which a feedthrough enters the module 2, for example, the first pass-through edge is an edge a1 of the module 2 as shown in fig. 6, and the second pass-through edge is an edge through which a feedthrough exits the module 2, for example, the second pass-through edge is an edge a2 of the module 2 as shown in fig. 6.
Next, since the module 2 occupies a part of the ports of the module 2 due to the communication and data interaction requirements with the adjacent module during the front-end design, for example, the first passing edge of the module 2 is occupied by 200 ports, and the second passing edge of the module 2 is occupied by 240 ports, obtaining the available number of the first ports corresponding to the first passing edge and the available number of the second ports corresponding to the second passing edge of the module 2 may include: acquiring the maximum available number of first ports corresponding to the first passing edge, namely 300 and 200 to 100 ports; acquiring the maximum available number of second ports corresponding to the second passing edge, namely 300 and 240 to 60 ports; acquiring the occupied number of first ports corresponding to the first passing edge, wherein the occupied number of the first ports is 0 as the feed-through paths of the module 1 and the module 6 are the first group of planned feed-through groups to be planned; acquiring the occupied number of second ports corresponding to the second passing edge, wherein the occupied number of the second ports is 0 in the same way; subtracting the first port occupation number from the maximum number available for the first port to obtain the available number for the first port, that is, the available number for the first port is 100 ports, where the available number for the first port is 100-0; the occupied number of the second port is subtracted from the maximum number available for the second port to obtain the available number of the second port, that is, the available number of the second port is 60-0 — 60 ports.
Finally, the first port available number (100 ports) and the second port available number (60 ports) are set as the port available number corresponding to the module 2.
Similarly, the above steps are performed on the modules 3 and 5 to obtain the available numbers of ports corresponding to the modules 3 and 5, for example, the available number of the first ports of the module 3 is 110 ports, the available number of the second ports is 80 ports, the available number of the first ports of the module 5 is 65 ports, and the available number of the second ports is 80 ports.
In step S140, based on the evaluation parameter, cost function values corresponding to the feedthrough paths (1) and (2) are calculated by using the cost function, so that the feedthrough path to be calculated corresponding to the minimum value of the two cost function values is used as the feedthrough path to be planned.
Here, the calculation process of the cost function value is specifically described with reference to steps S1401 to S1404 by taking the feed-through path (1) as an example, and the calculation process of the feed-through path (2) is the same as that of the feed-through path (1), and is not described herein again.
First, referring to step S1401, a winding redundancy cost value corresponding to the t-th to-be-calculated feedthrough path is determined according to the winding resource redundancy evaluation parameter corresponding to the feedthrough path (1). For example, the internal winding resource redundancy of the module 2 is 30 winding paths, the internal winding redundancy cost value is determined to be 5, the internal winding resource redundancy of the module 3 is 40 winding paths, the internal winding redundancy cost value is determined to be 3, the internal winding resource redundancy of the module 5 is 20 winding paths, and the internal winding redundancy cost value is determined to be 6. The winding redundancy cost value of the feed-through path (1) is the sum of the internal winding redundancy cost values of the modules 2, 3 and 5, i.e. 5+3+6 equals 14. It should be noted that the specific relationship between the internal winding resource redundancy amount and the internal winding redundancy cost value may be set according to practical situations, and the embodiment of the disclosure is not limited to this.
Next, referring to step S1402, the feedthrough path cost value corresponding to the feedthrough path (1) is determined according to the path length evaluation parameter corresponding to the feedthrough path (1). For example, the feed-through path cost value corresponding to the feed-through path (1) is determined to be 5.
Next, referring to step S1403, the port occupation cost value corresponding to the feedthrough path (1) is determined according to the port available evaluation parameter corresponding to the feedthrough path (1).
For example, for module 2, if the available number of first ports is 100 ports, the corresponding first occupied cost value is 3, the available number of second ports is 60 ports, and the corresponding second occupied cost value is 10, the port occupied cost value corresponding to module 2 is 3+10 — 13; for module 3, the available number of first ports is 110 ports, the corresponding first occupied cost value is 2, the available number of second ports is 80 ports, and the corresponding second occupied cost value is 5, then the port occupied cost value corresponding to module 3 is 5+2 — 7; for module 5, the available number of first ports is 65 ports, the corresponding first occupied cost value is 8, the available number of second ports is 80 ports, and the corresponding second occupied cost value is 5, then the port occupied cost value corresponding to module 5 is 8+5 — 13. The port occupation cost value of the feedthrough path (1) is the sum of the port occupation cost values of the module 2, the module 3 and the module 5, i.e., 13+13+7 equals 33. It should be noted that, the specific relationship between the available number of the first ports and the first occupation cost value, and the specific relationship between the available number of the second ports and the second occupation cost value may be set according to actual situations, and the embodiment of the present disclosure is not limited to this.
Next, referring to step S1404, the winding redundancy cost value, the feedthrough path cost value, and the port occupation cost value are calculated by using the cost function, so as to obtain a cost function value corresponding to the feedthrough path (1).
For example, according to the situation of the integrated circuit itself, a weight value a corresponding to the port occupation cost value corresponding to the feed-through path (1) is set to 2, a weight value b corresponding to the feed-through path cost value corresponding to the feed-through path (1) is set to 1, a weight value c corresponding to the routing redundancy cost value corresponding to the feed-through path (1) is set to 3, thereby obtaining a cost function value corresponding to the feed-through path (1) through calculation according to the formula (1), where a is 2, b is 1, c is 3, g (t) is the port occupation cost value corresponding to feedthrough path (1), i.e. 33, h (t) is the feedthrough path cost value corresponding to feedthrough path (1), i.e. 5, m (t) is the winding redundancy cost value corresponding to feedthrough path (1), i.e. 14, the cost function value of the feed-through path (1) is f (1) — 2 × 33+1 × 5+3 × 14 ═ 113.
Similarly, if the above steps are performed on the feedthrough path (2) to obtain the cost function value of the feedthrough path (2), for example, 156, the cost function value of the feedthrough path (1) is smaller than that of the feedthrough path (2), that is, the feedthrough path (1) is selected as the feedthrough path of the feedthrough between the module 1 and the module 6, and the feedthrough paths of 10 feedthroughs between the module 1 and the module 6 are all the feedthrough paths (1).
Any two non-adjacent blocks in the integrated circuit may then be selected to plan their feedthrough paths, e.g., block 1 is selected as the first block and block 5 is selected as the second block, and the feedthrough paths are planned for blocks 1 and 5 with reference to the above steps. It should be noted that, since the planning of the feedthrough group to be planned between the module 1 and the module 6 is completed at one time in the first planning, when the available number of ports is obtained in step S1305, for example, for the module 2, if the feedthrough path (1) occupies 10 ports of the first passing edge and the second passing edge of the module 2, and the feedthrough paths to be calculated of the module 1 and the module 5 pass through the first passing edge and the second passing edge of the module 2, the number occupied by the first port corresponding to the first passing edge of the module 2 is 10, and the number occupied by the second port corresponding to the second passing edge of the module 2 is also 10.
Corresponding to the above method for planning a feedthrough path, at least one embodiment of the present disclosure further provides a device for planning a feedthrough path, and fig. 7 is a schematic block diagram of the device for planning a feedthrough path provided by at least one embodiment of the present disclosure.
For example, as shown in fig. 7, a feedthrough path planning apparatus 700 includes: a feedthrough acquisition unit 701, a feedthrough path calculation unit 702, an evaluation parameter acquisition unit 703, and a feedthrough path planning unit 704.
The feedthrough acquisition unit 701 is used to acquire a feedthrough to be planned. For example, a feedthrough to be planned is used to connect a first module and a second module of the plurality of modules, the first module and the second module not being adjacent.
The feedthrough path calculation unit 702 is configured to determine at least one feedthrough path to be calculated between the first module and the second module according to the layout shape of the plurality of modules and the layout position of the plurality of modules, for example, each feedthrough path to be calculated in the at least one feedthrough path to be calculated passes through at least one module other than the first module and the second module in the plurality of modules.
The evaluation parameter obtaining unit 703 is configured to obtain evaluation parameters corresponding to at least one feedthrough path to be calculated, for example, the evaluation parameter of each feedthrough path to be calculated in the at least one feedthrough path to be calculated includes a routing resource redundancy evaluation parameter, and the routing resource redundancy evaluation parameter includes an internal routing resource redundancy of at least one module through which each feedthrough path to be calculated passes.
The feedthrough path planning unit 704 is configured to select a feedthrough path of a feedthrough to be planned from the at least one feedthrough path to be calculated, based on the evaluation parameter.
For example, in some embodiments, when the evaluation parameter acquiring unit 703 acquires the evaluation parameters corresponding to at least one feed-through path to be calculated, the evaluation parameter acquiring unit 703 performs the following operations: for the t-th feed-through path to be calculated in the at least one feed-through path to be calculated: determining M modules passed by a t-th feed-through path to be calculated, wherein M is a positive integer; obtaining the internal winding resource redundancy corresponding to the M modules respectively; and taking the internal winding resource redundancy corresponding to the M modules as a winding resource redundancy evaluation parameter in the evaluation parameters corresponding to the t-th feed-through path to be calculated, wherein t is a positive integer and is less than or equal to the number of at least one feed-through path to be calculated.
For example, in some embodiments, the evaluation parameters of each feedthrough path to be calculated further include a path length evaluation parameter and a port available evaluation parameter, each module in the plurality of modules includes a plurality of ports, and when the evaluation parameter obtaining unit 703 performs obtaining evaluation parameters respectively corresponding to at least one feedthrough path to be calculated, the evaluation parameter obtaining unit 703 performs the following operations: acquiring the path length of the t-th feed-through path to be calculated, and taking the path length as a path length evaluation parameter in evaluation parameters corresponding to the t-th feed-through path to be calculated; the method includes the steps of obtaining available numbers of M ports corresponding to M modules through which a t-th to-be-calculated feed-through path passes, and using the available numbers of M ports as available evaluation parameters of ports in evaluation parameters corresponding to the t-th to-be-calculated feed-through path, for example, the available number of ports corresponding to each of the M modules represents the number of available ports in a plurality of ports corresponding to each of the M modules.
For example, in some embodiments, the feedthrough path planning unit 704 includes a cost function calculation subunit and a feedthrough path selection subunit.
For example, the cost function calculation subunit is configured to calculate, based on the evaluation parameter, cost function values respectively corresponding to the at least one feedthrough path to be calculated using the cost function.
For example, the feedthrough path selection subunit is configured to use the feedthrough path to be calculated corresponding to the minimum value in the cost function values respectively corresponding to the at least one feedthrough path to be calculated as the feedthrough path of the feedthrough to be planned.
For example, in some embodiments, when the cost function calculation subunit performs, based on the evaluation parameter, to calculate the cost function value corresponding to each of the at least one feedthrough path to be calculated by using the cost function, the cost function calculation subunit performs the following operations: for the t-th feedthrough path to be calculated: according to the routing resource redundancy evaluation parameters corresponding to the t-th to-be-calculated feed-through path, the routing redundancy cost value corresponding to the t-th to-be-calculated feed-through path is determined, according to the path length evaluation parameters corresponding to the t-th to-be-calculated feed-through path, the feed-through path cost value corresponding to the t-th to-be-calculated feed-through path is determined, according to the available evaluation parameters of the port corresponding to the t-th to-be-calculated feed-through path, the port occupation cost value corresponding to the t-th to-be-calculated feed-through path is determined, and the routing redundancy cost value, the feed-through path cost value and the port occupation cost value are calculated by using the cost function, so that the cost function value corresponding.
For example, the feedthrough acquisition unit 701, the feedthrough path calculation unit 702, the evaluation parameter acquisition unit 703, and the feedthrough path planning unit 704 include codes and programs stored in a memory; the processor may execute the code and program to implement some or all of the functions of the feedthrough acquisition unit 701, the feedthrough path calculation unit 702, the evaluation parameter acquisition unit 703, and the feedthrough path planning unit 704 as described above. For example, the feedthrough acquisition unit 701, the feedthrough path calculation unit 702, the evaluation parameter acquisition unit 703, and the feedthrough path planning unit 704 may be dedicated hardware devices for implementing some or all of the functions of the feedthrough acquisition unit 701, the feedthrough path calculation unit 702, the evaluation parameter acquisition unit 703, and the feedthrough path planning unit 704 as described above. For example, the feedthrough acquisition unit 701, the feedthrough path calculation unit 702, the evaluation parameter acquisition unit 703, and the feedthrough path planning unit 704 may be one circuit board or a combination of a plurality of circuit boards for realizing the functions as described above. In the embodiment of the present application, the one or a combination of a plurality of circuit boards may include: (1) one or more processors; (2) one or more non-transitory memories connected to the processor; and (3) firmware stored in the memory executable by the processor.
It should be noted that the feedthrough acquisition unit 701 is configured to implement step S110 shown in fig. 2, the feedthrough path calculation unit 702 is configured to implement step S120 shown in fig. 2, the evaluation parameter acquisition unit 703 is configured to implement step S130 shown in fig. 2, and the feedthrough path planning unit 704 is configured to implement step S140 shown in fig. 2. Thus, for a specific description of the feedthrough acquisition unit 701, reference may be made to the description related to step S110 shown in fig. 2 in the embodiment of the feedthrough path planning method, for a specific description of the feedthrough path calculation unit 702, reference may be made to the description related to step S120 shown in fig. 2 in the embodiment of the feedthrough path planning method, for a specific description of the evaluation parameter acquisition unit 703, reference may be made to the description related to step S130 shown in fig. 2 in the embodiment of the feedthrough path planning method, and for a specific description of the feedthrough path planning unit 704, reference may be made to the description related to step S140 shown in fig. 2 in the embodiment of the feedthrough path planning method. In addition, the feedthrough path planning apparatus can achieve similar technical effects to the feedthrough path planning method described above, and is not described herein again.
At least one embodiment of the present disclosure further provides an electronic device, and fig. 8 is a schematic block diagram of the electronic device provided in at least one embodiment of the present disclosure.
For example, as shown in fig. 8, the electronic apparatus includes a processor 1001, a communication interface 1002, a memory 1003, and a communication bus 1004. The processor 1001, the communication interface 1002, and the memory 1003 communicate with each other via the communication bus 1004, and components such as the processor 1001, the communication interface 1002, and the memory 1003 may communicate with each other via a network connection. The present disclosure is not limited herein as to the type and function of the network.
For example, memory 1003 is used to store computer-executable instructions non-transiently. When the processor 1001 is configured to execute the computer-executable instructions, the computer-executable instructions are executed by the processor 1001 to implement the method for planning a feedthrough path according to any of the embodiments described above. For specific implementation and related explanation of each step of the method for planning a feedthrough path, reference may be made to the above-mentioned embodiment of the method for planning a feedthrough path, which is not described herein again.
For example, the implementation manner of the method for planning a feedthrough path implemented by the processor 1001 executing the program stored in the memory 1003 is the same as the implementation manner mentioned in the foregoing embodiment of the method for planning a feedthrough path, and is not described here again.
For example, the communication bus 1004 may be a peripheral component interconnect standard (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The communication bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown, but this does not mean that there is only one bus or one type of bus.
For example, communication interface 1002 is used to enable communication between an electronic device and other devices.
For example, the processor 1001 and the memory 1003 may be provided on a server side (or a cloud side).
For example, the processor 1001 may control other components in the electronic device to perform desired functions. The processor 1001 may be a Central Processing Unit (CPU), a Network Processor (NP), etc., and may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components. The Central Processing Unit (CPU) may be an X86 or ARM architecture, etc.
For example, memory 1003 may include any combination of one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and/or non-volatile memory. Volatile memory can include, for example, Random Access Memory (RAM), cache memory (or the like). The non-volatile memory may include, for example, Read Only Memory (ROM), a hard disk, an Erasable Programmable Read Only Memory (EPROM), a portable compact disc read only memory (CD-ROM), USB memory, flash memory, and the like. On which one or more computer-executable instructions may be stored and executed by the processor 1001 to implement various functions of the electronic device. Various application programs and various data and the like can also be stored in the storage medium.
For example, for a detailed description of a process of the electronic device executing the feedthrough path planning method, reference may be made to the related description in the embodiment of the feedthrough path planning method, and repeated descriptions are omitted here.
Fig. 9 is a schematic diagram of a non-transitory computer-readable storage medium according to at least one embodiment of the disclosure. For example, as shown in fig. 9, one or more computer-executable instructions 1101 may be non-temporarily stored on a storage medium 1100. For example, the computer-executable instructions 1101, when executed by a processor, may perform one or more steps of a method of planning a feedthrough path according to the above.
For example, the storage medium 1100 may be applied to the electronic device and/or the planning apparatus 1400 for a feedthrough path described above. For example, the storage medium 1100 may include the memory 1003 in the electronic device.
For example, the description of the storage medium 1100 may refer to the description of the memory in the embodiment of the electronic device, and repeated descriptions are omitted.
For the present disclosure, there are also the following points to be explained:
(1) the drawings of the embodiments of the disclosure only relate to the structures related to the embodiments of the disclosure, and other structures can refer to the common design.
(2) Thicknesses and dimensions of layers or structures may be exaggerated in the drawings used to describe embodiments of the present invention for clarity. It will be understood that when an element such as a layer, film, region, or substrate is referred to as being "on" or "under" another element, it can be "directly on" or "under" the other element or intervening elements may be present.
(3) Without conflict, embodiments of the present disclosure and features of the embodiments may be combined with each other to arrive at new embodiments.
The above description is only for the specific embodiments of the present disclosure, but the scope of the present disclosure is not limited thereto, and the scope of the present disclosure should be subject to the scope of the claims.

Claims (24)

1. A method of planning a feedthrough path for application to a design of an integrated circuit, wherein the integrated circuit includes a plurality of modules each having a layout shape and a layout position, the method comprising:
obtaining a feedthrough to be planned, wherein the feedthrough to be planned is used for connecting a first module and a second module of the plurality of modules, and the first module and the second module are not adjacent;
determining at least one feed-through path to be calculated between the first module and the second module according to the layout shape of the modules and the layout positions of the modules, wherein each feed-through path to be calculated in the at least one feed-through path to be calculated passes through at least one module except the first module and the second module in the modules;
obtaining evaluation parameters corresponding to the at least one feed-through path to be calculated respectively, wherein the evaluation parameters of each feed-through path to be calculated in the at least one feed-through path to be calculated comprise routing resource redundancy evaluation parameters, and the routing resource redundancy evaluation parameters comprise internal routing resource redundancy of at least one module passed by each feed-through path to be calculated;
selecting a feedthrough path of the feedthrough to be planned from the at least one feedthrough path to be calculated based on the evaluation parameter.
2. The method of claim 1, wherein selecting the feedthrough path of the feedthrough to be planned from the at least one feedthrough path to be computed based on the evaluation parameter comprises:
based on the evaluation parameters, calculating cost function values respectively corresponding to the at least one feed-through path to be calculated by using a cost function;
and taking the feed-through path to be calculated corresponding to the minimum value in the cost function values respectively corresponding to the at least one feed-through path to be calculated as the feed-through path of the feed-through to be planned.
3. The method of claim 2, wherein obtaining evaluation parameters corresponding to the at least one feedthrough path to be calculated, respectively, comprises:
for a t-th feedthrough path to be calculated of the at least one feedthrough path to be calculated:
determining M modules passed by the t-th feed-through path to be calculated, wherein M is a positive integer;
obtaining the internal winding resource redundancy corresponding to the M modules respectively;
taking the internal winding resource redundancy quantities corresponding to the M modules respectively as the winding resource redundancy evaluation parameters in the evaluation parameters corresponding to the t-th feed-through path to be calculated,
wherein t is a positive integer and is less than or equal to the number of the at least one feedthrough path to be calculated.
4. The method of claim 3, wherein obtaining the redundancy of the internal winding resources corresponding to the M modules respectively comprises:
for each of the M modules:
acquiring the total amount of internal winding resources and the used internal winding resources of each module;
and acquiring the internal winding resource redundancy corresponding to each module according to the total internal winding resource amount and the used internal winding resource amount of each module.
5. The method of claim 3, wherein the evaluation parameters for each feedthrough path to be computed further include a path length evaluation parameter and a port availability evaluation parameter, each of the plurality of modules including a plurality of ports,
acquiring evaluation parameters respectively corresponding to the at least one feed-through path to be calculated further comprises:
acquiring the path length of the t-th feed-through path to be calculated, and taking the path length as a path length evaluation parameter in evaluation parameters corresponding to the t-th feed-through path to be calculated;
obtaining available numbers of M ports corresponding to the M modules through which the t-th to-be-calculated feed-through path passes, and using the available numbers of M ports as available port evaluation parameters in evaluation parameters corresponding to the t-th to-be-calculated feed-through path, wherein the available number of ports corresponding to each of the M modules represents the number of available ports in a plurality of ports corresponding to each of the M modules.
6. The method of claim 5, wherein obtaining the available number of M ports corresponding to the M modules through which the t-th feedthrough path to be calculated passes comprises:
for an ith module of the M modules:
determining a first passing edge and a second passing edge of the ith module through which the t-th feed-through path to be calculated passes;
acquiring the available number of first ports corresponding to the first passing edge and the available number of second ports corresponding to the second passing edge;
taking the available number of the first ports and the available number of the second ports as the available number of the ports corresponding to the ith module;
wherein i is a positive integer and is less than or equal to M.
7. The method of claim 6, wherein the feedthroughs of the planned feedthrough path in the integrated circuit are planned feedthroughs,
acquiring the available number of first ports corresponding to the first passing edge and the available number of second ports corresponding to the second passing edge, including:
acquiring the maximum available number of first ports corresponding to the first passing edge and the maximum available number of second ports corresponding to the second passing edge;
acquiring a first port occupation quantity corresponding to the first passing edge, wherein the first port occupation quantity represents the quantity of ports occupied by feed-through paths of the planned feed-through in the ports corresponding to the first passing edge;
acquiring a second port occupation number corresponding to the second passing edge, wherein the second port occupation number represents the number of ports occupied by the feed-through path of the planned feed-through in the ports corresponding to the second passing edge;
subtracting the occupied number of the first port from the maximum number available to the first port to obtain the available number of the first port;
subtracting the second port occupation number from the second port available maximum number to obtain the second port available number.
8. The method of claim 5, wherein calculating the respective cost function values of the at least one feedthrough path to be calculated using a cost function based on the evaluation parameter comprises:
for the t-th feedthrough path to be calculated:
determining the routing redundancy cost value corresponding to the t-th to-be-calculated feed-through path according to the routing resource redundancy evaluation parameter corresponding to the t-th to-be-calculated feed-through path,
determining the feed-through path cost value corresponding to the t-th feed-through path to be calculated according to the path length evaluation parameter corresponding to the t-th feed-through path to be calculated,
determining the port occupation cost value corresponding to the t-th feed-through path to be calculated according to the available evaluation parameters of the port corresponding to the t-th feed-through path to be calculated,
and calculating the winding redundancy cost value, the feed-through path cost value and the port occupation cost value by using the cost function so as to obtain a cost function value corresponding to the t-th feed-through path to be calculated.
9. The method of claim 8, wherein determining the winding redundancy cost value corresponding to the t-th feedthrough path to be calculated according to the winding resource redundancy evaluation parameter corresponding to the t-th feedthrough path to be calculated comprises:
determining the M modules passed by the t-th feed-through path to be calculated;
determining internal winding resource redundancy corresponding to the M modules respectively according to the winding resource redundancy evaluation parameter corresponding to the t-th feed-through path to be calculated;
determining internal winding redundancy cost values corresponding to the M modules respectively according to the internal winding resource redundancy quantities corresponding to the M modules respectively;
and adding the internal winding redundancy cost values corresponding to the M modules respectively to obtain the winding redundancy cost value corresponding to the t-th feed-through path to be calculated.
10. The method of claim 9 wherein the amount of internally routed resource redundancy for each of the M modules is inversely related to the internally routed redundancy cost value for each of the M modules.
11. The method of claim 8, wherein determining a port occupation cost value corresponding to the t-th to-be-calculated feed-through path according to the port available evaluation parameter corresponding to the t-th to-be-calculated feed-through path comprises:
determining the M modules passed by the t-th feed-through path to be calculated;
determining the available number of ports corresponding to the M modules according to the available evaluation parameters of the ports corresponding to the t-th feed-through path to be calculated;
determining the port occupation cost values corresponding to the M modules according to the available port numbers corresponding to the M modules;
and adding the port occupation cost values respectively corresponding to the M modules to obtain the port occupation cost value corresponding to the t-th feed-through path to be calculated.
12. The method of claim 11, wherein determining the port occupation cost values corresponding to the M modules according to the available port numbers corresponding to the M modules respectively comprises:
for a jth module of the M modules:
determining the available number of first ports and the available number of second ports corresponding to the jth module according to the available number of ports corresponding to the jth module;
determining a first occupation cost value corresponding to the jth module according to the available number of the first ports corresponding to the jth module;
determining a second occupation cost value corresponding to the jth module according to the available number of the second ports corresponding to the jth module;
adding the first occupation cost value corresponding to the jth module and the second occupation cost value corresponding to the jth module to obtain the port occupation cost value corresponding to the jth module,
wherein j is a positive integer and is less than or equal to M.
13. The method of claim 12, wherein the available number of first ports for the jth module is inversely related to the first cost value for the jth module;
and the available number of the second ports corresponding to the jth module and the second occupied cost value corresponding to the jth module are in a negative correlation relationship.
14. The method of claim 8, wherein the path length estimation parameter corresponding to the t-th feedthrough path to be calculated is positively correlated with the feedthrough path cost value corresponding to the t-th feedthrough path to be calculated.
15. The method of any one of claims 8-14,
the cost function value corresponding to the t-th feed-through path to be calculated is expressed as:
f(t)=a*g(t)+b*h(t)+c*m(t)
wherein t is the number of the t-th feed-through path to be calculated, f (×) is the cost function, f (t) is the cost function value corresponding to the t-th feed-through path to be calculated, g (t) is the port occupation cost value corresponding to the t-th feed-through path to be calculated, h (t) is the feed-through path cost value corresponding to the t-th feed-through path to be calculated, m (t) is the winding redundancy cost value corresponding to the t-th feed-through path to be calculated,
a is a weight value corresponding to a port occupation cost value corresponding to the t-th to-be-calculated feed-through path, b is a weight value corresponding to a feed-through path cost value corresponding to the t-th to-be-calculated feed-through path, c is a weight value corresponding to a winding redundancy cost value corresponding to the t-th to-be-calculated feed-through path, a, b and c are determined according to the port occupation condition, the internal winding resource redundancy quantity and the layout shape of the plurality of modules, and a, b and c are constants.
16. The method of claim 5, wherein all feedthroughs between the first module and the second module to be planned are processed as a set of feedthroughs to be planned, the feedthroughs of all feedthroughs within the set of feedthroughs to be planned having the same feedthrough path, and
calculating cost function values respectively corresponding to the at least one feed-through path to be calculated by using a cost function based on the evaluation parameters, wherein the cost function values comprise:
for the t-th feedthrough path to be calculated:
determining the routing redundancy cost value corresponding to the t-th to-be-calculated feed-through path according to the routing resource redundancy evaluation parameter corresponding to the t-th to-be-calculated feed-through path,
determining the feed-through path cost value corresponding to the t-th feed-through path to be calculated according to the path length evaluation parameter corresponding to the t-th feed-through path to be calculated,
determining the port occupation cost value corresponding to the t-th feedthrough path to be calculated according to the available evaluation parameters of the port corresponding to the t-th feedthrough path to be calculated and the number of feedthroughs to be planned in the feedthrough group to be planned,
and calculating the winding redundancy cost value, the feed-through path cost value and the port occupation cost value by using the cost function so as to obtain a cost function value corresponding to the t-th feed-through path to be calculated.
17. The method of claim 1 or 2, wherein the integrated circuit is a digital integrated circuit.
18. A feedthrough path planning apparatus applied to design of an integrated circuit, wherein the integrated circuit includes a plurality of modules each having a layout shape and a layout position, the feedthrough path planning apparatus comprising:
a feedthrough acquisition unit, configured to acquire a feedthrough to be planned, where the feedthrough to be planned is used to connect a first module and a second module of the plurality of modules, and the first module and the second module are not adjacent to each other;
a feedthrough path calculation unit configured to determine at least one feedthrough path to be calculated between the first module and the second module according to a layout shape of the plurality of modules and a layout position of the plurality of modules, wherein each feedthrough path to be calculated passes through at least one module other than the first module and the second module of the plurality of modules;
an evaluation parameter obtaining unit, configured to obtain evaluation parameters corresponding to the at least one feedthrough path to be calculated, respectively, where the evaluation parameter of each feedthrough path to be calculated in the at least one feedthrough path to be calculated includes a routing resource redundancy evaluation parameter, and the routing resource redundancy evaluation parameter includes an internal routing resource redundancy of at least one module through which the each feedthrough path to be calculated passes;
and the feed-through path planning unit is used for selecting the feed-through path of the feed-through to be planned from the at least one feed-through path to be calculated based on the evaluation parameters.
19. The feedthrough path planning apparatus of claim 18, wherein the feedthrough path planning unit comprises:
the cost function calculating subunit is configured to calculate, based on the evaluation parameter, cost function values respectively corresponding to the at least one feedthrough path to be calculated by using a cost function;
and the feed-through path selection subunit is used for taking the feed-through path to be calculated corresponding to the minimum value in the cost function values respectively corresponding to the at least one feed-through path to be calculated as the feed-through path of the feed-through to be planned.
20. The feedthrough path planning apparatus according to claim 19, wherein the obtaining of the evaluation parameters corresponding to the at least one feedthrough path to be calculated by the evaluation parameter obtaining unit comprises:
for a t-th feedthrough path to be calculated of the at least one feedthrough path to be calculated:
determining M modules passed by the t-th feed-through path to be calculated, wherein M is a positive integer;
obtaining the internal winding resource redundancy corresponding to the M modules respectively;
taking the internal winding resource redundancy quantities corresponding to the M modules respectively as the winding resource redundancy evaluation parameters in the evaluation parameters corresponding to the t-th feed-through path to be calculated,
wherein t is a positive integer and is less than or equal to the number of the at least one feedthrough path to be calculated.
21. The feedthrough path planning apparatus of claim 20, wherein the evaluation parameters for each feedthrough path to be calculated further comprise a path length evaluation parameter and a port availability evaluation parameter, each of the plurality of modules comprising a plurality of ports,
the evaluation parameter obtaining unit, when performing obtaining evaluation parameters corresponding to the at least one feedthrough path to be calculated, includes performing the following operations:
acquiring the path length of the t-th feed-through path to be calculated, and taking the path length as a path length evaluation parameter in evaluation parameters corresponding to the t-th feed-through path to be calculated;
obtaining available numbers of M ports corresponding to the M modules through which the t-th to-be-calculated feed-through path passes, and using the available numbers of M ports as available port evaluation parameters in evaluation parameters corresponding to the t-th to-be-calculated feed-through path, wherein the available number of ports corresponding to each of the M modules represents the number of available ports in a plurality of ports corresponding to each of the M modules.
22. The feedthrough path planning apparatus of claim 21, wherein the cost function calculating subunit, when performing the calculation of the cost function value respectively corresponding to the at least one feedthrough path to be calculated by using the cost function based on the evaluation parameter, comprises:
for the t-th feedthrough path to be calculated:
determining the routing redundancy cost value corresponding to the t-th to-be-calculated feed-through path according to the routing resource redundancy evaluation parameter corresponding to the t-th to-be-calculated feed-through path,
determining the feed-through path cost value corresponding to the t-th feed-through path to be calculated according to the path length evaluation parameter corresponding to the t-th feed-through path to be calculated,
determining the port occupation cost value corresponding to the t-th feed-through path to be calculated according to the available evaluation parameters of the port corresponding to the t-th feed-through path to be calculated,
and calculating the winding redundancy cost value, the feed-through path cost value and the port occupation cost value by using the cost function so as to obtain a cost function value corresponding to the t-th feed-through path to be calculated.
23. An electronic device, comprising:
a memory non-transiently storing computer executable instructions;
a processor configured to execute the computer-executable instructions,
wherein the computer-executable instructions, when executed by the processor, implement a method of feedthrough path planning according to any of claims 1-17.
24. A non-transitory computer readable storage medium having stored thereon computer executable instructions which, when executed by a processor, implement a method of planning a feedthrough path according to any of claims 1-17.
CN202011169157.9A 2020-10-28 2020-10-28 Method and device for planning feed-through path, electronic equipment and storage medium Active CN112257376B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011169157.9A CN112257376B (en) 2020-10-28 2020-10-28 Method and device for planning feed-through path, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011169157.9A CN112257376B (en) 2020-10-28 2020-10-28 Method and device for planning feed-through path, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN112257376A true CN112257376A (en) 2021-01-22
CN112257376B CN112257376B (en) 2023-01-31

Family

ID=74262564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011169157.9A Active CN112257376B (en) 2020-10-28 2020-10-28 Method and device for planning feed-through path, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN112257376B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023124147A1 (en) * 2021-12-27 2023-07-06 华为数字能源技术有限公司 Substrate design method and apparatus for power module, and terminal device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102737143A (en) * 2012-04-09 2012-10-17 李姮乐 Verification method of digital integrated circuit design
US9201999B1 (en) * 2014-06-30 2015-12-01 Cadence Design Systems, Inc. Integrated circuit floorplan having feedthrough buffers
CN105787147A (en) * 2015-01-08 2016-07-20 联发科技股份有限公司 Methods for reducing congestion region in layout area of IC
CN108170968A (en) * 2018-01-06 2018-06-15 嘉兴倚韦电子科技有限公司 Design efficient Clock Tree physics coiling optimization method in integrated circuit semi-custom rear end
CN109756207A (en) * 2018-11-21 2019-05-14 西北工业大学 A kind of TSPC edge triggered flip flop with automatic feedback gated clock
CN110096823A (en) * 2019-05-08 2019-08-06 深圳职业技术学院 Based on binary-coded digit integrated circuit wiring method and terminal device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102737143A (en) * 2012-04-09 2012-10-17 李姮乐 Verification method of digital integrated circuit design
US9201999B1 (en) * 2014-06-30 2015-12-01 Cadence Design Systems, Inc. Integrated circuit floorplan having feedthrough buffers
CN105787147A (en) * 2015-01-08 2016-07-20 联发科技股份有限公司 Methods for reducing congestion region in layout area of IC
CN108170968A (en) * 2018-01-06 2018-06-15 嘉兴倚韦电子科技有限公司 Design efficient Clock Tree physics coiling optimization method in integrated circuit semi-custom rear end
CN109756207A (en) * 2018-11-21 2019-05-14 西北工业大学 A kind of TSPC edge triggered flip flop with automatic feedback gated clock
CN110096823A (en) * 2019-05-08 2019-08-06 深圳职业技术学院 Based on binary-coded digit integrated circuit wiring method and terminal device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023124147A1 (en) * 2021-12-27 2023-07-06 华为数字能源技术有限公司 Substrate design method and apparatus for power module, and terminal device

Also Published As

Publication number Publication date
CN112257376B (en) 2023-01-31

Similar Documents

Publication Publication Date Title
US9015448B2 (en) Message broadcast with router bypassing
CN111898330B (en) Integrated circuit electromagnetic response calculation method and device based on multilevel parallel strategy
EP0133466A2 (en) Simultaneous placement and wiring for VLSI chips
CN111881641A (en) Multi-process self-adaptive distribution multi-layer VLSI field coupling method
TWI687191B (en) Methods and systems of distributing task areas for a plurality of cleaning devices
JPS63225869A (en) Wiring path search system
WO2016123808A1 (en) Data processing system, calculation node and data processing method
US8782588B2 (en) Multiple level spine routing
US10831972B2 (en) Capacity model for global routing
Meng et al. Efficient memory partitioning for parallel data access in multidimensional arrays
CN112257376B (en) Method and device for planning feed-through path, electronic equipment and storage medium
CN111881643A (en) Integrated circuit layout optimization method based on frequency domain electromagnetic response and capable of automatically starting and stopping process
CN116522844B (en) Circuit dividing method, circuit node voltage calculating method, terminal and storage medium
CN108874297A (en) Merge method, storage device, storage equipment and the storage medium of file
US11694014B2 (en) Logical node layout method and apparatus, computer device, and storage medium
US9330211B2 (en) Simulation system for implementing computing device models in a multi-simulation environment
CN111931447A (en) FPGA layout method and device, electronic equipment and storage medium
US20230266974A1 (en) Message based multi-processor system and method of operating the same
CN111062180B (en) FPGA wiring method and device
CN110704019B (en) Data buffer and data reading method
CN112858873A (en) Pin resource allocation method and system based on two-end test
CN114281516A (en) Resource allocation method and device based on NUMA attribute
CN112416852A (en) Method and device for determining routing of ring-shaped interconnection structure
CN108196786B (en) Method and management device for storage system partitioning
JP6705401B2 (en) Information processing apparatus, information processing apparatus control method, and information processing apparatus control program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant