Layout method and device, electronic equipment and storage medium

Through the layout method of linkage editing of the associated unit, the problem of the destruction of constraint relationships in integrated circuit design is solved, and fast and efficient layout adjustment is achieved, improving the accuracy and quality of layout design.

CN120297220APending Publication Date: 2025-07-11TIANJIN HUADA JIUTIAN TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510385248.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-28
Publication Date
2025-07-11

AI Technical Summary

Technical Problem

In integrated circuit design, when selecting or simply selecting tool editing units with mouse boxes, it is easy to destroy the constraints of the layout layout, resulting in manual inspection and adjustments being time-consuming and error-prone, affecting the accuracy and quality of the layout layout.

Method used

A layout method is provided, by obtaining the first layout information, in response to the editing operation of the target unit, editing the associated unit in a linkage, adjusting the layout information to maintain a constraint relationship, including obtaining unit information and constraint information, determining the target position parameters and constraint relationship, and automatically adjusting the layout using a constraint solver.

Benefits of technology

It realizes fast and efficient layout editing, keeps constraint relationships from being destroyed, improves the consistency and accuracy of layout layout, reduces design errors, and improves design quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120297220A_ABST
    Figure CN120297220A_ABST
Patent Text Reader

Abstract

The invention relates to a layout method and device, electronic equipment and a storage medium. The method comprises the following steps: acquiring first layout information, wherein the first layout information comprises a plurality of units and a position relationship among the plurality of units; in response to an editing operation on a first target unit in the first layout information, a second target unit associated with the first target unit in the first layout information is edited in a linkage mode, and the first target unit is any unit in the multiple units; adjusting the first layout information based on the edited first target unit and the edited second target unit to obtain second layout information; the layout information is used for determining a target layout. According to the layout editing method and device, the units in the layout can be rapidly and efficiently subjected to batch editing, the design speed of the layout can be increased, the consistency and accuracy of the layout can be improved, and the design quality of the layout is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of layout, and in particular to a layout method, device, electronic device and storage medium. Background Art

[0002] In the integrated circuit design process, layout design is one of the important links to ensure circuit performance, stability and reliability. When editing design units, layout engineers usually need to perform a lot of manual operations to adjust and optimize the layout to meet design specifications and performance requirements.

[0003] Currently, when editing cells by selecting a box with the mouse or simply selecting a tool, the constraints of the layout may be unintentionally destroyed. Therefore, to ensure the accuracy of the layout, the constraints of each cell need to be manually checked and adjusted. However, manually checking and adjusting the constraints of each cell is very time-consuming and error-prone, which can easily lead to a decrease in the overall quality of the layout. Summary of the invention

[0004] In order to overcome the problems existing in the related art, the present application provides a layout method, device, electronic device and storage medium.

[0005] According to a first aspect of an embodiment of the present application, a layout method is provided, including:

[0006] Acquire first layout information, where the first layout information includes a plurality of units and positional relationships between the plurality of units;

[0007] In response to an editing operation on a first target unit in the first layout information, jointly editing a second target unit associated with the first target unit in the first layout information, wherein the first target unit is any one of the multiple units;

[0008] Based on the edited first target unit and the edited second target unit, the first layout information is adjusted to obtain the second layout information; the layout information is used to determine the target layout.

[0009] In some embodiments, the obtaining of the first layout information includes:

[0010] Obtaining constraint information and unit information of each unit in the plurality of units; the unit information is used to characterize the attribute information of the unit, and the constraint information is used to constrain the positional relationship between different units;

[0011] The first layout information is determined based on the cell information of each cell and the constraint information.

[0012] In some embodiments, determining the first layout information based on the unit information and the constraint information includes:

[0013] Based on the cell information of each cell in all cells, determine the initial position parameter of each cell and the dimension parameter of each cell;

[0014] Based on the constraint information, determine the target constraint relationship of each cell; the constraint relationship of the cell is used to characterize the positional relationship between the cell and other cells;

[0015] Based on the initial position parameter of each cell, the dimension parameter of each cell, and the constraint relationship of each cell, determine the first layout information.

[0016] In some embodiments, the determining the first layout information based on the initial position parameter of each cell, the dimension parameter of each cell, and the constraint relationship of each cell includes:

[0017] For each cell, based on the target constraint relationship of the cell, the dimension parameter of the cell, and the initial position parameter of the cell, obtain the target position parameter of the cell;

[0018] Based on the target position parameter of each cell and the dimension parameter of each cell, determine the first layout information.

[0019] In some embodiments, the target constraint relationship includes a plurality of constraint relationships, and the plurality of constraint relationships include at least two of a non-overlap constraint relationship, a proximity constraint relationship, a symmetry constraint relationship, and an alignment constraint relationship. The obtaining the target position parameter of the cell based on the target constraint relationship of the cell, the dimension parameter of the cell, and the initial position parameter of the cell includes:

[0020] Based on the target constraint relationship of the cell, the priority information of the plurality of constraint relationships, the dimension parameter of the cell, and the initial position parameter of the cell, obtain the target position parameter of the cell.

[0021] In some embodiments, the obtaining the target position parameter of the cell based on the target constraint relationship of the cell, the priority information of the plurality of constraint relationships, the dimension parameter of the cell, and the initial position parameter of the cell includes:

[0022] If a first constraint relationship and a second constraint relationship among the plurality of constraint relationships conflict, and the priority of the first constraint relationship is greater than the priority of the second constraint relationship, based on the constraint relationships other than the second constraint relationship among the plurality of constraint relationships of the cell and the dimension parameter of the cell, adjust the initial position parameter of the cell to obtain the target position parameter of the cell;

[0023] If a first constraint relationship and a second constraint relationship among the multiple constraint relationships conflict, and the priority of the first constraint relationship is less than or equal to the priority of the second constraint relationship, adjusting the initial position parameters of the unit based on the constraint relationships other than the first constraint relationship among the multiple constraint relationships of the unit and the size parameters of the unit to obtain the target position parameters of the unit;

