A method and device for module port planning of an integrated circuit

By obtaining and utilizing the preset planning information and boundary classification information of the port to be planned, the problem of cumbersome module port planning and poor adaptability in chip design is solved, and a more concise and flexible port planning process is achieved.

CN113962187BActive Publication Date: 2025-06-10HYGON INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111335397.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-11
Publication Date
2025-06-10
Estimated Expiration
2041-11-11

AI Technical Summary

Technical Problem

In chip design, the planning of module ports is cumbersome and poor adaptability, especially when the number of module boundary edges changes, the prior art is difficult to effectively solve.

Method used

By obtaining the preset planning information of the port to be planned and the boundary classification information of the module to be planned, the module boundary is divided into several boundary categories according to the preset classification strategy, and the port is set according to the expected port orientation and offset information.

Benefits of technology

It improves the simplicity and adaptability of port planning, avoiding the cumbersome and poor adaptability caused by the binding of port and module boundary number.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113962187B_ABST
    Figure CN113962187B_ABST
Patent Text Reader

Abstract

An embodiment of the present invention discloses a method and apparatus for module port planning of an integrated circuit, which relates to the technical field of integrated circuits and can effectively improve the simplicity and adaptability of port planning. The method includes: obtaining preset planning information of ports to be planned and boundary classification information of modules to be planned, where the preset planning information includes the expected port orientation and expected offset information of the ports to be planned on the modules to be planned, the number of boundary categories is less than or equal to the number of module boundaries, and the expected port orientations of the ports to be planned on each module boundary under the same boundary category are the same; each of the boundary categories includes at least one of the module boundaries, and each module boundary is a line segment; according to the preset planning information and the boundary classification information, setting the ports to be planned on the module boundaries of the modules to be planned. The present invention is applicable to integrated circuit design technology.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of integrated circuit technology, and in particular, to a method and device for module port planning of an integrated circuit. Background Art

[0002] In chip design, after the layout of the top-level module is completed, it is also necessary to plan the ports of each top-level module. Conventionally, the planning of module ports generally numbers the edges of the module boundary according to certain rules, and then performs port constraints based on the numbers of each edge.

[0003] However, in actual work, the shapes of modules are not all rectangular, and sometimes there are many edges. In this case, it will be more cumbersome to plan ports by specifying the numbers of the edges where the ports are placed. Moreover, when the number of edges of the module boundary changes, the numbers are also disrupted, and the already planned port constraint file is no longer applicable, and resources have to be consumed to re-plan. In addition, due to the possible inconsistency of the numbering rules of various EDA (Electronic Design Automation) tools, there are also situations where the port planning constraints in different EDA tools cannot be generalized, and the adaptability of port planning is poor.

[0004] In view of the problems of cumbersome module port planning and poor adaptability, there is no effective solution in the related art. Summary of the Invention

[0005] In view of this, embodiments of the present invention provide a method, device, electronic device, storage medium, and chip for module port planning of an integrated circuit, which can effectively improve the simplicity and adaptability of port planning.

[0006] In a first aspect, an embodiment of the present invention provides a method for module port planning of an integrated circuit, the method including: obtaining preset planning information of a port to be planned and boundary classification information of a module to be planned, where the preset planning information includes an expected port orientation and expected offset information of the port to be planned on the module to be planned, the boundary classification information is information obtained by dividing each module boundary of the module to be planned into several boundary categories according to a preset classification strategy, the number of boundary categories is less than or equal to the number of module boundaries, and the expected port orientations of each port to be planned on each module boundary under the same boundary category are the same; each boundary category includes at least one module boundary, and each module boundary is a line segment;

[0007] Setting the port to be planned on the module boundary of the module to be planned according to the preset planning information and the boundary classification information.

[0008] Optionally, the outline of the module to be planned is a rectangle or a concave polygon, any two adjacent sides of the concave polygon are perpendicular to each other, and the number of boundary categories is 4.

[0009] Optionally, the preset classification strategy includes at least one of the following:

[0010] Dividing each module boundary of the module to be planned into several boundary categories according to the relative position relationship between the module boundary and the module body in the module to be planned;

[0011] Dividing each module boundary of the module to be planned into several boundary categories according to the direction of the boundary vector corresponding to each module boundary of the module to be planned.

[0012] Optionally, setting the port to be planned on the module boundary of the module to be planned according to the preset planning information and the boundary classification information includes:

[0013] Selecting a boundary category that matches the expected port orientation from the boundary categories of the module to be planned according to the expected port orientation to obtain a target category;

[0014] Searching for the module boundary corresponding to the port to be planned from each module boundary in the target category according to the expected offset information and the position information of each module boundary in the target category to obtain a target boundary;

[0015] Setting the port to be planned on the target boundary of the module to be planned according to the expected offset information and the position information of the target boundary.

[0016] Optionally, the outline of the module to be planned is a rectangle or a concave polygon, any two adjacent sides of the concave polygon are perpendicular to each other, and the number of boundary categories is 4; the position information of each module boundary is represented by an array, where the array name of the array includes the category identifier of the boundary category to which the module boundary belongs and the first coordinate, and the array elements of the array include the second coordinate and the third coordinate; wherein, the first coordinate is the coordinate component value that is equal under the same coordinate component in the two-dimensional coordinates of the two endpoints of the module boundary, and the second coordinate and the third coordinate are respectively the two coordinate component values that are not equal under the same coordinate component in the two-dimensional coordinates of the two endpoints of the module boundary.

[0017] Optionally, the step of selecting, according to the expected port orientation, a boundary category that matches the expected port orientation from the boundary categories of the module to be planned to obtain a target category includes: determining a category identifier of the boundary category corresponding to the expected port orientation to obtain a first identifier; and selecting the boundary category to which the array element containing the first identifier belongs as the target category;

[0018] The step of searching, according to the expected offset information and the position information of each module boundary in the target category, for the module boundary corresponding to the port to be planned from each module boundary in the target category to obtain a target boundary includes: determining, according to the relative relationship between the expected offset information of the port to be planned and the coordinate intervals represented by the second coordinate and the third coordinate of each array in the target category, whether each module boundary in the target category is the target boundary;

[0019] The step of setting the port to be planned on the target boundary of the module to be planned according to the expected offset information and the position information of the target boundary includes: determining one coordinate component of the port to be planned according to the array name of the array corresponding to the target boundary, and determining the other coordinate component of the port to be planned according to the expected offset information.

[0020] Optionally, the port to be planned includes a port group formed by a plurality of sub-ports, there is a preset interval distance between two adjacent sub-ports, the expected port orientations of the sub-ports in the port group are the same, and are all the same as the expected orientation of the port group;

[0021] The step of setting the port to be planned on the module boundary of the module to be planned according to the preset planning information and the boundary classification information includes:

[0022] adaptively setting each of the sub-ports in the port group on the module boundary of the module to be planned according to the preset planning information of the port group and the boundary classification information.

