Wiring shape construction and orientation determination method and related equipment
By analyzing integrated circuit design rules and constructing and assigning wiring shape and orientation information, the problem of difficulty in utilizing wiring path information in the existing technology is solved, efficient wiring optimization and design rule checking is achieved, and chip performance and function expansion capabilities are improved.
Patent Information
- Application Number
- CN202510122238.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-26
- Publication Date
- 2025-03-07
- 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 difficulties in wiring optimization, rule checking, and interaction with other design modules, and the scalability of the tool is limited.
By obtaining the design rules required for integrated circuit wiring and analyzing them, a target object containing the vertex coordinates of the target element shape is created, an edge object is constructed, and the corresponding relationship between the edge object and the endpoint orientation of the wiring shape is established based on the properties and target drawing direction of the edge object, as well as the corresponding relationship between the edge and the spatial orientation of the two sides, and the wiring shape is assigned to the wiring shape and position information.
It enables the direction of the wiring shape to be identified without additional storage and computing complexity, improves the scalability of the wiring shape, accurately analyzes timing paths, masters key elements of signal transmission, optimizes chip design, improves performance and meets functional expansion needs.
Smart Images

Figure CN119578351A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and more specifically, to a wiring shape construction and orientation determination method and related equipment. Background Art
[0002] In modern integrated circuit design, wiring is a crucial link, which directly affects key indicators such as chip performance, power consumption and area. With the continuous development of integrated circuit technology, the integration of chips is increasing, and the complexity of wiring is also growing exponentially.
[0003] With the development of technology, the integration level has increased and the complexity of wiring has increased dramatically. The current wiring design only focuses on the physical shape and connection of the wiring elements, without determining the starting and ending points of the metal wire endpoints. The non-directional nature of this wiring makes the wiring information lack directional characteristics, 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 directional information, it is difficult for the tool to accurately analyze the key path characteristics such as the direction and sequence of the wiring, thereby failing to achieve refined management and efficient processing of the wiring. This lack of directional information also limits the scalability of the tool.
[0004] Faced with new demands and challenges, such as considering differences in signal delay direction, power / ground current flow direction, etc., existing tools are difficult to expand and improve, which increases costs and time and restricts technological development. Therefore, there is an urgent need for methods and systems to efficiently define wiring direction information to meet 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 described in detail in the Detailed Description of the Invention 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 scope of protection of the claimed technical solution.
[0006] In a first aspect, the present application proposes a wiring shape construction and orientation determination method, comprising: 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 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 is established between each edge in the edge object and the spatial orientations on both sides thereof, so that the wiring shape represented by the target object has orientation information.
[0007] In a feasible implementation, an edge object corresponding to the target object is constructed based on the vertex coordinates in the target object, including: if the shape of the target element is a single shape, then 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 a line connecting adjacent vertex coordinates overlaps with a line formed by an edge of the shape element, the larger line is taken to construct the edge object.
[0008] In a feasible implementation manner, 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, including: if the target drawing direction is a 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 left edge corresponds to the north endpoint of the wiring shape represented by the target object, and the horizontally right edge corresponds to the south endpoint 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 right edge corresponds to the north endpoint of the wiring shape represented by the target object, and the horizontally left edge corresponds to the south endpoint of the wiring shape represented by the target object.
[0009] In a feasible implementation, a corresponding relationship between each edge in the edge object and the spatial orientation on both sides thereof is established, 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.
[0010] In a feasible implementation, the method further includes: selecting a target edge in the edge object, and if the target drawing direction is the counterclockwise drawing direction, then according to the combined constraints in the parsed design rules, expanding the area to the right at the starting point of the target edge, and expanding the area to the left at the end point of the target edge, and the expanded area 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, expanding the area to the left at the starting point of the target edge, and expanding the area 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.
[0011] In a feasible implementation, the method further includes: obtaining a lower limit value of the spacing rule in the combined constraint from the parsed design rule, and determining a value logic of an upper limit value of the spacing rule according to a value logic of the lower limit value.
[0012] In a feasible implementation, the method further includes: determining, for the wiring shape having the orientation information, the linear track grid coordinate points covered within the physical coordinate range thereof, and establishing a mapping relationship between the wiring shape and the grid coordinate points.
[0013] In a second aspect, the present application proposes a wiring shape construction and orientation determination device, comprising: 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 association unit 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 according to the attributes of each edge in the edge object and the target drawing direction, and to establish a correspondence between each edge in the edge object and the spatial orientations on both sides thereof, so that the wiring shape represented by the target object has orientation information.
[0014] In a third aspect, an electronic device comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor is configured to implement the steps of the wiring shape construction and orientation determination method of any one of the first aspects described above when executing the computer program stored in the memory.
[0015] 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.
[0016] 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
[0017] 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: Figure 1 A schematic flow chart of a wiring shape construction and orientation determination method provided in an embodiment of the present application.
[0018] Figure 2 A schematic diagram of a single-shape structure provided in an embodiment of the present application.
[0019] Figure 3 A schematic diagram of a composite structure provided in an embodiment of the present application.
[0020] 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.
[0021] 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
[0022] The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices. The technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments.
[0023] Figure 1 FIG. 1 is a flow chart showing a method for constructing a wiring shape and determining an orientation according to an embodiment of the present application. Figure 1 As shown, the wiring shape construction and orientation determination method includes: Step S110, obtaining design rules required for integrated circuit wiring, and parsing the design rules to obtain parsed design rules; Step S120: creating 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 constructing an edge object corresponding to the target object based on the vertex coordinates in the target object; Step S130, based on the attributes of each edge in the edge object and the target drawing direction, 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, so that the wiring shape represented by the target object has orientation information.
[0024] These steps are described in detail below.
[0025] In step S110, design rules required for integrated circuit wiring are acquired, and the design rules are parsed to obtain parsed design rules.
[0026] The wiring of integrated circuits is to determine the way in which various circuit elements, such as transistors, capacitors, resistors, etc., are connected with metal wires during the chip design process to achieve specific circuit functions. Design rules are guidelines that must be followed during the chip manufacturing process. They specify the physical size limits and electrical performance requirements of wiring and other layout elements. For example, the accuracy of photolithography technology determines the minimum line width and spacing, and the electrical performance requirements limit the range of resistance and capacitance. These rules are formulated based on the capabilities and characteristics of the chip manufacturing process.
[0027] The design rules required for integrated circuit wiring are generally extracted from the process files provided by chip manufacturers. To parse the design rules, a specific algorithm is usually written. First, the rules are divided into different categories, such as line width rules, spacing rules, electrical performance rules, etc. Then, the logical relationship between the various rules is deeply analyzed, and the complex rule descriptions are converted into a format that the computer can understand and process, and finally the parsed design rules are obtained, so that in the subsequent wiring design automation process, the wiring can be accurately planned, optimized and checked according to these rules, ensuring that the designed integrated circuit layout can meet both the functional requirements and the limitations of the manufacturing process, thereby achieving successful chip manufacturing and good performance.
[0028] In some embodiments of the present application, step S110 may be specifically as follows: first, obtaining the design rules required for integrated circuit wiring from the library exchange format file and the rule set file; then, using the parsing unit to parse each design rule into a vector consisting of key-value relationship pairs to obtain the parsed design rules.
[0029] Among them, the Library Exchange Format (LEF) 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 (such as various logic gates, etc.), macro cells (relatively complex functional modules) and their related physical properties. These physical properties include the location of the pin, the information of the metal layer, 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 restrictions when wiring between different cells, the range of each layer of metal that can be used for wiring, and some specific requirements for wiring at the pin. Through this type of file, you can clearly understand the relevant rules followed at different physical element levels when performing specific wiring operations, ensuring that the wiring can be adapted to the existing physical structures such as cells and modules.
[0030] Rule Deck is a collection of files used to define design rules in the integrated circuit design process. It is a text file containing many rules, which are the guidelines that must be followed in chip design 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 in the wiring process, it plays a key role in the successful manufacture of chips and the performance of chips.
[0031] Obtaining the design rules required for integrated circuit wiring from these two types of files is a basic step in the entire wiring design process. Only by accurately extracting and mastering these rules can we reasonably plan the direction of metal wires, determine the placement of vias, and ensure that the connections between various parts meet the physical and electrical performance requirements in the subsequent wiring work. Without accurate rules obtained from these files, the wiring work may fall into a blind state, resulting in many problems in the designed circuits, such as short circuits, signal transmission errors, or failure to meet chip manufacturing process requirements, which in turn affects the quality of the entire integrated circuit and the final performance.
[0032] After reading each rule text, it is processed with the help of professional parsing units, which will call the lexical analyzer and the grammatical analyzer. The lexical analyzer is mainly responsible for splitting the rule text into basic language units such as words and symbols, such as identifying identifiers such as "LEF58_SPACING" and numerical values such as "10". On this basis, the grammatical analyzer analyzes the structural relationship between these basic units according to the grammatical rules of the language, and then determines how they constitute a complete rule expression. Through the collaborative work of these two analyzers, each corresponding rule R will be deeply analyzed and parsed into a Constraint vector composed of key-value pairs. For example, a rule about spacing may be presented as a key-value pair such as ("LEF58_SPACING", "10") after parsing. Multiple such key-value pairs are combined to form a Constraint vector, which clearly shows the correspondence between the elements in the rule.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] In addition, when there are multiple second design rules in the acquired design rules, these rules have the same rule name, but their respective rule contents and constraints are different. Similarly, the parsing unit is used to independently parse each second design rule and convert them into vectors consisting of key-value relationship pairs. For example, for multiple second design rules about the sizes of vias between different layers, some rules are "the diameter of the via between the signal layer is 5 microns", and some are "the diameter of the via between the power layer and the ground layer is 8 microns and the depth is 10 microns", etc. After parsing, multiple corresponding key-value relationship pair vectors will be obtained, and then multiple parsed second design rules will be obtained, so that in the actual design process, the corresponding rule requirements can be accurately followed according to different scenarios to ensure the accuracy and reliability of the integrated circuit design.
[0037] In some embodiments of the present application, the design rules are closely related to different mask layers. When conflicts are found in the design rules corresponding to different mask layers after a specific determination process, a series of measures need to be taken to resolve these issues to ensure the accuracy and consistency of the design.
[0038] First, in order to clearly distinguish and identify conflicting mask layers, different mask layers will be colored and marked separately. This visual approach helps designers quickly locate and understand which mask layers have inconsistent rules. At the same time, conflicting design rules between different areas in the same mask layer will be merged. For example, in a mask layer, one area stipulates that the minimum spacing of metal lines is 8 nanometers, while another area stipulates 10 nanometers. At this time, it is necessary to comprehensively consider various factors, such as circuit performance, feasibility of manufacturing process, etc., to merge these conflicting rules into a reasonable value, such as 9 nanometers, so as to obtain the merged design rules.
[0039] Next, a dedicated parsing unit is used to process the merged design rules. This tool converts complex rule texts into a form that is easier for computers to understand and process, namely a vector consisting of key-value pairs. For example, for the rule of minimum metal line spacing mentioned above, after parsing, a key-value pair such as ("minimum metal line spacing", "9 nanometers") will be formed. All merged rules are parsed in this way to finally obtain the parsed design rules. These parsed rules can be efficiently used by subsequent design automation tools. When performing wiring, layout, and other physical design operations, unified and non-conflicting design rules can be strictly followed to ensure that the integrated circuit can smoothly transition from the design stage to the manufacturing stage and meet the expected performance and functional requirements.
[0040] In step S120, according to the shape of the target element in the routing path and the parsed design rules, 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.
[0041] In the field of integrated circuit wiring design, there are many key target elements in the wiring path, such as metal lines, vias, power sources / grounds, virtual vias for segmentation, and patch metal lines, etc., and their shapes are different.
[0042] First, a target object including vertex coordinates corresponding to the shape of the target element may be created according to the shape of the target element in the wiring path and the parsed design rules.
[0043] For a target element whose shape is 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 specify the minimum width and length range of a 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.
[0044] If the shape of the target element is a trapezoid, its position in the plane is also determined based on the analyzed 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.
[0045] For the target element whose shape is a triangle, determine its position and size according to the parsed design rules. Find the coordinates of the three vertices and store them in the target object. Since a triangle has only three vertices, the coordinate position of the last vertex can be set to empty or indicated by a special mark.
[0046] For target elements with irregular polygon shapes, determine the approximate range of the polygon in the plane based on the analyzed design rules. These rules may involve the distance between the polygon and other elements, the area range of the polygon itself, etc. According to these rules, find the coordinates of each vertex and store them in the target object.
[0047] With these target objects that carry shape information, the next step is to construct edge objects. Based on the vertex coordinates recorded in the target objects that describe the shape, according to the corresponding rules and methods, edge objects are constructed in an orderly manner, and then the boundaries and connections of the wiring elements are clearly depicted, laying the foundation for subsequent work such as wiring rule checking and wiring optimization.
[0048] In step S130, based on the attributes of each edge in the edge object and the target drawing direction, a correspondence 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 is established between each edge in the edge object and the spatial orientations on both sides thereof, so that the wiring shape represented by the target object has orientation information.
[0049] First, the edge object is composed of two coordinate points, the start point and the end point, and has its own direction, that is, pointing from the start point to the end point. Different edges also have multiple attributes, such as the direction of the edge, which 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 the subsequent establishment of orientation relationships.
[0050] Based on the above factors, on the one hand, we need to establish the correspondence between the edges of different directions in the edge object and the endpoint orientation of the wiring shape represented by the target object. This allows each edge to be closely associated with the endpoint orientation of the wiring shape, allowing the endpoint orientation to be more accurately defined, no longer just a simple coordinate point, but incorporating the direction information of the edge.
[0051] On the other hand, it is also necessary to establish the correspondence between each edge in the edge object and the spatial orientation on both sides. Taking a horizontal edge as an example, the spatial orientation above and below the edge can be determined based on its vertical orthogonal direction, and this determination is not isolated, but is combined with the entire wiring shape and the layout of other edges. For example, when performing design rule checking (DRC), to determine whether the space on both sides of an edge meets the spacing requirements with adjacent wiring or components, it is necessary to accurately know the correspondence between the edge and the spatial orientation on both sides. Through such a dual construction, the wiring shape represented by the target object is endowed with 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 this orientation information to ensure the high-quality completion of integrated circuit wiring design.
[0052] 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.
[0053] 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: 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.
[0054] 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.
[0055] 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).
[0056] 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 the edge object, the starting point of the first edge is A and the end point is B. This edge determines the direction from point A to point B, thereby outlining one side of the rectangle. The second edge starts at B and ends at C. By connecting adjacent vertices in this way, the second edge can be constructed, which reflects the change in direction from B to C and continues to improve 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 the three edges are constructed based on the coordinates of its three vertices.
[0057] A composite shape is a shape composed of 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, or a complex polygon composed of rectangles and triangles. Figure 3 An example of a composite shape is shown, which is composed of multiple rectangles spliced together. The composite shape has 18 vertex coordinates, namely a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, and r.
[0058] In the case of a composite shape, when constructing an edge object, we first determine whether the lines between adjacent vertex coordinates overlap with the lines formed by the edges of the shape elements. Since a composite shape is composed of multiple shape elements, each shape element has its own edges, and these edges can also form corresponding 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. They are connected to the edges of other shape elements to form lines. When these two lines overlap, we should take the larger one to construct the edge object. "Larger lines" usually refer to lines with longer lengths. The reason for this is that we construct edge objects to accurately depict the outermost boundary of the entire composite shape, that is, to define the contour range of the composite shape as a whole. If you choose a shorter overlapping line, you may not be able to fully outline the actual outer boundary of the composite shape, which will make the constructed edge object smaller or unable to accurately reflect the actual size and shape of the composite shape. By selecting longer overlapping lines, we can ensure that the constructed edge objects are accurately outlined along the maximum boundary of the composite shape, thereby fully and accurately presenting the outline of the composite shape, and providing precise edge object information for subsequent wiring analysis, rule checking and other related operations based on this composite shape.
[0059] 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. The two rectangles are shape elements, and their edges also form an overlapping line segment in this area, but one of them is slightly longer than the other. According to the rule, the longer line segment should be selected to construct the edge object.
[0060] Further, 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 between edges in different directions in the edge object and the endpoint orientations of the wiring shape represented by the target object is established, including: If the target drawing direction is counterclockwise, 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 left edge corresponds to the north endpoint of the wiring shape represented by the target object, and the horizontally right edge corresponds to the south endpoint of the wiring shape represented by the target object; If the target drawing direction is clockwise, 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.
[0061] Furthermore, in some embodiments of the present application, establishing a correspondence between each edge in an edge object and the spatial orientations of its two sides includes: If the target drawing direction is counterclockwise, the side of the wiring shape orthogonal to the outside of the starting point of each edge in the edge object is the right side, and the side of the wiring shape orthogonal to the outside of the end point of each edge is the left side. If the target drawing direction is clockwise, 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 orthogonal direction corresponding to the end point of each edge is the right side.
[0062] The target drawing direction is an important setting, which is divided into two situations: counterclockwise drawing direction and clockwise drawing direction. The edge object is composed of two coordinate points, the starting point and the end point. Each edge has a specific direction, from the starting point to the end point. The "orthogonal direction" mentioned here is simply 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.
[0063] When the target drawing direction is set to counterclockwise, for any edge in the edge object, first clarify its starting point and end point. For example, if there is an edge whose starting point coordinate is a certain point and whose end point coordinate is another point, this edge has a certain direction (from the starting point to the end point). Then the side of the orthogonal direction outside the wiring shape corresponding to the starting point of the edge is defined as the right side. For example, if this edge is horizontal (from left to right), then its orthogonal direction is the vertical direction. At this time, the side of the vertical direction corresponding to the starting point on the outside of the wiring shape is defined as the right side; if this edge is vertical (from bottom to top), its orthogonal direction is the horizontal direction, and the side of the horizontal direction corresponding to the starting point on the outside of the wiring shape is the right side.
[0064] Similarly, for the end point of this edge, the side of the wiring shape that corresponds to it in the orthogonal direction is defined as the left side. Taking the horizontal edge (from left to right) as an example, the side of the wiring shape that corresponds to the end point in the vertical direction is the left side; for the vertical edge (from bottom to top), the side of the wiring shape that corresponds to the end point in the horizontal direction is the left side.
[0065] This definition method is actually to determine a unified orientation reference for each edge in its local environment, making the orientation relationship between different edges and between the edges and the entire graphic clearer and more standardized, and facilitating subsequent analysis, judgment, and operations based on orientation.
[0066] When the target drawing direction is changed to the clockwise drawing direction, the start point and end point of each edge in the edge object and the direction of the edge (from the start point to the end point) are also specified.
[0067] At this time, the rule becomes that the side of the wiring shape outside the starting point of the edge in the orthogonal direction is the left side. For example, if the edge is horizontal (from right to left), its orthogonal direction is the vertical direction, then the side of the wiring shape outside the vertical direction corresponding to the starting point is considered to be the left side; if the edge is vertical (from top to bottom), its orthogonal direction is the horizontal direction, and the side of the wiring shape outside the horizontal direction corresponding to the starting point is the left side.
[0068] The end point of the edge corresponds to the side of the wiring shape in the orthogonal direction on the outside of the wiring shape. For a horizontal edge (from right to left) as an example, the end point corresponds to the side on the outside of the wiring shape in the vertical direction on the right side; for a vertical edge (from top to bottom), the end point corresponds to the side on the outside of the wiring shape in the horizontal direction on the right side.
[0069] 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.
[0070] 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.
[0071] 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.
[0072] 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.
[0073] Taking this into consideration, in some embodiments of the present application, the following methods are proposed: 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.
[0074] Among them, the combination constraint refers to the PRL, Parallel Edge, within, end to end and other constraints in the parsed design rules. PRL (Parallel Run Length) is the length of the parallel run, which is mainly used to specify the layers that are given priority during routing. These layers may have advantages in terms of electrical performance, manufacturing process feasibility, etc. Parallel Edge is a parallel edge, which mainly involves the distance between parallel routing elements (such as metal wires, etc.). Within is within... It is usually used to describe that a routing element or an area should be inside another routing element. End to end is end to end, which mainly focuses on the distance between two routing elements facing each other, starting point to end point, starting point to starting point, and end point to starting point.
[0075] In order to accurately and efficiently carry out DRC prediction and inspection work, it is necessary to accurately locate the area related to the wiring shape. As an important component of the wiring shape, the edge selects the target edge from the edge object and determines the position information of its starting point and end point. This plays a key role in the subsequent definition of related areas. Subsequent area expansion (BloatBox) operations are carried out around the starting point and end point of the selected target edge.
[0076] Next, the area expansion (BloatBox) operation will be performed based on some specific constraints in the parsed design rules, such as PRL (Parallel Routing Length), Parallel Edge, within (within), end to end, etc.
[0077] The purpose of performing the BloatBox operation through the comprehensive application of these constraints is to accurately locate those areas related to the wiring shape that require DRC prediction and inspection, so that every area that requires attention can be accurately framed, making it easier to carry out subsequent DRC-related work in detail.
[0078] When drawing the wiring shape in the counterclockwise direction, there is a clear correspondence, that is, each starting point is only expanded in the right direction, and the end point is only expanded in the left direction. When drawing the wiring shape in the clockwise direction, that is, each starting point is only expanded in the left direction, and the end point is only expanded in the right direction. Such a correspondence rule makes the area expansion (BloatBox) operation only frame the outer area. This means that the expansion area is gradually expanded outside the wiring shape without involving existing wiring inside, etc., so that the area that needs to be checked and the existing wiring layout can be clearly distinguished. In addition, the embodiment of the present application only performs regional expansion on specific wiring edges, rather than unnecessary expansion of the entire wiring shape, to achieve precise positioning by edge.
[0079] The area obtained after expansion is generally a rectangle, and the boundary value of the rectangle comes from the values of PRL, Within, Space, etc. that represent the distance constraints of the wiring shape.
[0080] The technical solution in the embodiment of the present application solves the problem in the prior art that it is impossible to quickly and accurately determine the FinFET process DRC combination constraint conditions containing directional information by selecting the target edge and accurately expanding it according to the starting point and end point of the target edge, thereby greatly improving the judgment efficiency of the wiring shape DRC combination constraint with directional information.
[0081] In some embodiments of the present application, it is difficult to determine the upper limit value of the combined constraint according to the LEF file. Based on this, the present embodiment further proposes that, first, the lower limit value of the spacing rule in the combined constraint can be obtained from the parsed design rules. This lower limit value is a key parameter, which represents the minimum spacing requirement. For example, in 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 limit 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, the logic of the upper limit value of the spacing rule can be determined according to the logic of the lower limit value. The logic of the lower limit value may involve many factors, such as process accuracy, electrical performance requirements, etc. If the lower limit value is determined based on the minimum accuracy that can be achieved by the current manufacturing process (for example, the minimum line spacing that can be distinguished by the photolithography process), then the logic of the upper limit 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 fluctuations in the process within a certain range are allowed, the upper limit value may consider adding a certain process error range to this minimum spacing, so that product quality can be guaranteed within this spacing range. Assuming that the lower limit value is the minimum safety distance set to avoid electromagnetic interference between signals, the logic of the upper limit 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 cause wiring to be too long and increase signal delay, so the upper limit value cannot be infinitely large. It must be determined based on the specific signal transmission requirements and the optimization goals of the overall wiring layout to ensure that the spacing is within a reasonable range while meeting electrical performance.
[0082] By clarifying the logic of the lower limit value of the spacing rule, the problem of the logic of the upper limit value of the spacing rule is solved. A method for confirming the upper limit value based on the judgment logic of the lower limit value is given, which realizes the judgment of the upper limit value concisely and effectively.
[0083] In some embodiments of the present application, the wiring shape plays an important role, and it is critical to understand its specific location in physical space and its relationship with the coordinate system of the area in which it is located. The orientation information mentioned here can help to more accurately determine the orientation and position of the wiring shape. On this basis, further operations are performed to clarify the relationship between it and the linear track grid coordinate points in the area in which it is located. The purpose is to better describe, manage and subsequently use the wiring shape related information from the coordinate level, such as for layout optimization, rule checking and other tasks.
[0084] The wiring shape is usually composed of various lines, representing the direction and layout of the circuit. Here, the orientation information is particularly emphasized, which means that the wiring shape has a clear direction definition, such as its edges have corresponding directions, and the endpoints also have corresponding orientation references (such as the correspondence between the edges and endpoints determined according to different drawing directions mentioned earlier). Based on such orientation information, we can accurately know the specific direction and position of the wiring shape in the entire physical space, as well as the relative position relationship with other surrounding elements.
[0085] In the layout environment of integrated circuit design, track grids are often divided. These grids are like coordinate grids on a map, with their own coordinate points. Each position can be accurately located through these coordinate points. For a given wiring shape with orientation information, it is necessary to determine which track grid coordinate points are covered within its physical coordinate range (that is, the actual spatial position range occupied by this wiring shape, the area defined by its vertices, edges, etc.).
[0086] For example, suppose there is a rectangular wiring shape, whose four vertex coordinates determine its position and size. By comparing it with the linear track grid coordinate system in the area where it is located, it is possible to find out which grid coordinate points fall within the range covered by the rectangle. These may be some coordinate points inside the rectangle, as well as some coordinate points on the boundary, etc. This is equivalent to an "overlapping comparison" of the wiring shape with the linear track grid coordinate system, thereby screening out the grid coordinate points involved.
[0087] After determining the track grid coordinate points covered by the wiring shape, we need to establish a mapping relationship between the two. Simply put, this mapping relationship allows us to clearly know which specific grid coordinate points are associated with the wiring shape. For example, a table or data structure can be used to record which specific grid coordinate point sets a certain wiring shape corresponds to.
[0088] Through such a mapping relationship, when performing various operations later, such as checking whether a wiring shape conforms to specific layout rules (rules related to grid coordinates), judging the relative position relationship between the wiring shape and the surrounding elements when moving or adjusting the wiring shape (quickly comparing through grid coordinates), etc., it is more convenient and efficient to obtain the required information based on this mapping relationship, so that the entire integrated circuit wiring design work can be carried out more orderly and accurately.
[0089] Those skilled in the art will appreciate that, in the above method of specific implementation, the order in which the steps are written does not imply a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of the steps should be determined by their functions and possible internal logic.
[0090] In a second aspect, the present application also proposes a wiring shape construction and orientation determination device, such as Figure 4 As shown, the wiring shape construction and orientation determination device includes: an acquisition unit 401, a creation unit 402 and an association unit 403.
[0091] 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 of 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, and establish a correspondence between each edge in the edge object and the spatial orientations of its two sides, so that the wiring shape represented by the target object has orientation information.
[0092] In some embodiments of the present application, the creation unit 402 is also configured to, if the shape of the target element is a single shape, determine the adjacent vertex coordinates therein based on the vertex coordinates in the target object, and construct the edge object according to the 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 connecting the adjacent vertex coordinates therein overlaps with the line formed by the edge of the shape element, take the larger line between the two to construct the edge object.
[0093] In some embodiments of the present application, the association unit 403 is further configured such that if the target drawing direction is a 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 left edge corresponds to the north endpoint of the wiring shape represented by the target object, and the horizontally right edge corresponds to the south endpoint 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 right edge corresponds to the north endpoint of the wiring shape represented by the target object, and the horizontally left edge corresponds to the south endpoint of the wiring shape represented by the target object.
[0094] In some embodiments of the present application, the association unit 403 is also configured that 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 orthogonal direction 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 orthogonal direction corresponding to the end point of each edge is the right side.
[0095] In some embodiments of the present application, the device also includes selecting a target edge in the edge object, and if the target drawing direction is the counterclockwise drawing direction, then according to the combined constraints in the parsed design rules, the area is expanded to the right at the starting point of the target edge, and the area is expanded to the left at the end point of the target edge, and the expanded area 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.
[0096] In some embodiments of the present application, the device also includes obtaining a lower limit value of the spacing rule in the combined constraint from the parsed design rules, and determining a value logic of an upper limit value of the spacing rule based on the value logic of the lower limit value.
[0097] In some embodiments of the present application, the device further includes determining, for a wiring shape having the orientation information, linear track grid coordinate points covered within a physical coordinate range thereof, and establishing a mapping relationship between the wiring shape and the grid coordinate points.
[0098] like Figure 5 As shown, an embodiment of the present application also provides an electronic device 500, including a memory 510, a processor 520, and a computer program 511 stored in the memory 510 and executable on the processor, and when the processor 520 executes the computer program 511, the steps of any of the above-mentioned methods of wiring shape construction and orientation determination are implemented.
[0099] Since the electronic device introduced in this embodiment is a device used to implement a wiring shape construction and orientation determination device in the embodiment of the present application, based on the method introduced in the embodiment of the present application, the technical personnel in this field can understand the specific implementation mode of the electronic device of this embodiment and its various variations. Therefore, how the electronic device implements the method in the embodiment of the present application is not introduced in detail here. As long as the equipment used by the technical personnel in this field to implement the method in the embodiment of the present application is within the scope of protection of this application.
[0100] During the specific implementation process, when the computer program 511 is executed by the processor 520, any implementation method in the corresponding embodiment can be implemented.
[0101] It should be noted that in the above embodiments, the description of each embodiment has its own emphasis, and for parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0102] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present application may 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 storage, etc.) containing computer-usable program codes.
[0103] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded computer, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0104] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0105] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0106] The embodiment of the present application also provides a computer program product, which includes computer software instructions. When the computer software instructions are executed on a processing device, the processing device executes the process of wiring shape construction and orientation determination in the corresponding embodiment.
[0107] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from one website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may 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 available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state disk (SSD)), etc.
[0108] 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 aforementioned method embodiments and will not be repeated here.
[0109] In the several embodiments provided in 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 only schematic. For example, the division of units is only a logical function division. There may be other division methods in actual implementation. 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 mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0110] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0111] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0112] 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 this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program codes.
[0113] 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 aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments 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 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 is established between each edge in the edge object and the spatial orientations on both sides thereof, so that the wiring shape represented by the target object has orientation information.
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 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 is established, including: 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.
4. 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.
5. The method according to claim 4, 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.
6. The method according to claim 5, characterized in that The method further comprises: A lower limit value of the spacing rule in the combined constraint is obtained from the parsed design rule, and a value logic of an upper limit value of the spacing rule is determined according to a value logic of the lower limit value.
7. 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.
8. 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 association unit 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 according to the attributes of each edge in the edge object and the target drawing direction, and to establish a correspondence between each edge in the edge object and the spatial orientations on both sides thereof, so that the wiring shape represented by the target object has orientation information.
9. 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 7 when executing the computer program stored in the memory.
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 wiring shape construction and orientation determination method according to any one of claims 1 to 7 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
Printed circuit board copper coating method based on large-scale polygon Boolean operation solution
CN119358504A
Chip layout method and apparatus
WO2022266956A1