[0024] The first constraint relationship and the second constraint relationship are any two constraint relationships among the multiple constraint relationships.

[0025] In some embodiments, the method further comprises:

[0026] From the plurality of units, the second target unit associated with the first target unit under a target association parameter is searched; the target association parameter is used to characterize the association depth between the unit to be searched and the first target unit.

[0027] According to a second aspect of an embodiment of the present application, a layout device is provided, including:

[0028] An acquisition module is configured to acquire first layout information, where the first layout information includes a plurality of units and positional relationships between the plurality of units;

[0029] an editing module, configured to, in response to an editing operation on a first target unit in the first layout information, link and edit a second target unit associated with the first target unit in the first layout information, wherein the first target unit is any one of the multiple units;

[0030] The adjustment module is configured to adjust the first layout information based on the edited first target unit and the edited second target unit to obtain the second layout information; the layout information is used to determine the target layout.

[0031] According to a third aspect of an embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the steps of the method described in the first aspect are implemented.

[0032] According to a fourth aspect of an embodiment of the present application, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps of the method described in the first aspect are implemented.

[0033] The technical solution provided by the embodiment of the present application may include the following beneficial effects: the method provided by the embodiment of the present application can link the editing of the second target unit associated with the first target unit when editing the first target unit. In this way, the units in the layout can be quickly and efficiently batch edited, which can not only save the time of adjusting the constraint relationship of each unit and accelerate the design speed of the layout, but also ensure that the constraint relationship of the layout is not destroyed, improve the consistency and accuracy of the layout, thereby reducing errors in layout design and improving the design quality of the layout.

[0034] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.

[0036] Figure 1 The figure is a flow chart of a layout method according to an exemplary embodiment.

[0037] Figure 2 The figure is a flow chart of a layout method according to an exemplary embodiment.

[0038] Figure 3 The figure is a flow chart of a layout method according to an exemplary embodiment.

[0039] Figure 4 It is a schematic diagram showing a layout method according to an exemplary embodiment.

[0040] Figure 5 It is a schematic diagram showing a layout method according to an exemplary embodiment.

[0041] Figure 6 It is a schematic diagram showing a layout method according to an exemplary embodiment.

[0042] Figure 7 The figure is a flow chart of a layout method according to an exemplary embodiment.

[0043] Figure 8 The figure is a flow chart of a layout method according to an exemplary embodiment.

[0044] Figure 9 It is a block diagram of a layout device according to an exemplary embodiment.

[0045] Figure 10 is a block diagram of an electronic device according to an exemplary embodiment. DETAILED DESCRIPTION

[0046] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present invention. Instead, they are merely examples of devices and methods consistent with some aspects of the present invention as detailed in the appended claims.

[0047] In the integrated circuit design process, layout design is one of the important links to ensure circuit performance, stability and reliability. When editing design units, layout engineers usually need to perform a lot of manual operations to adjust and optimize the layout to meet design specifications and performance requirements.

[0048] In the layout design of integrated circuits, constraints such as symmetry and alignment between units not only affect the physical aesthetics of the circuit, but also directly affect the electrical performance of the circuit. For example, symmetrical layout can effectively reduce the offset error caused by asymmetry in analog circuits, while aligned layout can help reduce current deviation in unit circuits such as current mirrors and amplifiers, thereby improving the consistency and accuracy of the circuit.

[0049] Currently, when editing cells by selecting a box with the mouse or simply selecting a tool, the constraints of the layout may be unintentionally destroyed. Therefore, to ensure the accuracy of the layout, the constraints of each cell need to be manually checked and adjusted. However, manually checking and adjusting the constraints of each cell is very time-consuming and error-prone, which can easily lead to a decrease in the overall quality of the layout.

[0050] In order to solve the above problems, the present application provides a layout method, which can obtain first layout information, the first layout information includes multiple units and the positional relationship between the multiple units; in response to an editing operation on a first target unit in the first layout information, a second target unit associated with the first target unit in the first layout information is linked to edit, and the first target unit is any one of the multiple units; based on the edited first target unit and the edited second target unit, the first layout information is adjusted to obtain the second layout information; the layout information is used to determine the target layout.

[0051] The method provided in the embodiment of the present application can link the editing of the second target unit associated with the first target unit when editing the first target unit. In this way, the units in the layout can be batch edited quickly and efficiently, which can not only save the time of adjusting the constraint relationship of each unit and accelerate the design speed of the layout, but also ensure that the constraint relationship of the layout is not destroyed, improve the consistency and accuracy of the layout, and thus reduce the errors in the layout design and improve the design quality of the layout.

[0052] The exemplary embodiments of the present application provide a layout method that can be applied to electronic devices, and the electronic devices can specifically be smart devices such as mobile phones, tablet computers, notebooks, smart robots, and smart wearable devices.

[0053] Figure 1 is a flow chart showing a layout method according to an exemplary embodiment, which is executed by an electronic device, see Figure 1 , the method comprises the following steps:

[0054] Step S101: acquiring first layout information, where the first layout information includes a plurality of units and positional relationships between the plurality of units.

[0055] Among them, a unit can refer to the smallest building unit in the layout, such as a component or subcircuit in the layout, such as a transistor, resistor, capacitor or amplifier, current mirror and other unit circuits; in addition, a unit can also refer to a basic composition unit in the layout, which is composed of one or more minimum building units. In addition, a unit can also refer to a high-level unit composed of one or more basic composition units in the layout.

[0056] It should be noted that the shape of the unit can be any shape. In one example, the shape of the unit can be a rectangle, a square, a circle, etc.

[0057] In some embodiments, the first layout information may characterize multiple units based on the position information of each unit in the multiple units, and characterize the positional relationship between the multiple units. In one example, the positional relationship between the multiple units may include whether the multiple units overlap, the proximity relationship between the multiple units, whether the multiple units are symmetrical, and whether the multiple units are aligned.