[0023] Optionally, the step of adaptively setting each of the sub-ports in the port group on the module boundary of the module to be planned according to the preset planning information of the port group and the boundary classification information includes:

[0024] selecting, according to the expected orientation of the port group, a boundary category that matches the expected orientation from the boundary categories of the module to be planned to obtain a target category;

[0025] Based on the expected offset information of the first sub-port starting from one end of the port group and the position information of each module boundary under the target category, search for the module boundary corresponding to the first sub-port from each module boundary under the target category to obtain the first boundary;

[0026] According to the preset interval distance between each sub-port, set the other sub-ports in the port group on the first boundary or other boundaries under the target category.

[0027] In a second aspect, an embodiment of the present invention provides a module port planning device for an integrated circuit, including:

[0028] An acquisition unit, configured to acquire preset planning information of the ports to be planned and boundary classification information of the modules to be planned, where the preset planning information includes the expected port orientation and expected offset information of the ports to be planned on the modules to be planned, the boundary classification information is information obtained by dividing each module boundary of the modules to be planned into several boundary categories according to a preset classification strategy, the number of boundary categories is less than or equal to the number of module boundaries, and the expected port orientations of each port to be planned on each module boundary under the same boundary category are the same; at least one module boundary is included in each boundary category, and each module boundary is a line segment;

[0029] A setting unit, configured to set the ports to be planned on the module boundaries of the modules to be planned according to the preset planning information and the boundary classification information.

[0030] Optionally, the outline of the module to be planned is a rectangle or a concave polygon, any two adjacent sides of the concave polygon are perpendicular to each other, and the number of boundary categories is 4.

[0031] Optionally, the preset classification strategy includes at least one of the following:

[0032] Divide each module boundary of the module to be planned into several boundary categories according to the relative position relationship between the module boundary and the module body in the module to be planned;

[0033] Divide each module boundary of the module to be planned into several boundary categories according to the direction of the boundary vector corresponding to each module boundary of the module to be planned.

[0034] Optionally, the setting unit includes:

[0035] A target category selection sub-unit, configured to select a boundary category that matches the expected port orientation from the boundary categories of the module to be planned according to the expected port orientation to obtain a target category;

[0036] A target boundary search subunit, configured to search, from the module boundaries of the target category, for the module boundary corresponding to the to-be-planned port according to the expected offset information and the position information of each module boundary in the target category, so as to obtain a target boundary;

[0037] A to-be-planned port setting subunit, configured to set the to-be-planned port on the target boundary of the to-be-planned module according to the expected offset information and the position information of the target boundary.

[0038] Optionally, the contour of the to-be-planned module is a rectangle or a concave polygon, any two adjacent sides of the concave polygon are perpendicular to each other, and the number of boundary categories is 4; the position information of each module boundary is represented by an array, where the array name of the array includes the category identifier of the boundary category to which the module boundary belongs and the first coordinate, and the array elements of the array include the second coordinate and the third coordinate; where the first coordinate is the coordinate component value that is equal under the same coordinate component in the two-dimensional coordinates of the two endpoints of the module boundary, and the second coordinate and the third coordinate are respectively the two coordinate component values that are not equal under the same coordinate component in the two-dimensional coordinates of the two endpoints of the module boundary.

[0039] Optionally, the target category selection subunit is specifically configured to: determine the category identifier of the boundary category corresponding to the expected port orientation to obtain a first identifier; select the boundary category to which the array element containing the first identifier belongs as the target category;

[0040] The target boundary search subunit is specifically configured to: determine whether each module boundary in the target category is the target boundary according to the relative relationship between the expected offset information of the to-be-planned port and the coordinate intervals represented by the second coordinate and the third coordinate of each array in the target category;

[0041] The to-be-planned port setting subunit is specifically configured to: determine one coordinate component of the to-be-planned port according to the array name of the array corresponding to the target boundary, and determine the other coordinate component of the to-be-planned port according to the expected offset information.

[0042] Optionally, the to-be-planned port includes a port group formed by a plurality of sub-ports, there is a preset interval distance between two adjacent sub-ports, the expected port orientations of the sub-ports in the port group are the same, and are both the same as the expected orientation of the port group;

[0043] The setting unit is specifically configured to: adaptively set each of the sub-ports in the port group on the module boundary of the to-be-planned module according to the preset planning information of the port group and the boundary classification information.

[0044] Optionally, the setting unit is specifically configured to:

[0045] Select a boundary category that matches the expected orientation from the boundary categories of the module to be planned according to the expected orientation of the port group, to obtain a target category;

[0046] According to the expected offset information of the first sub-port starting from one end of the port group and the position information of each module boundary under the target category, search for the module boundary corresponding to the first sub-port from each module boundary under the target category, to obtain a first boundary;

[0047] Set the other sub-ports in the port group on the first boundary or other boundaries under the target category according to the preset interval distance between the sub-ports.

[0048] In a third aspect, an embodiment of the present invention further provides an electronic device, which includes: a processor, a memory, a circuit board, and a power supply circuit. Among them, the circuit board is arranged inside the space enclosed by the housing, and the processor and the memory are arranged on the circuit board; the power supply circuit is used to supply power to each circuit or device of the above-mentioned electronic device; the memory is used to store executable program codes; the processor runs a program corresponding to the executable program code by reading the executable program code stored in the memory, and is used to execute any module port planning method for an integrated circuit provided by an embodiment of the present invention.

[0049] In a fourth aspect, an embodiment of the present invention further provides a computer-readable storage medium, which stores one or more programs, and the one or more programs can be executed by one or more processors to implement any module port planning method for an integrated circuit provided by an embodiment of the present invention.

[0050] In a fifth aspect, an embodiment of the present invention provides a chip, and the chip adopts any module port planning method for an integrated circuit provided by an embodiment of the invention during the design process.

[0051] The method, device, electronic device, storage medium and chip for module port planning of an integrated circuit provided by an embodiment of the present invention can obtain the preset planning information of the ports to be planned and the boundary classification information of the modules to be planned, where the preset planning information includes the expected port orientation and expected offset information of the ports to be planned on the modules to be planned, the boundary classification information is the information obtained by dividing each module boundary of the modules to be planned into several boundary categories according to a preset classification strategy, the number of boundary categories is less than or equal to the number of module boundaries, and the expected port orientations of the ports to be planned on each module boundary under the same boundary category are the same; each boundary category includes at least one module boundary, and each module boundary is a line segment; according to the preset planning information and the boundary classification information, the ports to be planned are set on the module boundaries of the modules to be planned. In this way, when performing port planning, since the module boundaries of the modules to be planned are classified, only the expected port orientation and expected offset of the ports to be planned need to be planned, and then the corresponding module boundary category can be found according to the expected port orientation, and combined with the expected offset information, the ports to be planned can be set on the modules to be planned. The whole process does not require numbering the module boundaries of the modules to be planned, nor does it require specifying which module boundary each port to be planned needs to be placed on. Therefore, there is no problem of cumbersome planning steps and poor adaptability caused by the binding of ports and module boundary numbers, thus effectively improving the simplicity and adaptability of port planning. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the following drawings are only some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained without creative efforts based on these drawings.

