A method and system for automatically identifying a device
By performing hierarchical grouping and logical operations on integrated circuit devices and automatically identifying devices, the false alarm problem in DRC verification is solved, and development efficiency is improved and development time is shortened.
Patent Information
- Application Number
- CN202411463643.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-21
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2044-10-21
Smart Images

Figure CN118982000B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of electronic design automation, and in particular to a method and system for automatically identifying components. Background Art
[0002] Integrated circuit process rule verification, referred to as DRC (Design Rule Check), is a part of the physical verification of integrated circuit design. When a manufacturing company's process is needed for circuit layout design, in addition to a complete set of manufacturing company's process design rules, a professional technical document is also required for automated process rule verification. Therefore, DRC is extremely critical.
[0003] Process rules are divided into general rules and device process rules. Each process design rule requires the design of a corresponding verification pattern. When performing automated process rule verification, the process rules will be used to verify each verification pattern. If the process rules cannot correctly identify the corresponding pattern, false positives will occur. Designers need to reconfirm the correctness of the verification pattern based on the process rules. Summary of the invention
[0004] The purpose of the present invention is to provide a method and system for automatically identifying components, thereby reducing the occurrence of DRC verification false positives, improving development efficiency, and shortening development time.
[0005] The present invention provides a method for automatically identifying a device, the method comprising:
[0006] The devices are divided into n layers, each layer including multiple device groups;
[0007] Select any device group in the nth layer as the device group to be identified, set all device groups in the first to nth layers including the device group to be identified as target device groups; set all other device groups belonging to the same parent set device group as any of the target device groups as comparison device groups for the target device group;
[0008] Obtaining a union of n first sets as a second set; wherein the elements in the first set include a common layer in a target device group in any layer;
[0009] Sorting the common layers in the second set according to a preset order to obtain a third set;
[0010] Performing INTERACT operations on all common layers in the third set in sequence to obtain a combined expression;
[0011] Obtaining a union of n fourth sets as a fifth set; wherein the elements in the fourth set include the remaining common layers in the common layers of the comparison device group in any layer, excluding all layers in the target device group corresponding to the comparison device group;
[0012] After performing NOT INTERACT operations on the combined expression and the common layers in the fifth set in sequence, a logical operation expression is obtained;
[0013] Perform an AND logic operation on the layer to be inspected and the logic operation expression, and determine whether the layer to be inspected can be used as an identification layer of the device group to be identified based on the operation result, wherein n is an integer greater than or equal to 1.
[0014] Furthermore, the method further comprises:
[0015] Obtain the common layers in the comparison device group within any layer device group to obtain the sixth set;
[0016] Get n sixth sets;
[0017] After enumerating n common layers in the sixth set, a seventh set is formed.
[0018] Furthermore, the method for obtaining the third set also includes:
[0019] According to the occurrence frequency of the common layers in the third set in the seventh set, all the common layers in the second set are sorted to obtain the third set.
[0020] Furthermore, all the common layers in the second set are sorted from low to high according to the frequency of appearance in the common layers in all the comparison device groups, so as to obtain the third set.
[0021] Further, if two or more common layers in the second set have the same frequency of appearance in the seventh set, then in the third set, the common layers corresponding to the parent set target device group are arranged before the common layers corresponding to the subset target device group.
[0022] Furthermore, in the process of obtaining the common layers of the target device group and the comparison device group, if it is determined that there is no common layer used by all devices in the target device group or the comparison device group, then the common layers of some devices in the target device group or the comparison device group and the common layers of the remaining devices are obtained.
[0023] Further, if there are a plurality of the common layers in the target device group or the comparison device group, the common layers are combined together through a logical OR operation.
[0024] Furthermore, the method for obtaining the fourth set includes:
[0025] Obtaining all layers in the target device group, recorded as an eighth set;
[0026] Obtaining the intersection of the eighth set and the sixth set in any layer device group, recorded as a ninth set;
[0027] The fourth set is obtained by subtracting the ninth set from the sixth set.
[0028] Furthermore, if the output result of the AND logic operation between the layer to be inspected and the logic operation expression is the intersection of the layer to be inspected and the first common layer in the third set, the layer to be inspected can be used as an identification layer for identifying the target device group.
[0029] The present invention also discloses a system for automatically identifying a device, the system comprising:
[0030] A device classification module is used to divide the devices into n layers, each layer including multiple device groups;
[0031] A setting module, after selecting any device group in the nth layer as the device group to be identified, the setting module is used to set all device groups in the first to nth layers including the device group to be identified as target device groups; and set all other device groups belonging to the same parent set device group as any target device group as comparison device groups for the target device group;
[0032] A first acquisition module is used to acquire a union of n first sets as a second set; wherein the elements in the first set include a common layer in a target device group in any layer;
[0033] A first arrangement module, used for sorting the common layers in the second set according to a preset order to obtain a third set;
[0034] A first logic operation module is used to perform INTERACT operation on all common layers in the third set in sequence to obtain a combined expression;
[0035] A second acquisition module is used to acquire a union of n fourth sets as a fifth set; wherein the elements in the fourth set are included in the common layers of the comparison device group in any layer, excluding the remaining common layers in the target device group corresponding to the comparison device group;
[0036] A second logic operation module is used to perform NOTINTERACT operations on the combined expression and the common layers in the set in sequence to obtain a logic operation expression;
[0037] A third judgment module is used to perform an AND logic operation on the layer to be checked and the logic operation expression;
[0038] The judging module judges whether the layer to be inspected can be used as the identification layer of the device group to be identified according to the calculation result.
[0039] Compared with the prior art, the present invention has at least the following technical effects:
[0040] After the devices are graded layer by layer, the user selects the device group to be identified, and the system can automatically analyze the common layers of the target device group and the comparison device group, and generate a logical expression for identifying the layer in combination with logical operations. After that, the user only needs to set the layer to be tested, and operate the layer to be tested with the logical operation expression to automatically determine whether the layer can be used to identify the device group to be identified. Through the above operations, the risk of users selecting the wrong identification layer during the DRC verification process is effectively reduced, thereby reducing the occurrence of DRC false alarms in the physical verification of integrated circuit design, improving development efficiency, and shortening the development time of devices. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] Figure 1 Schematic diagram of a flow chart of a method for automatically identifying a device in one embodiment of the present invention. DETAILED DESCRIPTION
[0042] The following is a description of a method and system for automatically identifying a device of the present invention in conjunction with a schematic diagram, wherein a preferred embodiment of the present invention is shown, and it should be understood that those skilled in the art can modify the present invention described herein and still achieve the beneficial effects of the present invention. Therefore, the following description should be understood as being widely known to those skilled in the art and not as a limitation of the present invention.
[0043] The present invention is described in more detail in the following paragraphs by way of example with reference to the accompanying drawings. The advantages and features of the present invention will become more apparent from the following description. It should be noted that the accompanying drawings are in very simplified form and in non-precise proportions, and are only used to facilitate and clearly assist in illustrating the purpose of the embodiments of the present invention.
[0044] Please refer to Figure 1 This embodiment provides a method for automatically identifying a device, the method comprising:
[0045] S1. Divide the device into n layers, each layer including multiple device groups;
[0046] S2. Select any device group in the nth layer as the device group to be identified, set all device groups containing the device group to be identified in the first to nth layers as target device groups; set all other device groups belonging to the same parent set device group as any of the target device groups as comparison device groups for the target device group;
[0047] S3. Obtaining a union of n first sets as a second set; wherein the elements in the first set include a common layer of a target device group in any layer;
[0048] S4. Sorting the common layers in the second set according to a preset order to obtain a third set;
[0049] S5. Perform INTERACT operations on all common layers in the third set in sequence to obtain a combined expression;
[0050] S6. Obtaining the union of n fourth sets as the fifth set; wherein the elements in the fourth set are included in any layer, and the common layers of the comparison device group exclude the remaining common layers after all layers in the target device group corresponding to the comparison device group are excluded;
[0051] S7. After performing NOT INTERACT operations on the combined expression and the common layers in the fifth set in sequence, a logical operation expression is obtained;
[0052] S8. Perform an AND logic operation on the layer to be inspected and the logic operation expression, and determine whether the layer to be inspected can be used as the identification layer of the preset device group according to the operation result.
[0053] In this embodiment, after the devices are graded layer by layer, the user selects the device group to be identified, and the system can automatically analyze the common layers of the target device group and the comparison device group, and generate a logical expression for identifying the layer in combination with logical operations. After that, the user only needs to set the layer to be tested, and operate the layer to be tested with the logical operation expression to automatically determine whether the layer can be used to identify the device group to be identified. Through the above operation, the risk of the user selecting the wrong identification layer during the DRC verification process is effectively reduced, thereby reducing the occurrence of DRC false alarms in the physical verification of integrated circuit design, improving development efficiency, and shortening the device development time.
[0054] In this embodiment, the device group to be identified needs to be distinguished from other device groups in order to perform process rule verification or circuit design.
[0055] In this embodiment, the layers represent different components of the circuit or electronic components, and each layer has different functions, for example: an oxide layer, which is used to isolate circuit components between different layers to prevent short circuits and serve as an insulating material; a polysilicon layer, which is composed of polysilicon and is used to manufacture transistor components, such as the gate of a MOSFET; a diffusion layer, which forms a P-type or N-type region in a silicon wafer through a diffusion process and is used to manufacture the source and drain of a transistor, as well as components such as resistors; a metal layer, which is composed of metal and is used to connect various components in the circuit to form a conduction path for the circuit, such as aluminum or copper; an insulating layer, which is used to isolate circuit components between different metal layers to prevent short circuits and serve as an insulating material; a dielectric layer, which is used to reduce the parasitic capacitance of the circuit and increase the signal transmission speed of the circuit.
[0056] Among them, the shared layer represents the layer used by all devices or some devices in a device group. For example, when MOSFET (transistor) is used as a device group, the device group includes multiple types of MOSFET devices, and the gate, source and drain can be used as the shared layer between the devices in the MOSFET device group.
[0057] In step S1, the devices are generally divided into different groups according to classification methods such as device type, structure or function, so as to define common or differentiated rules.
[0058] For example, devices can be divided into device groups such as resistors, capacitors, and MOS tubes according to their types. This type of grouping is the first-level grouping, and each device group also includes multiple devices. In addition, each device can be further subdivided according to the structure. For example, the resistor device itself can be divided into HR structure (high resistivity structure), Poly structure (polycrystalline silicon structure), Diffusion structure (diffusion structure) and Well structure (well structure) according to the structure. This type of grouping is the second-level grouping, and the second-level grouping can be further divided to obtain the third grouping, and so on to obtain the nth level grouping. The nth level grouping is the final level, where n is an integer greater than or equal to 1. Those skilled in the art can divide the devices according to actual conditions, and no specific limitation is made here.
[0059] In this embodiment, the devices may be divided into different levels by user-defined methods, or they may be automatically divided by the system, and no specific limitation is made here.
[0060] In step S2, after the user selects the device group to be identified, the system can automatically analyze the target device group and the comparison device group of each layer.
[0061] In steps S3 and S4, the specific steps for obtaining the third set are as follows:
[0062] S311. Find all common layers in the target device group in the nth level to obtain a first set;
[0063] S322. Find all common layers in the comparison device group in the nth level to obtain the sixth set;
[0064] S333. Repeat the operations in S311-S333 until the corresponding common layers are found in the device groups in all levels, and obtain n first sets and n sixth sets;
[0065] S334. Obtain a second set;
[0066] S555. After listing n common layers in the sixth set, a seventh set is formed;
[0067] S336. Sorting all the common layers in the second set from low to high according to the frequency of appearance in the common layers in all the comparison device groups, to obtain the third set.
[0068] In particular, if two or more common layers in the second set appear the same number of times in the seventh set, then in the third set, the common layers corresponding to the target device group with a higher level are arranged before the common layers corresponding to the target device group with a lower level. If the common layers that appear the same number of times in the second set are layers of the same level, there is no restriction on the arrangement order in the third set.
[0069] Furthermore, in steps S311 and S322, the common layer is a layer used by multiple devices. In any device group, there may be no common layer, one common layer, or even multiple common layers among multiple devices.
[0070] When it is determined that the number of shared layers between all devices in the target device group and the comparison device group is 0, the current device group is identified by combining the shared layers of some devices in the target device group and the comparison device group with the shared layers of the remaining devices. For example, layer A and layer B appear in the target device group at the same time, and have never appeared or been used in other device groups of the same level, but layer A is only shared by some devices in the target device group, layer B is only shared by some other devices in the target device group, and layer A and layer B have never been used simultaneously in any device group in the remaining comparison device groups, then layer A and layer B can be considered to be used in combination to identify the target device group. In addition, if the shared layers appear in combination, the current combination cannot be split, and a logical operation should be performed in an OR manner, for example: A OR B.
[0071] It should be noted that if there is no common layer in the device group to be identified, the devices need to be reclassified until a common layer exists in the target device group.
[0072] The following is a specific example of the above steps:
[0073] Suppose you want to identify a specific Poly structure MOSFET device:
[0074] S11. Classification of MOSFET devices:
[0075] First level: MOSFET devices are divided into Poly structure, Diffusion structure, HR structure, etc. according to their structure.
[0076] Second level: Poly structure MOSFET devices are divided into Non-Salicide and Salicide according to the silicide process.
[0077] S12. Get the first set:
[0078] Find the common layers in the target device group (all Poly-structure Non-Salicide (non-silicide) MOSFET devices) in the second level; obtain the common layer set of the Poly-Non-Salicide device group: {SAB}.
[0079] S13. Get the sixth set:
[0080] Find the common layers in the comparison device group (all Poly-structure Salicide (silicide) MOSFET devices) in the second level; get the common layer set of the Poly--Salicide device group: {empty set}.
[0081] S14: Repeat steps S12 and S14 to obtain a common layer set of the target device combination comparison device group in the first layer:
[0082] (1) Target device group: Poly structure device group shared layer set: {GTRESID};
[0083] (2) Comparison device groups: Common layer set of the Diffusion device group: {AARESID}; Common layer set of the HR device group: {HRPRESID}; Common layer set of the Well device group: {NW,NWRESID};
[0084] The common layer set of the target device group in the first level is: {GTRESID}; the common layer set of the comparison device group is: {AARESID, HRPRESID, NW, NWRESID};
[0085] S15. Obtain the second set: {SAB, GTRESID};
[0086] S16. Get the seventh set: {AARESID, HRPRESID, NW, NWRESID};
[0087] S17. Obtain the third set: {GTRESID,SAB}.
[0088] Furthermore, after executing step S4, you can continue to execute step S5, and then continue to execute steps S6-S8, or you can first execute step S6, and then execute steps S5, S7 and S8 in sequence. The specific execution order is not limited here, and technical personnel in this field can choose according to actual conditions.
[0089] In a specific embodiment of step S5, if the third set includes three layers a, b and c, a is the layer with the lowest number of appearances in the seventh set, b is the second, and c appears the most, then the final calculation result is (a INTERACT b) INTERACT c, which is a combined expression.
[0090] In step S6, the specific method of obtaining the fourth set at least includes:
[0091] S61. Obtain all layers in the target device group, recorded as the eighth set;
[0092] S62. Obtaining the intersection of the eighth set and the sixth set, recorded as a ninth set;
[0093] S63. Subtract the ninth set from the sixth set to obtain the fourth set.
[0094] After obtaining the first set and the second set, proceed to the subsequent S3 step.
[0095] In step S7, a NOT INTERACT operation is performed on the combined expression obtained in step S5 and the second set to obtain a final expression result for identifying the preset device group.
[0096] In a specific embodiment, the common layer of the comparison node device group is def, and the finally generated logic operation expression is: NAME = ((((a INTERACT b) INTERACT c) NOT INTERACT d) NOT INTERACT e)NOT INTERACT f. The finally generated logic operation result is a.
[0097] In step S8, when the user needs to define the process rules under a certain final node device group (the node corresponding to the device group to be identified), the user only needs to set the layer to be inspected. The algorithm automatically performs AND operation with the logical operation expression to automatically identify whether the layer to be inspected can be used as the identification layer of the device group to be identified.
[0098] In this embodiment, if the output result of the AND logic operation between the layer to be inspected and the logic operation expression is the intersection of the layer to be inspected and the first common layer in the third set, the layer to be inspected can be used as the identification layer for identifying the target device group. Otherwise, the layer to be inspected cannot be used as the identification layer for identifying the target device group.
[0099] A specific embodiment is listed below, in which a MOSFET device is identified by the above-mentioned device structure automatic identification method:
[0100] S100. The device is graded twice:
[0101] First level: MOSFET devices are divided into HR structure, Poly structure, Diffusion structure and Well structure according to their structure;
[0102] The second level: According to different process treatment methods, the HR structure is divided into Non-Salicide (non-silicide); the Diffusion structure is divided into Non-Salicide (non-silicide) and Salicide (silicide); the Poly structure is divided into Non-Salicide (non-silicide) and Salicide (silicide); the Well structure is divided into Under Field (field oxygen layer, meaning that the Well structure is built on the basis of the field oxygen layer) and Under Diffusion (diffusion layer, meaning that the Well structure is built on the basis of the diffusion layer).
[0103] S200. Select a device group to be identified, and select a target device group and a comparison device group according to the device group to be identified:
[0104] If the device group to be identified is selected as the Non-Salicide device group in the Poly structure, then this device group is also the target device group, and the comparison device group corresponding to this device group is the Salicide device group in the Poly structure; in addition, the Poly structure device group is also the target device group, and the HR structure device group, the Diffusion structure device group and the Well structure device group are the comparison device groups of the Poly structure device group.
[0105] S300. Perform common layer analysis on the target device group:
[0106] The common layer set of the Poly-Non-Salicide device group: {SAB};
[0107] The set of all layers of the Poly-Non-Salicide device group: {SAB, NW, GT, CT......};
[0108] Poly structure device group shared layer set: {GTRESID};
[0109] Get all layer sets of Poly-Non-Salicide device group and Poly structure device group: {SAB, GTRESID, NW, GT, CT......};
[0110] Get the second set: {SAB,GTRESID}.
[0111] S400. Perform common layer analysis on the comparison node device group:
[0112] Poly--Common layer set of Salicide device group: {empty set};
[0113] The common layer set of the Diffusion device group: {AARESID};
[0114] The common layer set of the HR device group: {HRPRESID};
[0115] The common layer set of the Well device group: {NW, NWRESID};
[0116] S400. Obtain a third set: {GTRESID,SAB}.
[0117] S500. Perform INTERACT operation on the elements in the third set to obtain a combined expression: GTRESIDINTERACT SAB;
[0118] S600. Get the fourth set:
[0119] Get the fourth set of the Poly--Salicide device group: {empty set};
[0120] Get the fourth set corresponding to the Diffusion device group: {AARESID};
[0121] Get the fourth set corresponding to the HR device group: {HRPRESID};
[0122] Get the fourth set corresponding to the Well device group: {NWRESID}.
[0123] S700. Get the fifth set: {AARESID, HRPRESID, NWRESID};
[0124] S800. Obtain the logical operation expression: ((GTRESID INTERACT SAB) NOT INTERACT AARESID) NOT INTERACT HRPRESID) NOT INTERACT NWRESID.
[0125] S900. When the user needs to define the process rules of the Poly-Non-Salicide device group, he only needs to set the layer to be inspected, for example: GTRESID layer, and the algorithm can automatically identify whether the GTRESID layer is the identification layer of the Poly-Non-Salicide device group.
[0126] Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include these modifications and variations.
Claims
1. A method for automatically identifying a device, characterized in that: The method comprises: The devices are divided into n layers, each layer including multiple device groups; Select any device group in the nth layer as the device group to be identified, set all device groups in the first to nth layers including the device group to be identified as target device groups; set all other device groups belonging to the same parent set device group as any of the target device groups as comparison device groups for the target device group; Obtaining a union of n first sets as a second set; wherein the elements in the first set include a common layer of a target device group in any layer; Sorting the common layers in the second set according to a preset order to obtain a third set; Performing INTERACT operations on all common layers in the third set in sequence to obtain a combined expression; Obtaining a union of n fourth sets as a fifth set; wherein the elements in the fourth set include the remaining common layers in the common layers of the comparison device group in any layer, excluding all layers in the target device group corresponding to the comparison device group; After performing NOT INTERACT operations on the combined expression and the common layers in the fifth set in sequence, a logical operation expression is obtained; Performing an AND logic operation on the layer to be inspected and the logic operation expression, and judging whether the layer to be inspected can be used as the identification layer of the device group to be identified according to the operation result, wherein n is an integer greater than or equal to 1; If the output result of the AND logic operation between the layer to be inspected and the logic operation expression is the intersection of the layer to be inspected and the first common layer in the third set, the layer to be inspected can be used as an identification layer for identifying the target device group.
2. The method for automatically identifying a device according to claim 1, characterized in that: The method further comprises: Obtain the common layers in the comparison device group within any layer device group to obtain the sixth set; Get n sixth sets; After enumerating n common layers in the sixth set, a seventh set is formed.
3. The method for automatically identifying a device according to claim 2, characterized in that: The method for obtaining the third set also includes: According to the occurrence frequency of the common layers in the third set in the seventh set, all the common layers in the second set are sorted to obtain the third set.
4. The method for automatically identifying a device according to claim 3, characterized in that: The third set is obtained by sorting all the common layers in the second set from low to high according to the frequency of occurrence in the common layers in all the comparison device groups.
5. The method for automatically identifying a device according to claim 3, characterized in that: If two or more common layers in the second set have the same frequency of appearance in the seventh set, then in the third set, the common layers corresponding to the parent set target device group are arranged before the common layers corresponding to the subset target device group.
6. The method for automatically identifying a device according to claim 2, characterized in that: In the process of obtaining the common layers of the target device group and the comparison device group, if it is determined that there is no common layer used by all devices in the target device group or the comparison device group, then the common layers of some devices in the target device group or the comparison device group and the common layers of the remaining devices are obtained.
7. The method for automatically identifying a device according to claim 6, characterized in that: If there are a plurality of the common layers in the target device group or the comparison device group, the common layers are combined together through a logical OR operation.
8. The method for automatically identifying a device according to claim 2, characterized in that: The method for obtaining the fourth set includes: Obtaining all layers in the target device group, recorded as an eighth set; Obtaining the intersection of the eighth set and the sixth set, recorded as a ninth set; The fourth set is obtained by subtracting the ninth set from the sixth set.
9. The method for automatically identifying a device according to claim 1, characterized in that: If the output result of the AND logic operation between the layer to be inspected and the logic operation expression is the intersection of the layer to be inspected and the first common layer in the third set, the layer to be inspected can be used as an identification layer for identifying the target device group.
10. A system for automatically identifying a device, characterized in that: The system comprises: A device classification module is used to divide the devices into n layers, each layer including multiple device groups; A setting module, after selecting any device group in the nth layer as the device group to be identified, the setting module is used to set all device groups in the first to nth layers including the device group to be identified as target device groups; and set all other device groups belonging to the same parent set device group as any target device group as comparison device groups for the target device group; A first acquisition module is used to acquire a union of n first sets as a second set; wherein the elements in the first set include a common layer in a target device group in any layer; A first arrangement module, used for sorting the common layers in the second set according to a preset order to obtain a third set; A first logic operation module is used to perform INTERACT operation on all common layers in the third set in sequence to obtain a combined expression; A second acquisition module is used to acquire a union of n fourth sets as a fifth set; wherein the elements in the fourth set are included in the common layers of the comparison device group in any layer, excluding the remaining common layers in the target device group corresponding to the comparison device group; A second logic operation module is used to perform NOTINTERACT operations on the combined expression and the common layers in the set in sequence to obtain a logic operation expression; A third judgment module is used to perform an AND logic operation on the layer to be checked and the logic operation expression; The judgment module judges whether the layer to be inspected can be used as the identification layer of the device group to be identified according to the operation result. If the output result of the AND logic operation between the layer to be inspected and the logic operation expression is the intersection of the layer to be inspected and the first common layer in the third set, then the layer to be inspected can be used as the identification layer for identifying the target device group.
Citation Information
Patent Citations
Auxiliary layer and method for identification of type of inductor component in integrated circuit
CN108829995A
Circuit identification method and device, electronic equipment and computer readable storage medium
CN115935890A