Wiring path determination method and device, electronic equipment and storage medium

By merging the routing paths in large-scale integrated circuits, the problem of excessive resource consumption is solved, the routing path is simplified, the number of ports is reduced, and the planning efficiency is improved.

CN120874741APending Publication Date: 2025-10-31HAIGUANG INFORMATION TECH (SUZHOU) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510983349.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-16
Publication Date
2025-10-31

AI Technical Summary

Technical Problem

In large-scale integrated circuits, existing technologies consume a lot of resources when planning the routing paths of drive signals, resulting in an increase in ports and a cumbersome planning process.

Method used

By acquiring integrated circuit module layout information, multiple routing paths are generated, and equivalent segments between adjacent modules are merged to generate the target routing path, simplifying the routing path from the driver module to multiple load modules.

Benefits of technology

It simplifies the routing path, reduces the amount of integrated circuit resources required, decreases the number of ports, and improves planning efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120874741A_ABST
    Figure CN120874741A_ABST
Patent Text Reader

Abstract

The invention discloses a routing path determination method and device, electronic equipment and a storage medium, and belongs to the field of chips. According to the method, the routing path from the driving module to each load module is planned firstly, then the planned routing paths are combined, the routing paths from the driving module to the load modules can be simplified by combining the routing paths, the simplified routing paths occupy less resources in an integrated circuit, and the integrated circuit is more compact. Therefore, the occupation of the routing path on resources in the integrated circuit can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of chip technology, and in particular to a method, apparatus, electronic device, and storage medium for determining wiring paths. Background Technology

[0002] With the rapid development of integrated circuits, their scale is becoming increasingly larger, and large-scale integrated circuits may be divided into multiple modules. Based on the flow of driving signals, these modules can be categorized into driver modules and load modules. The driver module is responsible for generating and outputting driving signals, which drive the load modules. The load modules are responsible for receiving the driving signals and performing subsequent processing based on them.

[0003] During the chip design phase, after determining the layout of multiple modules in an integrated circuit, it is also necessary to plan the routing paths of drive signals within the integrated circuit. Currently, software tools can be used to automatically plan the routing paths of drive signals. However, as the number of load modules increases, the planned routing paths become increasingly complex, increasing the resource consumption of the integrated circuit. For example, it leads to an increase in the number of ports required for the routing paths. Figure 1 For example, suppose driver module Y0 drives load modules A0 to A7. Four routing paths are planned using software tools, and these four routing paths require a relatively large number of ports. Summary of the Invention

[0004] This application provides a routing path determination method, apparatus, electronic device, and storage medium, which can simplify routing paths and reduce the resource occupation of routing paths in integrated circuits. The technical solution is as follows:

[0005] Firstly, a method for determining a wiring path is provided, the method comprising:

[0006] Obtain module layout information of an integrated circuit, wherein the module layout information indicates the arrangement of multiple modules in the integrated circuit, and the multiple modules include a driver module and multiple load modules;

[0007] Based on the module layout information, multiple routing paths are generated. The routing paths are used to connect at least two of the multiple modules. The starting point of the routing path is the drive module, and the ending point of the routing path is any load module.

[0008] Multiple equivalent segments between adjacent modules are determined from the multiple routing paths, wherein the multiple equivalent segments are segments between adjacent modules located in different routing paths;

[0009] Based on multiple equivalent road segments between adjacent modules, the multiple routing paths are merged to obtain the target routing path.

[0010] Optionally, merging the multiple routing paths based on multiple equivalent road segments between adjacent modules to obtain the target routing path includes:

[0011] The multiple equivalent road segments are merged to obtain at least one merged road segment;

[0012] For a target module in the adjacent modules, a target through section is generated based on the merged road segment. The target module is the module that the route path passes through, and the target through section is used to pass through the target module.

[0013] The target route is generated based on the at least one merged road segment, the target through road segment, and the remaining road segments in the plurality of route paths.

[0014] Optionally, merging the plurality of equivalent road segments to obtain at least one merged road segment includes:

[0015] Select the target starting port from the starting ports of the plurality of equivalent road segments;

[0016] Select the target termination port from the starting ports of the plurality of equivalent road segments;

[0017] Based on the target output port and the target input port, the merged road segment is generated, wherein the starting port of the merged road segment is the target output port and the ending port of the merged road segment is the target input port.

[0018] Optionally, the plurality of equivalent road segments include a plurality of first road segments and a plurality of second road segments;

[0019] The step of merging the multiple equivalent road segments to obtain at least one merged road segment includes:

[0020] Multiple first road segments among the multiple equivalent road segments are merged to obtain a first merged road segment;

[0021] Multiple second road segments among the multiple equivalent road segments are merged to obtain a second merged road segment.

[0022] Optionally, for the target module in the adjacent modules, generating the target through road segment based on the merged road segment includes:

[0023] Based on the target port of the target module and the port of the merged road segment on the target module, the target through road segment is generated, and the target through road segment is used to connect the target port and the port of the merged road segment on the target module.

[0024] Optionally, generating multiple routing paths based on the module layout information includes:

[0025] For any load module, based on the module layout information, the driver module, and the load module, a routing path corresponding to the load module is generated, and the routing paths corresponding to different load modules are independent of each other.

[0026] Optionally, after generating multiple routing paths based on the module layout information, the method further includes:

[0027] Based on the position information of each edge of each module connected by the wiring path, the positions of the starting port and ending port of each inter-module segment in the wiring path are determined in the module. The starting port and ending port of the same inter-module segment are located in different modules in adjacent modules. The starting port and ending port of the same inter-module segment are close to an edge of the module in which they are located, and the edges that the starting port and ending port of the same inter-module segment are close to are adjacent.

[0028] Secondly, a wiring path determination device is provided, the device comprising:

[0029] An acquisition module is used to acquire module layout information of an integrated circuit. The module layout information indicates the arrangement of multiple modules in the integrated circuit, including a driver module and multiple load modules.

[0030] A generation module is used to generate multiple routing paths based on the module layout information. The routing paths are used to connect at least two of the multiple modules. The starting point of the routing path is the drive module, and the ending point of the routing path is any load module.

[0031] The first determining module is used to determine multiple equivalent road segments between adjacent modules from the multiple routing paths, wherein the multiple equivalent road segments are road segments between adjacent modules located in different routing paths;

[0032] The merging module is used to merge the multiple routing paths based on multiple equivalent road segments between the adjacent modules to obtain the target routing path.

[0033] Optionally, the merging module includes:

[0034] A merging unit is used to merge the multiple equivalent road segments to obtain at least one merged road segment;

[0035] The first generation unit is used to generate a target through segment based on the merged segment for a target module in the adjacent modules, wherein the target module is the module that the route path passes through, and the target through segment is used to pass through the target module;

[0036] The second generation unit is used to generate the target route based on the at least one merged road segment, the target through road segment, and the remaining road segments in the plurality of route paths.

[0037] Optionally, the merging unit is used for:

[0038] Select the target starting port from the starting ports of the plurality of equivalent road segments;

[0039] Select the target termination port from the starting ports of the plurality of equivalent road segments;

[0040] Based on the target output port and the target input port, the merged road segment is generated, wherein the starting port of the merged road segment is the target output port and the ending port of the merged road segment is the target input port.

[0041] Optionally, the plurality of equivalent road segments include a plurality of first road segments and a plurality of second road segments; the merging unit is used for:

[0042] Multiple first road segments among the multiple equivalent road segments are merged to obtain a first merged road segment;

[0043] Multiple second road segments among the multiple equivalent road segments are merged to obtain a second merged road segment.

[0044] Optionally, the first generation unit is used to:

[0045] Based on the target port of the target module and the port of the merged road segment on the target module, the target through road segment is generated, and the target through road segment is used to connect the target port and the port of the merged road segment on the target module.

[0046] Optionally, the generation module is used for:

[0047] For any load module, based on the module layout information, the driver module, and the load module, a routing path corresponding to the load module is generated, and the routing paths corresponding to different load modules are independent of each other.

[0048] Optionally, the device further includes:

[0049] The second determining module is used to determine the position of the starting port and the ending port of each inter-module segment in the wiring path within the module based on the position information of each edge of each module connected by the wiring path. The starting port and the ending port of the same inter-module segment are located in different modules in adjacent modules. The starting port and the ending port of the same inter-module segment are close to an edge of the module they belong to, and the edges that the starting port and the ending port of the same inter-module segment are close to are adjacent.

[0050] Thirdly, an electronic device is provided, the electronic device including a processor and a memory, the memory storing at least one program, the at least one program being loaded and executed by the processor to cause the electronic device to perform the methods provided in the first aspect or various optional implementations of the first aspect.

[0051] Fourthly, a computer-readable storage medium is provided for storing at least one program, which is loaded and executed by a processor to cause the electronic device to perform the methods provided in the first aspect or various optional implementations thereof.

[0052] Fifthly, a computer program product or computer program is provided, the computer program product or computer program including at least one program segment stored in a computer-readable storage medium, a processor of an electronic device reading the program code from the computer-readable storage medium, the processor executing the at least one program segment, causing the electronic device to perform the method provided in the first aspect or various optional implementations of the first aspect.

[0053] The method provided in this application first plans the routing paths from the driver module to each load module, and then merges the planned routing paths. By merging the routing paths, the routing paths from the driver module to multiple load modules can be simplified. The simplified routing paths occupy fewer resources in the integrated circuit, thereby reducing the resource occupation of the routing paths in the integrated circuit. Attached Figure Description

[0054] Figure 1 This is a schematic diagram of a wiring path from a driver module to multiple load modules provided by related technologies;

[0055] Figure 2 This is a flowchart of a wiring path determination method provided in an embodiment of this application;

[0056] Figure 3 This is a schematic diagram of a wiring path splitting provided in an embodiment of this application;

[0057] Figure 4 This is a schematic diagram of a single-fan outgoing wiring path from a driver module to multiple load modules provided in an embodiment of this application;

[0058] Figure 5 This is a schematic diagram illustrating the placement of ports in a module, provided in an embodiment of this application.

[0059] Figure 6 This is a schematic diagram of a single-fan outgoing cable path with a port provided in an embodiment of this application;

[0060] Figure 7 This is a schematic diagram of a target routing path provided in an embodiment of this application;

[0061] Figure 8 This is a schematic diagram of the structure of a wiring path determination device provided in an embodiment of this application;

[0062] Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0063] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0064] In this application, the terms "first," "second," etc., are used to distinguish identical or similar items that have essentially the same function. It should be understood that there is no logical or temporal dependency between "first," "second," and "nth," nor does it limit the quantity or execution order. It should also be understood that although the following description uses the terms "first," "second," etc., to describe various elements, these elements should not be limited by the terms.

[0065] These terms are simply used to distinguish one element from another. For example, without departing from the various examples, the first element can be referred to as the second element, and similarly, the second element can be referred to as the first element. Both the first and second elements can be elements, and in some cases, they can be separate and distinct elements.

[0066] "At least one" means one or more elements. For example, at least one element can be one element, two elements, three elements, or any integer number of elements greater than or equal to one. "At least two" means two or more elements. For example, at least two elements can be two elements, three elements, or any integer number of elements greater than or equal to two.

[0067] The following explanations are provided for some of the terms used in the embodiments of this application.

[0068] Integrated Circuit (IC): An electronic device or system with specific circuit functions is formed by integrating transistors, resistors, capacitors and other components and their connecting wires onto a tiny semiconductor single crystal (such as a silicon wafer) through semiconductor manufacturing processes.

[0069] Feedthrough: A signal line that can pass through a module and is used to connect non-adjacent modules.

[0070] Fan-out: Describes the number of load modules that can be driven by the output drive signal of a given module. For example, Figure 1 The fan-out of the drive module Y0 is 8.

[0071] A channel is a physical path in an integrated circuit used to transmit signals, power, or ground. Signal lines can be deployed in channels, which are located between modules within the integrated circuit. Figure 1 In the middle, channels are deployed between adjacent rows of modules, and channels can also be deployed between adjacent columns of modules.

[0072] Split port: refers to splitting a port into multiple functionally equivalent ports.

[0073] Merge ports: This refers to combining multiple ports with the same function into one port.

[0074] Port: The interface in an integrated circuit where a module interacts with the external environment, used for inputting and / or outputting signals.

[0075] Interconnection signal (NET): In circuit design, it represents a set of interconnection signals between or within modules, used to logically connect the ports of the modules. Therefore, NET can be a logical signal transmission path, which can be represented as the signal trace path.

[0076] This application provides a routing path determination method for planning the routing path of drive signals in an integrated circuit. In this method, the routing path from the drive module to each load module is first planned, and then the planned routing paths are merged to simplify the routing path.

[0077] Next, combined Figure 2 This paper introduces the process of determining the wiring path. This method is executed by electronic equipment and includes the following steps.

[0078] 201. Electronic devices acquire module layout information of integrated circuits. The module layout information indicates the arrangement of multiple modules in the integrated circuit, including driver modules and multiple load modules.

[0079] The integrated circuit comprises multiple modules, and the module layout information includes the position information of each module within the integrated circuit. The position information of any module indicates its location within the integrated circuit. The driving module is responsible for generating and outputting driving signals, which are used to drive the load module. The load module is responsible for receiving the driving signals and performing subsequent processing based on them.

[0080] Module layout information can be represented through the integrated circuit layout. The integrated circuit layout is a graphical description of the physical structure of the integrated circuit. The layout includes graphics of the device type, device size, relative positions of devices, and connections between devices. These graphics can be composed of graphics located on the same or different drawing layers. As the scale of integrated circuits continues to increase, during the chip design stage, especially when designing the layout of large-scale integrated circuits, the integrated circuit can be modularized. Specifically, the integrated circuit can be divided into multiple modules, each a physical circuit module that performs a specific function. Based on the direction of the driving signals, these modules can be divided into driver modules and multiple load modules.

[0081] There are several ways to obtain module layout information. For example, an electronic device can obtain the layout of an integrated circuit. The layout includes the graphics of the multiple modules in the integrated circuit, the position and size information of each module, and the orientation information between different modules, thereby obtaining the module layout information. Alternatively, it can obtain module layout information in text format, which includes the position information of each module in the multiple modules.

[0082] 202. Based on the module layout information, the electronic device generates multiple wiring paths. The wiring paths are used to connect at least two of the multiple modules. The starting point of the wiring path is the drive module, and the ending point of the wiring path is any load module.

[0083] Each trace path corresponds to a load module, and different trace paths correspond to different load modules. A trace path is the route a signal line takes from the driver module to its corresponding load module; this signal line is used to transmit drive signals. If the driver module and the load module corresponding to the trace path are adjacent, then the trace path is a non-through trace path, and the signal line is a non-through signal line. If the driver module and the load module corresponding to the trace path are not adjacent, then the trace path is a through trace path, and the signal line is a through signal line. Specifically, a through trace path is a trace path that passes through one or more modules, and a through signal line is a signal line that passes through one or more modules. A non-through trace path is a trace path that does not pass through any modules, and a non-through signal line is a signal line that does not pass through any modules.

[0084] Based on module layout information, the electronic device plans routing paths from the driver module to multiple load modules, thereby obtaining the routing path corresponding to each load module. For example, for any load module, the electronic device generates a routing path corresponding to the load module based on the module layout information, the driver module, and the load module itself. The routing paths corresponding to different load modules are independent of each other.

[0085] Next, we will introduce the method for generating the routing path corresponding to the load module.

[0086] The electronic device acquires the multi-fan-out connection information of the driver module. This information indicates the connection relationship between one original output port of the driver module and multiple input ports of the load modules. In other words, it indicates a multi-output connection relationship. This multi-fan-out connection information is the connection information between the driver module and the load modules before the routing path is planned. The original input port refers to the output port of the driver module used to connect to the load modules before the routing path is planned.

[0087] In this application, all "ports" refer to logical ports, such as output ports or input ports. Input ports are used to output drive signals, and input ports are used to input drive signals. The "connection relationships" referred to in this application are "logical connection relationships," that is, logical connections, not physical connections.