[0058] Step S102: in response to an editing operation on a first target unit in the first layout information, jointly edit a second target unit associated with the first target unit in the first layout information.

[0059] The first target unit is any one of the multiple units. The editing operation may be any operation, for example, the editing operation may be a moving operation, a size adjustment operation, and the like.

[0060] In some embodiments, linkage editing refers to synchronously editing the second target unit based on the editing operation on the first target unit. For example, if the first target unit moves 2 units to the left, the second target unit will move 2 units to the left synchronously; for another example, if the size of the first target unit changes, the position of the second target unit will be adjusted in a linkage manner to meet the positional relationship between the first target unit with the changed size and the second target unit.

[0061] It should be noted that the linked editing can be a function set in an electronic device. In response to the linked editing function being in an enabled state and in response to an editing operation on a first target unit in the first layout information, the second target unit associated with the first target unit in the first layout information is linked and edited. That is, after the linked editing function is enabled, the linked editing operation is performed; when the linked editing function is disabled, the linked editing operation is not performed.

[0062] Step S103: Based on the edited first target unit and the edited second target unit, adjust the first layout information to obtain the second layout information; the layout information is used to determine the target layout.

[0063] In some embodiments, the first layout information can be updated based on the position information of the edited first target unit, the position information of the edited second target unit, and the positional relationship between the edited first target unit and the edited second target unit to obtain the second layout information.

[0064] In some embodiments, the target layout can be determined based on the second layout information. The layout of the target layout is the second layout information. Thereafter, the target layout can be applied to the actual circuit, and the specific process will not be described in detail herein.

[0065] The method provided by the embodiments of the present application can, when editing the first target unit, link and edit the second target unit associated with the first target unit. In this way, the units in the layout can be batch-edited quickly and efficiently, which can not only save the time for adjusting the constraint relationship of each unit, accelerate the layout design speed, but also ensure that the constraint relationship of the layout is not damaged, improve the consistency and accuracy of the layout, and thus reduce the errors in the layout design and improve the design quality of the layout.

[0066] In addition, currently, the manual operation method is used to complete the layout design, while the method provided by the embodiments of the present application can use the electronic device to obtain the first layout information and obtain the second layout information based on the adjusted first layout information. In this way, by determining the first layout information and the second layout information through an automated process, the convenience of operation can be improved, the design time of the layout can be saved, and the design efficiency of the layout can be improved. Moreover, compared with the manual operation, the automated process provided by the electronic device can better meet the high-precision and high-density requirements of the user.

[0067] Next, Figure 2 the process of obtaining the first layout information will be described through the embodiments shown below.

[0068] Figure 2 is a flowchart of a layout method shown according to an exemplary embodiment, which is executed by an electronic device. Refer to Figure 2, the method includes the following steps:

[0069] Step S201, obtaining constraint information and the unit information of each unit in multiple units; the unit information is used to characterize the attribute information of the unit, and the constraint information is used to constrain the positional relationship between different units.

[0070] Among them, the attribute information of the unit may include the size information of the unit, the current position information of the unit, and the association relationship between the unit and other units, etc., and the constraint information is used to characterize the positional constraint relationship between the unit and other units.

[0071] In some embodiments, the constraint information is used to characterize the set of the positional relationship between each unit in multiple units and other units. That is, the constraint information includes multiple positional relationships between the unit and other units.

[0072] Step S202, determining the first layout information based on the unit information of each unit and the constraint information.

[0073] In some embodiments, the initial position parameter of each unit and the size parameter of each unit may be determined based on the unit information of each unit in all units, and then the target constraint relationship of each unit may be determined based on the constraint information. Finally, the first layout information is determined based on the initial position parameter of each unit, the size parameter of each unit, and the constraint relationship of each unit. The constraint relationship of the unit is used to characterize the positional relationship between the unit and other units.

[0074] In some embodiments, for each unit, the initial position parameter and the size parameter are included in the unit information. Optionally, when the shape of the unit is a rectangle or a square, the position parameter of the lower left corner vertex of the unit may be used as the initial position parameter. Optionally, when the shape of the unit is a circle or other shape, the point corresponding to the position of the unit may be modified and set according to the actual situation. For example, when the shape of the unit is a circle, the coordinates of the center of the circle of the unit may be used as the position of the unit. In some embodiments, the position parameter may be represented by coordinates in a coordinate system. Among them, the size parameter includes the width parameter and the length parameter.

[0075] In some embodiments, for each unit, the target position parameter of the unit may be obtained based on the target constraint relationship of the unit, the size parameter of the unit, and the initial position parameter of the unit; the first layout information is determined based on the target position parameter of each unit and the size parameter of each unit.

[0076] Among them, the target constraint relationship of each unit may characterize the constraint relationship between each unit and other units.

[0077] It should be noted that the unit information of each unit may not satisfy the constraint information. Therefore, it is necessary to adjust the unit information of each unit to ensure that the unit information of each unit satisfies the constraint information. In some embodiments, for each unit, the initial position parameter of the unit can be adjusted based on the target constraint relationship of the unit and the size parameter of the unit to obtain the target position parameter of the unit.

[0078] In some embodiments, the target position parameter expected by the unit can be determined based on the constraint relationship between the unit and other units and the size parameter of the unit. For example, the constraint relationship between a unit and another unit is that the unit is 5 units to the left of the other unit. In the current situation, if the unit is 3 units to the left of the other unit, then the initial position parameter of the unit needs to be adjusted 2 units to the left to obtain the target position and parameter of the unit. Another example is that the constraint relationship between a unit and another unit is that the unit is horizontally symmetric with the other unit. If they are not horizontally symmetric at this time, the initial position parameter of the unit can be adjusted to adjust the horizontal center of the unit so that the unit is horizontally symmetric with the other unit.