[0053] Figure 1 It is a flowchart of a method for module port planning of an integrated circuit provided by an embodiment of the present invention;

[0054] Figure 2 It is a specific port planning schematic diagram in the method for module port planning of an integrated circuit provided by an embodiment of the present invention;

[0055] Figure 3 It is a schematic structural diagram of a device for module port planning of an integrated circuit provided by an embodiment of the present invention;

[0056] Figure 4 It is a schematic structural diagram of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0057] The embodiments of the present invention will be described in detail below with reference to the accompanying drawings.

[0058] It should be clear that the described embodiments are only a part of the embodiments of the present invention, rather than all of the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative work belong to the scope of protection of the present invention.

[0059] In a first aspect, an embodiment of the present invention provides a method for planning module ports of an integrated circuit, which can effectively improve the simplicity and adaptability of port planning.

[0060] As Figure 1 shown, the method for planning module ports of an integrated circuit provided by the embodiment of the present invention may include:

[0061] S11. Obtain the preset planning information of the ports to be planned and the boundary classification information of the modules to be planned, where the preset planning information includes the expected port orientation and expected offset information of the ports to be planned on the modules to be planned, the boundary classification information is the information obtained by dividing each module boundary of the modules to be planned into several boundary categories according to a preset classification strategy, the number of boundary categories is less than or equal to the number of module boundaries, and the expected port orientations of the ports to be planned on each module boundary under the same boundary category are the same; at least one module boundary is included in each boundary category, and each module boundary is a line segment;

[0062] In this step, the ports to be planned are the ports that need to be planned and set, and the modules to be planned are the circuit modules where the ports to be planned are planned to be placed. The module body is the body of the module to be planned. The module body is relative to the module boundary. In the design layout of an integrated circuit, a module body can specifically refer to the enclosed area surrounded by the corresponding module boundary. For example, in Figure 2 , it is the enclosed area jointly surrounded by the boundaries ab, bc, cd, de, ef, and fa.

[0063] The preset planning information of the ports to be planned may specifically include the expected port orientation and expected offset information of the ports to be planned on the modules to be planned. Among them, the expected port orientation may refer to the direction from which the signal in the port is led out when the port is set in the module, and the expected offset information may refer to the position offset along the preset direction relative to the preset vertex of the module on the premise of meeting its expected port orientation when the port is set in the module.

[0064] The boundary classification information of the module to be planned can be the information that divides each module boundary of the module to be planned into several boundary categories according to a preset classification strategy. After the boundary classification is performed according to the preset classification strategy, there is a one-to-one correspondence between the boundary category and the port orientation on the boundary of this type. That is to say, for the ports set on the module boundaries of the same boundary category, their port orientations are the same.

[0065] It can be understood that, in order to facilitate the wiring connection between the ports on one module and the ports on other modules, the ports are preferably set on the boundary of the module, and the orientation direction is towards the outside of the module body. For example, as Figure 2 shown, taking point f as the coordinate origin, the direction of vector fa as the positive direction of the ordinate, and the direction of vector fe as the positive direction of the abscissa, a coordinate system is established. Then, the port orientation set on boundary ab can be the positive direction of the ordinate, the port orientations set on boundary cd and boundary ef can be the negative direction of the ordinate, the port orientations set on boundary bc and boundary de can be the positive direction of the abscissa, and the port orientation set on boundary fa can be the negative direction of the abscissa.

[0066] In the boundary classification information of the module to be planned, since the number of boundary categories is less than or equal to the number of module boundaries, in this way, for a module with a large number of boundaries, or for a module whose number of boundaries may be adjusted, there is no need to operate on each boundary separately, but only need to operate on the boundary categories. Therefore, the simplicity of port planning can be effectively improved.

[0067] S12. According to the preset planning information and the boundary classification information, set the port to be planned on the module boundary of the module to be planned.

[0068] After obtaining the preset planning information of the port to be planned and the boundary classification information of the module to be planned in step S11, in this step, according to the expected port orientation information of the port to be planned in the information obtained above, and the category information of each boundary in the module to be planned, it can be judged on which type of boundary the port to be planned is located, and further according to the expected offset information in the information obtained, the specific position of the port is determined. For example, as Figure 2 shown, if the expected port orientation direction of port x is the negative direction of the abscissa, then port x is located on boundary fa. Then, according to the expected offset information of port x on the module to be planned, the exact position information of port x on boundary fa can be determined. Among them, the expected offset information can be the offset information relative to the coordinate origin. For example, if the expected offset information of port x is 1 μm, then it can be determined that it is located at a position 1 μm away from the origin on boundary fa.

[0069] It should be noted that, for the convenience of clearly explaining the principle of the embodiments of the present invention, the above specific method is adopted for the selection of the coordinate system. In fact, the embodiments of the present invention can adopt any coordinate system, which does not affect the substantial content of the present invention and all fall within the protection scope of the embodiments of the present invention.

[0070] The method for planning module ports of an integrated circuit provided by the embodiments of the present invention can obtain the preset planning information of the ports to be planned and the boundary classification information of the modules to be planned. The preset planning information includes the expected port orientation and expected offset information of the ports to be planned on the modules to be planned. The boundary classification information is the information obtained by dividing each module boundary of the module to be planned into several boundary categories according to a preset classification strategy. The number of boundary categories is less than or equal to the number of module boundaries. The expected port orientations of the ports to be planned on each module boundary under the same boundary category are the same; at least one module boundary is included in each boundary category, and each module boundary is a line segment; according to the preset planning information and the boundary classification information, the ports to be planned are set on the module boundaries of the modules to be planned. In this way, when performing port planning, since the module boundaries of the module to be planned are classified, only the expected port orientation and expected offset of the ports to be planned need to be planned. Then, the corresponding module boundary category can be found according to the expected port orientation, and combined with the expected offset information, the ports to be planned can be set on the module to be planned. The entire process does not require numbering the module boundaries of the module to be planned, nor does it require specifying which module boundary each port to be planned needs to be placed on. Therefore, there is no problem of cumbersome planning steps and poor adaptability caused by the binding of ports and module boundary numbers, thus effectively improving the simplicity and adaptability of port planning.

[0071] Optionally, in the embodiments of the present invention, the outlines of the modules to be planned can be various, such as rectangles, squares, triangles, pentagons, etc. The embodiments of the present invention do not limit this. Of course, if the outlines of the modules to be planned are different, the corresponding boundary classification strategies can also be different.

[0072] In an embodiment of the present invention, the contour of the module to be planned can be a rectangle or a concave polygon. Any two adjacent sides of the concave polygon are perpendicular to each other, and the number of boundary categories is 4. Specifically, if among all the sides of a polygon, when one side is extended infinitely in both directions to form a straight line, the other sides are not all on the same side of this straight line, then this polygon is called a concave polygon. Specifically, it can be determined whether a polygon is a concave polygon by the interior angle of the polygon. If at least one interior angle of a polygon is greater than 180 degrees, it is a concave polygon. In the embodiment of the present invention, any two adjacent sides of the concave polygon are perpendicular to each other, so all interior angles of the concave polygon are 90 degrees or 270 degrees. For the specific shape, please refer to Figure 2 .