[0088] The multi-fan-out connection information includes the module identifier of the driver module, the port identifier of the original output port, the path identifier of the original routing path, the module identifier of each load module, and the port identifier of the input port of each load module. The path identifier indicates a routing path, and the path identifier of the original routing path corresponds to the module identifier of each load module and the port identifier of the input port to indicate that the original routing path is connected to the input port of each load module.

[0089] An interconnect signal (NET) is a logical signal transmission path, representing a trace path that can carry a signal. Figure 3 Taking Figure (a) as an example, assume multiple modules including driver module Y0 and load modules A0 to A7, with NET connected to the original output port O of driver module Y0 and the input ports IN of load modules A0 to A7. In this application, "module identifier / port identifier" is used to represent a specific port of a module; the module identifier indicates the module, and the port identifier indicates the port. For example, the original input port O of driver module Y0 can be represented as "Y0 / O". Based on this, for... Figure 3 In Figure (a), the multi-fanout connection information of the driver module Y0 can be represented as follows:

[0090] Y0 / O→NET→A0 / IN, A1 / IN, A2 / IN, A3 / IN, A4 / IN, A5 / IN, A6 / IN, A7 / IN.

[0091] After obtaining the multi-fan-out connection information of the driver module, the electronic device breaks down this information into multiple single-fan-out connections. Each single-fan-out connection corresponds to a load module, and different single-fan-out connections correspond to different load ports. The single-fan-out connection information indicates the connection relationship between an output port of the driver module and an input port of a load module (i.e., the corresponding load module).

[0092] One possible way to split multi-fanout connection information is as follows:

[0093] The electronic device expands the output ports of the drive module based on the number N of load modules, giving the drive module N output ports. For example, the electronic device generates N output ports for the drive module, replacing the original output ports of the drive module with N output ports; or, it generates N-1 output ports for the drive module, where one original output port and N-1 output ports can form the N output ports of the drive module. Each output port is used to connect to one load module, thus splitting the original output port into N output ports. Taking N=8 as an example... Figure 3 As shown in Figure (b), seven output ports are generated for the drive module Y0, namely O1 to O7, thereby expanding the output ports of the drive module Y0 to eight, namely the original output port O, and output ports O1 to O7. These eight output ports are used to connect the load modules A0 to A7 respectively.

[0094] N input ports are each used to connect to a single load port; therefore, the N output ports are equivalent. Based on this, the electronic device generates equivalent port information for the driver module. This equivalent port information indicates the equivalence relationship between the N output ports of the driver module, meaning the N output ports are equivalent ports, thus establishing the equivalence relationship among the N output ports. Figure 3 Taking Figure (b) as an example, this equivalence relation can be expressed as:

[0095] Y0 / O=Y0 / O1=Y0 / O2=Y0 / O3=Y0 / O4=Y0 / O5=Y0 / O6=Y0 / O6=Y0 / O7.

[0096] The above method expands the output ports of the driver module and establishes an equivalence relationship between the expanded output ports, thereby splitting the original output port of the driver module into N functionally equivalent output ports and realizing the splitting port.

[0097] Following the method of splitting the driver port, the electronic device can also split a NET into N NETs, ​​establish equivalence relationships between the N NETs, ​​and use each NET to connect a driver module and a load module. Figure 3Taking Figure (b) as an example, assuming that NET is split into 8 NETs, ​​namely NET1 to NET7, the equivalence relationship between the 8 NETs can be expressed as:

[0098] Net=Net1=Net2=Net3=Net4=Net5=Net=Net7.

[0099] The electronic device modifies the multi-fanout connection information of the driver module based on the equivalence relationships between N output ports and N nets. The modified multi-fanout connection information includes N fanout connection information to achieve the splitting of multi-fanout connection information. Each fanout connection information includes the module identifier of the driver module, the port identifier of one output port of the driver module, the module identifier of a load module, the port identifier of the input port of the load module, and the identifier of a trace path (such as a net).

[0100] by Figure 3 Taking Figure (b) as an example, the eight single-fan-out connection information in the modified multi-fan-out connection information are represented as follows: Y0 / O→NET→A0 / IN, Y0 / O→NET1→A1 / IN, Y0 / O→NET2→A2 / IN, Y0 / O→NET3→A3 / IN, Y0 / O→NET4→A4 / IN, Y0 / O→NET5→A5 / IN, Y0 / O→NET6→A6 / IN, Y0 / O→NET7→A7 / IN.

[0101] For any single-fan-out connection information, the electronic device plans the through-path routing from the drive module to the load module corresponding to the single-fan-out connection information based on the module layout information and the single-fan-out connection information, and obtains the routing path information. This routing path is the optimal routing path corresponding to the load module based on the planning, thereby realizing the generation of the routing path corresponding to the load module for a load module.

[0102] During path planning, the electronic device, based on the distribution indicated by the module layout information, searches for the optimal through-path routing from the driver module to the load module and obtains the path information of the found routing path. It should be understood that if the driver module and the load module are adjacent, the found routing path corresponding to the load module is a non-through-path routing path; if the driver module and the load module are not adjacent, the found routing path corresponding to the load module is a through-path routing path.

[0103] The routing path information includes the identifiers of each module the routing path passes through and the identifier of the routing path itself. Taking NET as an example to represent the routing path, let's continue with... Figure 3Taking the module shown as an example, assuming 8 wiring paths are planned, namely NET, NET1 to 7, where NET, NET1 to 7 are used to connect load modules A0 to A0 respectively, and NET, NET1 to 7 are as follows: Figure 4 As shown, the path information for NET, NET1 to NET7 is as follows:

[0104] NET: Y0→A5→A2→A1→A0;

[0105] NET1: Y0→A5→A2→A1;

[0106] NET2: Y0→A5→A2;

[0107] NET3: Y0→A7→A6→A3;

[0108] NET4: Y0→A7→A4;

[0109] NET5: Y0 → A5;

[0110] NET6: Y0→A7→A6;

[0111] NET7: Y0→A7.

[0112] The "→" symbol indicates the direction of the drive signal flow or the positive direction of the trace path. The path information may not include this direction symbol.

[0113] Since NET5 and NET7 do not penetrate any module, they are non-penetrating routing paths. Since NET, NET1 through NET4, and NET6 penetrate the module, they are penetrating routing paths.

[0114] Each routing path includes at least one segment. If a routing path is a through routing path, then the routing path includes one segment, which is the routing path itself. If a routing path is a non-through routing path, then the routing path includes multiple segments, including at least one inter-module segment and at least one through segment. The inter-module segment is used to connect adjacent modules (i.e., two adjacent modules), and the through segment is located on the module and is used to pass through the module it is in. Taking the NET mentioned above as an example, the segment between the driver module Y0 and the load module A5 in the NET is the inter-module segment, and the segment of the NET on module A5 is the through segment.

[0115] For any load module among multiple load modules, if the number of trace paths passing through that load module is greater than 1, the electronic device adds M pairs of ports to that load module, where M is the number of trace segments that pass through (i.e., traverse) the load module. Each pair of ports includes one output port and one output port. Figure 4 Taking load modules A7, A6, A5, A2, and A1 as an example, three NETs pass through load module A7, such as... Figure 5 As shown, three pairs of ports are added to load module A7: (FI0, FO0), (FI1, FO1), and (FI2, FO2). One NET line passes through load module A6, as shown... Figure 5 As shown, add one pair of ports (FI0, FO0) to load module A6. Three NET connections pass through load module A5, as follows: Figure 5 As shown, three pairs of ports are added to load module A5: (FI0, FO0), (FI1, FO1), and (FI2, FO2). Two nets pass through load module A2, as shown... Figure 5 As shown, two pairs of ports are added to load module A2, namely (FI0, FO0) and (FI1, FO1). One NET passes through load module A1, as shown... Figure 5 As shown, a pair of ports (FI0, FO0) is added to load module A1. In this application, "FI" represents the added input port, and the number after "FI" is the input port number. For example, "FO0" represents the input port numbered 0.

[0116] For any given cabling path, the electronic device sets a start port and an end port for each segment within that path. If the cabling path includes multiple segments, the end ports of two adjacent segments are different, and the end port of one of the two adjacent segments becomes the start port of the other segment.