[0079] In some embodiments, the target constraint relationship may include multiple constraint relationships, and the multiple constraint relationships include at least two of the non-overlapping constraint relationship, the proximity constraint relationship, the symmetry constraint relationship, and the alignment constraint relationship. Moreover, in the process of adjusting the initial position parameter of the unit, the target position parameter of the unit can be obtained based on the target constraint relationship of the unit, the priority information of the multiple constraint relationships, the size parameter of the unit, and the initial position parameter of the unit. That is, the initial position parameter of the unit can be adjusted based on the target constraint relationship of the unit, the priority information of the multiple constraint relationships, and the size parameter of the unit to obtain the target position parameter of the unit.

[0080] In some embodiments, the priority information of the multiple constraint relationships can be set and selected based on the actual situation. For example, the priority information of the multiple constraint relationships is, in order from high to low, the non-overlapping constraint relationship, the symmetry constraint relationship, the proximity constraint relationship, and the alignment constraint relationship. Optionally, the priority information of the multiple constraint relationships can consider the priorities of all constraint relationships or can consider the priorities of some constraint relationships. For example, when considering the priorities, the priority of the non-overlapping constraint relationship is not considered, and it is default that the non-overlapping constraint relationship must be satisfied.

[0081] It should be noted that setting the priorities of multiple constraint relationships can better resolve conflict issues when any two constraint relationships conflict. In some embodiments, if the first constraint relationship and the second constraint relationship among multiple constraint relationships conflict, and the priority of the first constraint relationship is greater than that of the second constraint relationship, the initial position parameters of the cell are adjusted based on the constraint relationships other than the second constraint relationship among the multiple constraint relationships of the cell and the size parameters of the cell; if the first constraint relationship and the second constraint relationship among multiple constraint relationships conflict, and the priority of the first constraint relationship is less than or equal to that of the second constraint relationship, the initial position parameters of the cell are adjusted based on the constraint relationships other than the first constraint relationship among the multiple constraint relationships of the cell and the size parameters of the cell; the first constraint relationship and the second constraint relationship are any two of the multiple constraint relationships.

[0082] Among them, the conflict between the first constraint relationship and the second constraint relationship means that only one of the first constraint relationship and the second constraint relationship can be satisfied, and the two relationships of the first constraint relationship and the second constraint relationship cannot be satisfied simultaneously. In some embodiments, when the priority of the first constraint relationship is greater than that of the second constraint relationship, it indicates that the first constraint relationship needs to be satisfied first. At this time, the second constraint relationship cannot be satisfied, so the second constraint relationship can be discarded. Correspondingly, when the priority of the first constraint relationship is less than or equal to that of the second constraint relationship, it indicates that the second constraint relationship needs to be satisfied first. At this time, the first constraint relationship cannot be satisfied, so the first constraint relationship can be discarded.

[0083] In some embodiments, a constraint solver is provided in the electronic device, and the constraint solver is used to determine layout information. In some embodiments, the cell information and constraint information of each cell can be input into the constraint solver, and the constraint solver will generate the layout information of each cell that satisfies the constraint information based on the input information. Moreover, in response to an editing operation on the first target cell, the constraint solver can re-determine the layout information of each cell, thereby achieving re-layout and obtaining the second layout information.

[0084] Optionally, the cell information and constraint information of each cell can be input into the electronic device in the form of a file. After that, the electronic device can obtain the input file information and parse the cell information and constraint information in the file information.

[0085] In addition, it should be noted that during the layout process, the user can manually edit the constraint relationships.

[0086] The method provided by the embodiments of the present application gives the determination process of the first layout information. By determining the first layout information through an automated process, the time for determining the initial layout information can be saved, and the speed of determining the second layout information can be accelerated.

[0087] Optionally, the constraint relationship can be characterized as a constraint function relationship. Each of the multiple constraint relationships will be described below using the constraint function relationship. For each unit, taking the shape of each unit being a rectangle or a square as an example, the position of each unit can be represented by the coordinates of the lower left vertex of the unit at this time. The coordinates of the i-th unit can be set as (xi, yi), and the length and width are (wi, hi) respectively; the coordinates of the j-th unit can be set as (xj, yj), and the length and width are (wj, hj) respectively. Both the i-th unit and the j-th unit are any units among the multiple units.

[0088] For the non-overlapping constraint relationship:

[0089] The non-overlapping constraint relationship means that there is no overlapping situation between any unit and other units. Then its corresponding function constraint relationship can be as follows:

[0090] xi + wi ≤ xj or xj + wj ≤ xi or yi + hi ≤ yj or yj + hj ≤ yi

[0091] Among them, xi + wi can refer to the coordinates of the lower right vertex of the unit, xj + wj can refer to the coordinates of the lower right vertex of another unit, yi + hi can refer to the coordinates of the upper left vertex of the unit, and yj + hj can refer to the coordinates of the upper left vertex of another unit.

[0092] In addition, in some embodiments, any unit and other units not only need to satisfy the non-overlapping constraint relationship but also need to satisfy the minimum distance requirement. The function constraint relationship corresponding to the minimum distance requirement based on the non-overlapping constraint relationship can be as follows:

[0093] xi + wi + s ≤ xj or

[0094] xj + wj + s ≤ xi or

[0095] yi + hi + s ≤ yj or

[0096] yj + hj + s ≤ yi

[0097] Among them, s refers to the minimum distance, and the size of the minimum distance can be set and selected based on actual needs. For example, the minimum interval can be 2 units.

[0098] For the proximity constraint relationship:

[0099] The proximity constraint relationship is used to determine the relative positions between units and the minimum distance between units. Taking another unit relative to the current unit as an example:

[0100] The function constraint relationship corresponding to the upper left proximity constraint relationship (upper left) can be as follows:

[0101] yi + hi + s ≤ yj and xj + wj + s ≤ xi

[0102] The functional constraint relationship corresponding to the top adjacent constraint (top) can be as follows:

[0103] yi + hi + s ≤ yj

[0104] The functional constraint relationship corresponding to the upper right adjacent constraint (upper right) can be as follows:

[0105] xi + wi + s ≤ xj and yi + hi + s ≤ yj

