A method for constructing a wiring shape and determining its orientation and related devices
By analyzing the integrated circuit design rules and building edge objects of wiring shapes and establishing azimuth relationships, the problem of insufficient utilization of wiring path information in the existing technology is solved, and efficient wiring design and optimization is achieved.
Patent Information
- Application Number
- CN202510122238.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-26
- Publication Date
- 2025-05-30
- Estimated Expiration
- 2045-01-26
AI Technical Summary
The prior art is difficult to effectively utilize wiring path information in integrated circuit design, resulting in the inability to achieve refined management and efficient processing when wiring optimization, rule checking and module interaction.
By obtaining the design rules required for wiring of integrated circuits, analyzing the design rules to create a target object, building edge objects based on the target object, and establishing the correspondence between edge and the direction of the edge object according to the properties and drawing direction of the edge object, as well as the correspondence between edge and the spatial orientation of both sides, giving the wiring shape and orientation information.
It enables the direction of the wiring shape to be identified without additional storage and computing complexity, which improves the scalability and accuracy of the wiring design, and can accurately analyze timing paths, optimize chip design, and improve performance.
Smart Images

Figure CN119578351B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology. More specifically, this application relates to a method for constructing wiring shapes and determining orientations and related devices. Background Art
[0002] In modern integrated circuit design, wiring is a crucial link, which directly affects key indicators such as the performance, power consumption, and area of the chip. With the continuous development of integrated circuit technology, the integration density of chips has been increasing day by day, and the complexity of wiring has also increased exponentially.
[0003] With the development of technology, the integration density has increased, and the wiring complexity has increased sharply. Currently, wiring design only focuses on the physical shapes and connections of wiring elements, without determining the starting and ending points of the endpoints of metal wires. This non-directionality of wiring makes the wiring information lack directional features, resulting in the inability of existing wiring tools to effectively utilize path information when processing wiring data. For example, when performing wiring optimization, rule checking (such as design rule checking DRC), and interacting with other design modules, due to the lack of direction information, it is difficult for the tool to accurately analyze key path features such as the routing direction and sequence of wiring, thus unable to achieve refined management and efficient processing of wiring. This current situation of lacking direction information also limits the scalability of the tool.
[0004] Facing new requirements and challenges, such as considering differences in signal delay directions and the current flow directions of power / ground wires, it is difficult for existing tools to be extended and improved, increasing costs and time, and restricting technological development. Therefore, there is an urgent need for methods and systems for efficiently defining wiring direction information to meet the development needs. Summary of the Invention
[0005] A series of simplified concepts are introduced in the Summary of the Invention section, which will be further elaborated in the Detailed Description section. The Summary of the Invention section of this application does not mean to attempt to define the key features and essential technical features of the claimed technical solution, nor does it mean to attempt to determine the protection scope of the claimed technical solution.
[0006] In a first aspect, this application proposes a method for constructing wiring shapes and determining orientations, including:
[0007] Obtain the design rules required for integrated circuit wiring, and parse the design rules to obtain the parsed design rules;
[0008] According to the shape of the target element in the wiring path and the parsed design rules, create a target object containing the vertex coordinates corresponding to the shape of the target element, and based on the vertex coordinates in the target object, construct an edge object corresponding to the target object;
[0009] Establish the correspondence between the edges in different directions in the edge object and the endpoint orientations of the wiring shape represented by the target object, and establish the correspondence between each edge in the edge object and the spatial orientations on both sides of it, according to the attributes of each edge in the edge object and the target drawing direction, so that the wiring shape represented by the target object has orientation information.
[0010] In a feasible implementation manner, constructing the edge object corresponding to the target object based on the vertex coordinates in the target object includes: if the shape of the target element is a single shape, determine the adjacent vertex coordinates based on the vertex coordinates in the target object, and construct the edge object according to the connection line from one vertex coordinate to another vertex coordinate among the adjacent vertex coordinates; if the shape of the target element is a composite shape, which is a shape composed of multiple shape elements, when there is an overlap between the connection line between adjacent vertex coordinates based on the vertex coordinates in the target object and the edge of the shape element, take the larger connection line of the two to construct the edge object.
[0011] In a feasible implementation manner, establishing the correspondence between the edges in different directions in the edge object and the endpoint orientations of the wiring shape represented by the target object according to the attributes of each edge in the edge object and the target drawing direction includes: if the target drawing direction is the counterclockwise drawing direction, the vertically upward edge in the edge object corresponds to the east endpoint of the wiring shape represented by the target object, the vertically downward edge corresponds to the west endpoint of the wiring shape represented by the target object, the horizontally leftward edge corresponds to the north endpoint of the wiring shape represented by the target object, and the horizontally rightward edge corresponds to the south endpoint of the wiring shape represented by the target object; if the target drawing direction is the clockwise drawing direction, the vertically downward edge in the edge object corresponds to the east endpoint of the wiring shape represented by the target object, the vertically upward edge corresponds to the west endpoint of the wiring shape represented by the target object, the horizontally rightward edge corresponds to the north endpoint of the wiring shape represented by the target object, and the horizontally leftward edge corresponds to the south endpoint of the wiring shape represented by the target object.
[0012] In a feasible implementation manner, establishing the correspondence between each edge in the edge object and the spatial orientations on both sides of it includes: if the target drawing direction is the counterclockwise drawing direction, the side of the orthogonal direction outside the wiring shape corresponding to the starting point of each edge in the edge object is the right side, and the side of the orthogonal direction outside the wiring shape corresponding to the ending point of each edge is the left side; if the target drawing direction is the clockwise drawing direction, the side of the orthogonal direction outside the wiring shape corresponding to the starting point of each edge in the edge object is the left side, and the side of the orthogonal direction outside the wiring shape corresponding to the ending point of each edge is the right side.
[0013] In a feasible implementation, the method further includes: selecting a target edge in the edge object; if the target drawing direction is the counterclockwise drawing direction, according to the combination constraints in the parsed design rules, expanding the area to the right from the starting point of the target edge and expanding the area to the left from the ending point of the target edge, and the expanded area is used for prediction and inspection of design rule checking; if the target drawing direction is the clockwise drawing direction, according to the combination constraints in the parsed design rules, expanding the area to the left from the starting point of the target edge and expanding the area to the right from the ending point of the target edge, and the expanded area is used for prediction and inspection of the design rule checking.
[0014] In a feasible implementation, the method further includes: obtaining the lower bound value of the pitch rule from the parsed design rules, and determining the value-taking logic of the upper bound value of the pitch rule according to the value-taking logic of the lower bound value.
[0015] In a feasible implementation, the method further includes: for the wiring shape with the orientation information, determining the line track grid coordinate points covered within its physical coordinate range, and establishing a mapping relationship between the wiring shape and the grid coordinate points.
[0016] In a second aspect, the present application provides a device for constructing a wiring shape and determining an orientation, including:
[0017] An acquisition unit, configured to acquire the design rules required for integrated circuit wiring and parse the design rules to obtain the parsed design rules;
[0018] A creation unit, configured to create a target object including the vertex coordinates corresponding to the shape of the target element according to the shape of the target element in the wiring path and the parsed design rules, and construct an edge object corresponding to the target object based on the vertex coordinates in the target object;
[0019] An association unit, configured to establish a correspondence between the edges in different directions in the edge object and the endpoint orientations of the wiring shape represented by the target object, and establish a correspondence between each edge in the edge object and the spatial orientations on both sides thereof according to the attributes of each edge in the edge object and the target drawing direction, so that the wiring shape represented by the target object has orientation information.
[0020] In a third aspect, an electronic device includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor is used to implement the steps of the wiring shape construction and orientation determination method according to any item of the first aspect when executing the computer program stored in the memory.
[0021] In a fourth aspect, the present application further proposes a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the wiring shape construction and orientation determination method of any one of the first aspects is implemented.
[0022] In summary, the wiring shape construction and orientation determination method proposed in this application obtains the design rules required for integrated circuit wiring, parses the design rules, and creates a target object based on these parsed design rules and the shape of the target element in the wiring path. The target object contains the vertex coordinates of the target element, and the edge object is further constructed through the vertex coordinates. Through the attributes of the edge object and the target drawing direction, a correspondence between the edge and the orientation of the wiring shape endpoint, as well as a correspondence between the edge and the spatial orientation on both sides of it, is established, so that the wiring shape has orientation information, and the direction of the wiring shape can be identified without additional storage and computational complexity. The wiring shape carries direction information of great significance and can help product scalability. After the design drawing is generated by automatic wiring, this information can be used to accurately analyze the timing path, grasp the key elements of signal transmission, and then optimize the chip design in a targeted manner, improve performance, meet functional expansion needs, and promote design improvement. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the detailed description of the preferred embodiments below. The accompanying drawings are only for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the present specification. Also, the same reference symbols are used throughout the accompanying drawings to represent the same components. In the accompanying drawings:
[0024] Figure 1 A schematic flow chart of a wiring shape construction and orientation determination method provided in an embodiment of the present application.
[0025] Figure 2 A schematic diagram of a single-shape structure provided in an embodiment of the present application.
[0026] Figure 3 A schematic diagram of a composite structure provided in an embodiment of the present application.
[0027] Figure 4 A schematic diagram of the structure of a wiring shape construction and orientation determination device provided in an embodiment of the present application.
[0028] Figure 5 A schematic diagram of the structure of an electronic device for wiring shape construction and orientation determination provided in an embodiment of the present application. DETAILED DESCRIPTION
[0029] The terms "first", "second", "third", "fourth", etc. (if any) in the description, claims and the above drawings of this application are used to distinguish similar objects and do not necessarily describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances so that the embodiments described here can be implemented in an order other than that shown or described here. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device comprising a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices. The technical solutions in the embodiments of this application will be described clearly and completely below with reference to the drawings in the embodiments of this application. Obviously, the described embodiments are only a part of the embodiments of this application, rather than all of the embodiments.
[0030] Figure 1 A flowchart of a wiring shape construction and orientation determination method according to an embodiment of this application is shown. Referring to Figure 1 as shown, the wiring shape construction and orientation determination method includes:
[0031] Step S110, obtain the design rules required for integrated circuit wiring, and parse the design rules to obtain the parsed design rules;
[0032] Step S120, according to the shape of the target element in the wiring path and the parsed design rules, create a target object containing the vertex coordinates corresponding to the shape of the target element, and based on the vertex coordinates in the target object, construct an edge object corresponding to the target object;
[0033] Step S130, according to the attributes of each edge in the edge object and the target drawing direction, establish the correspondence between the edges in different directions in the edge object and the endpoint orientations of the wiring shape represented by the target object, and establish the correspondence between each edge in the edge object and the spatial orientations on both sides of it, so that the wiring shape represented by the target object has orientation information.
[0034] The following will explain these steps in detail.
[0035] In step S110, obtain the design rules required for integrated circuit wiring, and parse the design rules to obtain the parsed design rules.
[0036] The wiring of an integrated circuit is to determine, during the chip design phase, the way of connecting various circuit elements, such as transistors, capacitors, resistors, etc., with metal wires to achieve specific circuit functions. Design rules are the criteria that must be followed during the chip manufacturing process. They specify the physical size limitations and electrical performance requirements for wiring and other layout elements. For example, the accuracy of lithography technology determines the minimum line width and spacing, and the electrical performance requirements limit the value ranges of resistors and capacitors, etc. These rules are formulated based on the capabilities and characteristics of the chip manufacturing process.
[0037] To obtain the design rules required for integrated circuit wiring, they are generally extracted from the process files provided by the chip manufacturer. To parse the design rules, a specific algorithm is usually written. First, the rules are classified into different categories, such as line width rules, spacing rules, electrical performance rules, etc. Then, the logical relationships between various types of rules are analyzed in depth, and the complex rule descriptions are converted into a format that can be understood and processed by a computer. Finally, the parsed design rules are obtained, so that in the subsequent automated wiring design process, wiring planning, optimization, and inspection can be accurately carried out based on these rules, ensuring that the designed integrated circuit layout can not only meet the functional requirements but also comply with the manufacturing process limitations, thus achieving the successful manufacturing and good performance of the chip.
[0038] In some embodiments of the present application, step S110 can be specifically as follows: First, obtain the design rules required for integrated circuit wiring from the library exchange format file and the rule set file; then, use the parsing unit to parse each design rule into a vector composed of key-value pairs to obtain the parsed design rules.
[0039] Among them, the Library Exchange Format (LEF) file plays an important role in the field of integrated circuit design. It is mainly used to describe the information of various basic elements in the physical design of integrated circuits, such as standard cells (e.g., various logic gates, etc.), macro cells (relatively complex functional modules), and their related physical attributes. These physical attributes include the positions of pins, metal layer information, the height and width of the cell, etc. For the design rules required for wiring, the library exchange format file can provide rule information such as connection limitations when wiring between different cells, the range of each metal layer available for wiring, and some specific requirements for wiring at the pins. Through such files, it is possible to clearly understand the relevant rules followed at different physical element levels during specific wiring operations, ensuring that the wiring can be adapted to the existing physical structures such as cells and modules.
[0040] A Rule Deck is a collection of files used to define design rules in the integrated circuit design process. It is a text file containing numerous rules that are guidelines that chip designs must follow in many aspects, from physical layout to electrical performance. Physical rules cover minimum line width, line spacing, via size and location, etc.; electrical rules include resistance and capacitance limits, signal integrity-related rules, etc. In the physical design stage, especially during the routing process, it plays a crucial role in the successful manufacturing of the chip and meeting performance standards.
[0041] Obtaining the design rules required for integrated circuit routing from these two types of files is the basic step in the entire routing design process. Only by accurately extracting and mastering these rules can one reasonably plan the routing of metal wires, determine the placement location of vias, ensure that the connections between various parts meet physical and electrical performance requirements, etc. in subsequent routing work. Without the accurate rules obtained from these files, the routing work may fall into a blind state, leading to many problems in the designed circuit, such as short circuits, signal transmission errors, or inability to meet chip manufacturing process requirements, thereby affecting the quality and final performance of the entire integrated circuit.
[0042] After reading each rule text, a professional parsing unit is used to process it, and here the lexical analyzer and syntax analyzer are called. The lexical analyzer is mainly responsible for splitting the rule text into basic language units such as words and symbols, for example, identifying identifiers like "LEF58_SPACING" and numerical values like "10". Based on this, the syntax analyzer analyzes the structural relationships between these basic units according to the grammar rules of the language, and then determines how they form a complete rule expression. Through the collaborative work of these two analyzers, each corresponding rule R is deeply analyzed and parsed into a Constraint vector composed of key-value pairs. For example, a rule regarding spacing may be presented as a key-value pair like ("LEF58_SPACING", "10") after parsing, and multiple such key-value pairs combined form a Constraint vector, clearly showing the corresponding relationships between various elements in the rule.
[0043] After the parsing is completed, the key-value relationship in the Constraint vector will be stored in the key-value vector. Just like the corresponding relationship of "LEF58_SPACING 10" mentioned above, it will be stored in the key-value vector in an orderly manner. This storage method is of great significance. It converts the originally complex rule text into a clear and organized data structure that is easy for computer programs to quickly retrieve and process. In the subsequent automatic routing process, whether it is to judge the legality of routing, avoid violating DRC rules, or optimize and adjust the routing plan according to the rules, you can rely on these key-value relationship pairs stored in the key-value vector to quickly obtain rule information, thereby ensuring that the automatic routing work can strictly follow the design requirements, be completed efficiently and accurately, and ensure the final performance and quality of the integrated circuit.
[0044] By parsing into vectors, complex design rules can be effectively managed and applied, especially in FinFET processes, where the number and complexity of design rules have greatly increased due to the introduction of multi-mask technology. By parsing design rules into vector form, the rule processing process can be simplified and design efficiency and accuracy can be improved.
[0045] In some embodiments of the present application, different types of design rule situations may be encountered during the processing of integrated circuit design rules. If there is a first design rule in the acquired design rules, and the rule is also accompanied by an additional conditional rule, the parsing unit will parse the first design rule and the additional conditional rule attached thereto, and convert each of them into a vector form composed of key-value relationship pairs. For example, if the first design rule is a requirement for metal line width, such as "the metal line width is 8 nanometers in a specific area", and the additional conditional rule is "when the temperature is higher than 50 degrees Celsius, the line width is allowed to deviate by ±0.5 nanometers", after parsing, they will become vectors composed of key-value relationship pairs such as ("metal line width", "8 nanometers"), ("temperature condition", "higher than 50 degrees Celsius"), ("line width deviation", "±0.5 nanometers"), etc., thereby obtaining the parsed first design rule, so that these rules can be applied more accurately in the design process later.
[0046] In addition, when there are multiple second design rules in the obtained design rules, these rules have the same rule name, but their respective rule contents and constraint conditions are different. Similarly, using the parsing unit, each second design rule is independently parsed and converted into a vector composed of key-value pairs. For example, for multiple second design rules regarding the via size between different layers, some rules are "the via diameter between signal layers is 5 microns", some are "the via diameter between the power layer and the ground layer is 8 microns and the depth is 10 microns", etc. After parsing, multiple corresponding key-value pair vectors will be obtained, and then multiple parsed second design rules will be obtained, enabling accurate compliance with the corresponding rule requirements according to different scenarios during the actual design process, and ensuring the accuracy and reliability of integrated circuit design.
[0047] In some embodiments of the present application, the design rules are closely related to different mask layers. When, through a specific determination process, it is found that there are conflicts in the design rules corresponding to different mask layers, a series of measures need to be taken to solve these problems to ensure the accuracy and consistency of the design.
[0048] First, in order to clearly distinguish and identify the conflicting mask layers, different mask layers are respectively colored and marked. This visual way helps designers quickly locate and understand which mask layers have inconsistent rules. At the same time, for the conflicting design rules between different regions within the same mask layer, a merging operation is performed. For example, in a certain mask layer, one region stipulates that the minimum pitch of metal lines is 8 nanometers, while another region stipulates it is 10 nanometers. At this time, various factors need to be comprehensively considered, such as circuit performance and the feasibility of manufacturing processes, and these conflicting rules are merged into a reasonable value, such as 9 nanometers, to obtain the merged design rules.
[0049] Next, a special parsing unit is used to process the merged design rules. This tool will convert the complex rule provisions into a form that is more easily understood and processed by a computer, that is, a vector composed of key-value pairs. For example, for the rule of the minimum pitch of metal lines mentioned above, after parsing, a key-value pair like ("minimum pitch of metal lines", "9 nanometers") will be formed. All the merged rules are parsed in this way, and finally the parsed design rules are obtained. These parsed rules can be efficiently utilized by subsequent design automation tools. When performing wiring, placement, and other physical design operations, they can strictly follow the unified and conflict-free design rules, ensuring that the integrated circuit can smoothly transition from the design stage to the manufacturing stage and meet the expected performance and function requirements.
[0050] In step S120, according to the shape of the target element in the wiring path and the parsed design rules, a target object containing the vertex coordinates corresponding to the shape of the target element is created. Based on the vertex coordinates in the target object, an edge object corresponding to the target object is constructed.
[0051] In the field of integrated circuit wiring design, there are various key target elements in the wiring path, such as metal wires, vias, power sources / grounds, virtual vias for slicing, and patch metal wires, etc., and their shapes are diverse.
[0052] First, according to the shape of the target element in the wiring path and the parsed design rules, a target object containing the vertex coordinates corresponding to the shape of the target element can be created.
[0053] For the shape of the target element being a rectangle or a square, its position and size range are determined according to the parsed design rules. For example, the parsed design rules may stipulate the minimum width and length range of the metal wire. According to these rules, the coordinates of the four vertices of the shape are found and stored in the target object to represent the shape.
[0054] For the shape of the target element being a trapezoid, its position in the plane is also determined according to the parsed design rules, such as the length range of the bottom and top sides of the trapezoid, the height range, etc. According to these rules, the coordinates of the four vertices are found and stored in the target object in sequence.
[0055] For the shape of the target element being a triangle, its position and size are determined according to the parsed design rules. The coordinates of the three vertices are found and stored in the target object. And since a triangle has only three vertices, the last vertex coordinate position can be set to empty or represented by a special mark.
[0056] For the shape of the target element being an irregular polygon, the approximate range of the polygon in the plane is determined according to the parsed design rules. These rules may involve the spacing between the polygon and other elements, the area range of the polygon itself, etc. According to these rules, the coordinates of each vertex are found and stored in the target object.
[0057] After having these target objects carrying shape information, the next step is to construct the edge object. Based on the vertex coordinates recorded in the target object that described the shape before, according to the corresponding rules and methods, the edge object is constructed in an orderly manner, thereby clearly depicting the boundaries and connection situations of the wiring elements, laying a foundation for subsequent work such as wiring rule checking and wiring optimization.
[0058] In step S130, according to the attributes of each edge in the edge object and the target drawing direction, a correspondence relationship is established between the edges in different directions in the edge object and the endpoint orientations of the wiring shape represented by the target object, and a correspondence relationship is established between each edge in the edge object and the spatial orientations on both sides of it, so that the wiring shape represented by the target object has orientation information.
[0059] First of all, the edge object is composed of two coordinate points, a starting point and an ending point, and has its own direction, that is, from the starting point to the ending point. Different edges also have various attributes, such as the direction of the edge, etc. These attributes together reflect the characteristics of the edge. At the same time, the wiring shape has a target drawing direction, which can be clockwise or counterclockwise. This direction provides a reference framework for establishing the orientation relationship subsequently.
[0060] Based on the above elements, on the one hand, a correspondence relationship is established between the edges in different directions in the edge object and the endpoint orientations of the wiring shape represented by the target object. This enables each edge to be closely associated with the endpoint orientation of the wiring shape, making the endpoint orientation more precisely defined. It is no longer just simple coordinate points but incorporates the direction information of the edge.
[0061] On the other hand, a correspondence relationship is also established between each edge in the edge object and the spatial orientations on both sides of it. Taking a certain horizontal edge as an example, the spatial orientations above and below the edge can be determined according to its perpendicular orthogonal direction, and this determination is not isolated but is comprehensively considered in combination with the entire wiring shape and the layout of other edges. For example, when performing design rule checking (DRC), to determine whether the spaces on both sides of a certain edge meet the spacing requirements with adjacent wiring or components, it is necessary to accurately know the correspondence relationship between the edge and the spatial orientations on both sides of it. Through such a dual construction, the wiring shape represented by the target object is given rich and accurate orientation information. Whether in subsequent wiring optimization, signal integrity analysis, or collaborative design with other modules, more scientific and reasonable decisions can be made based on these orientation information, ensuring the high-quality completion of the integrated circuit wiring design.
[0062] Based on the technical solution of the above embodiment, by obtaining the design rules required for integrated circuit wiring and parsing the design rules, a target object is created according to these parsed design rules and the shape of the target element in the wiring path. The target object contains the vertex coordinates of the target element, and the edge object is further constructed through the vertex coordinates. Through the attributes of the edge object and the target drawing direction, a correspondence between the edge and the orientation of the endpoints of the wiring shape, as well as a correspondence between the edge and the spatial orientation on both sides of it, is established, so that the wiring shape has orientation information, and the direction of the wiring shape can be identified without additional storage and computational complexity. The direction information carried by the wiring shape is of great significance and can help product scalability. After the design drawing is generated by automatic wiring, the timing path can be accurately analyzed based on this information, the key elements of signal transmission can be mastered, and then the chip design can be optimized in a targeted manner, performance can be improved, and functional expansion requirements can be met, promoting design refinement.
[0063] In some embodiments of the present application, constructing an edge object corresponding to the target object based on the vertex coordinates in the target object may specifically include:
[0064] If the shape of the target element is a single shape, the adjacent vertex coordinates in the target object may be determined based on the vertex coordinates in the target object, and an edge object may be constructed based on a connection line from one vertex coordinate to another vertex coordinate in the adjacent vertex coordinates.
[0065] If the shape of the target element is a composite shape, which is a shape composed of multiple shape elements, then based on the vertex coordinates in the target object, when the line between adjacent vertex coordinates overlaps with the line formed by the edges of the shape elements, the larger line between the two is taken to construct an edge object.
[0066] Simple shapes refer to more basic geometric shapes such as rectangles, triangles, trapezoids, etc. Figure 2 An example is shown in which a single shape is a rectangle, and the single shape has four vertex coordinates, which are A, B, C, and D in order (for example, counterclockwise order).
[0067] In the case of a single shape, an edge object is composed of two vertex coordinates, the start point and the end point, and the edge has a clear direction, that is, from the start point to the end point. Figure 2In the example, when constructing an edge object, the starting point of the first edge is A and the ending point is B. This edge determines the direction from point A to point B, thus outlining one side of the rectangle. The second edge starts from B and ends at C. By connecting adjacent vertices in this way successively, the second edge can be constructed, which reflects the direction change from B to C and continues to refine the outline of the rectangle. Similarly, the third edge is from C to D, and the fourth edge is from D back to A. Through these four edges, the edge object corresponding to the rectangular shape is completely constructed, clearly depicting the four sides of the rectangle and their respective directions. The same principle applies to triangles, except that three edges are constructed based on the coordinates of its three vertices.
[0068] A composite shape refers to a shape formed by combining multiple shape elements, where the shape elements can be basic geometric shapes such as rectangles, triangles, trapezoids, etc. For example, a composite shape may be composed of several rectangles of different sizes spliced together, or a complex polygon formed by the combination of a rectangle and a triangle. Figure 3 An example of a composite shape is shown, which is composed of multiple rectangles spliced together. This composite shape has 18 vertex coordinates, namely a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r.
[0069] In the case of a composite shape, when constructing an edge object, it is first necessary to determine whether there is an overlap between the connection line formed by adjacent vertex coordinates and the connection line formed by the edges of the shape elements. Since a composite shape is composed of multiple shape elements, each shape element itself has its own edges, and these edges can also form corresponding connection lines. For example, if a composite shape contains several small rectangles, then the four edges of each small rectangle are the edges of the shape elements, and their connections with the edges of other shape elements will also form connection lines. When there is an overlap between these two types of connection lines, the larger connection line should be selected to construct the edge object. "The larger connection line" usually refers to the connection line with a longer length. The reason for this is that when we construct an edge object, it is to accurately depict the outermost boundary of the entire composite shape, that is, to define the contour range of this composite shape as a whole. If a shorter overlapping connection line is selected, it may not be able to completely outline the actual outer boundary of the composite shape, resulting in a smaller constructed edge object or an inaccurate reflection of the true size and shape of the composite shape. By selecting the longer overlapping connection line, it can ensure that the constructed edge object accurately outlines along the maximum boundary of the composite shape, thus presenting the contour of the composite shape completely and accurately, and providing accurate edge object information for subsequent routing analysis, rule checking, and other related operations based on this composite shape.
[0070] For example, there is a composite shape composed of two partially overlapping rectangles. In a certain local area, a line segment is formed by connecting adjacent vertices starting from the vertex coordinates of the target object. As shape elements, the sides of these two rectangles also form a coincident line segment in this area, but one is a bit longer than the other. According to the rules, the longer line segment should be selected to construct the edge object.
[0071] Furthermore, in some embodiments of the present application, according to the attributes of each edge in the edge object and the target drawing direction, a correspondence relationship is established between the edges in different directions in the edge object and the endpoint orientations of the wiring shape represented by the target object, including:
[0072] If the target drawing direction is the counterclockwise drawing direction, the vertically upward edge in the edge object corresponds to the east endpoint of the wiring shape represented by the target object, the vertically downward edge corresponds to the west endpoint of the wiring shape represented by the target object, the horizontally leftward edge corresponds to the north endpoint of the wiring shape represented by the target object, and the horizontally rightward edge corresponds to the south endpoint of the wiring shape represented by the target object;
[0073] If the target drawing direction is the clockwise drawing direction, the vertically downward edge in the edge object corresponds to the east endpoint of the wiring shape represented by the target object, the vertically upward edge corresponds to the west endpoint of the wiring shape represented by the target object, the horizontally rightward edge corresponds to the north endpoint of the wiring shape represented by the target object, and the horizontally leftward edge corresponds to the south endpoint of the wiring shape represented by the target object.
[0074] Furthermore, in some embodiments of the present application, a correspondence relationship is established between each edge in the edge object and the spatial orientations on both sides of it, including:
[0075] If the target drawing direction is the counterclockwise drawing direction, the side of the wiring shape outside the orthogonal direction corresponding to the starting point of each edge in the edge object is the right side, and the side of the wiring shape outside the orthogonal direction corresponding to the ending point of each edge is the left side;
[0076] If the target drawing direction is the clockwise drawing direction, the side of the wiring shape outside the orthogonal direction corresponding to the starting point of each edge in the edge object is the left side, and the orthogonal direction side corresponding to the ending point of each edge is the right side.
[0077] The target drawing direction is an important setting, which is divided into two cases: the counterclockwise drawing direction and the clockwise drawing direction. The edge object is composed of two coordinate points, the starting point and the ending point. Each edge has its specific direction, pointing from the starting point to the ending point. The "orthogonal direction" mentioned here simply means the direction perpendicular to the direction of the edge. For example, for a horizontal edge, its orthogonal direction is the vertical direction; for a vertical edge, its orthogonal direction is the horizontal direction.
[0078] When the set target drawing direction is the counterclockwise drawing direction, for any edge in the edge object, first clarify its starting point and ending point. For example, for an edge with its starting point coordinates at a certain point and ending point coordinates at another point, this edge has a definite direction (from the starting point to the ending point). Then, the side on the outer orthogonal direction of the wiring shape corresponding to the starting point of the edge is defined as the right side. For instance, if this edge is horizontal (from left to right), its orthogonal direction is vertical. At this time, the side on the outer side of the wiring shape in the vertical direction corresponding to the starting point is stipulated as the right side; if this edge is vertical (from bottom to top), its orthogonal direction is horizontal, and the side on the outer side of the wiring shape in the horizontal direction corresponding to the starting point is the right side.
[0079] Similarly, for the ending point of this edge, the side on the outer orthogonal direction of the wiring shape corresponding to it is defined as the left side. Still taking the horizontal edge (from left to right) as an example, the side on the outer side of the wiring shape in the vertical direction corresponding to the ending point is the left side; for the vertical edge (from bottom to top), the side on the outer side of the wiring shape in the horizontal direction corresponding to the ending point is the left side.
[0080] This definition method is actually to determine a unified orientation reference for each edge in its local environment, making the orientation relationships between different edges and between the edges and the entire graph clearer and more standardized, facilitating subsequent various analyses, judgments, and operations based on orientation.
[0081] When the target drawing direction becomes the clockwise drawing direction, similarly for each edge in the edge object, clarify its starting point, ending point, and the direction of the edge (from the starting point to the ending point).
[0082] At this time, the rule becomes that the side on the outer orthogonal direction of the wiring shape corresponding to the starting point of the edge is the left side. For example, for an edge in the horizontal direction (from right to left), its orthogonal direction is vertical, then the side on the outer side of the wiring shape in the vertical direction corresponding to the starting point is recognized as the left side; if the edge is vertical (from top to bottom), its orthogonal direction is horizontal, and the side on the outer side of the wiring shape in the horizontal direction corresponding to the starting point is the left side.
[0083] And the side on the outer orthogonal direction of the wiring shape corresponding to the ending point of the edge is the right side. Taking the horizontal edge (from right to left) as an example, the side on the outer side of the wiring shape in the vertical direction corresponding to the ending point is the right side; for the vertical edge (from top to bottom), the side on the outer side of the wiring shape in the horizontal direction corresponding to the ending point is the right side.
[0084] Through such settings, in the context of clockwise drawing, a set of clear orientation judgment rules can be established for edges and the entire graphic, so that in different drawing directions, edge and orientation-related issues can be handled according to a unified logic, ensuring that orientation information is accurate and easy to use in tasks such as integrated circuit wiring design and graphic space analysis.
[0085] In the current integrated circuit design process, especially in the design process based on FinFET technology, there is still a key technical problem that needs to be solved urgently: it is difficult to quickly and accurately determine the DRC (design rule check) combination constraints containing directional information.
[0086] Taking metal wires, a common wiring element, as an example, under the existing processing method, the starting point and the end point of the two endpoints are not clearly distinguished, which leads to serious inefficiency when facing DRC combination constraints. Due to the uncertainty of the endpoint direction, for the same combination constraint, both sides of the metal wire endpoint have to be checked and judged separately, which means that at least two repeated operations are required.
[0087] Considering that large-scale integrated circuit design often involves hundreds of millions of endpoints, the repeated judgment problem caused by unclear endpoint start and end points will cause the consumption of computing resources and storage costs to grow exponentially. Specifically, just to determine the endpoint start and end points, it is necessary to increase the computing workload and storage resource overhead by nearly double, which undoubtedly greatly slows down the advancement of the entire design process and causes a huge waste of hardware resources, seriously hindering the development of integrated circuit design based on FinFET technology towards higher efficiency and higher precision.
[0088] Taking this into consideration, in some embodiments of the present application, the following methods are proposed:
[0089] Select the target edge in the edge object. If the target drawing direction is counterclockwise, the area is expanded to the right at the starting point of the target edge and to the left at the end point of the target edge according to the combined constraints in the resolved design rules. The expanded area is used for prediction and inspection of the design rule check. If the target drawing direction is clockwise, the area is expanded to the left at the starting point of the target edge and to the right at the end point of the target edge according to the combined constraints in the resolved design rules. The expanded area is used for prediction and inspection of the design rule check.
[0090] Among them, the combined constraints refer to the constraints such as PRL, Parallel Edge, within, and end to end in the parsed design rules. PRL (Parallel Run Length) is the parallel trace length, which is mainly used to specify the layers to be preferentially considered during routing. These layers may have advantages in terms of electrical performance, manufacturability, etc. Parallel Edge is the parallel edge, which mainly involves the distance between mutually parallel routing elements (such as metal wires, etc.). within means within, which is usually used to describe that a routing element or a region should be inside another routing element. end to end is end-to-end, which mainly focuses on the distance between the directly opposite routing elements of two start points to end points, start points to start points, and end points to start points.
[0091] To accurately and efficiently carry out DRC prediction and inspection work, it is necessary to accurately locate the area related to the routing shape. As an important part of the routing shape, the target edge is selected from the edge object, and the position information of its start point and end point is determined, which plays a key role in subsequent delimiting of the relevant area. The subsequent area expansion (BloatBox) operation is carried out around the start point and end point of this selected target edge.
[0092] Next, according to some specific constraints in the parsed design rules, such as PRL (parallel trace length), Parallel Edge (parallel edge), within (within), end to end (end-to-end), etc., the area expansion (BloatBox) operation is performed.
[0093] By comprehensively applying these constraints to perform the area expansion (BloatBox) operation, the purpose is to accurately locate the areas related to the routing shape that need to be subjected to DRC prediction and inspection, so that every area that needs attention can be accurately framed, facilitating the subsequent detailed DRC-related work.
[0094] When drawing the routing shape in the counterclockwise direction, there is a clear corresponding relationship, that is, each start point only corresponds to the right side for expansion, and each end point only corresponds to the left side for expansion. When drawing the routing shape in the clockwise direction, that is, each start point only corresponds to the left side for expansion, and each end point only corresponds to the right side for expansion. Such a corresponding rule makes the area expansion (BloatBox) operation only frame the outer area. This means that the expanded area gradually expands outside the routing shape without involving the existing routing inside, etc., so that the area to be inspected and the existing routing layout can be clearly distinguished. Moreover, the embodiment of the present application only performs area expansion on specific routing edges instead of performing unnecessary expansion on the entire routing shape, achieving accurate positioning by edge.
[0095] The extended area is generally rectangular, and the boundary values of the rectangle are obtained from the values representing the distance constraints of the wiring shape, such as PRL, Within, and Space.
[0096] The technical solution in the embodiment of the present application solves the problem that it is impossible to quickly and accurately determine the combined constraints of the FinFET process DRC with direction information in the prior art by selecting the target edge and accurately expanding according to the starting point and ending point of the target edge, and greatly improves the judgment efficiency of the DRC combined constraints of the wiring shape with direction information.
[0097] In some embodiments of the present application, it is difficult to confirm the upper bound value according to the LEF file for the judgment of the combined constraints. Based on this, this embodiment further proposes that first, the lower bound value of the spacing rule in the combined constraints can be obtained from the parsed design rules. This lower bound value is a key parameter, which represents the minimum requirement for the spacing. For example, in the wiring design, in order to prevent signal interference or ensure the feasibility of the manufacturing process, the minimum spacing between two metal lines will be specified, and this minimum spacing is the lower bound value in the spacing rule. Parsing the design rules is to analyze and extract these complex rules expressed in text or other forms to obtain this specific minimum spacing value. Then, according to the value-taking logic of the lower bound value, the value-taking logic of the upper bound value of the spacing rule can be determined. The value-taking logic of the lower bound value may involve many factors, such as process accuracy, electrical performance requirements, etc. If the lower bound value is determined according to the minimum accuracy that can be achieved by the current manufacturing process (for example, the minimum line spacing that can be resolved by the lithography process), then the value-taking logic of the upper bound value may be related to the maximum allowable error or acceptable redundancy of the process. For example, although the minimum spacing is to ensure normal function, since a certain range of process fluctuations is allowed, the upper bound value may consider adding a certain process error range to this minimum spacing, so that the product quality can be guaranteed within this spacing range. Suppose the lower bound value is the minimum safety distance set to avoid electromagnetic interference between signals, and the value-taking logic of the upper bound value may need to consider factors such as signal transmission efficiency and wiring layout compactness. For example, from the perspective of signal transmission efficiency, too large a spacing may lead to too long a wiring length and increased signal delay, so the upper bound value cannot be infinitely large and should be determined according to specific signal transmission requirements and the optimization goal of the overall wiring layout to ensure that the spacing is within a reasonable range while meeting the electrical performance.
[0098] By clarifying the value-taking logic of the lower bound value of the spacing rule, solving the problem of the value-taking logic of the upper bound value of the spacing rule, a method for confirming the upper bound value based on the judgment logic of the lower bound value is given, which simply and effectively realizes the judgment of the upper bound value.
[0099] In some embodiments of the present application, the wiring shape plays an important role, and it is crucial to understand its specific position in physical space and its association with the coordinate system of the region where it is located. The orientation information mentioned here can help more accurately determine the orientation and position of the wiring shape. On this basis, through further operations, the connection between it and the line track grid coordinate points of the region where it is located can be clarified. The purpose is to better describe, manage, and subsequently utilize the information related to the wiring shape from the coordinate level, such as for layout optimization, rule checking, etc.
[0100] The wiring shape is usually composed of various lines, representing the circuit path and layout, etc. The special emphasis on having orientation information means that this wiring shape already has a clear direction definition. For example, its sides have corresponding directions, and the endpoints also have corresponding orientation references (such as the corresponding relationship between the sides and endpoints determined according to different drawing directions mentioned before). Based on such orientation information, the specific orientation, position of the wiring shape in the entire physical space, and its relative position relationship with other surrounding elements can be accurately known.
[0101] In the layout environment of integrated circuit design, line track grids are often divided. These grids are like the coordinate squares on a map, having their own coordinate points, through which each position can be accurately located. For a given wiring shape with orientation information, it is necessary to determine which line track grid coordinate points are covered within its physical coordinate range (that is, the actual spatial position range occupied by this wiring shape, defined by its various vertices, edges, etc.).
[0102] For example, assume there is a rectangular wiring shape, and the coordinates of its four vertices determine its position and size. By comparing it with the line track grid coordinate system of the region where it is located, it is possible to find out which grid coordinate points fall within the range covered by this rectangle, which may be some coordinate points inside the rectangle, as well as some coordinate points on the boundary, etc. It is equivalent to making an "overlay comparison" between the wiring shape and the line track grid coordinate system to filter out the relevant grid coordinate points.
[0103] After determining the line track grid coordinate points covered by the wiring shape, a mapping relationship between the two needs to be established. Simply put, this mapping relationship enables us to clearly know which specific grid coordinate points the wiring shape is associated with. For example, it can be recorded using a table or data structure, indicating which specific set of grid coordinate points a certain wiring shape corresponds to.
[0104] Through such a mapping relationship, when performing various subsequent operations, such as checking whether a wiring shape conforms to specific layout rules (rules related to grid coordinates), or determining the relative positional relationship between the wiring shape and surrounding elements when moving or adjusting the wiring shape (quickly comparing through grid coordinates), etc., it is possible to more conveniently and efficiently obtain the required information based on this mapping relationship, enabling the entire integrated circuit wiring design work to be carried out more orderly and accurately.
[0105] Those skilled in the art can understand that in the above method of the specific embodiment, the writing order of each step does not mean a strict execution order that constitutes any limitation to the implementation process. The specific execution order of each step should be determined according to its function and possible internal logic.
[0106] In a second aspect, the present application also proposes a wiring shape construction and orientation determination device, as Figure 4 shown, the wiring shape construction and orientation determination device includes: an acquisition unit 401, a creation unit 402, and an association unit 403.
[0107] Among them, the acquisition unit 401 is configured to acquire the design rules required for integrated circuit wiring and parse the design rules to obtain the parsed design rules; the creation unit 402 is configured to create a target object containing the vertex coordinates corresponding to the shape of the target element according to the shape of the target element in the wiring path and the parsed design rules, and construct an edge object corresponding to the target object based on the vertex coordinates in the target object; the association unit 403 is configured to establish a correspondence between the edges in different directions in the edge object and the endpoint orientations of the wiring shape represented by the target object, and establish a correspondence between each edge in the edge object and the spatial orientations on both sides of it according to the attributes of each edge in the edge object and the target drawing direction, so that the wiring shape represented by the target object has orientation information.
[0108] In some embodiments of the present application, the creation unit 402 is further configured to, if the shape of the target element is a single shape, determine the adjacent vertex coordinates based on the vertex coordinates in the target object, and construct the edge object according to the connection line from one vertex coordinate to another among the adjacent vertex coordinates; if the shape of the target element is a composite shape, and the composite shape is a shape composed of multiple shape elements, then based on the vertex coordinates in the target object, when the connection line between adjacent vertex coordinates coincides with the connection line formed by the edge of the shape element, take the larger of the two to construct the edge object.
[0109] In some embodiments of the present application, the association unit 403 is further configured such that if the target drawing direction is the counterclockwise drawing direction, the vertically upward side of the edge object corresponds to the east endpoint of the wiring shape represented by the target object, the vertically downward side corresponds to the west endpoint of the wiring shape represented by the target object, the horizontally leftward side corresponds to the north endpoint of the wiring shape represented by the target object, and the horizontally rightward side corresponds to the south endpoint of the wiring shape represented by the target object; if the target drawing direction is the clockwise drawing direction, the vertically downward side of the edge object corresponds to the east endpoint of the wiring shape represented by the target object, the vertically upward side corresponds to the west endpoint of the wiring shape represented by the target object, the horizontally rightward side corresponds to the north endpoint of the wiring shape represented by the target object, and the horizontally leftward side corresponds to the south endpoint of the wiring shape represented by the target object.
[0110] In some embodiments of the present application, the association unit 403 is further configured such that if the target drawing direction is the counterclockwise drawing direction, the side on the right side of the orthogonal direction outside the wiring shape corresponding to the starting point of each edge in the edge object, and the side on the left side of the orthogonal direction corresponding to the ending point of each edge; if the target drawing direction is the clockwise drawing direction, the side on the left side of the orthogonal direction outside the wiring shape corresponding to the starting point of each edge in the edge object, and the side on the right side of the orthogonal direction corresponding to the ending point of each edge.
[0111] In some embodiments of the present application, the device further includes selecting a target edge in the edge object. If the target drawing direction is the counterclockwise drawing direction, according to the combination constraints in the parsed design rules, region expansion is performed to the right at the starting point of the target edge and to the left at the ending point of the target edge, and the expanded region is used for prediction and inspection of design rule checking; if the target drawing direction is the clockwise drawing direction, according to the combination constraints in the parsed design rules, region expansion is performed to the left at the starting point of the target edge and to the right at the ending point of the target edge, and the expanded region is used for prediction and inspection of the design rule checking.
[0112] In some embodiments of the present application, the device further includes obtaining the lower bound value of the pitch rule in the combination constraints from the parsed design rules, and determining the value-taking logic of the upper bound value of the pitch rule according to the value-taking logic of the lower bound value.
[0113] In some embodiments of the present application, the device further includes determining the wire track grid coordinate points covered within the physical coordinate range of the wiring shape with the orientation information, and establishing a mapping relationship between the wiring shape and the grid coordinate points.
[0114] AsFigure 5 As shown in the figure, an embodiment of the present application further provides an electronic device 500, including a memory 510, a processor 520, and a computer program 511 stored on the memory 510 and executable on the processor. When the processor 520 executes the computer program 511, the steps of any of the above methods for wiring shape construction and orientation determination are implemented.
[0115] Since the electronic device introduced in this embodiment is the device adopted for implementing a wiring shape construction and orientation determination device in an embodiment of the present application, based on the method introduced in the embodiment of the present application, those skilled in the art can understand the specific implementation manners and various variations of the electronic device in this embodiment. Therefore, the specific implementation of how this electronic device implements the method in the embodiment of the present application will not be described in detail here. As long as the device adopted by those skilled in the art to implement the method in the embodiment of the present application belongs to the scope protected by the present application.
[0116] In the specific implementation process, when the computer program 511 is executed by the processor 520, any implementation manner in the corresponding embodiment can be realized.
[0117] It should be noted that in the above embodiments, the descriptions of each embodiment have their own focuses. For the parts not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0118] Those skilled in the art should understand that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to memory, disk, CD-ROM, optical memory, etc.) containing computer-usable program code.
[0119] The present application is described with reference to the flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, and the combination of flows and / or blocks in the flowcharts and / or block diagrams can be realized by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded computer, or other programmable data processing devices to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing devices generate a device for realizing the specified functions in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.
[0120] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, such that the instructions stored in the computer-readable memory produce a manufacture including an instruction device that implements the functions specified in one or more processes and / or blocks Figure 1 in one or more processes and / or blocks Figure 1 specified in the flow(s) or block(s).
[0121] These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operational steps are performed on the computer or other programmable device to produce a computer-implemented process, thereby providing steps for implementing the functions specified in one or more processes and / or blocks Figure 1 in one or more processes and / or blocks Figure 1 specified in the flow(s) or block(s).
[0122] The embodiments of the present application also provide a computer program product, which includes computer software instructions. When the computer software instructions run on a processing device, the processing device is caused to execute the process of wiring shape construction and orientation determination in the corresponding embodiment.
[0123] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions according to the embodiments of the present application are fully or partially generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from a website, computer, server, or data center to another website, computer, server, or data center by wire (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wirelessly (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that a computer can store, or a data storage device such as a server or data center that includes one or more integrated available media. The available medium can be a magnetic medium (such as a floppy disk, hard disk, magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (SSD)), etc.
[0124] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, devices, and units described above can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated herein.
[0125] In several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections between each other can be through some interfaces, and the indirect couplings or communication connections of devices or units can be in electrical, mechanical, or other forms.
[0126] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they can be located in one place, or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0127] In addition, in each embodiment of the present application, the functional units can be integrated into a processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
[0128] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or all or part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods in each embodiment of the present application. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical discs that can store program codes.
[0129] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements for some of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of each embodiment of the present application.
Claims
1. A wiring shape construction and orientation determination method, characterized in that: include: Obtaining design rules required for integrated circuit wiring, and parsing the design rules to obtain parsed design rules; According to the shape of the target element in the routing path and the parsed design rule, a target object including vertex coordinates corresponding to the shape of the target element is created, and based on the vertex coordinates in the target object, an edge object corresponding to the target object is constructed; According to the attributes of each edge in the edge object and the target drawing direction, a correspondence relationship between the edges in different directions in the edge object and the endpoint orientations of the wiring shape represented by the target object is established, and a correspondence relationship between each edge in the edge object and the spatial orientations of both sides thereof is established, so that the wiring shape represented by the target object has orientation information; The establishing, according to the attribute of each edge in the edge object and the target drawing direction, a correspondence between the edges in different directions in the edge object and the endpoint orientations of the wiring shape represented by the target object comprises: If the target drawing direction is a counterclockwise drawing direction, the vertically upward edge in the edge object corresponds to the east end point of the wiring shape represented by the target object, the vertically downward edge corresponds to the west end point of the wiring shape represented by the target object, the horizontally left edge corresponds to the north end point of the wiring shape represented by the target object, and the horizontally right edge corresponds to the south end point of the wiring shape represented by the target object; If the target drawing direction is a clockwise drawing direction, the vertically downward edge in the edge object corresponds to the east endpoint of the wiring shape represented by the target object, the vertically upward edge corresponds to the west endpoint of the wiring shape represented by the target object, the horizontally rightward edge corresponds to the north endpoint of the wiring shape represented by the target object, and the horizontally leftward edge corresponds to the south endpoint of the wiring shape represented by the target object.
2. The method according to claim 1, characterized in that Constructing an edge object corresponding to the target object based on the vertex coordinates in the target object, including: If the shape of the target element is a single shape, based on the vertex coordinates in the target object, adjacent vertex coordinates are determined, and the edge object is constructed according to a line connecting one vertex coordinate to another vertex coordinate in the adjacent vertex coordinates; If the shape of the target element is a composite shape, which is a shape composed of multiple shape elements, then based on the vertex coordinates in the target object, when the line between adjacent vertex coordinates overlaps with the line formed by the edge of the shape element, the larger line is taken to construct the edge object.
3. The method according to claim 1, characterized in that: Establishing a corresponding relationship between each edge in the edge object and the spatial orientations of both sides thereof, including: If the target drawing direction is a counterclockwise drawing direction, the side of the outer orthogonal direction of the wiring shape corresponding to the starting point of each edge in the edge object is the right side, and the side of the outer orthogonal direction of the wiring shape corresponding to the end point of each edge is the left side; If the target drawing direction is a clockwise drawing direction, the side of the outer orthogonal direction of the wiring shape corresponding to the starting point of each edge in the edge object is the left side, and the side of the outer orthogonal direction of the wiring shape corresponding to the end point of each edge is the right side.
4. The method according to claim 3, characterized in that The method further comprises: A target edge is selected in the edge object, and if the target drawing direction is the counterclockwise drawing direction, a region is expanded to the right at the starting point of the target edge and a region is expanded to the left at the end point of the target edge according to the combined constraints in the parsed design rule, and the expanded region is used for prediction and inspection of the design rule check; If the target drawing direction is the clockwise drawing direction, then according to the combined constraints in the parsed design rules, the area is expanded to the left at the starting point of the target edge, and the area is expanded to the right at the end point of the target edge, and the expanded area is used for prediction and inspection of the design rule check.
5. The method according to claim 4, characterized in that The method further comprises: The lower limit value of the spacing rule in the combined constraint is obtained from the parsed design rule, and the value logic of the upper limit value of the spacing rule is determined according to the value logic of the lower limit value.
6. The method according to claim 1, characterized in that The method further comprises: For the wiring shape having the orientation information, the linear track grid coordinate points covered within the physical coordinate range are determined, and a mapping relationship between the wiring shape and the grid coordinate points is established.
7. A wiring shape construction and orientation determination device, characterized in that: include: An acquisition unit configured to acquire design rules required for integrated circuit wiring, and parse the design rules to obtain the parsed design rules; A creation unit configured to create a target object including vertex coordinates corresponding to the shape of the target element according to the shape of the target element in the routing path and the parsed design rule, and to construct an edge object corresponding to the target object based on the vertex coordinates in the target object; an associating unit configured to establish, according to the attributes of each edge in the edge object and the target drawing direction, a correspondence between the edges in different directions in the edge object and the endpoint orientations of the wiring shape represented by the target object, and to establish a correspondence between each edge in the edge object and the spatial orientations of both sides thereof, so that the wiring shape represented by the target object has orientation information: The establishing, according to the attribute of each edge in the edge object and the target drawing direction, a correspondence between the edges in different directions in the edge object and the endpoint orientations of the wiring shape represented by the target object comprises: If the target drawing direction is a counterclockwise drawing direction, the vertically upward edge in the edge object corresponds to the east end point of the wiring shape represented by the target object, the vertically downward edge corresponds to the west end point of the wiring shape represented by the target object, the horizontally left edge corresponds to the north end point of the wiring shape represented by the target object, and the horizontally right edge corresponds to the south end point of the wiring shape represented by the target object; If the target drawing direction is a clockwise drawing direction, the vertically downward edge in the edge object corresponds to the east endpoint of the wiring shape represented by the target object, the vertically upward edge corresponds to the west endpoint of the wiring shape represented by the target object, the horizontally rightward edge corresponds to the north endpoint of the wiring shape represented by the target object, and the horizontally leftward edge corresponds to the south endpoint of the wiring shape represented by the target object.
8. An electronic device comprising: A memory and a processor, wherein the processor is used to implement the steps of the wiring shape construction and orientation determination method as described in any one of claims 1 to 6 when executing the computer program stored in the memory.
9. 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 wiring shape construction and orientation determination method according to any one of claims 1 to 6 are implemented.
Citation Information
Patent Citations
Integrated circuit layout automatic wiring method and system based on path optimization
CN116029254A
Wiring method and device, terminal equipment and computer readable storage medium
CN117077613A