[0117] For example, for any segment of any wiring path, if the segment is an inter-module segment, used to connect adjacent modules, including a first module and a second module, the electronic device sets one output port of the first module as the starting port of the segment and one input port of the second module as the starting port of the segment. Taking segment 1 in NET6, used to connect the driver module Y0 and the load module A7, as an example, driver module Y0 and load module A7 are load modules. The output port O6 of driver module Y0 (i.e., Y0 / O6) is set as the starting port of segment 1, and the input port FI2 of load module A7 (i.e., A7 / FI2) is set as the ending port of segment 1. For any segment of any wiring path, if the segment is a through segment, passing through the module, the electronic device sets the input port and output port of a pair of ports of the module as the starting port and ending port of the segment, respectively. Taking segment 2 of the NET6 network that runs through load module A7 as an example, the input port FI2 of load module A7 is set as the starting port of segment 2, and the output port FO2 of load module A7 is set as the starting port of segment 2. Segment 1 and segment 2 are two adjacent segments in NET6, and the ending port of segment 1 and the starting port of segment 2 are both the same input port of load module A7. Similarly, electronic devices can set the starting and ending ports of each segment of the wiring path.

[0118] After setting the start and end ports of each cabling path, the electronic device can add port identifiers for the start and end ports of each segment to the path information of each cabling path to update the path information of each cabling path, so that the path information can indicate the start and end ports of each segment of the cabling path. Figure 6 Taking each NET as an example, the updated path information for each NET is as follows:

[0119] NET: Y0 / O→(A5 / FI0, A5 / FO0)→(A2 / FI0, A2 / FO0)→(A2 / FI0, A2 / FO0)→A0 / IN;

[0120] NET1: Y0 / O1→(A5 / FI1, A5 / FO1)→(A2 / FI1, A2 / FO1)→A1 / IN;

[0121] NET2: Y0 / O2→(A5 / FI2, A5 / FO2)→A2 / IN;

[0122] NET3: Y0 / O3→(A7 / FI1, A7 / FO1)→(A6 / FI0, A6 / FO0)→A3 / IN;

[0123] NET4: Y0 / O4→(A7 / FI0, A7 / FO0)→A4 / IN;

[0124] NET5: Y0 / O4 → A5 / IN;

[0125] NET6: Y0 / O6→(A7 / FI2, A7 / FO2)→A6 / IN;

[0126] NET7: Y0 / O7→A7 / IN.

[0127] The "→" symbol indicates the direction of the drive signal flow or the positive direction of the trace path. The path information may not include this direction symbol.

[0128] For any given routing path, the electronic device determines the positions of the start and end ports of each inter-module segment within the module based on the position information of each edge of the modules traversed by the routing path. The position information of any edge of the module indicates the edge's location within the integrated circuit. The start and end ports of the same inter-module segment are located in different modules within adjacent modules, and are each adjacent to an edge within their respective modules, with the edges adjacent to the start and end ports of the same inter-module segment being adjacent to each other.

[0129] For example, segment 1 in NET6 is an inter-module segment, such as... Figure 5 As shown, the starting and ending ports of segment 1 are Y0 / O6 and A7 / F12, respectively. Y0 / O6 is close to edge E1 of the drive module Y0, and A7 / F12 is close to edge E2 of the load module A7. Edges E1 and E2 are adjacent. Since the starting and ending ports of the inter-module segments are close to the adjacent edges of adjacent modules, determining these positions ensures that the inter-module segments are as short as possible, reducing the length of the through-wiring path.

[0130] In some embodiments, the positions of the starting and ending ports of the same inter-module segment can ensure that the connecting line between the starting and ending ports of the inter-module segment is perpendicular or nearly perpendicular to the edges adjacent to the starting and ending ports, thereby further shortening the inter-module segment and further reducing the length of the through-path. For example, segment 1 in NET6 is an inter-module segment, such as... Figure 5 As shown, the starting and ending ports of segment 1 are Y0 / O6 and A7 / F12, respectively, and the centerlines of Y0 / O6 and A7 / F12 are perpendicular to sides E1 and E2.

[0131] Electronic equipment can determine the positions of the start and end ports of each inter-module segment in each wiring path within the module, thereby enabling the placement of the start and end ports of each inter-module segment within each module. Taking NET and NET1 to 7 mentioned above as examples, Figure 5 This shows the start and end ports of each inter-module segment within each NET, based on the start and end ports of each inter-module segment within each NET. Figure 6 The diagram shows each NET and each segment of each NET, as well as the start and end ports of each segment. The output ports of the drive module Y0 are the original signal input ports, the input ports IN on each load module are the original signal input ports, the start ports of each through segment on the load module are the through signal input ports, and the end ports of each through segment are the through signal output ports.

[0132] From the above Figure 6 As can be seen, the routing paths corresponding to different load modules will not share the same ports. Therefore, the routing paths corresponding to different load modules are independent of each other. Each routing path connects to one load module. Therefore, each routing path is a single-fan out routing path, thus splitting the original multi-fan out routing path of the driver module into multiple single-fan out routing paths.

[0133] 203. The electronic device determines multiple equivalent segments between adjacent modules from multiple wiring paths. The multiple equivalent segments are segments between adjacent modules located in different wiring paths.

[0134] Adjacent modules include two adjacent modules among the multiple modules. These multiple equivalent road segments form a set of equivalent road segments.

[0135] For any two adjacent modules, if there are multiple wiring path segments between them, the electronic device determines these segments as a set of equivalent segments. This set of equivalent segments includes all the wiring path segments between the adjacent modules; that is, the wiring path segments between the adjacent modules are equivalent. In other words, this set of equivalent segments includes multiple segments located on different wiring paths, and the segments in this set are mutually equivalent.

[0136] by Figure 6For example, the segments NET4, NET3, NET6, and NET7 between the drive module YO and the load module A7 form a set of equivalent segments; the segments NET, NET1, NET2, and NET5 between the drive module YO and the load module A5 form a set of equivalent segments; the segments NET3 and NET6 between the load module A7 and the load module A6 form a set of equivalent segments; the segments NET, NET1, and NET2 between the load module A5 and the load module A2 form a set of equivalent segments; and the segments NET and NET1 between the load module A2 and the load module A1 form a set of equivalent segments.

[0137] In some embodiments, the electronic device identifies the start and end ports of the same inter-module segment in multiple wiring paths as inter-module equivalent port pairs. That is, inter-module equivalent port pairs include the start and end ports of the same inter-module segment, and the start and end ports of the same inter-module segment are equivalent. For example, Figure 6 In this context, Y0 / O4 and A7 / FI0 are inter-module equivalent port pairs, Y0 / O3 and A7 / FI1 are inter-module equivalent port pairs, Y0 / O6 and A7 / FI2 are inter-module equivalent port pairs, and Y0 / O7 and A7 / IN are inter-module equivalent port pairs. That is, Y0 / O4 = A7 / FI0, Y0 / O3 = A7 / FI1, Y0 / O6 = A7 / FI2, and Y0 / O7 = A7 / IN.

[0138] Electronic devices can establish equivalence relationships between the start and end ports of each inter-module segment in multiple routing paths. The equivalence relationship between the start and end ports of the same inter-module segment indicates that the start and end ports of the inter-module segment are a pair of inter-module equivalent ports.

[0139] Electronic devices define ports of the same group of equivalent road segments on the same module as a group of intra-module equivalent ports. That is, a group of intra-module equivalent ports includes the starting ports of each road segment in the same group of equivalent road segments, or, a group of intra-module equivalent ports includes the ending ports of each road segment in the same group of equivalent road segments. Ports within the same group of intra-module equivalent ports are equivalent. For example, Figure 6Y0 / O4, Y0 / O3, Y0 / O6, and Y0 / O7 form a group of intra-module equivalent ports; Y0 / O, Y0 / O1, Y0 / O2, and Y0 / O5 form a group of intra-module equivalent ports; A7 / FI0, A7 / FI1, A7 / FI2, and A7 / IN form a group of intra-module equivalent ports; A7 / FO1 and A7 / FO2 form a group of intra-module equivalent ports; A6 / FI0 and A6 / IN form a group of intra-module equivalent ports; A5 / FI0, A5 / FI1, A5 / FI2, and A5 / IN form a group of intra-module equivalent ports; A5 / FO0, A5 / FO1, and A5 / FO2 form a group of intra-module equivalent ports; A2 / FI0, A2 / FI1, and A2 / IN form a group of intra-module equivalent ports; A2 / FO1 and A2 / FO2 form a group of intra-module equivalent ports; and A1 / FI0 and A1 / IN form a group of intra-module equivalent ports. That is, Y0 / O4=Y0 / O3=Y0 / O6=Y0 / O7, Y0 / O=Y0 / O1=Y0 / O2=Y0 / O5, A7 / FI0=A7 / FI1=A7 / FI2=A7 / IN, A7 / FO1=A7 / FO2, A6 / FI0=A6 / IN, A5 / FI0=A5 / FI1=A5 / FI2=A5 / IN, A5 / FO0=A5 / FO1=A5 / FO2, A2 / FI0=A2 / FI1=A2 / IN, A2 / FO1=A2 / FO2, A1 / FI0=A1 / IN.