[0106] The functional constraint relationship corresponding to the left adjacent constraint (left) can be as follows:

[0107] xj + wj + s ≤ xi

[0108] The functional constraint relationship corresponding to the right adjacent constraint (right) can be as follows:

[0109] xi + wi + s ≤ xj

[0110] The functional constraint relationship corresponding to the lower left adjacent constraint (lower left) can be as follows:

[0111] yj + hj + s ≤ yi and xj + wj + s ≤ xi

[0112] The functional constraint relationship corresponding to the bottom adjacent constraint (bottom) can be as follows:

[0113] yj + hj + s ≤ yi

[0114] The functional constraint relationship corresponding to the lower right adjacent constraint (lower right) can be as follows:

[0115] xi + wi + s ≤ xj and yj + hj + s ≤ yi

[0116] For symmetric constraint relationships:

[0117] The symmetric constraint relationship means that a unit is symmetric to another unit about an axis of symmetry. The symmetric constraint relationship can include a horizontal symmetric constraint relationship and a vertical symmetric constraint relationship. Among them, the horizontal symmetric constraint relationship means that a unit is symmetric to another unit about a horizontal axis of symmetry. Correspondingly, the vertical symmetric constraint relationship means that a unit is symmetric to another unit about a vertical axis of symmetry.

[0118] For the horizontal symmetric constraint relationship, the functional constraint relationship corresponding to the horizontal symmetric constraint relationship (horizontal symmetry) can be as follows:

[0119] wi = wj and

[0120] hi = hj and

[0121] xi + wi / 2 = xj + wj / 2

[0122] Wherein, xi + wi / 2 represents the horizontal center of a cell, and xj + wj / 2 represents the horizontal center of another cell. If the horizontal centers of the two cells are the same, it can be considered that the two cells are in a horizontal symmetry constraint relationship with each other.

[0123] For the vertical symmetry constraint relationship, the function constraint relationship corresponding to the vertical symmetry constraint relationship can be as follows:

[0124] wi = wj and

[0125] hi = hj and

[0126] yi + hi / 2 = yj + hj / 2

[0127] Wherein, yi + hi / 2 represents the vertical center of a cell, and yj + hj / 2 represents the vertical center of another cell. If the vertical centers of the two cells are the same, it can be considered that the two cells are in a vertical symmetry constraint relationship with each other.

[0128] For the alignment constraint relationship:

[0129] The alignment constraint relationship can include the alignment between the edges of cells, or the alignment between the edge of a cell and the center point of a cell.

[0130] In some embodiments, the alignment constraint relationship includes multiple alignment constraint relationships, and each alignment constraint relationship will be described below.

[0131] The function constraint relationship corresponding to the topEdge-topEdge alignment constraint relationship can be as follows:

[0132] yi + hi = yj + hj

[0133] The function constraint relationship corresponding to the topEdge-hCenter alignment constraint relationship can be as follows:

[0134] yi + hi = yj + hj / 2

[0135] The function constraint relationship corresponding to the topEdge-bottomEdge alignment constraint relationship can be as follows:

[0136] yi + hi = yj

[0137] The functional constraint relationship corresponding to the bottomEdge-bottomEdge alignment constraint relationship can be as follows:

[0138] yi = yj

[0139] The functional constraint relationship corresponding to the bottomEdge-hCenter alignment constraint relationship can be as follows:

[0140] yi = yj + hj / 2

[0141] The functional constraint relationship corresponding to the bottomEdge-topEdge alignment constraint relationship can be as follows:

[0142] yi = yj + hj

[0143] The functional constraint relationship corresponding to the leftEdge-leftEdge alignment constraint relationship can be as follows:

[0144] xi = xj

[0145] The functional constraint relationship corresponding to the leftEdge-vCenter alignment constraint relationship can be as follows:

[0146] xi = xj + wj / 2

[0147] The functional constraint relationship corresponding to the leftEdge-rightEdge alignment constraint relationship can be as follows:

[0148] xi = xj + wj

[0149] The functional constraint relationship corresponding to the rightEdge-rightEdge alignment constraint relationship can be as follows:

[0150] xi + wi = xj + wj

[0151] The functional constraint relationship corresponding to the rightEdg-vCenter alignment constraint relationship can be as follows:

[0152] xi + wi = xj + wj / 2

[0153] The functional constraint relationship corresponding to the rightEdge-rightEdge alignment constraint relationship can be as follows:

[0154] xi + wi = xj

[0155] In some embodiments, the target constraint relationship of each unit can be determined based on the constraint information, and based on the correspondence between the above-given constraint relationship and the function constraint relationship, the function constraint relationship corresponding to the target constraint relationship can be determined.

[0156] It should be noted that if the shape of the unit is circular, the coordinates of the center of the circle of the unit can be used as the position of the unit. And the coordinates of the i-th unit can be set as (xi, yi), and the diameter can be set as ri; similarly, the coordinates of the j-th unit can be set as (xj, yj), and the diameter can be set as rj. Accordingly, the diameter can be used to replace the length and width in the above embodiments, and the constraint function in the above embodiments can be adaptively modified based on the actual situation. The specific modification process and the constraint function when the shape of the unit is circular will not be elaborated here.

[0157] In some embodiments, there is an association relationship between the first target unit and the second target unit. The process of determining the second target unit will be described below through Figure 3 the embodiments shown. Figure 3 is a flowchart of a layout method shown according to an exemplary embodiment, which is executed by an electronic device. Refer to Figure 3 and the method includes the following steps:

[0158] Step S301, search for a second target unit associated with the first target unit under the target association parameter from multiple units; the target association parameter is used to characterize the association depth between the unit to be searched and the first target unit.

[0159] In some embodiments, the first target unit can be selected and step S301 can be executed. It should be noted that if the first target unit is not selected or the selected one is an illegal target, step S301 and subsequent steps will not be executed.