[0073] When the contour of the module to be planned is a rectangle or a concave polygon, any two boundaries are parallel or perpendicular to each other. Correspondingly, the expected port orientations of the ports are only 4 directions, and at the same time, the number of boundary categories is also 4. By reducing the number of boundary categories and the number of categories of the expected port orientation information of the ports, it helps to represent the port orientation information in a simpler way, reduces the errors that occur in the process of setting the port orientation information, and thus improves the accuracy and efficiency of port planning.

[0074] From another perspective, when performing layout design, making the contour of the module to be planned a rectangle or a concave polygon with any two adjacent sides perpendicular to each other is beneficial for placing the modules close to each other, thus reducing the total occupied area of the integrated circuit. At the same time, since the directions of the ports are four directions that are 90 degrees to each other, it is beneficial for wiring connection between the ports, thereby improving the quality of wiring and the performance of the integrated circuit.

[0075] Optionally, in an embodiment of the present invention, the preset classification strategy in step S11 may include: dividing each module boundary of the module to be planned into several boundary categories according to the relative position relationship between the module boundary and the module body in the module to be planned. Specifically, in the case where the contour of the module to be planned is a rectangle or a concave polygon with any two adjacent sides perpendicular to each other, the preset classification strategy may be: if the module boundary is on the left side of the module body part adjacent to the module boundary, then the module boundary is divided into the left category; if the module boundary is on the right side of the module body part adjacent to the module boundary, then the module boundary is divided into the right category; if the module boundary is on the upper side of the module body part adjacent to the module boundary, then the module boundary is divided into the upper category; if the module boundary is on the lower side of the module body part adjacent to the module boundary, then the module boundary is divided into the lower category.

[0076] For example, such as Figure 2As shown in the figure, the boundary bc and the boundary de are located on the right side of the module body part, so they are classified into the right side category; the boundary fa is located on the left side of the module body part, so it is classified into the left side category; the boundary cd and the boundary ef are located on the lower side of the module body part, so they are classified into the lower side category; the boundary ab is located on the upper side of the module body part, so it is classified into the upper side category.

[0077] Furthermore, according to the expected port orientation of the port to be planned, it can be determined on which boundary of which category the port is located. For example, if the expected port orientation of the port is upward, the port is located on the boundary ab; if the expected port orientation of the port is downward, the port is located on the boundary cd or the boundary ef; if the expected port orientation of the port is to the left, the port is located on the boundary fa; if the expected port orientation of the port is to the right, the port is located on the boundary bc or the boundary de.

[0078] In addition to classifying each of the module boundaries of the module to be planned into several boundary categories according to the relative position relationship between the module boundary and the module body in the module to be planned, optionally, in another embodiment of the present invention, each of the module boundaries of the module to be planned can also be classified into several boundary categories according to the direction of the boundary vector corresponding to each module boundary of the module to be planned, and a one-to-one correspondence between the boundary category and the port orientation information on the boundary of this type is established. Specifically, each boundary can be divided into multiple vectors in the clockwise or counterclockwise direction, and the vector is used to represent the module boundary. Here, the clockwise direction is taken as an example for illustration. Please refer to Figure 2 , the boundary can be represented by the vector ab, the vector bc, the vector cd, the vector de, the vector ef, and the vector fa. The port direction on each boundary has a one-to-one correspondence with the vector direction of the boundary where it is located. For example, the port direction on the boundary ab is in the direction of rotating 90 degrees counterclockwise from the vector ab. The port directions on other boundaries also have the same or similar relationship with the vectors corresponding to the boundaries. Therefore, by classifying the boundary vectors with the same direction into the same category, such as the vector cd and the vector ef, a one-to-one correspondence between the expected orientation direction of the port and the boundary category can be established.

[0079] Optionally, in an embodiment of the present invention, in step S12, according to the preset planning information of the to-be-planned port and the boundary classification information, setting the to-be-planned port on the module boundary of the to-be-planned module can be implemented in the following specific manner: according to the expected port orientation, select a boundary category that matches the expected port orientation from the boundary categories of the to-be-planned module to obtain a target category; according to the expected offset information and the position information of each module boundary under the target category, search for the module boundary corresponding to the to-be-planned port from each module boundary under the target category to obtain a target boundary; according to the expected offset information and the position information of the target boundary, set the to-be-planned port on the target boundary of the to-be-planned module.

[0080] In an embodiment of the present invention, since for any port, there is a corresponding boundary category, the boundary category corresponding to the port can be obtained according to the expected port orientation information of the port. For example, as Figure 2 shown, if the expected port orientation of port y is downward, the boundary category corresponding to this port can be obtained as the lower boundary category. Among them, the boundaries belonging to the lower boundary category include boundary cd and boundary ef. Then, according to the preset offset information of port y, the position information of boundary cd, and the position information of boundary ef, it can be determined whether port y is on boundary cd or boundary ef, and its position information on the corresponding boundary can be determined according to the offset information of port y, and port y can be placed according to this position information.

[0081] To facilitate quickly finding the module boundary corresponding to the to-be-planned port so as to set the to-be-planned port on the to-be-planned module, the module boundaries of the to-be-planned module can be concisely described by means of variables, arrays, etc. For example, optionally, in an embodiment of the present invention, the position information of each module boundary can be represented by an array. Among them, the array name of the array includes the category identifier of the boundary category to which the module boundary belongs and the first coordinate, and the array elements of the array include the second coordinate and the third coordinate; where the first coordinate is the coordinate component value that is equal under the same coordinate component in the two-dimensional coordinates of the two endpoints of the module boundary, and the second coordinate and the third coordinate are the two coordinate component values that are not equal under the same coordinate component in the two-dimensional coordinates of the two endpoints of the module boundary, respectively.

[0082] As mentioned above, the module boundaries can be divided into the left boundary category, the right boundary category, the upper boundary category, and the lower boundary category. To facilitate representing the boundary types in the array, each boundary category can be represented by a corresponding category identifier. Specifically, the category identifiers of the above four boundary categories can be L, R, T, and B, respectively.