[0140] Electronic devices can establish equivalence relationships between the starting ports of each segment in a set of equivalent road segments, as well as equivalence relationships between the ending ports of each segment in a set of equivalent road segments. The equivalence relationships between the starting ports of each segment in the same set of equivalent road segments indicate that the starting ports of each segment in the set of equivalent road segments constitute a set of intra-module equivalent ports. The equivalence relationships between the ending ports of each segment in the same set of equivalent road segments indicate that the ending ports of each segment in the set of equivalent road segments constitute a set of intra-module equivalent ports.

[0141] 204. The electronic device merges multiple routing paths based on multiple equivalent segments between adjacent modules to obtain the target routing path.

[0142] In this context, the multiple routing segments are the routing paths generated in step 202, and there is at least one target routing path. Each target routing path is obtained by merging at least two routing paths. That is, the multiple routing paths generated in step 202 can be merged into at least one target routing path.

[0143] The electronic device determines at least one set of candidate paths from multiple routing paths. Each set of candidate paths includes at least two paths from the multiple routing paths, and each set of candidate paths is used to merge into a target path. The segments of the same set of candidate paths that are connected to the drive module are equivalent.

[0144] In some embodiments, the electronic device uses the routing paths containing the same set of equivalent road segments connected to the drive module as a set of candidate paths. Figure 6 For example, NET4, NET3, NET6, and NET7 form a group of candidate paths. Figure 6 For example, NET, NET1, NET5, and NET5 form a set of candidate paths. It should be understood that in this case, if these multiple routing paths are equivalent to the segments connected to the driver module, only one set of candidate paths can be determined, and this set of candidate paths includes these multiple routing paths.

[0145] In other embodiments, the electronic device divides the routing paths of the same group of equivalent road segments connected to the drive module into multiple candidate paths. For example, if the number of equivalent road segments in the same group of equivalent road segments connected to the drive module exceeds a first number, the electronic device divides the group of equivalent road segments into multiple equivalent road segments. Each equivalent road segment includes the equivalence of the second number in the group of equivalent road segments, where both the second and first numbers are integers greater than 1, and the second and first numbers may be equal or unequal. The electronic device treats the routing paths of each equivalent road segment as a group of routing paths, thereby dividing the routing paths of the same group of equivalent road segments into multiple candidate paths.

[0146] Taking a first number of 3 and a second number of 2 as an example, suppose the drive module connects to a group of 4 equivalent road segments. Since the number of segments in this group is 4, exceeding the first number of 3, the electronic device divides these 4 equivalent road segments into two equal parts. Each equal part contains 2 equal road segments, and these two equal parts are used as a set of candidate paths. For example, taking... Figure 6 For example, the same set of equivalent road segments connected to the drive module Y0 includes road segments NET4, NET3, NET6 and NET7. The electronic device can use NET4 and NET3 as a set of candidate paths, and NET6 and NET7 as a set of candidate paths.

[0147] For any set of candidate paths, the electronic device merges the candidate paths based on the equivalent segments within that set to obtain a target route. The method for obtaining the target route will be described below.

[0148] Electronic devices can merge equivalent segments of multiple routing paths in the same set of candidate paths, and combine the merged segments and the remaining segments in the multiple routing paths into a target routing path. Next, this implementation method will be introduced in conjunction with the following steps 2041 to 2043.

[0149] 2041. The electronic device merges multiple equivalent road segments between adjacent modules to obtain at least one merged road segment.

[0150] The multiple equivalent road segments are road segments on the same set of candidate paths between adjacent modules. Each merged road segment is obtained by merging at least two equivalent road segments from the multiple equivalent road segments.

[0151] Electronic devices can merge multiple equivalent road segments between adjacent modules into one merged road segment, or they can merge multiple equivalent road segments between adjacent modules into multiple road segments. Next, we will introduce these two methods of merging equivalent road segments in conjunction with the following methods A and B.

[0152] Method A: Merge multiple equivalent road segments between adjacent modules into a single merged road segment.

[0153] A1. The electronic device selects a target starting port from the starting ports of multiple equivalent road segments between adjacent modules, and selects a target ending port from the ending ports of the multiple equivalent road segments.

[0154] Among them, the target start port and the target end port are inter-module equivalent port pairs.

[0155] For any adjacent modules connected by at least two paths in a set of candidate paths, the road segments of this set of candidate paths between the adjacent modules constitute a set of equivalent road segments. Each equivalent road segment in this set of equivalent road segments is an inter-module road segment, and each equivalent road segment has an inter-module equivalent port pair. The starting port of this set of equivalent road segments constitutes a set of intra-module equivalent ports. The electronic device can randomly select a starting port from this set of intra-module equivalent ports as the target starting port, and determine the ending port in the inter-module equivalent port pair to which the target starting port belongs as the target ending port. Figure 6 For example, a set of candidate paths includes NET4, NET3, NET6, and NET7. Adjacent modules include driver module Y0 and load module A7. The segments of NET4, NET3, NET6, and NET7 between driver module Y0 and load module A7 are a set of equivalent segments. Y0 / O4, Y0 / O3, Y0 / O6, and Y0 / O7 are the starting ports of this set of equivalent segments, forming a set of intra-module equivalent ports. Y0 / O7 is randomly selected as the target starting port. Since Y0 / O7 and A7 / IN are inter-module port pairs, A7 / IN is used as the target ending port.

[0156] Alternatively, the termination port of the group of equivalent road segments is a group of intra-module equivalent ports. The electronic device can randomly select a termination port from the group of intra-module equivalent ports as the target termination port, and determine the starting port in the inter-module equivalent port pair to which the target termination port belongs as the target starting port.

[0157] The starting port of this group of equivalent road segments is a set of intra-module equivalent ports. Electronic equipment can delete all ports in this set of intra-module equivalent ports except for the target starting port, thus logically merging the group of intra-module equivalent ports into a single target starting port, achieving port merging. Similarly, the ending port of this group of equivalent road segments is a set of intra-module equivalent ports. Electronic equipment can delete all ports in this set of intra-module equivalent ports except for the target ending port, thus logically merging the group of intra-module equivalent ports into a single target ending port, achieving port merging.

[0158] by Figure 6 For example, Y0 / O4, Y0 / O3, Y0 / O6, and Y0 / O7 form a set of intra-module equivalent ports, consisting of the starting ports of a group of equivalent road segments (NET4, NET3, NET6, and NET7). A7 / FI0, A7 / FI1, A7 / FI2, and A7 / IN form another set of intra-module equivalent ports, consisting of the ending ports of this group of equivalent road segments. Assuming Y0 / O7 is the target starting port and A7 / IN is the target ending port, the electronic device deletes Y0 / O4, Y0 / O3, and Y0 / O6, keeping Y0 / O7, to merge Y0 / O4, Y0 / O3, and Y0 / O6 into Y0 / O7. Similarly, the electronic device deletes A7 / FI0, A7 / FI1, and A7 / FI2, keeping A7 / IN, to merge A7 / FI0, A7 / FI1, and A7 / FI2 into A7 / IN. The effect after port merging is as follows: Figure 7 As shown.

[0159] A2. The electronic equipment generates a merged road segment based on the target start port and the target end port. The start port of the merged road segment is the target start port, and the end port of the merged road segment is the target end port.