[0160] It should be noted that there are direct association relationships and indirect association relationships between units. For example, the units under the direct association relationship can include the units directly associated with the current unit, while the units under the indirect association relationship can include the units that are further directly associated with the units directly associated with the current unit. And there are multiple levels / stages of indirect association relationships. In some embodiments, the target association parameter can be determined through the association relationship. In one example, when the first target unit and the unit to be searched are in a direct association relationship, the target association parameter is 1; when the first target unit and the unit to be searched are in an indirect association relationship, the number of layers or stages corresponding to the association depth between the first target unit and the unit to be searched can be obtained, so as to determine the association parameter between the first target unit and the unit to be searched. For example, if the unit to be searched is a unit that is further associated with the unit directly associated with the first target unit, the association parameter between the unit to be searched and the first target unit is 2.

[0161] In some embodiments, the electronic device is provided with a Navigator tool, which is a key project management tool that allows the user to view and manage all units in the system and the relationships between the units. Through the Navigator tool, the user can easily browse and operate various parts of the project. In addition, the electronic device is also provided with a Constraint Objects tool. After setting the Constrain Rule Drive Edit and the associated parameters, the filter will display the first target unit and the second target unit that has an associated relationship with the first target unit.

[0162] In some embodiments, Figure 4 A schematic diagram of a layout method is shown, and the layout information includes unit G1, unit G2, unit G3 and unit G1_Sym. When the target association parameter (Search Depth in the figure) is 2, and the first target unit is unit G1, the second target unit searched under the target association parameter can be displayed in the display box of the Constraint Objects tool in the Navigator tool of the display interface, and the second target unit includes unit G3 and unit G1_Sym directly associated with unit G1, and unit G2 indirectly associated with unit G1 and directly associated with unit G3.

[0163] In some embodiments, the second target unit may be highlighted. In one example, the border of the second target unit may be highlighted; or, in one example, the entire second target unit in the layout information may be highlighted. For example, Figure 4 In the schematic diagram shown, the borders of the unit G3, the unit G2 and the unit G1_Sym associated with the unit G1 are all highlighted.

[0164] Optionally, the constraint relationship between the units can be displayed as related lines in the layout information. In one example, Figure 4 As shown in the schematic diagram, in this layout information, the constraint relationship between unit G3 and unit G2 is a left edge-left edge alignment constraint relationship, the constraint relationship between unit G1 and unit G3 is a vertical center-vertical center alignment constraint relationship, and unit G1 and unit G1_Sym are a vertical symmetry constraint relationship.

[0165] The embodiments of the present disclosure do not limit the display form of the related lines. For example, different types of lines can be used to display different constraint relationships; for another example, different colors of lines can be used to display different constraint relationships.

[0166] Step S302: in response to an editing operation on a first target unit in the first layout information, a second target unit is linked to be edited.

[0167] Among them, step S302 is the same as step S102 in the above embodiment and will not be described again here.

[0168] In one example, if Figure 5 , the editing operation can be a moving operation. Accordingly, when the position of the unit G1 moves upward, the units G3, G2 and G1_Sym with the target association parameter of 2 will move in conjunction with the movement of the unit G1 (e.g. Figure 5 The dashed arrows shown in the figure can represent the movement of each unit. Figure 5 The movement of unit G2 is not shown in the figure). Moreover, the constraint relationship among unit G1, unit G3, unit G2 and unit G1_Sym remains unchanged.

[0169] Step S303: keep the positions of other cells in the first layout information except the edited target cell unchanged.

[0170] In some embodiments, the electronic device will only edit the second target unit in a linked manner. For other units in the first layout information except the first target unit and the second target unit, the electronic device will keep their position parameters in the first layout information and the second layout information the same, that is, keep their positions unchanged.

[0171] In addition, it should be noted that since the position parameters of the first target unit and the second target unit have changed, the position parameters of other units except the edited target unit have not changed. Therefore, there may be a conflict in the constraint relationship between other units except the edited target unit and their associated units. At this time, the constraint relationship can be abandoned.

[0172] In some embodiments, abandoning a constraint relationship may be characterized by canceling the display of the related lines corresponding to the constraint relationship. Figure 6 A schematic diagram of a layout method is shown. When the target association parameter is 1, when editing the first target unit G1, only the editing unit G3 and the unit G1_Sym will be linked. At this time, the alignment constraint relationship between the unit G2 and the unit G3 conflicts, and the related lines between the unit G2 and the unit G3 are cancelled.

[0173] Step S304: Based on the edited first target unit, the edited second target unit and other units except the edited target unit, the first layout information is adjusted to obtain the second layout information.

[0174] In some embodiments, the first layout information can be adjusted based on the position parameters and size parameters of the edited first target unit, the position parameters and size parameters of the edited second target unit, and the position parameters and size parameters of other units except the edited target unit to obtain the second layout information.

[0175] The method provided in the embodiment of the present application can determine the second target unit associated with the first target unit based on the associated parameters, and can edit the second target unit while editing the first target unit, thereby ensuring that the constraint relationship between the first target unit and the second target unit remains unchanged, saving the time of manually checking and adjusting the constraint relationship of each unit, and ensuring the aesthetics and functionality of the layout.

[0176] Figure 7 is a flow chart showing a layout method according to an exemplary embodiment, which is executed by an electronic device, see Figure 7 , the method comprises the following steps:

[0177] Step S701, obtaining constraint information and unit information of each unit in a plurality of units.

[0178] Step S702: Based on the unit information of each unit among all the units, determine the initial position parameter of each unit and the size parameter of each unit.

[0179] Step S703: Determine the target constraint relationship of each unit based on the constraint information.

[0180] Step S704: determining first layout information based on the initial position parameters of each unit, the size parameters of each unit, and the constraint relationship of each unit.

[0181] Step S705: searching, from among the multiple units, a second target unit that is associated with the first target unit under the target association parameter.

[0182] Step S706 : in response to the editing operation on the first target unit in the first layout information, jointly edit the second target unit associated with the first target unit in the first layout information.

[0183] Step S707, based on the edited first target unit and the edited second target unit, adjust the first layout information to obtain the second layout information; the layout information is used to determine the target layout.

