A method for quickly measuring the distance between adjacent objects in a layout
By drawing cartoon straight lines and calculating the intersection distance, the problem of low efficiency in measuring distance between objects in integrated circuit layout design is solved, and fast and intuitive multi-object spacing measurement is achieved, which improves design efficiency and ease of use of tools.
Patent Information
- Application Number
- CN202311075450.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-24
- Publication Date
- 2025-09-02
- Estimated Expiration
- 2043-08-24
AI Technical Summary
In integrated circuit layout design, as process size decreases and density increases, the operation of measuring distance between objects seriously affects the efficiency of layout editing.
By drawing all intersections of cartoon lines passing through the object boundary, calculate the distance between the intersections and displaying measurement results according to the interface settings, it supports multi-directional measurement and different style display, including cartoon and non-cartoon modes.
It enables rapid batch measurement of object spacing, width or total length, improving layout design efficiency and ease of use of EDA tools.
Smart Images

Figure CN117113911B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of EDA layout design, and in particular to a method for quickly measuring the distance between adjacent objects in a layout. Background Art
[0002] As integrated circuit (IC) technology continues to advance and process dimensions continue to decrease, the scale of IC layout design is also increasing, and the density between various graphics is also relatively high. In order to design layouts that meet process rules faster and better, a large number of distance measurement operations are often required. For example, after creating objects (such as physical graphic lines, rectangles, polygons, device instances, etc.), measuring the width of the objects or the spacing between them requires a large number of measurement operations. Especially when there are many objects, it will seriously affect the efficiency of layout editing. Summary of the Invention
[0003] To address the shortcomings of the prior art, the present invention aims to provide a method for quickly measuring the distance between adjacent objects in a layout. This method allows for batch measurement of objects, similar to how a line passes through an object, measuring both its width and space. This method allows users to quickly measure the spacing between multiple objects, their width, or their total length, improving design efficiency. This intuitive and easy-to-use method aligns with layout designers' thinking, significantly improving the usability of EDA tools.
[0004] To achieve the above object, the present invention provides a method for quickly measuring the distance between adjacent objects in a layout, comprising the following steps:
[0005] Start the command and enter the cartoon line drawing stage;
[0006] Draw a straight line passing through multiple objects to be measured according to the set shutter mode;
[0007] After drawing a straight line, all intersection points where the straight line passes through the object boundary are obtained, and the distances between each of the intersection points are calculated;
[0008] Display based on calculation results.
[0009] Furthermore, the objects include: physical graphic lines, rectangles, polygons, circles, triangles, and device instances.
[0010] Furthermore, the shutter modes include:
[0011] Arbitrary Angle Mode, used to draw multiple straight lines at different angles through multiple objects and measure the width and spacing of the multiple objects from multiple directions;
[0012] The oblique line mode is used to draw straight lines between multiple objects in different vertical directions on the layout and measure the width and spacing of the multiple objects;
[0013] Orthogonal mode: the drawn straight line passes perpendicularly through at least one object boundary, or the object's center of symmetry intersects the straight line;
[0014] The total distance mode is used to measure the total distance between the first object boundary and the last object boundary passed by the straight line.
[0015] Furthermore, if two adjacent intersection points are located on different boundaries of the same object, the calculated distance is the width of the object between the two intersection points;
[0016] If two adjacent intersection points are located on the boundaries of different objects, the calculated distance is the distance between the two adjacent objects at the two intersection points.
[0017] Furthermore, the step of displaying according to the calculation result further includes: creating a measurement result according to the cartoon or non-cartoon style set by the user on the interface, and displaying the calculated object width, or the distance between objects, or the total distance between the first object boundary and the last object boundary passed by the straight line;
[0018] In the cartoon style, the displayed measurement results cannot be selected or edited, but can be cleared;
[0019] In the non-cartoon style, the displayed measurement results are actual objects, which can be selected and edited.
[0020] Furthermore, if the straight line passes through a device instance and internal graphics of the instance are visible, distances between each pair of internal graphics of the instance are measured, but the instance boundary is not involved in the measurement.
[0021] Furthermore, if a layer is hidden, it does not participate in the measurement.
[0022] Furthermore, if a shape or layer is deselected, it still participates in the measurement.
[0023] To achieve the above-mentioned objectives, the present invention also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and runnable on the processor, wherein the processor is configured to execute the computer program stored in the memory to implement the method for quickly measuring the distance between adjacent objects in a layout as described above.
[0024] To achieve the above objectives, the present invention also provides a computer-readable storage medium, wherein the storage medium stores at least one instruction, and the instruction is loaded and executed by a processor to implement the method for quickly measuring the distance between adjacent objects in a layout as described above.
[0025] The method for quickly measuring the distance between adjacent objects in a layout provided by the present invention has the following advantages compared with the prior art:
[0026] Beneficial effects:
[0027] By using a straight line passing through an object, calculating the distance between each pair at the intersection of the line and the object, and batch measuring the width and spacing of objects, users can quickly measure the spacing between multiple objects, the width of objects, or the total length of objects, thereby improving design efficiency. This operation method is in line with the thinking of layout designers, is intuitive, and easy to operate, which can greatly improve the usability of EDA tools.
[0028] Other features and advantages of the present invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The accompanying drawings are used to provide a further understanding of the present invention and constitute a part of the specification. Together with the embodiments of the present invention, they are used to explain the present invention and do not constitute a limitation of the present invention. In the accompanying drawings:
[0030] Figure 1 A flow chart of a method for rapidly measuring the distance between adjacent objects in a layout according to the present invention;
[0031] Figure 2 This is a cartoon Line drawing effect diagram according to an embodiment of the present invention;
[0032] Figure 3 Generate an effect diagram for Ruler in AnyAngle mode according to an embodiment of the present invention;
[0033] Figure 4 Generate an effect diagram for the Ruler in the Diagonal mode according to an embodiment of the present invention;
[0034] Figure 5 Generate an effect diagram for the Ruler in the Orthogonal mode according to an embodiment of the present invention;
[0035] Figure 6 This is a generation effect diagram in the Dimension Ruler mode according to an embodiment of the present invention;
[0036] Figure 7 This is a diagram showing the effect of generation in Total Mode according to an embodiment of the present invention;
[0037] Figure 8 FIG. 2 is a schematic structural diagram of an electronic device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0038] The preferred embodiments of the present invention are described below with reference to the accompanying drawings. It should be understood that the preferred embodiments described herein are only used to illustrate and explain the present invention, and are not used to limit the present invention.
[0039] Embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present invention are shown in the accompanying drawings, it should be understood that the present invention can be implemented in various forms and should not be construed as limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the present invention. It should be understood that the drawings and embodiments of the present invention are for illustrative purposes only and are not intended to limit the scope of protection of the present invention.
[0040] As used herein, the term "including" and its variations are open-ended, i.e., "including but not limited to." The term "based on" means "based, at least in part, on." The term "one embodiment" means "at least one embodiment," the term "another embodiment" means "at least one additional embodiment," and the term "some embodiments" means "at least some embodiments." Other terms are defined in the following description.
[0041] It should be noted that the modifications of "one" and "plurality" mentioned in the present invention are illustrative and non-restrictive. Those skilled in the art will understand that unless the context clearly indicates otherwise, they should be understood as "one or more". "Plurality" should be understood as two or more.
[0042] In the field of layout design, measuring the distance between objects requires a large number of measurement operations. When there are many objects, this will seriously affect the efficiency of layout editing. In order to solve the existing technical problems, the method of the present invention for quickly measuring the distance between adjacent objects in the layout has the following basic ideas:
[0043] When using the present invention's measurement method, there's no need to select every object. Instead, simply locate all intersections of a Line (in this embodiment, a straight line) passing through the object's boundary, calculate the distances between each pair (i.e., point-to-point distances), and create a measurement result on the interface based on the calculated results. Measurement results can also be created based on the Ruler Style set by the user on the interface. If set to Ruler (Cartoon), the displayed measurement results are unselectable and uneditable, serving as a graphical reference only. If set to Dimension Ruler (Non-Cartoon), the displayed measurement results are selectable and editable, representing the actual object.
[0044] In integrated circuit design, since objects are densely packed and numerous, the method of the present invention can quickly measure the distance between passing objects based on the mouse stroke position.
[0045] The method of the present invention for rapidly measuring the distance between adjacent objects in a layout comprises the following steps:
[0046] Draw a cartoon line through the object to be measured. Once the line is drawn, find all intersections where the line passes through the object's boundary and calculate the distances between each pair of intersections. The measurement results, including the width of the object on the line and the distance between adjacent objects, are displayed on the interface. The cartoon line is not editable and is only displayed graphically, not an actual object.
[0047] Figure 1 The flowchart of the method for quickly measuring the distance between adjacent objects in a layout according to the present invention is shown below. Figure 1 The embodiments of the present invention will be described in detail.
[0048] In step 101, a command is started to enter the cartoon line drawing stage. In this step, the left mouse button is clicked once to start drawing the line.
[0049] Figure 2 This is a cartoon Line drawing effect diagram according to an embodiment of the present invention, such as Figure 2 As shown, the drawn Line 1 passes through rectangle 2, circle 3, triangle 4 and rectangle 5 respectively.
[0050] In step 102, a cartoon line is drawn according to the Snap Mode set in the interface. During the line drawing process, the backspace key can be used to exit the operation of drawing the cartoon line.
[0051] In this embodiment of the present invention, Snap Mode allows users to draw lines in different directions (or at different angles) for multi-directional measurement. Snap Mode includes:
[0052] AnyAngle Mode allows you to draw lines at multiple angles on multiple objects and measure the width and spacing of these objects from multiple directions.
[0053] Diagonal Mode: For multiple objects in a non-vertical orientation on the layout, diagonal lines are drawn through them to measure the width and spacing of the objects. The diagonal lines can be at multiple angles and measured from multiple locations.
[0054] Orthogonal Mode: The object that the Line passes through has at least one boundary perpendicular to the Line, or the object's center of symmetry intersects the Line;
[0055] Total Mode measures the total distance between the starting edge of the Line (that is, the first object boundary through which the Line is drawn) and the ending edge (that is, the last object boundary through which the Line is drawn).
[0056] In this embodiment of the present invention, in AnyAngle, Diagonal, Orthogonal, and Dimension Ruler modes, measurement results are displayed in segments, showing the object width and the distance between objects. If Total Mode is also selected, measurement results are no longer displayed in segments, showing only the total distance between the starting and ending edges.
[0057] In the embodiment of the present invention, the Dimension Ruler mode supports the user to customize the height of the Text that displays the measurement results.
[0058] In step 103, the cartoon line drawing is completed. In this step, the left mouse button is clicked once again to end the line drawing operation.
[0059] In step 104, all intersection points of the Line passing through the object boundary are obtained, and the distances between all the intersection points are calculated.
[0060] In this embodiment of the present invention, a Line generates an intersection when passing through the boundary of an object. If two adjacent intersection points are located on the boundary of the same object, the calculated result is the width of the object between the two intersection points; if two adjacent intersection points are located on the boundaries of different objects, the calculated result is the distance between the two adjacent objects between the two intersection points.
[0061] According to the embodiment of the present invention, it is not difficult to understand that the spacing is not necessarily the minimum distance between two adjacent objects. Figure 2 As shown in the figure, when Line 1 passes perpendicularly through the boundary of Rectangle 2 and the center of Circle 3, the calculated distance between Rectangle 2 and Circle 3 is the minimum distance between the two adjacent objects. However, at this time, the two adjacent boundaries of Triangle 4 and Rectangle 5 passed by Line 1 are not parallel. Therefore, the distance between Triangle 4 and Rectangle 5 measured by Line 1 is not the minimum distance between the two adjacent objects.
[0062] In step 105, the measurement results are displayed according to the Ruler Style set by the user on the interface.
[0063] In this embodiment of the present invention, measurement result generation effects are available in two modes: Ruler (Cartoon) and Dimension Ruler (Non-Cartoon). The Ruler (Cartoon) mode differs from the Dimension Ruler (Non-Cartoon) mode in that the Ruler mode only displays the measurement results, not the actual generated objects. The displayed results cannot be selected or edited. This display can be removed by closing the unit or calling Clear Ruler or Clear All Ruler. In contrast, the Dimension Ruler mode generates actual objects, which can be selected and edited.
[0064] like Figures 3 to 7 As shown in FIG, the Ruler generation effects of AnyAngle mode, Diagonal mode, Orthogonal mode, Dimension Ruler mode and Total Mode in the embodiment of the present invention are respectively exemplarily shown. Figure 3 In AnyAngle mode, the distance between four adjacent objects in the layout is quickly measured in non-vertical directions. The measurement results are segmented to show the width of each object on the line and the distance between adjacent objects. Under the same metric standard, the distance data between the first rectangular object, the circular object, the triangular object, and the second rectangular object are 14.070913, 15.313782, and 15.726758 respectively. Figure 4 In Diagonal mode, four objects in the layout that are not in the same vertical direction are measured through diagonal lines, and the distance data of adjacent objects among these objects are 17.906772, 21.87647, and 21.518674, as well as the width of each object on the diagonal line. Figure 5 In Orthogonal mode, four objects are measured, and the straight line drawn passes perpendicularly through the boundaries of some of the objects (for example, the upper and lower boundaries of the two rectangles in the figure are horizontal and perpendicular to the vertical Line). Figure 5 and Figure 6 , the difference between the two is: Figure 5 Show the Ruler generation effect in Orthogonal mode, which is not selectable. Figure 6 Shows the generated effect of Dimension Ruler mode, which can be selected and edited. Figure 7 , only the distance between four objects is displayed, and the total distance data between the object boundaries at both ends of the Line is 106.408.
[0065] In the embodiment of the present invention, when Total Mode=Off, the distances between all objects are displayed in segments, and when Total Mode=On, a total ruler (ie, the total distance from the starting edge to the ending edge) is generated.
[0066] In the embodiment of the present invention, since the user starts the command in step 101, the command can be operated continuously. After completing one operation, the command does not exit until the user exits using ESC.
[0067] In the embodiment of the present invention, if a Line passes through an Instance and the graphics inside the Instance are visible, the distances between the graphics inside the Instance need to be measured, but the Instance Bbox (instance boundary) is not involved in the measurement.
[0068] In the embodiment of the present invention, if a layer is invisible, it does not need to participate in the measurement.
[0069] In this embodiment of the present invention, even if a Shape or Layer is unselected, it still needs to participate in the measurement. Deselection means that the measured object cannot be selected. However, if the Line is a cartoon, it can still pass through these objects. Therefore, measurement can still be performed even if the Shape or Layer is unselected. In other words, the method of the present invention has no effect on whether the measured object is selected.
[0070] The method for quickly measuring the distance between adjacent objects in a layout provided by the present invention has the following advantages and positive effects:
[0071] (1) Quickly create the distance between two points of all objects passing through the cartoon line to improve design efficiency;
[0072] (2) There are two modes for generating effects: Ruler (cartoon) and Dimension Ruler (non-cartoon);
[0073] (3) Dimension Ruler supports user-defined text height settings;
[0074] (4) Snap mode supports users to measure in multiple directions.
[0075] In an embodiment of the present invention, an electronic device is further provided. Figure 8 FIG. 1 is a schematic diagram of the structure of an electronic device according to an embodiment of the present invention. Figure 8 As shown, the electronic device of the present invention includes a processor 801 and a memory 802, wherein:
[0076] The memory 802 stores a computer program. When the computer program is read and executed by the processor 801 , the computer program executes the steps in the embodiment of the method for rapidly measuring the distance between adjacent objects in a layout as described above.
[0077] In an embodiment of the present invention, a computer-readable storage medium is further provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of the method embodiment for quickly measuring the distance between adjacent objects in a layout as described above when running.
[0078] In this embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.
[0079] Those skilled in the art will understand that the foregoing descriptions are merely preferred embodiments of the present invention and are not intended to limit the present invention. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art will be able to modify the technical solutions described in the foregoing embodiments or substitute equivalents for some of the technical features. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention shall be included within the scope of protection of the present invention.
Claims
1. A method for rapidly measuring the distance between adjacent objects in a layout, comprising the following steps: Start the command and enter the cartoon line drawing stage; Draw a straight line passing through multiple objects to be measured according to the set shutter mode; After the straight line is drawn, all intersection points where the straight line passes through the object boundary are obtained, and the distances between each two of the intersection points are calculated; Display according to the calculation results; The shutter modes include: Arbitrary Angle Mode, used to draw multiple straight lines at different angles through multiple objects and measure the width and spacing of the multiple objects from multiple directions; The oblique line mode is used to draw straight lines between multiple objects in different vertical directions on the layout and measure the width and spacing of the multiple objects; Orthogonal mode: the drawn straight line passes perpendicularly through at least one object boundary, or the object's center of symmetry intersects the straight line; Total distance mode, used to measure the total distance between the first object boundary and the last object boundary passed by the straight line; The step of displaying according to the calculation result further includes: creating a measurement result according to the cartoon or non-cartoon style set by the user on the interface, and displaying the calculated object width, or the distance between objects, or the total distance between the first object boundary and the last object boundary passed by the straight line; In the cartoon style, the displayed measurement results cannot be selected or edited, but can be cleared; In the non-cartoon style, the displayed measurement results are actual objects, which can be selected and edited.
2. The method for rapidly measuring the distance between adjacent objects in a layout according to claim 1, characterized in that: The objects include: physical graphic lines, rectangles, polygons, circles, triangles, and device instances.
3. The method for rapidly measuring the distance between adjacent objects in a layout according to claim 1, characterized in that: If two adjacent intersection points are located on different boundaries of the same object, the calculated distance is the width of the object between the two intersection points; If two adjacent intersection points are located on the boundaries of different objects, the calculated distance is the distance between the two adjacent objects at the two intersection points.
4. The method for rapidly measuring the distance between adjacent objects in a layout according to claim 1, characterized in that: If the straight line passes through a device instance and internal graphics of the device instance are visible, distances between each pair of internal graphics of the device instance are measured, but the device instance boundary is not involved in the measurement.
5. The method for rapidly measuring the distance between adjacent objects in a layout according to claim 1, characterized in that: If a layer is hidden, it does not participate in the measurement.
6. The method for rapidly measuring the distance between adjacent objects in a layout according to claim 1, characterized in that: If a shape or layer is deselected, it still participates in the measurement.
7. An electronic device, characterized in that: The invention comprises a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor is configured to execute the computer program stored in the memory to implement the method for rapidly measuring the distance between adjacent objects in a layout as described in any one of claims 1 to 6.
8. A computer-readable storage medium, characterized in that The storage medium stores at least one instruction, which is loaded and executed by the processor to implement the method for quickly measuring the distance between adjacent objects in a layout according to any one of claims 1 to 6.
Citation Information
Patent Citations
An on-line hierarchical repairing method for layout lattice problems
CN109271677A
Interactive wiring method following wiring grid points in integrated circuit layout
CN111651958A