[0083] In an embodiment of the present invention, an array can be used to represent the position information of the module boundary. For example, as Figure 2 shown, for any boundary (the boundary parallel to the horizontal coordinate axis) with a category identifier of T or B, the ordinate values of all points on its line segment are the same. The ordinate value can be used as the first coordinate to describe the ordinate position where the above boundary is located. In addition, the abscissa of the starting point of the boundary is used as the second coordinate, and the abscissa of the ending point of the boundary is used as the third coordinate to describe the coverage range of the boundary in the abscissa direction. Then, the type identifier of the boundary and the ordinate value can be used as the array name, and the starting point abscissa and the ending point abscissa can be used as the array elements of the two-dimensional array, so as to clearly and briefly describe the position information of the boundary. For example, as Figure 2 shown, assuming that the coordinates of point a are (0, 2.32) and the coordinates of point b are (3.3, 2.32), the same coordinate component is 2.32, and the different coordinate components are 0 and 3.3 respectively. Then, the boundary ab can be represented as the array T2.32[2]=(0, 3.3), where 2 in the square brackets represents the number of array elements, and 0 and 3.3 in the parentheses are the two array elements respectively.

[0084] For any boundary (the boundary parallel to the vertical coordinate axis) with a category identifier of R or L, the array can be adaptively changed. The principle is the same as the array representation method of the boundary with a category identifier of T or B, and will not be elaborated here.

[0085] Optionally, in an embodiment of the present invention, according to the expected port orientation, selecting a boundary category that matches the expected port orientation from the boundary categories of the to-be-planned module to obtain the target category may include: determining the category identifier of the boundary category corresponding to the expected port orientation to obtain the first identifier; selecting the boundary category to which the array element containing the first identifier belongs as the target category. For example, if the expected port orientation of port z is to the right, the category identifier of the boundary corresponding to this port can be obtained as R, and according to the category identifier R, the target category corresponding to port z can be determined as the right category.

[0086] After obtaining the target category, the step of finding the module boundary corresponding to the to-be-planned port from the module boundaries under the target category according to the expected offset information and the position information of each module boundary under the target category to obtain the target boundary may include: determining whether each module boundary in the target category is the target boundary according to the relative relationship between the expected offset information of the to-be-planned port and the coordinate interval represented by the second coordinate and the third coordinate of each array in the target category; for example, as Figure 2As shown in the figure, the two arrays corresponding to the right category boundary are R3.3[2] = (2.32, 1.28) and R2.4[2] = (1.28, 0) respectively. The arrays R3.3[2] = (2.32, 1.28) and R2.4[2] = (1.28, 0) indicate that the ordinate intervals covered by their corresponding boundaries are [2.32, 1.28] and [1.28, 0] respectively, with the unit of μm. If the expected offset information of port z is 1.36 μm, it can be determined that port z is on boundary bc and not on boundary de, that is, boundary bc is the target boundary. If the expected offset information of port z is 0.56 μm, it can be determined that port z is on boundary de and not on boundary bc, that is, boundary de is the target boundary.

[0087] After obtaining the target boundary, setting the port to be planned on the target boundary of the module to be planned according to the expected offset information and the position information of the target boundary may include: determining one coordinate component of the port to be planned according to the array name of the array corresponding to the target boundary, and determining the other coordinate component of the port to be planned according to the expected offset information. Based on the previous example, if port z is on boundary bc corresponding to the array R3.3[2] = (2.32, 1.28), the abscissa value of port z can be determined to be 3.3 μm according to the array R3.3[2] = (2.32, 1.28). Furthermore, according to the expected offset information of port z, which is 1.36 μm, the ordinate value of port z can be determined to be 1.36 μm. If port z is on boundary de corresponding to the array R2.4[2] = (1.28, 0), the abscissa value of port z can be determined to be 2.4 μm according to the array R2.4[2] = (1.28, 0). Furthermore, according to the expected offset information of port z, which is 0.56 μm, the ordinate value of port z can be determined to be 0.56 μm.

[0088] It can be seen that representing the type and position information of the boundary in the form of an array, one or more arrays containing the corresponding category identifiers can be obtained according to the expected orientation information of the port to be planned, and which array is the target array can be specifically determined according to the expected offset information, and the abscissa value or ordinate value of the port to be planned can be obtained from the array name of the target array. Specifically, for the boundaries with the identification category of R or L, the abscissa value is included in the array name, and for the boundaries with the identification category of T or B, the ordinate value is included in the array name, and the other coordinate value of the port to be planned is obtained according to the expected offset information. Using the form of an array helps to improve the port planning efficiency and accuracy.

[0089] Further, in the embodiments of the present invention, when performing port planning, some ports can be planned individually, and some ports can be planned in batches. For example, optionally, in an embodiment of the present invention, the to-be-planned ports may include a port group formed by multiple sub-ports, and there is a preset interval distance between two adjacent sub-ports. The expected port orientations of the sub-ports in the port group are the same and are all the same as the expected orientation of the port group. Then, in step S12, setting the to-be-planned ports on the module boundary of the to-be-planned module according to the preset planning information and the boundary classification information may specifically include: adaptively setting each of the sub-ports in the port group on the module boundary of the to-be-planned module according to the preset planning information of the port group and the boundary classification information.

[0090] Specifically, in the field of electronic technology, according to the transmission method, buses can be divided into serial buses and parallel buses. In a serial bus, binary data is sent bit by bit through a single data line to the destination device. In a parallel bus, data is transmitted simultaneously through multiple data lines. The bit width of a parallel bus is used to represent the number of bits of data that can be transmitted simultaneously, that is, the number of data lines included in the bus, and usually 8-bit, 64-bit, etc. bus widths are adopted. When using a parallel bus, a port group is usually required accordingly, and the number of sub-ports in the port group is the same as the bit width of the parallel bus. For example, Figure 2 as shown, the port group includes 8 sub-ports, namely sub-port 0 to sub-port 7, and there is a preset interval distance between any two adjacent sub-ports. The expected port orientations of the sub-ports are the same and are all the same as the expected orientation of the port group. For example, Figure 2 if the expected orientations of the 8 sub-ports in are to the right, then the expected orientation of the port group is to the right. Further, it is determined that all ports of the port group are located on the boundary of the right type. Combining the preset distances between the sub-ports, each sub-port can be adaptively set on the boundary bc and / or boundary ef of the right type without separately planning the positions of the sub-ports of the port group, thereby improving the port planning efficiency.

[0091] In specific implementation, adaptively setting each of the sub-ports in the port group on the module boundary of the module to be planned according to the preset planning information of the port group and the boundary classification information may include: selecting, according to the expected orientation of the port group, a boundary classification that matches the expected orientation from the boundary classifications of the module to be planned to obtain a target classification; searching, according to the expected offset information of the first sub-port starting from one end of the port group and the position information of each module boundary under the target classification, for the module boundary corresponding to the first sub-port from each module boundary under the target classification to obtain a first boundary; and setting the other sub-ports in the port group on the first boundary or other boundaries under the target classification according to the preset interval distance between the sub-ports.