[0184] Figure 8 is a flow chart showing a layout method according to an exemplary embodiment, which is executed by an electronic device, see Figure 8 , the method comprises the following steps:

[0185] Get cell information and constraint information.

[0186] Determine whether there is a conflict in the constraint information. If yes, execute the first step in the subsequent steps; if no, execute the second step in the subsequent steps.

[0187] The constraint relationship is processed based on the priority information of the constraint relationship corresponding to the constraint information.

[0188] Based on the target constraint relationship of the unit, priority information of multiple constraint relationships, size parameters of the unit and initial position parameters of the unit, the target position parameters of the unit are obtained.

[0189] Based on the target position parameter of each cell and the size parameter of each cell, first layout information is determined.

[0190] Set target association parameters.

[0191] A first target unit is selected, and a second target unit associated with the first target unit under the target association parameter is searched from among the plurality of units.

[0192] In response to the editing operation on the first target unit in the first layout information, the second target unit is linked to be edited to obtain the position parameter and size parameter of the edited first target unit and the position parameter and size parameter of the edited second target unit.

[0193] The positions of other cells in the first layout information except the edited target cell remain unchanged.

[0194] Determine whether there is a conflict between the constraints of other units. If yes, execute the first step in the subsequent steps; if no, execute the last step.

[0195] Discard conflicting constraints.

[0196] Based on the edited position parameter and size parameter of the first target unit, the edited position parameter and size parameter of the second target unit, and the position parameters and size parameters of other units except the edited target unit, the first layout information is adjusted to obtain the second layout information.

[0197] The exemplary embodiment of the present application provides a layout device, such as Figure 9 As shown, a block diagram of a layout device shown in the present application, the device includes:

[0198] An acquisition module 901 is configured to acquire first layout information, where the first layout information includes a plurality of units and positional relationships between the plurality of units;

[0199] The editing module 902 is configured to, in response to an editing operation on a first target unit in the first layout information, link and edit a second target unit associated with the first target unit in the first layout information, where the first target unit is any one of the multiple units;

[0200] The adjustment module 903 is configured to adjust the first layout information based on the edited first target unit and the edited second target unit to obtain the second layout information; the layout information is used to determine the target layout.

[0201] In some embodiments, the acquisition module 901 is configured to:

[0202] Obtain constraint information and unit information of each unit in the plurality of units; the unit information is used to characterize the attribute information of the unit, and the constraint information is used to constrain the positional relationship between different units;

[0203] Based on the cell information and the constraint information of each cell, first layout information is determined.

[0204] In some embodiments, the acquisition module 901 is configured to:

[0205] Based on the unit information of each unit among all the units, determine the initial position parameter of each unit and the size parameter of each unit;

[0206] Based on the constraint information, determine the target constraint relationship of each unit; the constraint relationship of the unit is used to characterize the positional relationship between the unit and other units;

[0207] First layout information is determined based on an initial position parameter of each cell, a size parameter of each cell, and a constraint relationship of each cell.

[0208] In some embodiments, the acquisition module 901 is configured to:

[0209] For each unit, based on the unit's target constraint relationship, the unit's size parameters and the unit's initial position parameters, the unit's target position parameters are obtained;

[0210] Based on the target position parameter of each cell and the size parameter of each cell, first layout information is determined.

[0211] In some embodiments, the target constraint relationship includes multiple constraint relationships, and the multiple constraint relationships include at least two of a non-overlapping constraint relationship, a proximity constraint relationship, a symmetric constraint relationship, and an alignment constraint relationship. The acquisition module 901 is configured to:

[0212] Based on the target constraint relationship of the unit, priority information of multiple constraint relationships, size parameters of the unit and initial position parameters of the unit, the target position parameters of the unit are obtained.

[0213] In some embodiments, an acquisition module 901 is configured to:

[0214] If a first constraint relationship and a second constraint relationship among multiple constraint relationships conflict, and the priority of the first constraint relationship is greater than that of the second constraint relationship, based on the constraint relationships other than the second constraint relationship among the multiple constraint relationships of the unit and the size parameter of the unit, adjust the initial position parameter of the unit to obtain the target position parameter of the unit;

[0215] If a first constraint relationship and a second constraint relationship among multiple constraint relationships conflict, and the priority of the first constraint relationship is less than or equal to that of the second constraint relationship, based on the constraint relationships other than the first constraint relationship among the multiple constraint relationships of the unit and the size parameter of the unit, adjust the initial position parameter of the unit to obtain the target position parameter of the unit;

[0216] The first constraint relationship and the second constraint relationship are any two constraint relationships among the multiple constraint relationships.

[0217] In some embodiments, an editing module 902 is further configured to:

[0218] Search, from multiple units, for a second target unit associated with a first target unit under a target association parameter; the target association parameter is used to characterize the association depth between the unit to be searched and the first target unit.

[0219] Each module in the above layout device can be implemented in whole or in part by software, hardware, and their combination. Each of the above modules can be embedded in the processor in the electronic device in hardware form or be independent of it, or can be stored in the memory in the electronic device in software form so that the processor can call and execute the operations corresponding to each of the above modules.

[0220] In an exemplary embodiment, an electronic device is provided, including a processor and a memory. The memory stores a computer program, and when the processor executes the computer program, the steps of any of the above layout methods are implemented.

[0221] In an exemplary embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above layout methods are implemented. The computer-readable storage medium can be ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device, etc.

[0222] Reference Figure 10, the structural block diagram of the electronic device that can be used in this application will now be described. The electronic device 1000 includes a computing unit 1001, which can execute various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 1002 or the computer program loaded from the storage unit 1008 into the random access memory (RAM) 1003. In the RAM 1003, various programs and data required for the operation of the electronic device 1000 can also be stored. The computing unit 1001, the ROM 1002, and the RAM 1003 are connected to each other through a bus 1004. The input / output (I / O) interface 1005 is also connected to the bus 1004.