[0160] The electronic device treats the target road segment from the target start port to the target end port in the group of equivalent road segments as the merged road segment, and deletes each third road segment, its start port, and its end port from the group of equivalent road segments, thereby merging the group of equivalent road segments into a single merged road segment. The third road segment refers to any road segment in the group of equivalent road segments other than the merged road segment.

[0161] For each pair of adjacent modules connected by at least two paths in the same set of candidate paths, the above steps A1 and A2 are performed, so that the equivalent road segments of the set of candidate paths between each pair of adjacent modules can be merged into a merged road segment. If there are at least one pair of adjacent modules with equivalent road segments of the set of candidate paths, at least one merged road segment can be obtained.

[0162] by Figure 6For example, consider a candidate path consisting of NET3, NET4, NET6, and NET7. NET3, NET4, NET6, and NET7 are connected to driver module Y0, load modules A7, and A6. Driver module Y0 and load module A7 are adjacent modules, and load modules A7 and A6 are also adjacent modules. Following this path merging method, the path segments of NET4, NET3, NET6, and NET7 between driver module Y0 and load module A7 can be merged into one merged path segment. Similarly, the path segments of NET4, NET3, NET6, and NET7 between load modules A7 and A6 can be merged into one merged path segment. The merging result is as follows: Figure 7 As shown.

[0163] Method B: Merge multiple equivalent road segments between adjacent modules into multiple merged road segments.

[0164] Among them, the multiple equivalent road segments between adjacent modules belong to the same group of candidate paths and are considered to be in the same group of equivalent road segments. The adjacent module is any pair of adjacent modules connected by the candidate path in this group.

[0165] If there is a driving module in the adjacent module, the electronic device will merge multiple equivalent road segments between the adjacent modules into a single merged road segment. The merging method can refer to the above method A.

[0166] If there is no driving module in the adjacent module, in some scenarios, the electronic device can merge multiple equivalent road segments between the adjacent modules into multiple road segments. For example, if the number of road segments in a group of equivalent road segments (i.e., multiple equivalent road segments) between the adjacent modules exceeds the first number, the electronic device divides the group of equivalent road segments into multiple equivalent road segments. Each equivalent road segment includes the equivalence of the fourth number in the group of equivalent road segments. The fourth number and the third number are both integers greater than 1. The fourth number and the third number can be equal or unequal. The electronic device merges each equivalent road segment into a merged road segment, thereby obtaining multiple merged road segments. The method of merging each equivalent road segment into a merged road segment is the same as method A above, and will not be repeated here.

[0167] For example, if the third number is 3 and the fourth number is 2, suppose there are 4 equivalent road segments in a set of equivalent road segments between a pair of adjacent modules. The number of road segments in this set of equivalent road segments is 4, which exceeds the third number 3. The electronic device divides these 4 equivalent road segments into 2 equivalent road segments. Each equivalent road segment includes 2 equivalent road segments. These 2 equivalent road segments are merged into a merged road segment, thus obtaining 2 merged road segments.

[0168] In some embodiments, road segments in the same equivalent road segment are adjacent, thereby merging multiple adjacent equivalent road segments into a single merged road segment, achieving proximity merging. This merging method can minimize the length of the merged road segment.

[0169] For example, the multiple equivalent road segments between adjacent modules include multiple first road segments and multiple second road segments, wherein the multiple first road segments are adjacent, and the multiple second road segments are adjacent. The electronic device merges the multiple first road segments from the multiple equivalent road segments to obtain a first merged road segment, and merges the multiple second road segments from the multiple equivalent road segments to obtain a second merged road segment. The merging method of the multiple first road segments and the merging method of the multiple second road segments can refer to Method A above, and will not be repeated here. The multiple first road segments constitute one set of equivalent road segments, and the multiple second road segments constitute another set of equivalent road segments.

[0170] In other embodiments, if there is no driving module in the adjacent module, the electronic device merges some of the equivalent road segments among the multiple equivalent road segments between the adjacent modules into a merged road segment, and the remaining equivalent road segments are not merged.

[0171] For example, the multiple equivalent road segments between adjacent modules include a fourth road segment and multiple fifth road segments. The fourth road segment is the segment connected to the original input port (e.g., IN) of the load module, and the fifth road segments are the segments connected to the extended input ports (e.g., FI) of the load module. The electronic module merges multiple fifth road segments into a single merged road segment, without merging the fourth road segments. This allows the fourth road segment to independently provide a drive signal to the load module, making the drive signals in the merged road segment and the fourth road segment independent of each other, thus avoiding mutual interference between the drive signals in the merged road segment and the fourth road segment and enhancing the security of drive signal transmission. Figure 6 Taking adjacent load modules A5 and A2 as an example, there are 3 equivalent segments between load modules A5 and A2. Among them, the segment between (A5 / FO0, A2 / FI0) and the segment between (A5 / FO1, A2 / FI1) are both the fifth segment, and the segment between (A5 / FO2, A2 / IN) is the fourth segment. The electronic device can merge the segment between (A5 / FO0, A2 / FI0) and the segment between (A5 / FO1, A2 / FI1) into a merged segment, while the segment between (A5 / FO2, A2 / IN) is not merged.

[0172] The above-mentioned method of merging multiple equivalent road segments in adjacent modules into at least one merged road segment can reduce the number of road segments in the wiring paths between adjacent modules and the number of ports in each module within adjacent modules. In particular, merging multiple equivalent road segments in adjacent modules into one merged road segment can significantly reduce the number of road segments in the wiring paths between adjacent modules and the number of ports in each module within adjacent modules.

[0173] 2042. For the target module in the adjacent module, the electronic device generates a target through section based on the merged section. The target module is the module that the wiring path passes through, and the target through section is used to pass through the target module.

[0174] The target module is the module traversed by at least one path in the candidate path group, and the target module has the termination port of the merged segment. Taking the candidate path group as... Figure 6 Taking NET3, NET4, NET6 and NET7 as examples, assume that the adjacent modules include the driver module Y0 and the load module A7, and the load module A7 is the target module. If the adjacent modules include the load modules A7 and A6, then the load module A6 is the target module.

[0175] The target through section is a through section on the target routing path. The electronic device generates the target through section based on the target port of the target module and the port of the merged section on the target module. The target through section is used to connect the target port and the port of the merged section on the target module.

[0176] In this context, the port of the merged segment is the termination port of the merged segment and the input port of the target module on the target module. If only one merged segment is generated between adjacent modules, the target port of the target module is the remaining output port among the output ports traversed by the target module for the candidate paths in that group; there is at least one target port. Figure 7 For example, assuming the adjacent modules include a driver module Y0 and a load module A7, with load module A7 being the target module, the port of the merged segment between driver module Y0 and load module A7 on load module A7 is A7 / IN. After merging the equivalent segments between load modules A7 and A6, A7 / FO1 is deleted, and the remaining output ports on load module A7 are A7 / FO2 and A7 / FO0. These remaining output ports are all target ports.

[0177] There is at least one target through-road segment on the target module. Each target through-road segment is used to connect the port of the merged road segment on the target module with a target port of the target module. The starting port of each target through-road segment is the port of the merged road segment on the target module, and the ending port of each target through-road segment is a target port.

[0178] For any target port of the target module, the electronic device generates a through-segment from the port (e.g., the termination port) of the merged segment on the target module to the target port. The generated through-segment is a target through-segment. Still using... Figure 7 Taking load module A7 as the target module and the port of the merged road segment on load module A7 as A7 / IN as an example, the remaining output ports on load module A7 are A7 / FO2 and A7 / FO0. The electronic device generates a target through road segment from A7 / IN to A7 / FO2 and a target through road segment from A7 / IN to A7 / FO0, so that load module A7 has 2 target through road segments.

[0179] For each pair of adjacent modules connected by at least two routing paths in this group of candidate paths, step 2042 is performed above, thereby generating a target penetration route for each pair of adjacent modules. Using this group of candidate paths as... Figure 6 Taking NET3, NET4, NET6, and NET7 as examples, the driving module Y0 and the load module A7 are a pair of adjacent modules connected by this set of candidate path functions. The load module A7 is the target module in this pair of adjacent modules. The electronic device generates 2 target through-road segments for the load module A7. The load modules A7 and A6 are a pair of adjacent modules jointly connected by NET3 and NET6. The load module A6 is the target module in this pair of adjacent modules. In a similar manner, the electronic device generates 1 target through-road segment for the load module A6.