[0092] For example, as Figure 2 shown, if the expected orientation information of the port group is to the right, it can be determined that the corresponding boundary classification of the port group is the right classification. The offset information of the first sub-port in the port group is 0.56 μm, which is less than 1.28 μm. It can be determined that sub-port 0 is located on boundary de in the right classification. According to the preset distance of 0.16 μm between each port, the offset information of sub-port 1 can be calculated as 0.72 μm, which is less than 1.28 μm. It can be determined that sub-port 1 is located on boundary de in the right classification. And so on, the offset information of each sub-port can be calculated in turn, and it can be judged whether each sub-port is located on boundary de or boundary bc according to the offset information. Specifically, the offset information of sub-ports 2 to 4 are 0.88 μm, 1.04 μm, and 1.20 μm respectively, all of which are less than 1.28 μm. It can be determined that these four ports are all located on boundary de. The offset information of ports 5 to 7 are 1.36 μm, 1.52 μm, and 1.68 μm respectively. All three are greater than 1.28 μm and less than 2.32 μm. Therefore, the three are located on boundary bc. Furthermore, according to the offset information, ports 5 to 7 can be set at the corresponding positions on boundary bc.

[0093] For Figure 2In the situation shown, in the existing port planning technology, the range from 0.56 μm to 1.28 μm of the boundary de cannot accommodate 8 sub-ports in the port group. It is necessary to split the port group into two groups and respectively plan the positions of the two groups of ports on the boundaries de and bc. The steps are cumbersome and time-consuming and prone to errors. In the embodiment of the present invention, the ordinate range covered by the boundaries bc and de of the right category is from 0 to 2.32 μm, and the range from 0.56 μm to 2.32 μm is sufficient to accommodate all the sub-ports in the port group. During the planning process of each sub-port, it can be judged that it is located on the boundary de according to the offset information of sub-port 0. When exceeding the coverage range of the boundary de, it can automatically calculate that it needs to be placed on the boundary bc according to the offset information of the sub-port. Therefore, there is no need to split the port group, and the corresponding target boundary can be adaptively selected for all the sub-ports in the port group, and further the corresponding coordinates can be calculated on the target boundary according to the offset information, thus greatly improving the efficiency and accuracy of port planning.

[0094] Correspondingly, in a second aspect, an embodiment of the present invention further provides a module port planning device for an integrated circuit, which can effectively improve the simplicity and adaptability of port planning.

[0095] As Figure 3 shown, the module port planning device 3 for an integrated circuit provided by the embodiment of the present invention may include:

[0096] An acquisition unit 31, configured to acquire preset planning information of a port to be planned and boundary classification information of a module to be planned, where the preset planning information includes an expected port orientation and expected offset information of the port to be planned on the module to be planned, the boundary classification information is information obtained by dividing each module boundary of the module to be planned into several boundary categories according to a preset classification strategy, the number of boundary categories is less than or equal to the number of module boundaries, and the expected port orientations of the ports to be planned on each module boundary in the same boundary category are the same; at least one module boundary is included in each boundary category, and each module boundary is a line segment;

[0097] A setting unit 32, configured to set the port to be planned on the module boundary of the module to be planned according to the preset planning information and the boundary classification information.

[0098] The module port planning device of the integrated circuit provided by the embodiment of the present invention can obtain the preset planning information of the to-be-planned ports and the boundary classification information of the to-be-planned module. The preset planning information includes the expected port orientation and expected offset information of the to-be-planned ports on the to-be-planned module. The boundary classification information is the information obtained by dividing each module boundary of the to-be-planned module into several boundary categories according to a preset classification strategy. The number of boundary categories is less than or equal to the number of module boundaries. The expected port orientations of the to-be-planned ports on each module boundary under the same boundary category are the same; at least one module boundary is included in each boundary category, and each module boundary is a line segment; according to the preset planning information and the boundary classification information, the to-be-planned ports are set on the module boundaries of the to-be-planned module. In this way, when performing port planning, since the module boundaries of the to-be-planned module are classified, only the expected port orientation and expected offset of the to-be-planned ports need to be planned. Then, the corresponding boundary category can be found according to the expected port orientation, and combined with the expected offset information, the to-be-planned ports can be set on the to-be-planned module. The entire process does not require numbering the module boundaries of the to-be-planned module, nor does it require specifying which module boundary each to-be-planned port needs to be placed on. Therefore, there is no problem of cumbersome planning steps and poor adaptability caused by the binding of ports and module boundary numbers, thus effectively improving the simplicity and adaptability of port planning.

[0099] Optionally, the contour of the to-be-planned module is a rectangle or a concave polygon, any two adjacent sides of the concave polygon are perpendicular to each other, and the number of boundary categories is 4.

[0100] Optionally, the preset classification strategy includes at least one of the following:

[0101] Dividing each module boundary of the to-be-planned module into several boundary categories according to the relative position relationship between the module boundary and the module body in the to-be-planned module;

[0102] Dividing each module boundary of the to-be-planned module into several boundary categories according to the direction of the boundary vector corresponding to each module boundary of the to-be-planned module.

[0103] Optionally, the setting unit 32 includes:

[0104] A target category selection subunit, configured to select a boundary category that matches the expected port orientation from the boundary categories of the to-be-planned module according to the expected port orientation, and obtain a target category;

[0105] A target boundary search subunit, configured to search, from the module boundaries of the target category, for the module boundary corresponding to the to-be-planned port according to the expected offset information and the position information of each module boundary in the target category, so as to obtain a target boundary;

[0106] A to-be-planned port setting subunit, configured to set the to-be-planned port on the target boundary of the to-be-planned module according to the expected offset information and the position information of the target boundary.

[0107] Optionally, the contour of the to-be-planned module is a rectangle or a concave polygon, any two adjacent sides of the concave polygon are perpendicular to each other, and the number of boundary categories is 4; the position information of each module boundary is represented by an array, where the array name of the array includes the category identifier of the boundary category to which the module boundary belongs and a first coordinate, and the array elements of the array include a second coordinate and a third coordinate; wherein, the first coordinate is the coordinate component value that is equal under the same coordinate component among the two-dimensional coordinates of the two endpoints of the module boundary, and the second coordinate and the third coordinate are respectively the two coordinate component values that are not equal under the same coordinate component among the two-dimensional coordinates of the two endpoints of the module boundary.

[0108] Optionally, the target category selection subunit is specifically configured to: determine the category identifier of the boundary category corresponding to the expected port orientation to obtain a first identifier; select the boundary category to which the array element containing the first identifier belongs as the target category;

[0109] The target boundary search subunit is specifically configured to: determine whether each module boundary in the target category is the target boundary according to the relative relationship between the expected offset information of the to-be-planned port and the coordinate intervals represented by the second coordinate and the third coordinate of each array in the target category;

[0110] The to-be-planned port setting subunit is specifically configured to: determine one coordinate component of the to-be-planned port according to the array name of the array corresponding to the target boundary, and determine the other coordinate component of the to-be-planned port according to the expected offset information.

[0111] Optionally, the to-be-planned port includes a port group formed by a plurality of sub-ports, there is a preset interval distance between two adjacent sub-ports, the expected port orientations of the sub-ports in the port group are the same, and are both the same as the expected orientation of the port group;

[0112] The setting unit 32 is specifically configured to: adaptively set each of the sub-ports in the port group on the module boundary of the to-be-planned module according to the preset planning information of the port group and the boundary classification information.

