Layout optimization based on real-time process margin
By providing a set of design information, including dimensions, parasitic information and margin information related to basic rules, the problem that design electronic device layout in the prior art is difficult to support sub-basic rules, and a more efficient design process and electronic devices with excellent performance are achieved.
Patent Information
- Application Number
- CN202411498689.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-11-27
- Filing Date
- 2024-10-25
- Publication Date
- 2025-05-27
AI Technical Summary
When designing the layout of electronic devices, it is difficult for the prior art to support sub-basic rule layout, resulting in insufficient device performance, difficulty in manufacturing or prone to failure.
A method and system are provided for designing the layout of an electronic device, by providing a representation of the first layout to the customer and in response to the customer's input, compute and provide a set of design information, including dimensions, parasitic information and margin information related to the basic rules.
This method and system can reduce the time and resources required to create and optimize sub-basic rule layouts, provide real-time design information, and help customers design excellent performance and manufacture feasible electronic devices.
Smart Images

Figure CN120046565A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the design of electronic devices, and more particularly to the design of the layout of an electronic device, where the layout does not conform to the basic layout rules of the technology to be used to implement the semiconductor device. Background Art
[0002] Design rules ensure that the design of an electronic device (such as an integrated circuit) will result in a device having acceptable performance, reliability, manufacturing yield, or a combination thereof. For example, design rules specify limitations on the width, pitch, area, aspect ratio, fill density, etc. of the components of an integrated circuit, and may be specific to the process to be used to manufacture the integrated circuit.
[0003] A set of design rules for the process intended to be used to implement the device may include basic rules for the layout of the components of the device. The basic rules are set so that the layout of the components results in a device that meets or exceeds a predetermined standard of manufacturability, reliability, performance metrics, or a combination thereof.
[0004] Typically, a device is required to conform to the basic rules, and correspondingly, an electronic design automation (EDA) tool (layout tool) for performing the layout may constrain the layout of the device to conform to the basic rules, report any violations of the basic rules, or both. For example, the layout tool may move the shape edges to the basic rule values.
[0005] However, in some cases, significant device performance advantages can be achieved by allowing the layout of the components of the device to not conform to the basic rules; such a non-conforming layout may be referred to as a sub-ground-rule layout. However, creating a sub-ground-rule layout would be futile if doing so renders the resulting device inoperable, too difficult to manufacture, prone to failure, or unable to meet the required design goals.
[0006] Accordingly, there is a need for tools to better support the design of devices with sub-ground-rule layouts. Summary of the Invention
[0007] Embodiments of the present invention relate to methods, systems, software, user interfaces, and application programming interfaces for designing an electronic device, and more particularly to methods, systems, software, user interfaces, and application programming interfaces for performing the layout of the components of an electronic device.
[0008] In one embodiment, a method for performing layout design of an electronic device includes providing a representation of a first layout to a customer and, in response to input from the customer, providing a set of design information calculated based on the first layout to the customer. The set of design information includes dimensions extracted from the first layout and also includes parasitic information associated with the dimensions, margin information associated with basic rules applicable to the dimensions, or both.
[0009] In another embodiment, a system for performing layout design of an electronic device includes at least one processor. The steps that the system is configured to perform include providing a representation of a first layout to a customer and, in response to input from the customer, providing a set of design information calculated based on the first layout to the customer. The set of design information includes dimensions extracted from the first layout and also includes parasitic information associated with the dimensions, margin information associated with basic rules applicable to the dimensions, or both.
[0010] In another embodiment, a non - transitory computer readable media (CRM) includes computer programming instructions that, when executed by one or more processors of a system, cause the system to perform steps including providing a representation of a first layout to a customer and, in response to input from the customer, providing a set of design information calculated based on the first layout to the customer. The set of design information includes dimensions extracted from the first layout and also includes parasitic information associated with the dimensions, margin information associated with basic rules applicable to the dimensions, or both. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various embodiments of the invention and, together with the general description of the invention given above and the detailed description of the embodiments given below, serve to explain the embodiments of the invention. In these drawings, like reference numerals represent like features in different views.
[0012] Figure 1 Shows a layout design tool (hereinafter referred to as the layout tool) for a device according to one embodiment.
[0013] Figure 2A Shows a layout of a device according to one embodiment.
[0014] Figure 2B And 2C Shows an operation on the layout shown in Figure 2A that can be performed by the layout tool according to one embodiment.
[0015] Figure 3 Shows an interface for selecting basic rules according to one embodiment.
[0016] Figure 4 Shows the process performed by a layout tool according to one embodiment.
[0017] Figure 5A And 5B Shows operations related to parasitic information performed by a layout tool according to one embodiment.
[0018] Figure 6 Shows the process performed by a layout tool according to one embodiment.
[0019] Figure 7 Shows the process for determining what information to display according to one embodiment.
[0020] Figure 8 Shows the hardware components of a system for providing a layout tool according to one embodiment. Detailed Description
[0021] Example embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. However, the features of the present invention may be implemented in different forms and should not be construed as limited to the embodiments set forth herein. On the contrary, these embodiments are provided to make the present invention thorough and complete, and to fully convey the scope of the claims to those skilled in the art. In the present invention, like reference numerals denote like components in different drawings and embodiments.
[0022] It should be understood that although the terms "first" and / or "second" may be used herein to describe different elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, the first element discussed below may be referred to as the second element without departing from the teachings of the present invention. Similarly, the second element may also be referred to as the first element.
[0023] The following descriptions of arrangements are generally given with respect to a plan view of the design of the device. For example, when two elements are described as overlapping, this means that in an integrated circuit having multiple vertically stacked layers, when viewed from above, these two elements appear to overlap, and when two elements are described as adjacent, this means that no other relevant elements are provided between them (for example, no other elements are provided between them on the same layer, but not limited to this example).
[0024] The drawings are not necessarily drawn to scale, and in some cases, the scale may be exaggerated to clearly show the features of these embodiments.
[0025] Figure 1Figure 100 shows a system for performing the layout of a device according to an embodiment. The system includes a design layout database 102, a design rule (DR) database 104, a parasitic extraction (PEX) database 106, a margin information database 108, and a layout tool 110.
[0026] The layout tool 110 provides an interface between the system 100 and a customer 112. In the embodiment described herein, the customer 112 can be a person, and the layout tool 110 can include an interactive graphical user interface (GUI). However, the embodiment is not limited thereto, and in an embodiment, the layout tool 110 can include an application programming interface (API) for communicating with the customer 112, which is, for example, a software tool for performing automated layout; in such an embodiment, the information provided and received by the system 100 through the layout tool 110 as described below can alternatively be provided and received through the API.
[0027] The layout tool 110 provides information about the components in the layout area and accepts commands to select, move, and / or reshape these components.
[0028] The information about the components provided by the layout tool 110 can include information about the shape and position of each component. The information about the position of a component can include the horizontal and vertical positions defining the perimeter of the component and the layer identifier on which the component is located. The information about the position can be provided graphically, numerically, or both.
[0029] In an embodiment, providing the information about the position of a component graphically can include drawing a polygon on a display that indicates the respective perimeter of each component and filling the polygon with the identifier of the layer on which the corresponding component is located. In an embodiment, a fill pattern, color, or both can be used to indicate the layer. In an embodiment, the filling of the polygon is partially transparent so that overlapping components located on different corresponding layers are visible.
[0030] The information provided by the layout tool 110 can also include rule information about the applicable basic rules for the layout area, information about the margins of the applicable basic rules, information about the layout dimensions related to the applicable basic rules, parasitic information dependent on these layout dimensions, or a combination thereof. The rule information provided by the layout tool 110 can also include violation indicators that indicate whether the layout dimensions comply with the applicable basic rules, the margin for violating the applicable basic rules but complying with the basic rules, or the margin for violating the basic rules.
[0031] As described above, when information about the shape and position of components is provided by drawing and filling polygons on a display, regular information can be provided by an overlay component displayed adjacent to the corresponding component. In an embodiment, the overlay component can display only relevant information from the regular information, as described below. In an embodiment, the overlay component can be color-coded to provide a violation indication.
[0032] The design layout database 102 (hereinafter, layout database 102) includes information about the arrangement of components of the device being designed. For example, in a device manufactured as an integrated circuit on a substrate composed of semiconductor, the integrated circuit can have multiple layers disposed on the substrate. Components can include regions composed of doped semiconductors, regions composed of metals, regions composed of insulators, regions composed of amorphous semiconductors (e.g., polysilicon), etc. Generally, the regions of these components correspond to polygonal regions of the substrate or polygonal regions of one or more of the multiple layers of the integrated circuit.
[0033] The information in the layout database 102 can initially be generated by the system 100 or by other EDA tools. The information in the layout database 102 can be read and modified by the system 100.
[0034] The DR database 104 includes basic rules for managing the spatial relationships between components of the device. The basic rules can include restrictions on the dimensions of components, such as the minimum and / or maximum width, length, and / or ratio of components. The basic rules can also include restrictions on the relationships between components, such as the minimum spacing between components, the maximum length of adjacent batches of components, the minimum or maximum length, width, and / or area of component overlap, the maximum extent to which a component can extend beyond another component, etc. The basic rules regarding the relationships between components can apply to components in the same layer or to components in corresponding different layers.
[0035] The information in the DR database 104 may be specific to a particular manufacturing process and may be provided by a source external to the system 100. Generally, the system 100 does not modify the information in the DR database 104.
[0036] The PEX database 106 includes parasitic information about the electrical properties of a component based on the configuration of the component and the arrangement of other nearby components. The parasitic information can include information about capacitance, resistance, and inductance. For example, the PEX database 106 can include information to calculate the parasitic capacitance between two adjacent components disposed on the same layer, the parasitic capacitance between two overlapping components in corresponding different layers, etc.
[0037] The margin database 108 includes information about the margins of the basic rules in the DR database 104. This margin information indicates the values of the corresponding basic rules that may pose a risk of higher manufacturing yield reduction, performance reduction, and / or durability reduction, but may still result in an acceptable number of working devices that meet the design requirements.
[0038] The margin values can be specific to the foundry process and can be derived through silicon experiments, as well as from process assumptions, DR calculations, and other sources. A layout that violates the restrictions of one or more basic rules but remains within the margin limits of the basic rule can be referred to as a sub-basic rule layout. For example, when the DR for two components of a design specifies a 50-nanometer (nm) spacing and the margin for this DR is 25 nm in the target foundry process, a layout where the two components are separated by 32 nanometers is a sub-basic rule layout.
[0039] In some embodiments, the margin database 108 or the use of the margin database can be prohibited. In such embodiments, the display of margin values as shown in the following examples can be omitted, the determination of whether the geometry of the layout conforms to the margin values can be omitted, and an indication of whether a margin violation has occurred may not be provided.
[0040] Sub-basic rule layouts can be used to create, for example, special constructs, exploratory constructs, and design optimizations. The process of creating such sub-basic rule layouts can consume a significant amount of time and resources, especially when the entity designing the layout does not easily have access to all relevant design information.
[0041] System 100 reduces the time and resources required to create and optimize sub-basic rule layouts by providing relevant design information in real time. In particular, system 100 can provide basic rule information, margin information, parasitic information, or both for the sub-basic rule layout. In an embodiment, to prevent information overload, system 100 provides such information based on a determination of the relevance of the information. System 100 can provide such information as an immediate response to a command regarding the layout received from the customer 112 through an interface presented by the layout tool 110.
[0042] Figure 2A Displays the layout of a device according to an embodiment. In particular, Figure 2A Displays the layout of a device that may be output by the layout tool 110 on a display. Although Figure 2A and related Figure 2B and 2C are provided as gray-scale drawings, in an embodiment, the layout and associated overlays can be displayed in color.
[0043] The layout of the device includes a plurality of polygons representing the elements of the design. Fill patterns, colors, or both can be used to indicate the composition of the elements (e.g., doping type and / or concentration, material type such as metal, polysilicon, etc.) and / or the layer in which the element is located.
[0044] Figure 2B and 2C shows operations on the layout of the device shown in Figure 2A that can be performed by a layout tool according to an embodiment.
[0045] Figure 2B Shows the response of the layout tool to receiving an element selection command from a customer through the interface of the layout tool. In an embodiment where the layout is provided graphically to the customer through a GUI, the element selection command can, for example, correspond to a mouse click in the area of the GUI corresponding to the element, but the embodiment is not limited thereto. In other cases, the element selection command can correspond to the input of the name or other identifier of the element.
[0046] In the illustrated embodiment, the layout tool can acknowledge the element selection command by marking the selected element (e.g., by superimposing a selection polygon 202 over the element, as shown in Figure 2B .
[0047] Next, the layout tool can calculate (as needed) the relevant layout information of the selected element, determine whether the layout information complies with applicable basic rules and / or applicable margins, and select what information to provide to the customer in response to the element selection command, as described below. Then, the selected design information is provided to the customer.
[0048] In Figure 2B the illustrated embodiment, where the layout is provided graphically to the customer through a GUI, the selected information can be provided as an overlay adjacent to the corresponding relevant dimension and can include a label of the dimension.
[0049] For example, as shown in Figure 2BAs shown, when the selected design information involves the first basic rule "LY-LX spacing" regarding the spacing between two components, the layout tool can display an arrow 204 corresponding to the spacing evaluated according to the first basic rule, as well as a first overlay 206. The first overlay 206 is adjacent to the arrow 204 and displays the name of the first basic rule (here, "LY-LX spacing"), the current value of the first layout measurement corresponding to the first basic rule (here, "110 nm"), the value of the first basic rule (here, "45 nm"), and parasitic information, such as a resistance value, a capacitance value, or both (here represented by "R / C <value>"). The first overlay 206 can have a color-coded fill color (such as white or green) to indicate that the current value of the first layout measurement complies with the first basic rule.
[0050] For another example, as Figure 2B shown, when the selected design information involves the second basic rule "LY-LP overlap" regarding the overlap of two components, the layout tool can display a second overlay 208. The second overlay 208 is adjacent to the overlap region and displays the name of the second basic rule (here, "LY-LP overlap"), the current value of the second layout measurement corresponding to the second basic rule (here, "22 nm"), the margin associated with the second basic rule (here, "18 nm"), the value of the second basic rule (here, "33 nm"), and parasitic information, such as a resistance value, a capacitance value, or both (here represented by "R / C <value>"). The second overlay 206 can have a color-coded fill color (such as gray or orange) to indicate that the current value of the second layout measurement does not comply with the second basic rule but is within the margin associated with the second basic rule.
[0051] In Figure 2B the embodiment shown, the first overlay 206 does not display the margin information shown in the second overlay 208 because, unlike the second overlay 208, the current value of the first layout measurement complies with the first basic rule, and thus the margin information associated with the first basic rule is not currently considered useful to an entity using the layout tool.
[0052] Figure 2CDisplays the response of the layout tool to receiving a component modification command from a customer through the interface of the layout tool. The component modification command may indicate the new position of the component, the new shape of the component, or both. In an embodiment where the layout is provided graphically to the customer via a GUI, the component modification command may correspond, for example, to a mouse click and drag operation in the area of the GUI corresponding to the component, but the embodiment is not limited thereto. In other cases, the component modification command may correspond to the input of the name or other identifier of the component, the horizontal movement amount of the component or one or more vertices of the component, and the vertical movement amount of the component or one or more vertices of the component.
[0053] In the illustrated embodiment, the layout tool may acknowledge the component modification command by indicating the new position and shape of the modified component (e.g., by displaying the modified shape indication polygon 212 on a display, as Figure 2C shown).
[0054] Next, for the modified component, the layout tool calculates the relevant modified layout information and parasitic information based on its modified position and / or shape, then determines whether the modified layout information complies with the applicable basic rules and / or applicable margins, and selects what information to provide to the customer in response to the component modification command, as described below. The selected information can be provided to the customer in the manner Figure 2B described.
[0055] In an embodiment, for example, in an embodiment where the component modification command corresponds to a mouse click and drag operation, when the drag is performed, the new movement of the mouse may correspond to a new component modification command, and correspondingly, the selected information may be updated as the shape is dragged. What information is selected for display may change as the shape is dragged. For example, when the selected shape indicated by polygon 202 in Figure 2B is dragged from a position in Figure 2B that complies with the basic rules to a position that violates the applicable basic rules and the associated margins, the corresponding overlay 210 in Figure 2B (with a white background and displaying the basic rule name, layout dimension values, rule values, and parasitic information) may change to the updated corresponding overlay 220 in Figure 2C (with a black background and displaying the basic rule name, updated layout dimension values, margin values, rule values, and updated parasitic information).
[0056] Figure 3 Displays an interface 300 for selecting a basic rule or group of basic rules according to an embodiment. In an embodiment, in, for example, Figure 2B and 2CDuring the operation shown in, the layout tool only displays the values corresponding to the basic rules selected through interface 300 and the corresponding margin values.
[0057] In interface 300, a control adjacent to the name of the basic rule or the name of the basic rule group can be selected to switch between a selected state and an unselected state. Those of ordinary skill in the relevant art will easily understand more details about the operation of interface 300. Therefore, for the sake of brevity, detailed descriptions are omitted.
[0058] In some embodiments, the basic rules deselected through interface 300 are not used to select indications of whether a basic rule violation or a margin violation has occurred (e.g., the superimposed color coding in Figure 2B and 2C ). In other embodiments, a separate interface can be provided to select which design rules are used to select those indications.
[0059] Figure 4 Show process 400 for updating the reference layout performed by the layout tool according to one embodiment.
[0060] The parasitic information provided by the layout tool to the customer may be relative to the reference layout. That is, when changing an element by changing its position and / or shape, the layout tool can display the change in parasitic values ("delta") caused by the change of the element, such as parasitic resistance delta or parasitic capacitance delta. The reference layout may be different from the layout currently being shown to the customer. For example, in one embodiment including a GUI, the displayed layout may be different from the reference layout because one or more elements in the displayed layout may have different shapes, positions, or both, from the corresponding elements in the reference layout. In some cases, the reference layout may include elements not included in the displayed layout, the displayed layout may include elements not included in the reference layout, or both.
[0061] The reference layout includes a plurality of reference elements. After changing an element as described above, the customer can instruct the layout tool to replace the reference element corresponding to the changed element with the changed element, and then the delta value can be calculated based on the new reference layout including the changed element.
[0062] In S402, the layout tool receives the selection of an element. The element can be the changed element, whose shape, position, or both are different from the corresponding element in the reference layout.
[0063] At S404, in response to the selection of the component, the layout tool may provide a prompt to the customer, soliciting an indication as to whether the selected component should be incorporated into the reference layout as a reference component ("Ref").
[0064] At S406, the layout tool receives from the customer an indication as to whether the selected component should be incorporated into the reference layout.
[0065] In response to the customer indicating at S406 that the selected component should be incorporated into the reference layout for parasitics determination, in one embodiment, the layout tool incorporates the selected component into the reference layout. If there is already a component corresponding to the selected component in the reference layout, the selected component replaces the corresponding component. Then, process 400 proceeds to S410.
[0066] In another embodiment, incorporating the selected component into the reference layout is temporary, and the selected component is used only for parasitic calculations until it is deselected. If there is already a component corresponding to the selected component in the reference layout, the corresponding component is replaced by the selected component until the selected component is deselected.
[0067] In response to the customer indicating at S406 that the component should not be incorporated into the reference layout, process 400 proceeds to S410.
[0068] At S408, the parasitic information is updated and displayed based on the unmodified reference layout. In one embodiment, the updated and displayed parasitic information may include parasitic information corresponding to the selected component and components adjacent to the selected component, but the embodiment is not limited thereto.
[0069] At S410, the parasitic information is updated and displayed based on the modified reference layout that includes the selected component. In one embodiment, the updated and displayed parasitic information may include parasitic information corresponding to the selected component and components adjacent to the selected component, but the embodiment is not limited thereto.
[0070] In an embodiment, when the selected component has the same shape and position as the corresponding component in the reference layout, steps S404, S406, and S410 may not be performed, and process 400 may proceed directly from S402 to S408.
[0071] Figure 5A and 5B Show operations related to parasitic information performed by the layout tool according to one embodiment. Figure 5A and 5B The example is presented in the context of an embodiment where communication with the customer is via a GUI, but the embodiment is not limited thereto.
[0072] In Figure 5AAmong them, the gate element 502A corresponding to the first configuration of the layout is selected. This first configuration of the layout can be a plan-of-record (POR) layout corresponding to the current reference layout.
[0073] In response to this selection of the gate element 502A, information including parasitic information corresponding to the gate element 502A and other elements adjacent to the gate element 502A is presented, for example, displayed in the overlay 504A. The presented information is calculated based on the configuration of the gate element 502A in this first configuration of the layout.
[0074] In Figure 5B Among them, the gate element 502B corresponding to the second configuration of the layout is selected. The gate element 502B corresponds to Figure 5A a modified version of the gate element 502A shown in
[0075] In this example, the gate element 502B corresponds to moving the gate element 502A to the left by one contacted poly pitch (CPP, a process-specific value). In response to this selection of the gate element 502B, information including parasitic information corresponding to the gate element 502B and other elements adjacent to the gate element 502B is presented, for example, displayed in the overlay 504B. The presented information is calculated based on replacing or temporarily replacing the gate element 502A with the gate element 502B. In Figure 5A and 5B Among them, the variables shown as X, Y, and 2Y will actually be design- and process-specific numerical values.
[0076] Note that the change in the information presented between Figure 5A and 5B includes a change in the fill color of the overlay, which can indicate whether a basic rule or the margin of a basic rule has been violated. For example, the overlay 506A corresponding to the gate jog distance in Figure 5A has a white fill, which can indicate compliance with the applicable basic rule, while the overlay 506B corresponding to the gate feature distance in Figure 5B has a gray fill, which can indicate violation of the basic rule but compliance with the margin of the basic rule.
[0077] Figure 6 A process 600 for processing input from a customer executed by a layout tool according to an embodiment is shown. The output of receiving the input and information by the process 600 can be executed through the GUI when the layout tool interacts with a human, or through the API when the layout tool interacts with another software program.
[0078] At S602, process 600 receives an indication of a selection of a shape within the layout that process 600 is processing. A set of adjacent shapes corresponds to a device and will also be recognized as such by the layout. Generally, operations described below as applied to shapes may also be applied to devices, and vice versa.
[0079] At S604, process 600 saves the recorded planned device corresponding to the selected shape as a reference device. The recorded planned device may correspond to the entire layout or may correspond to a part thereof.
[0080] At S606, process 600 generates and outputs one or more information sets corresponding to one or more basic rules associated with the selected shape. Each information set may include an indication (such as a name, numerical indicator, or both) of the corresponding basic rule and measurements from the layout corresponding to the basic rule (such as distances, areas, ratios, etc.). In Figure 2B and 2C the embodiment shown, the information sets may correspond to each overlay, such as overlay 206, overlay 208, or overlay 210.
[0081] The basic rules corresponding to the information sets may be limited to the basic rules selected through an interface such as that shown in Figure 3 . Accordingly, in some embodiments, no information sets for unselected basic rules are generated or output at S606. In other embodiments, at S606, information sets for unselected basic rules may be generated but not output.
[0082] Each information set may also include one or more selected from the group consisting of values corresponding to the respective basic rule, margins of the basic rule, and one or more parasitic values or parasitic delta values corresponding to the measurements of the layout. Determining which to select from the group may depend on the mode of the layout tool, display option selections, the degree of consistency of the measurements of the layout with the basic rule or associated margins, or a combination thereof. When one or more parasitic values or parasitic delta values are selected, the one or more parasitic values or parasitic delta values may be calculated based on a reference layout.
[0083] Each information set may also include an indication of whether the measurements of the layout violate the basic rule corresponding to the information set, violate the margin associated with the basic rule, or both.
[0084] At S608, process 600 receives an input. The steps S610 to S618 described below correspond to determining the type of the received input and advancing to an appropriate step to process the input based on the type. The order shown in steps S610 to S618 is merely exemplary, and the embodiments are not limited thereto. In an embodiment, the order of steps S610 to S618 may be changed, one or more of steps S610 to S618 may be omitted, one or more additional steps may be added, or a combination thereof.
[0085] At S610, process 600 determines whether the input involves rule selection. When the input involves rule selection, process 600 advances to S620; otherwise, process 600 advances to S612.
[0086] At S612, process 600 determines whether the input involves updating the reference layout. When the input involves updating the reference layout, process 600 advances to S622; otherwise, process 600 advances to S614.
[0087] At S614, process 600 determines whether the input involves moving and / or reshaping a selected shape. Reshaping the selected shape may include resizing the selected shape. When the input involves moving and / or reshaping the selected shape, process 600 advances to S624; otherwise, process 600 advances to S616.
[0088] At S616, process 600 determines whether the input involves device selection. When the input involves device selection, process 600 advances to S626; otherwise, process 600 advances to S612.
[0089] At S618, process 600 determines whether the input involves moving and / or reshaping one or more devices. Reshaping the device may include resizing the device. When the input involves moving and / or resizing one or more devices, process 600 advances to S628; otherwise, process 600 advances to S632.
[0090] At S620, process 600 updates the selected basic rule set according to the input received at S608. Then, process 600 advances to S630.
[0091] At S622, process 600 incorporates the selected device into the reference layout. In an embodiment, incorporating the selected device replaces the corresponding device in the reference layout (if any). In an embodiment, the replacement may be only temporary according to the preference or input received by the layout tool. Then, process 600 advances to S630.
[0092] At S624, process 600 updates the layout according to the movement and / or reshaping of the selected shape. Then, process 600 advances to S630.
[0093] At S626, process 600 adds or removes devices from the selected set of devices according to the input received at S608. In some embodiments, only one device may be selected at a time, and selecting a new device will cause the previously selected device (if any) to be deselected. Process 600 then proceeds to S630.
[0094] At S628, process 600 updates the layout according to the movement and / or reshaping of the one or more devices. Process 600 then proceeds to S630.
[0095] At S630, process 600 updates and outputs design information regarding basic rules, margins, and parasitic effects according to any changes in the layout, selected basic rules, selected shapes, selected devices, or combinations thereof made by the previously executed steps of process 600. The update and output of this information may be performed as described regarding Figure 2B 、 2C 、3, 4, 5A or 5B, or combinations thereof. Process 600 then returns to S608.
[0096] At S632, process 600 performs decoding and processing on inputs other than those identified at S610 to S618; such decoding and processing are outside the scope of the present invention and are therefore not described herein. From S632, process 600 may return to S608 according to the received input or (not shown) may exit.
[0097] Figure 7 Shown is process 700 for determining which information to output, which may be performed by a layout tool according to an embodiment. Process 700 selects the information to output based on the possible current utility of the information in the layout design process being performed by using the layout tool. The selection made by process 700 as described below is exemplary, and the embodiments are not limited thereto.
[0098] At S702, process 700 determines whether the dimensions of the layout (e.g., distance, area, or aspect ratio) violate the basic rules of the selected set of basic rules. When the dimensions violate the basic rules, process 700 proceeds to S704; otherwise, process 700 proceeds to S710.
[0099] At S704, process 700 determines whether the dimensions of the layout violate the margins associated with the basic rules. When the dimensions violate the margins, process 700 proceeds to S714; otherwise, process 700 proceeds to S712.
[0100] At S710, process 700 selects a first set of information to output. In one embodiment, the first set of information includes the size of the layout, an indication of the basic rule, the value of the basic rule, and parasitic information related to the size. For example, when the size is the spacing between two components, the parasitic information may include the parasitic capacitance calculated using the spacing. As another example, when the size is the aspect ratio of a component, the parasitic information may include the resistance calculated using the aspect ratio.
[0101] In this case, since there is no violation of the basic rule and assuming that the margin value associated with the basic rule is not likely to be useful during the design process unless there is a violation of the basic rule, the margin value is not selected for output.
[0102] At S712, process 700 selects a second set of information to output. In one embodiment, the second set of information includes the size of the layout, an indication of the basic rule, the value of the basic rule, the margin value of the basic rule, and parasitic information related to the size.
[0103] In this case, since there is a violation of the basic rule but no violation of the margin, the value of the basic rule and the associated margin value may both be currently useful during the design process, and accordingly, both are selected for output.
[0104] At S714, process 700 selects a third set of information to output. In one embodiment, the third set of information includes the size of the layout, an indication of the basic rule, the margin value of the basic rule, and parasitic information related to the size.
[0105] In this case, since there is a violation of the margin and assuming that the value of the basic rule is not likely to be useful unless the size complies with the margin, the value of the basic rule is not selected for output. However, in another embodiment, it may be assumed that the value of the basic rule may be useful in this case, and thus in such embodiments, the value of the basic rule will be selected for output at S714.
[0106] At S720, process 700 outputs the selected set of information.
[0107] Figure 8 Shows the hardware components of a system 800 for providing a layout tool according to one embodiment.
[0108] Device 800 includes a processor 804, a memory 806, a storage 808, an input / output (I / O) interface 810, and a network interface 812. In some embodiments, Figure 8 one or more of the components shown may not be present in device 800.
[0109] Memory 806 and storage 808 may each include a non-transitory computer-readable medium. For example, memory 806 may include volatile memory such as dynamic random access memory (DRAM), non-volatile memory such as flash memory, or a combination thereof, but embodiments are not limited thereto. Storage 808 may include, for example, an optical disk, a hard disk drive, a solid state drive, or a combination thereof, but embodiments are not limited thereto.
[0110] Processor 804 may be configured to support the processes described herein. In an embodiment, the processes are performed by executing computer programming instructions stored in memory 806, storage 808, or both.
[0111] In embodiments where the layout-related processes of the present invention are performed using a GUI, the GUI may be presented by one or more devices included in or communicating with system 800 through I / O interface 810, through network interface 812, or both.
[0112] In an embodiment, Figure 1 the design layout database 102, DR database 104, PEX database 106, or margin information database 108, or a combination thereof may be stored in memory 106, storage 808, a storage device coupled to device 800 through network interface 810, or a combination thereof.
[0113] As described above, embodiments provide a layout design method, a layout design tool (layout tool), and an interface for layout design to provide real-time information usable for sub-rule-based layout design. The information may include margin information for applicable basic rules, parasitic information derived from the current state of the layout being processed, or both. The applicable basic rule may be a basic rule from a selected set of basic rules. The parasitic information may include a calculated value of parasitic attributes in the current layout, a delta value of parasitic attributes in the current layout relative to a reference layout, or both.
[0114] By providing the additional information described herein in real time during the layout design process, embodiments significantly reduce the time and resources required to generate a sub-rule-based layout for an electronic device.
[0115] The solution of the present invention has been described in connection with specific embodiments of the present invention presented as examples. Various alternatives, modifications, and variations may be made to the embodiments set forth herein without departing from the scope of the claims set forth below. Accordingly, the embodiments set forth herein are intended to be illustrative and not restrictive.
Claims
1. A method for performing layout design of an electronic device, characterized in that, The method includes: providing a representation of the first layout to the customer; and In response to input from the customer, a design information set calculated based on the first layout is provided to the customer, the design information set including dimensions extracted from the first layout and also including parasitic information related to the dimensions, margin information related to ground rules applicable to the dimensions, or both.
2. The method according to claim 1, characterized in that The design information set also includes an indication of the basic rule.
3. The method according to claim 1, characterized in that The design information set also includes a value for the basic rule.
4. The method according to claim 1, characterized in that The design information set also includes an indicator, which indicates whether the size complies with the basic rule.
5. The method according to claim 4, characterized in that The indicator also indicates whether the dimension complies with the margin.
6. The method according to claim 1, characterized in that Also includes: receiving a base rule selection input from the customer; selecting a plurality of selected base rules based on the base rule selection; as well as The base rule is selected from the plurality of selected base rules.
7. The method according to claim 6, characterized in that Also includes: In response to receiving the base rule selection from the client: updating the design information set according to the selected basic rule; as well as The updated design information set is provided to the customer.
8. The method according to claim 1, characterized in that The parasitic information includes parasitic property values associated with the dimension.
9. The method according to claim 1, characterized in that The parasitic information includes changes in parasitic property values associated with the dimension relative to a reference layout.
10. The method according to claim 1, characterized in that Also includes: In response to receiving component selection input from the client: The selected component is selected according to the component selection input. Provide the customer with the designation of the selected component, Extract the dimension based on the selected component, calculating the design information set according to the size, and The design information set is provided to the customer.
11. The method according to claim 1, characterized in that Also includes: In response to receiving reference incorporation input from the customer, components configured in the first layout are incorporated into a reference layout.
12. The method according to claim 1, characterized in that Also includes: In response to receiving input from the client element: modifying the position, shape, or both of the elements in the first layout; updating the design information set according to the modification of the component; as well as The updated set of information is provided to the client.
13. The method according to claim 1, characterized in that Also includes: receiving the input from the customer via a graphical user interface (GUI); providing the representation of the first layout to the customer via the GUI; as well as The design information set is provided to the customer through the GUI.
14. The method according to claim 1, wherein: Also includes: receiving the input from the client via an application programming interface (API); providing the representation of the first layout to the client via the API; as well as The design information set is provided to the client through the API.
15. A system for performing layout design of an electronic device, characterized in that: The system includes: at least one processor, The steps performed by the system after being configured include: providing a representation of the first layout to the customer; and In response to input from the customer, a design information set calculated based on the first layout is provided to the customer, the design information set including dimensions extracted from the first layout and also including parasitic information related to the dimensions, margin information related to ground rules applicable to the dimensions, or both.
16. A non-transitory computer readable medium (CRM), characterized in that The invention comprises computer programming instructions which, when executed by one or more processors of the system, cause the system to perform the steps comprising: providing a representation of the first layout to the customer; and In response to input from the customer, a design information set calculated based on the first layout is provided to the customer, the design information set including dimensions extracted from the first layout and also including parasitic information related to the dimensions, margin information related to ground rules applicable to the dimensions, or both.