[0180] The above example illustrates the generation method of a target through-segment on the target module within an adjacent module, using the generation of a merged road segment between adjacent modules as an example. If multiple merged road segments are generated between adjacent modules, for any of these merged road segments, the port of the merged road segment is the termination port of the merged road segment, which is also the input port of the target module on the target module. The target port is the output port on the target module used to connect to the first path, where the first path is the routing path containing the equivalent road segment that merges into the merged road segment. For example, suppose... Figure 6 The road segments between (A5 / FO0, A2 / FI0) and (A5 / FO1, A2 / FI1) are merged into a single merged road segment. NET and NET1 are the first paths. Load module A2 is the target module, and A2 / FO0 and A2 / FO1 are the target ports on load module A2 corresponding to this merged road segment. If A2 / FO0 and A2 / FO1 are merged into a single output port, then the merged output port is the target port on load module A2 corresponding to this merged road segment. In this case, for any merged road segment, the target module has at least one target port corresponding to that merged road segment. The electronic device generates a target through-segment from the port of the merged road segment on the target module to each target port corresponding to the merged road segment.

[0181] 2043. The electronic device generates a target route based on at least one merged road segment, the target through road segment, and the remaining road segments in multiple route paths.

[0182] In this context, the at least one merged road segment refers to a merged road segment generated in step 2041 for the same group of candidate paths. The multiple routing paths in step 2043 are paths from the same group of candidate paths, and the remaining road segments among these multiple routing paths are unmerged inter-module road segments from that group of candidate paths. Figure 6For example, for a group of candidate paths consisting of NET3, NET4, NET6, and NET7, after processing such as merging road segments and generating target through-road segments for each adjacent module connected by at least two paths in this group of candidate road segments, the processed result is as follows: Figure 7 As shown, the equivalent paths of NET3, NET4, NET6, and NET7 between the driver module Y0 and the load module A7 are merged into one merged path, and the equivalent paths between the load modules A7 and A6 are merged into one merged path. The path of NET3 between the load modules A6 and A3 and the path of NET4 between the load modules A7 and A4 are the remaining paths.

[0183] The electronic device splices together the at least one merged road segment, the target through road segments on each target module connected by the group of candidate paths, and the remaining road segments on the group of candidate paths to obtain a target route path. For example, the electronic device generates target route information based on the port identifiers of the start and end ports of the at least one merged road segment, the port identifiers of the start and end ports of each target through road segment, and the port identifiers of the start and end ports of each remaining road segment. This target route information includes these port identifiers and indicates the target route.

[0184] For each group of candidate paths, the electronic device can merge the group of candidate paths into a single target routing path in a specific manner. If the multiple routing paths generated in step 202 are divided into at least one group of candidate paths, the electronic device can obtain at least one target routing path, thereby merging the multiple routing paths generated in step 202 into at least one target routing path. Figure 7 For example, NET3, NET4, NET6, and NET7 are merged into target routing path 71, and NET, NET1, NET2, and NET5 are merged into target routing path 72. Thus, eight routing paths (NET, NET1 to NET7) are merged into two target routing paths. Target routing path 71 can be represented as: Y0 / O7→(A7 / IN, A7 / FO2)→(A6 / IN, A6 / FO0)→A3 / IN; Y0 / O7→(A7 / IN, A7 / FO0)→A4 / IN. Target routing path 72 can be represented as: Y0 / O5→(A5 / IN, A5 / FO1)→(A1 / IN, A1 / FO0)→A0 / IN.

[0185] By merging the multiple routing paths generated in step 202 into at least one target routing path, the number of routing paths from the driver module to multiple load modules can be reduced, and the number of ports connected to some module routing paths can be reduced. For example, Figure 6The driver module Y0 has 8 output ports. By merging the wiring paths, the number of output ports of the driver module Y0 can be reduced to 2.

[0186] In the method provided in this application embodiment, routing paths from the driver module to each load module are first planned. Then, the planned routing paths are merged. Merging routing paths simplifies the routing path from the driver module to the multiple load modules. The simplified routing path occupies fewer resources in the integrated circuit, thereby reducing the resource consumption of the routing path in the integrated circuit. For example, merging routing paths reduces the number of routing paths from the driver module to the multiple load modules. Merging routing paths also reduces the number of ports required for routing paths on the modules, thus reducing the port consumption of the routing path from the driver module to the multiple load modules. Merging routing paths also reduces the number of path segments from the driver module to the multiple load modules, thereby reducing the total length of the routing path from the driver module to the multiple load modules. The target routing path obtained by merging routing paths is a through routing path. A through routing path does not occupy channels in the integrated circuit, thereby reducing channel occupation and reducing channel routing resources.

[0187] For example, in a scenario where the plan extends from driver module Y0 to load module A0 to load module A7, relative to... Figure 1 The four routing paths shown are planned using software tools. Following the method provided in this application, the routing paths are planned as follows: Figure 7 The two target routing paths shown are simpler, require fewer ports, and have fewer total road segments. Figure 1 Some traces in the circuit occupy channels in the integrated circuit, while Figure 7 The two target routing paths shown are both through routing paths, and neither will occupy a channel in the integrated circuit, thereby reducing the routing resources of the channel.

[0188] However, as the number of load modules driven by the driver module increases, the time required for planning the routing paths of the drive signals using software tools in related technologies via automatic routing also increases. In other words, the more load modules there are, the longer it takes to plan the routing paths using software tools, thus reducing the efficiency of routing path planning. Single-fan outgoing routing paths are relatively easy to plan, and the time required to plan a single-fan outgoing routing path is short. The method provided in this application embodiment first plans the single-fan outgoing routing path from the driver module to each load module, and then obtains the multi-fan outgoing routing path (i.e., the target routing path) from the driver module to multiple load modules through simple routing merging. Figure 7The target routing path 71 is defined in the method. Therefore, the method takes less time to plan the final routing path from the driver module to multiple load modules, which can improve the planning efficiency of the routing path.

[0189] The routing path determination of embodiments of this application has been described above. The apparatus of embodiments of this application will be described below. It should be understood that the apparatus described below has any of the functions of the electronic device in the routing path determination described above. Based on the same inventive concept as the routing path described above, this application provides a routing path determination apparatus, which will be discussed in conjunction with... Figure 8 A wiring path determination device is described. It should be understood that the technical features described in the method embodiments are also applicable to the following device embodiments.

[0190] Figure 8 This is a schematic diagram of the structure of a wiring path determination device provided in an embodiment of this application, as shown below. Figure 8 As shown, the device 800 includes:

[0191] The acquisition module 801 is used to acquire module layout information of an integrated circuit. The module layout information indicates the arrangement of multiple modules in the integrated circuit, including a driver module and multiple load modules.

[0192] The generation module 802 is used to generate multiple routing paths based on the module layout information. The routing paths are used to connect at least two of the multiple modules. The starting point of the routing path is the drive module, and the ending point of the routing path is any load module.

[0193] The first determining module 803 is used to determine multiple equivalent road segments between adjacent modules from the multiple routing paths, wherein the multiple equivalent road segments are road segments between adjacent modules located in different routing paths;

[0194] The merging module 804 is used to merge the multiple routing paths based on multiple equivalent road segments between the adjacent modules to obtain the target routing path.

[0195] Optionally, the merging module 804 includes:

[0196] A merging unit is used to merge the multiple equivalent road segments to obtain at least one merged road segment;

[0197] The first generation unit is used to generate a target through segment based on the merged segment for a target module in the adjacent modules, wherein the target module is the module that the route path passes through, and the target through segment is used to pass through the target module;

[0198] The second generation unit is used to generate the target route based on the at least one merged road segment, the target through road segment, and the remaining road segments in the plurality of route paths.

[0199] Optionally, the merging unit is used for:

[0200] Select the target starting port from the starting ports of the plurality of equivalent road segments;

[0201] Select the target termination port from the starting ports of the plurality of equivalent road segments;