[0223] Multiple components in the electronic device 1000 are connected to the I / O interface 1005, including: an input unit 1006, an output unit 1007, a storage unit 1008, and a communication unit 1009. The input unit 1006 can be any type of device that can input information into the electronic device 1000. The input unit 1006 can receive input digital or character information, and generate key signal inputs related to the user settings and / or function controls of the electronic device 1000, and can include, but are not limited to, a mouse, a keyboard, a touch screen, a trackpad, a trackball, a joystick, a microphone, and / or a remote control. The output unit 1007 can be any type of device that can present information, and can include, but are not limited to, a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. The storage unit 1008 can include, but are not limited to, magnetic disks and optical discs. The communication unit 1009 allows the electronic device 1000 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks, and can include, but are not limited to, a modem, a network card, an infrared communication device, a wireless communication transceiver, and / or a chipset, such as a BluetoothTM device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.

[0224] The computing unit 1001 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 1001 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 1001 executes the various methods and processes described above, such as the layout method. For example, in some embodiments, the layout method can be implemented as a computer software program that is tangibly contained in a machine-readable medium, such as the storage unit 1008. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 1000 via the ROM 1002 and / or the communication unit 1009. When the computer program is loaded into the RAM 1003 and executed by the computing unit 1001, one or more steps of the layout method described above can be executed. Alternatively, in other embodiments, the computing unit 1001 can be configured to execute the layout method by any other suitable means (e.g., by means of firmware).

[0225] The electronic device 1000 can be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components for executing the above-described layout method.

[0226] Those skilled in the art will readily conceive of other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present invention that follow the general principles of the present invention and include known common knowledge or conventional technical means in the technical field not disclosed in this application. The specification and embodiments are to be considered exemplary only, and the true scope and spirit of the present invention are pointed out by the following claims.

[0227] It should be understood that the present invention is not limited to the exact structures described above and shown in the drawings, and various modifications and changes can be made without departing from its scope. The scope of the present invention is only limited by the appended claims.

Claims

1. A layout method, characterized in that, include: Acquire first layout information, where the first layout information includes a plurality of units and positional relationships between the plurality of units; In response to an editing operation on a first target unit in the first layout information, jointly editing a second target unit associated with the first target unit in the first layout information, wherein the first target unit is any one of the multiple units; Based on the edited first target unit and the edited second target unit, the first layout information is adjusted to obtain the second layout information; the layout information is used to determine the target layout.

2. The layout method according to claim 1, wherein The obtaining of the first layout information includes: Obtaining constraint information and unit information of each unit in the plurality of units; the unit information is used to characterize the attribute information of the unit, and the constraint information is used to constrain the positional relationship between different units; The first layout information is determined based on the cell information of each cell and the constraint information.

3. The layout method according to claim 2, characterized in that, The determining the first layout information based on the unit information and the constraint information includes: Based on the unit information of each unit among all the units, determining an initial position parameter of each unit and a size parameter of each unit; Based on the constraint information, determining the target constraint relationship of each unit; the constraint relationship of the unit is used to characterize the positional relationship between the unit and other units; The first layout information is determined based on an initial position parameter of each unit, a size parameter of each unit, and a constraint relationship of each unit.

4. The layout method according to claim 3, wherein The determining the first layout information based on the initial position parameter of each unit, the size parameter of each unit and the constraint relationship of each unit includes: For each unit, based on the target constraint relationship of the unit, the size parameter of the unit and the initial position parameter of the unit, a target position parameter of the unit is obtained; The first layout information is determined based on the target position parameter of each unit and the size parameter of each unit.

5. The layout method according to claim 4, characterized in that, The target constraint relationship includes multiple constraint relationships, and the multiple constraint relationships include at least two of a non-overlapping constraint relationship, a proximity constraint relationship, a symmetry constraint relationship, and an alignment constraint relationship. The target position parameter of the unit is obtained based on the target constraint relationship of the unit, the size parameter of the unit, and the initial position parameter of the unit, including: The target position parameters of the unit are obtained based on the target constraint relationship of the unit, the priority information of the multiple constraint relationships, the size parameters of the unit and the initial position parameters of the unit.

6. The layout method according to claim 5, characterized in that, The step of obtaining the target position parameter of the unit based on the target constraint relationship of the unit, the priority information of the plurality of constraint relationships, the size parameter of the unit and the initial position parameter of the unit comprises: If a first constraint relationship and a second constraint relationship among the multiple constraint relationships conflict, and the priority of the first constraint relationship is greater than the priority of the second constraint relationship, adjusting the initial position parameters of the unit based on the constraint relationships among the multiple constraint relationships of the unit except the second constraint relationship and the size parameters of the unit to obtain the target position parameters of the unit; If a first constraint relationship and a second constraint relationship among the multiple constraint relationships conflict, and the priority of the first constraint relationship is less than or equal to the priority of the second constraint relationship, adjusting the initial position parameters of the unit based on the constraint relationships other than the first constraint relationship among the multiple constraint relationships of the unit and the size parameters of the unit to obtain the target position parameters of the unit; The first constraint relationship and the second constraint relationship are any two constraint relationships among the multiple constraint relationships.

7. The layout method according to claim 1, wherein The method further comprises: From the plurality of units, the second target unit associated with the first target unit under a target association parameter is searched; the target association parameter is used to characterize the association depth between the unit to be searched and the first target unit.

8. A layout device, characterized in that, include: An acquisition module is configured to acquire first layout information, where the first layout information includes a plurality of units and positional relationships between the plurality of units; an editing module, configured to, in response to an editing operation on a first target unit in the first layout information, link and edit a second target unit associated with the first target unit in the first layout information, wherein the first target unit is any one of the multiple units; The adjustment module is configured to adjust the first layout information based on the edited first target unit and the edited second target unit to obtain the second layout information; the layout information is used to determine the target layout.

9. An electronic device, comprising a memory and a processor, the memory storing a computer program, characterized in that, When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.