[0113] Optionally, the setting unit 32 is specifically configured to:

[0114] Select a boundary category that matches the expected orientation from the boundary categories of the module to be planned according to the expected orientation of the port group, to obtain a target category;

[0115] According to the expected offset information of the first sub-port starting from one end of the port group and the position information of each module boundary under the target category, search for the module boundary corresponding to the first sub-port from each module boundary under the target category, to obtain a first boundary;

[0116] Set the other sub-ports in the port group on the first boundary or other boundaries under the target category according to the preset interval distance between the sub-ports.

[0117] In a third aspect, an embodiment of the present invention provides an electronic device, which can effectively improve the simplicity and adaptability of port planning.

[0118] As Figure 4 shown, an electronic device provided by an embodiment of the present invention may include: a housing 41, a processor 42, a memory 43, a circuit board 44, and a power supply circuit 45. Among them, the circuit board 44 is arranged inside the space surrounded by the housing 41, and the processor 42 and the memory 43 are arranged on the circuit board 44; the power supply circuit 45 is used to supply power to each circuit or device of the above-mentioned electronic device; the memory 43 is used to store executable program codes; the processor 42 runs a program corresponding to the executable program code by reading the executable program codes stored in the memory 43, and is used to execute the module port planning method of the integrated circuit described in any one of the foregoing embodiments.

[0119] For the specific execution process of the processor 42 for the above steps and the further steps executed by the processor 42 by running the executable program code, reference may be made to the description of the foregoing embodiments, and details are not described herein again.

[0120] This electronic device exists in various forms, including but not limited to:

[0121] (1) Mobile communication devices: These devices are characterized by having mobile communication functions and mainly aim to provide voice and data communication. Such terminals include: smart phones (such as iPhone), multimedia phones, functional phones, and low-end phones, etc.

[0122] (2) Ultra-mobile personal computer devices: These devices belong to the category of personal computers, have computing and processing functions, and generally also have the characteristic of mobile Internet access. Such terminals include: PDA, MID, and UMPC devices, etc., such as iPad.

[0123] (3) Portable entertainment devices: Such devices can display and play multimedia content. This type of device includes: audio and video players (such as iPods), handheld game consoles, e-books, as well as smart toys and portable in-vehicle navigation devices.

[0124] (4) Servers: Devices that provide computing services. The composition of a server includes a processor, hard disk, memory, system bus, etc. Servers are similar to general computer architectures, but due to the need to provide highly reliable services, they have higher requirements in terms of processing power, stability, reliability, security, scalability, manageability, etc.

[0125] (5) Other electronic devices with data interaction functions.

[0126] Fourthly, an embodiment of the present invention further provides a computer-readable storage medium. The computer-readable storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement any of the integrated circuit module port planning methods provided in the foregoing embodiments. Therefore, the corresponding technical effects can also be achieved. Details have been described in detail above and will not be repeated here.

[0127] Fifthly, an embodiment of the present invention provides a chip, and any of the integrated circuit module port planning methods provided in the embodiments of the invention is adopted in the design process of the chip.

[0128] It should be noted that in this article, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprises", "comprising" or any other variation thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements not only includes those elements, but also includes other elements not expressly listed, or elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "comprising a..." does not exclude the presence of additional identical elements in the process, method, article or device comprising the element.

[0129] Each embodiment in this specification is described in a related manner. The same or similar parts between the embodiments can be referred to each other, and the differences between each embodiment and other embodiments are emphasized.

[0130] In particular, for the device embodiments, since they are basically similar to the method embodiments, the description is relatively simple. For the relevant parts, refer to the partial description of the method embodiments.

[0131] For the convenience of description, the above device is described by dividing it into various units / modules according to their functions. Of course, when implementing the present invention, the functions of each unit / module can be implemented in the same or multiple software and / or hardware.

[0132] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The program can be stored in a computer-readable storage medium. When the program is executed, it can include the processes of the embodiments of the above methods. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM), etc.

[0133] As mentioned above, the above are only specific embodiments of the present invention, but the protection scope of the present invention is not limited thereto. Any changes or substitutions that can be easily thought of by those skilled in the art within the technical scope disclosed by the present invention should be covered by the protection scope of the present invention. Therefore, the protection scope of the present invention should be subject to the protection scope of the claims.

Claims

1. A method for planning module ports of an integrated circuit, characterized in that, it includes: Obtain the preset planning information of the ports to be planned and the boundary classification information of the module to be planned, where the preset planning information includes the expected port orientation and expected offset information of the ports to be planned on the module to be planned, and the boundary classification information is the information obtained by dividing each module boundary of the module to be planned into several boundary categories according to a preset classification strategy. The number of boundary categories is less than or equal to the number of module boundaries, and the expected port orientations of the ports to be planned on each module boundary under the same boundary category are the same; at least one module boundary is included in each boundary category, and each module boundary is a line segment; Set the ports to be planned on the module boundaries of the module to be planned according to the preset planning information and the boundary classification information; Among them, setting the ports to be planned on the module boundaries of the module to be planned according to the preset planning information and the boundary classification information includes: Select the boundary category that matches the expected port orientation from the boundary categories of the module to be planned according to the expected port orientation to obtain the target category; Search for the module boundary corresponding to the port to be planned from the module boundaries under the target category according to the expected offset information and the position information of each module boundary under the target category to obtain the target boundary; Set the ports to be planned on the target boundary of the module to be planned according to the expected offset information and the position information of the target boundary.

2. The method according to claim 1, characterized in that, The contour of the module to be planned is a rectangle or a concave polygon, any two adjacent sides of the concave polygon are perpendicular to each other, and the number of boundary categories is 4.

3. The method according to claim 1, characterized in that, The preset classification strategy includes at least one of the following: Divide each module boundary of the module to be planned into several boundary categories according to the relative position relationship between the module boundary and the module body in the module to be planned; Divide each module boundary of the module to be planned into several boundary categories according to the direction of the boundary vector corresponding to each module boundary of the module to be planned.

4. The method according to any one of claims 1 to 3, characterized in that, The contour of the module to be planned is a rectangle or a concave polygon, any two adjacent sides of the concave polygon are perpendicular to each other, and the number of boundary categories is 4; the position information of each module boundary is represented by an array, where the array name of the array includes the category identifier of the boundary category to which the module boundary belongs and the first coordinate, and the array elements of the array include the second coordinate and the third coordinate; among them, the first coordinate is the coordinate component value that is equal under the same coordinate component in the two-dimensional coordinates of the two endpoints of the module boundary, and the second coordinate and the third coordinate are the two coordinate component values that are not equal under the same coordinate component in the two-dimensional coordinates of the two endpoints of the module boundary respectively.