[0202] Based on the target output port and the target input port, the merged road segment is generated, wherein the starting port of the merged road segment is the target output port and the ending port of the merged road segment is the target input port.

[0203] Optionally, the plurality of equivalent road segments include a plurality of first road segments and a plurality of second road segments; the merging unit is used for:

[0204] Multiple first road segments among the multiple equivalent road segments are merged to obtain a first merged road segment;

[0205] Multiple second road segments among the multiple equivalent road segments are merged to obtain a second merged road segment.

[0206] Optionally, the first generation unit is used to:

[0207] Based on the target port of the target module and the port of the merged road segment on the target module, the target through road segment is generated, and the target through road segment is used to connect the target port and the port of the merged road segment on the target module.

[0208] Optionally, the generation module 802 is used for:

[0209] For any load module, based on the module layout information, the driver module, and the load module, a routing path corresponding to the load module is generated, and the routing paths corresponding to different load modules are independent of each other.

[0210] Optionally, the device 800 further includes:

[0211] The second determining module is used to determine the position of the starting port and the ending port of each inter-module segment in the wiring path within the module based on the position information of each edge of each module connected by the wiring path. The starting port and the ending port of the same inter-module segment are located in different modules in adjacent modules. The starting port and the ending port of the same inter-module segment are close to an edge of the module they belong to, and the edges that the starting port and the ending port of the same inter-module segment are close to are adjacent.

[0212] It should be understood that device 800 corresponds to the electronic device in the above method embodiments. The modules in device 800 and the other operations and / or functions described above are respectively for implementing various steps and methods implemented by the electronic device in the method embodiments. For specific details, please refer to the above method embodiments. For the sake of brevity, they will not be repeated here.

[0213] It should be understood that when determining the wiring path, the device 800 is only illustrating the division of the above-mentioned functional modules. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device 800 can be divided into different functional modules to complete all or part of the functions described above. In addition, the device 800 provided in the above embodiments and the above method embodiments belong to the same concept, and its specific implementation process is detailed in the above method embodiments, which will not be repeated here.

[0214] Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application, such as... Figure 9 As shown, the electronic device 900 can vary considerably due to differences in configuration or performance. It may include one or more Central Processing Units (CPUs) 901 and one or more memories 902. The memory 902 stores at least one line of program code, which is loaded and executed by the processor 901 to implement the routing path determination method provided in the above-described method embodiment. Of course, the electronic device 900 may also have wired or wireless network interfaces, a keyboard, and input / output interfaces for input and output. The electronic device 900 may also include other components for implementing device functions, which will not be elaborated upon here.

[0215] In an exemplary embodiment, a computer-readable storage medium is also provided, such as a memory including program code that can be executed by a processor in an electronic device to complete the routing path determination method in the above method embodiments. For example, the computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a compact disc read-only memory (CD-ROM), magnetic tape, floppy disk, and optical data storage device, etc.

[0216] In an exemplary embodiment, a computer program product or computer program is also provided, which includes program code stored in a computer-readable storage medium. The processor of an electronic device reads the program code from the computer-readable storage medium and executes the program code, causing the electronic device to perform the above-described wiring path determination method.

[0217] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by hardware related to program instructions. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.

[0218] The above description is merely an optional embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A method for determining a wiring path, characterized in that, The method includes: Obtain module layout information of an integrated circuit, wherein the module layout information indicates the arrangement of multiple modules in the integrated circuit, and the multiple modules include a driver module and multiple load modules; Based on the module layout information, multiple routing paths are generated. The routing paths are used to connect at least two of the multiple modules. The starting point of the routing path is the drive module, and the ending point of the routing path is any load module. Multiple equivalent segments between adjacent modules are determined from the multiple routing paths, wherein the multiple equivalent segments are segments between adjacent modules located in different routing paths; Based on multiple equivalent road segments between adjacent modules, the multiple routing paths are merged to obtain the target routing path.

2. The method according to claim 1, characterized in that, The process of merging multiple routing paths based on multiple equivalent road segments between adjacent modules to obtain the target routing path includes: The multiple equivalent road segments are merged to obtain at least one merged road segment; For a target module in the adjacent modules, a target through section is generated based on the merged road segment. The target module is the module that the route path passes through, and the target through section is used to pass through the target module. The target route is generated based on the at least one merged road segment, the target through road segment, and the remaining road segments in the plurality of route paths.

3. The method according to claim 2, characterized in that, The step of merging the multiple equivalent road segments to obtain at least one merged road segment includes: Select the target starting port from the starting ports of the plurality of equivalent road segments; Select the target termination port from the starting ports of the plurality of equivalent road segments; Based on the target output port and the target input port, the merged road segment is generated, wherein the starting port of the merged road segment is the target output port and the ending port of the merged road segment is the target input port.

4. The method according to claim 2, characterized in that, The multiple equivalent road segments include multiple first road segments and multiple second road segments; The step of merging the multiple equivalent road segments to obtain at least one merged road segment includes: Multiple first road segments among the multiple equivalent road segments are merged to obtain a first merged road segment; Multiple second road segments among the multiple equivalent road segments are merged to obtain a second merged road segment.

5. The method according to claim 2, characterized in that, The step of generating a target through road segment based on the merged road segment for the target module in the adjacent modules includes: Based on the target port of the target module and the port of the merged road segment on the target module, the target through road segment is generated, and the target through road segment is used to connect the target port and the port of the merged road segment on the target module.

6. The method according to any one of claims 1-5, characterized in that, The generation of multiple routing paths based on the module layout information includes: For any load module, based on the module layout information, the driver module, and the load module, a routing path corresponding to the load module is generated, and the routing paths corresponding to different load modules are independent of each other.

7. The method according to any one of claims 1-5, characterized in that, After generating multiple routing paths based on the module layout information, the method further includes: Based on the position information of each edge of each module connected by the wiring path, the positions of the starting port and ending port of each inter-module segment in the wiring path are determined in the module. The starting port and ending port of the same inter-module segment are located in different modules in adjacent modules. The starting port and ending port of the same inter-module segment are close to an edge of the module in which they are located, and the edges that the starting port and ending port of the same inter-module segment are close to are adjacent.

8. A wiring path determination device, characterized in that, The device includes: An acquisition module is used to acquire module layout information of an integrated circuit. The module layout information indicates the arrangement of multiple modules in the integrated circuit, including a driver module and multiple load modules. A generation module is used to generate multiple routing paths based on the module layout information. The routing paths are used to connect at least two of the multiple modules. The starting point of the routing path is the drive module, and the ending point of the routing path is any load module. The first determining module is used to determine multiple equivalent road segments between adjacent modules from the multiple routing paths, wherein the multiple equivalent road segments are road segments between adjacent modules located in different routing paths; The merging module is used to merge the multiple routing paths based on multiple equivalent road segments between adjacent modules to obtain the target routing path.

9. The apparatus according to claim 8, characterized in that, The merging module includes: A merging unit is used to merge the multiple equivalent road segments to obtain at least one merged road segment; The first generation unit is used to generate a target through segment based on the merged segment for a target module in the adjacent modules, wherein the target module is the module that the route path passes through, and the target through segment is used to pass through the target module; The second generation unit is used to generate the target route based on the at least one merged road segment, the target through road segment, and the remaining road segments in the plurality of route paths.

10. The apparatus according to claim 8 or 9, characterized in that, The device further includes: The second determining module is used to determine the position of the starting port and the ending port of each inter-module segment in the wiring path within the module based on the position information of each edge of each module connected by the wiring path. The starting port and the ending port of the same inter-module segment are located in different modules in adjacent modules. The starting port and the ending port of the same inter-module segment are close to an edge of the module they belong to, and the edges that the starting port and the ending port of the same inter-module segment are close to are adjacent.

11. An electronic device, characterized in that, The electronic device includes a processor and a memory, the memory storing at least one program, which is loaded and executed by the processor to implement the method of any one of claims 1 to 7.

12. A computer-readable storage medium, characterized in that, The computer-readable storage medium is used to store at least one program, which is loaded and executed by a processor to implement the method of any one of claims 1 to 7.

13. A computer program product, characterized in that, The computer program product includes at least one program segment loaded and executed by a processor to implement the method as claimed in any one of claims 1 to 7.