5. The method according to claim 4, wherein, the step of selecting, according to the expected port orientation, a boundary category that matches the expected port orientation from the boundary categories of the to-be-planned module to obtain a target category includes: determining a category identifier of the boundary category corresponding to the expected port orientation to obtain a first identifier; selecting the boundary category to which the array element containing the first identifier belongs as the target category; the step of searching, according to the expected offset information and the position information of each module boundary under the target category, for the module boundary corresponding to the to-be-planned port from each module boundary under the target category to obtain a target boundary includes: determining, according to the relative relationship between the expected offset information of the to-be-planned port and the coordinate intervals represented by the second coordinate and the third coordinate of each array in the target category, whether each module boundary in the target category is the target boundary; the step of setting the to-be-planned port on the target boundary of the to-be-planned module according to the expected offset information and the position information of the target boundary includes: determining one coordinate component of the to-be-planned port according to the array name of the array corresponding to the target boundary, and determining the other coordinate component of the to-be-planned port according to the expected offset information.

6. The method according to any one of claims 1 to 3, wherein, the to-be-planned port includes a port group formed by a plurality of sub-ports, there is a preset interval distance between two adjacent sub-ports, the expected port orientations of the sub-ports in the port group are the same and are all the same as the expected orientation of the port group; the step of setting the to-be-planned port on the module boundary of the to-be-planned module according to the preset planning information and the boundary classification information includes: adaptively setting each of the sub-ports in the port group on the module boundary of the to-be-planned module according to the preset planning information of the port group and the boundary classification information.

7. The method according to claim 6, wherein, the step of adaptively setting each of the sub-ports in the port group on the module boundary of the to-be-planned module according to the preset planning information of the port group and the boundary classification information includes: selecting, according to the expected orientation of the port group, a boundary category that matches the expected orientation from the boundary categories of the to-be-planned module to obtain a target category; searching, according to the expected offset information of the first sub-port starting from one end of the port group and the position information of each module boundary under the target category, for the module boundary corresponding to the first sub-port from each module boundary under the target category to obtain a first boundary; setting the other sub-ports in the port group on the first boundary or other boundaries under the target category according to the preset interval distance between the sub-ports.

8. A module port planning device for an integrated circuit, wherein, it includes: An acquisition unit for acquiring preset planning information of a to-be-planned port and boundary classification information of a to-be-planned module, where the preset planning information includes an expected port orientation and expected offset information of the to-be-planned port on the to-be-planned module, the boundary classification information is information obtained by dividing each module boundary of the to-be-planned module into several boundary categories according to a preset classification strategy, the number of boundary categories is less than or equal to the number of module boundaries, and the expected port orientations of the to-be-planned ports on each module boundary under the same boundary category are the same; at least one module boundary is included in each boundary category, and each module boundary is a line segment; A setting unit for setting the to-be-planned port on the module boundary of the to-be-planned module according to the preset planning information and the boundary classification information; Wherein, the setting unit includes: A target category selection sub-unit for selecting, according to the expected port orientation, a boundary category that matches the expected port orientation from the boundary categories of the to-be-planned module to obtain a target category; A target boundary search sub-unit for searching, according to the expected offset information and the position information of each module boundary under the target category, for the module boundary corresponding to the to-be-planned port from each module boundary under the target category to obtain a target boundary; A to-be-planned port setting sub-unit for setting the to-be-planned port on the target boundary of the to-be-planned module according to the expected offset information and the position information of the target boundary.

9. The apparatus according to claim 8, wherein, the contour of the to-be-planned module is a rectangle or a concave polygon, any two adjacent sides of the concave polygon are perpendicular to each other, and the number of boundary categories is 4.

10. The apparatus according to claim 8, wherein, the preset classification strategy includes at least one of the following: Dividing each module boundary of the to-be-planned module into several boundary categories according to the relative position relationship between the module boundary and the module body in the to-be-planned module; Dividing each module boundary of the to-be-planned module into several boundary categories according to the direction of the boundary vector corresponding to each module boundary of the to-be-planned module.

11. The apparatus according to any one of claims 8 to 10, wherein, the contour of the to-be-planned module is a rectangle or a concave polygon, any two adjacent sides of the concave polygon are perpendicular to each other, and the number of boundary categories is 4; the position information of each module boundary is represented by an array, where the array name of the array includes the category identifier of the boundary category to which the module boundary belongs and a first coordinate, and the array elements of the array include a second coordinate and a third coordinate; wherein, the first coordinate is the coordinate component value that is equal under the same coordinate component in the two-dimensional coordinates of the two endpoints of the module boundary, and the second coordinate and the third coordinate are the two coordinate component values that are not equal under the same coordinate component in the two-dimensional coordinates of the two endpoints of the module boundary respectively.

12. The apparatus according to claim 11, wherein, The target category selection subunit is specifically configured to: determine the category identifier of the boundary category corresponding to the expected port orientation to obtain a first identifier; select the boundary category to which the array element containing the first identifier belongs as the target category; The target boundary search subunit is specifically configured to: determine whether each module boundary in the target category is the target boundary according to the relative relationship between the expected offset information of the port to be planned and the coordinate intervals represented by the second coordinate and the third coordinate of each array in the target category; The port to be planned setting subunit is specifically configured to: determine one coordinate component of the port to be planned according to the array name of the array corresponding to the target boundary, and determine the other coordinate component of the port to be planned according to the expected offset information.

13. The apparatus according to any one of claims 8 to 10, wherein, The port to be planned includes a port group formed by a plurality of sub-ports, and there is a preset interval distance between two adjacent sub-ports. The expected port orientations of the sub-ports in the port group are the same, and are all the same as the expected orientation of the port group; The setting unit is specifically configured to: adaptively set each of the sub-ports in the port group on the module boundary of the module to be planned according to the preset planning information of the port group and the boundary classification information.

14. The apparatus according to claim 13, wherein, The setting unit is specifically configured to: select a boundary category that matches the expected orientation from the boundary categories of the module to be planned according to the expected orientation of the port group to obtain a target category; search for the module boundary corresponding to the first sub-port from the module boundaries under the target category according to the expected offset information of the first sub-port starting from one end of the port group and the position information of each module boundary under the target category to obtain a first boundary; set the other sub-ports in the port group on the first boundary or other boundaries under the target category according to the preset interval distance between the sub-ports.

15. An electronic device, wherein, The electronic device includes: a processor, a memory, a circuit board, and a power supply circuit. Among them, the circuit board is arranged inside the space enclosed by the housing, and the processor and the memory are arranged on the circuit board; the power supply circuit is used to supply power to each circuit or device of the above electronic device; the memory is used to store executable program codes; the processor runs a program corresponding to the executable program code by reading the executable program codes stored in the memory, and is used to execute the module port planning method of the integrated circuit according to any one of claims 1 to 7.

16. A computer-readable storage medium, wherein, The computer-readable storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the module port planning method of the integrated circuit according to any one of claims 1 to 7.

17. A chip, wherein, The chip adopts the module port planning method of the integrated circuit described in any one of claims 1 to 7 during the design process.

Citation Information

Patent Citations

  • Feed-through path planning method and device, electronic equipment and storage medium

    CN112257376A

  • Method and device for generating information

    CN113450034A