Batch automatic deployment method and device for CMOS device model connecting holes
By automatically obtaining and processing the attribute parameters and hole distribution of CMOS devices, the batch automatic deployment of the connection holes of the CMOS device model is achieved, solving the problem of time and effort of manually adding through holes, and improving design efficiency and accuracy.
Patent Information
- Application Number
- CN202510190201.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-20
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2045-02-20
AI Technical Summary
In analog layout design, manually adding through holes to CMOS devices requires a lot of time and effort, especially in large-scale designs, which can easily lead to reduced design efficiency and human errors.
A method for automatic batch deployment of CMOS device model connection holes is proposed. By obtaining all the devices to be drilled on the target layout, looking up the preset database based on the device name ID, determining the device's attribute parameters and hole distribution, and automatically creating holes.
The automated process reduces the workload of manually adding through holes, improves design speed and efficiency, avoids human errors, and ensures that the hole distribution complies with design rules.
Smart Images

Figure CN119647393A_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the technical field of automatic deployment, and in particular relates to a method and a device for automatically deploying batches of connection holes of a CMOS device model. Background Art
[0002] In the current analog layout design, Virtuoso is mainly used to complete device layout, metal layer connection verification and other operations. In the actual design process, if CMOS devices are involved, it is usually necessary to deal with the connection problem between the POLY layer and the metal layer. For the same type of MOS tubes with the same size, the connection between the POLY layer and the metal layer can be achieved by adding through holes in batches. However, for CMOS devices of different sizes, the operation must be reselected and set to correctly add through holes.
[0003] Since the device graphic models provided by different process manufacturers are not the same, if the function of automatically adding vias between POLY and metal layers is used, some problems that do not meet the design rule check DRC requirements may be introduced in subsequent drawing operations. For example, the POLY layer may need to cover the P+ or N+ ion implantation layer, and directly drawing the wire when connecting the source and drain metal wires may not meet the DRC requirements of the metal wires, etc. These problems need to be modified manually, which increases the workload. Therefore, many engineers choose not to use the automatic addition of vias function of the device graphic model, but to add vias manually to ensure that the added vias meet the verification requirements and avoid unnecessary redundant work for subsequent operations.
[0004] However, manually adding vias requires designers to operate each device one by one, which consumes a lot of time and energy. Especially in large-scale designs, the workload of manual operation is extremely large, which will greatly reduce design efficiency. In addition, since manual operation relies on the careful judgment of engineers, it is easy to cause human errors, further reducing design efficiency. Summary of the invention
[0005] The purpose of the present invention is to solve the above problems and to provide a method and device for automatically deploying batch connection holes of a CMOS device model.
[0006] In a first aspect of the present invention, a method for automatically deploying batches of connection holes in a CMOS device model is first proposed, the method comprising: Obtain all devices to be punched on the target layout to obtain a first punching device set; each punching device has a name id; Searching a first preset database according to the name ID of the target punching device, determining the number of punching layers corresponding to the target punching device and the initial attribute parameters of the target punching device in each punching layer, and initializing the initial attribute parameters to obtain target attribute parameters; the target punching device is any one of the first punching device set; For each perforated device, the target attribute parameters corresponding to all perforated devices with the same number of layers are classified to obtain multiple attribute parameter layers; The hole distribution corresponding to each layer of the target punching device is determined according to the attribute parameter layer, and the holes corresponding to each layer are created according to the hole distribution corresponding to each layer.
[0007] Optionally, the initial attribute parameters include the number of fingers, finger length, the interval between fingers and the finger width; the number of fingers is the number of MOS tubes; the finger length is the length of a single MOS tube; the interval between fingers is the spacing between the POLY layers of two MOS tubes; the finger width is the width of a single MOS tube.
[0008] Optionally, initializing the initial attribute parameters to obtain target attribute parameters includes: Determine whether the letter n exists in the parameter values corresponding to the finger length and finger width respectively; If the target parameter value contains the letter n, the target parameter value is converted into a micron value, and the micron value is converted into a floating point number to obtain a target floating point value; if the target parameter value is a parameter value of finger length, the target length value is a floating point value of finger length; if the target parameter value is a parameter value of finger width, the target length value is a floating point value of finger width; By formula Get the total length L; Where L is the total length, A floating point value for the length of the finger. is the number of fingers, The interval between fingers; The total length and the finger width floating point values are recorded as target attribute parameters.
[0009] Optionally, determining the hole distribution corresponding to the target punching device in each layer according to the attribute parameter layer includes: Searching the connection hole requirements corresponding to the current attribute parameter layer in the second preset database according to the current attribute parameter layer; the connection hole requirements include connection hole width, connection hole spacing and side connection hole spacing; By formula Obtaining the total number of target connection holes of the target punching device; Wherein, S is the total number of target connection holes, L is the total length, is the connection hole spacing, is the side connection hole spacing, is the width of the connection hole; If the total number of target connection holes is less than the preset number of holes, setting the total number of target connection holes to the preset number of holes; The hole distribution corresponding to the target punching device in each layer is determined according to the total number of the target connection holes.
[0010] Optionally, creating holes corresponding to each layer according to hole distribution corresponding to each layer includes: Obtaining the target coordinates of the target punching device, and determining the target through-hole coordinates according to a preset direction, the target coordinates and preset left and right edge values; For each layer, the hole distribution map corresponding to the layer is determined according to the target through-hole coordinates to obtain the total boundary length of the through-hole; If the total boundary length of the through hole is less than the total length and the total number of horizontal connecting holes is greater than or equal to the preset number of holes, the target through hole coordinates are corrected according to the expansion value required when the through hole length is insufficient and the preset left and right edge values until the total boundary length of the through hole is equal to the total length.
[0011] In a second aspect of the present invention, a device for automatically deploying batches of connection holes of a CMOS device model is provided, comprising: A first punching device set determination module is used to obtain all devices to be punched on the target layout to obtain a first punching device set; each punching device has a name id; a target attribute parameter determination module, configured to search a first preset database according to the name ID of a target perforating device, determine the number of perforating layers corresponding to the target perforating device and the initial attribute parameters of the target perforating device in each perforating layer, and initialize the initial attribute parameters to obtain target attribute parameters; the target perforating device is any one of the first perforating device set; A target attribute parameter classification module is used to classify the target attribute parameters corresponding to all the perforated devices with the same number of layers for each perforated device to obtain multiple attribute parameter layers; The hole generation module is used to determine the hole distribution corresponding to each layer of the target punching device according to the attribute parameter layer, and create the corresponding holes of each layer according to the hole distribution corresponding to each layer.
[0012] Optionally, the initial attribute parameters include the number of fingers, finger length, the interval between fingers and the finger width; the number of fingers is the number of MOS tubes; the finger length is the length of a single MOS tube; the interval between fingers is the spacing between the POLY layers of two MOS tubes; the finger width is the width of a single MOS tube.
[0013] Optionally, the target attribute parameter determination module includes: A letter determination module is used to determine whether the letter n exists in the parameter values corresponding to the finger length and the finger width respectively; A floating point number determination module, for converting the target parameter value into a micron value if the target parameter value contains the letter n, and converting the micron value into a floating point number to obtain a target floating point value; if the target parameter value is a parameter value of finger length, the target length value is a finger length floating point value; if the target parameter value is a parameter value of finger width, the target length value is a finger width floating point value; The total length determination module is used to determine the total length of the Get the total length L; Where L is the total length, A floating point value for the length of the finger. is the number of fingers, The interval between fingers; The target attribute parameter generating module is used to record the total length and the finger width floating point value as the target attribute parameters.
[0014] Optionally, the hole generation module includes: A connection hole requirement determination module, used to search the connection hole requirements corresponding to the current attribute parameter layer in the second preset database according to the current attribute parameter layer; the connection hole requirements include connection hole width, connection hole spacing and side connection hole spacing; The first punching device set determination module is used to determine the first punching device set through the formula Obtaining the total number of target connection holes of the target punching device; Wherein, S is the total number of target connection holes, L is the total length, is the connection hole spacing, is the side connection hole spacing, is the width of the connection hole; If the total number of target connection holes is less than the preset number of holes, setting the total number of target connection holes to the preset number of holes; The hole distribution corresponding to the target punching device in each layer is determined according to the total number of the target connection holes.
[0015] Optionally, the hole generation module further includes: A target through-hole coordinate determination module, used to obtain the target coordinates of the target punching device, and determine the target through-hole coordinates according to a preset direction, the target coordinates and preset left and right edge values; A through-hole total boundary length determination module is used to determine the hole distribution map corresponding to each layer according to the target through-hole coordinates to obtain the through-hole total boundary length; The target through-hole coordinate correction module is used to correct the target through-hole coordinates according to the expansion value required when the through-hole length is insufficient and the preset left and right hemming values if the total boundary length of the through-hole is less than the total length and the total number of horizontal connecting holes is greater than or equal to the preset number of holes, until the total boundary length of the through-hole is equal to the total length.
[0016] Beneficial effects of the present invention: The present invention proposes a method for batch automatic deployment of connection holes of CMOS device models, which obtains all devices to be punched on the target layout to obtain a first punching device set; each punching device has a name id; according to the name id of the target punching device, the first preset database is searched to determine the number of punching layers corresponding to the target punching device and the initial attribute parameters of the target punching device in each punching layer, and the initial attribute parameters are initialized to obtain the target attribute parameters; the target punching device is any one in the first punching device set; for each punching device, the target attribute parameters corresponding to all punching devices under the same number of layers are classified to obtain multiple attribute parameter layers; according to the attribute parameter layer, the hole distribution corresponding to the target punching device in each layer is determined, and the corresponding holes in each layer are created according to the hole distribution corresponding to each layer. By automatically obtaining device attributes and layer number information from the database, the workload of manually adding through holes can be reduced, and the tediousness and inefficiency of manual operation can be avoided. Then, the hole distribution is determined according to the attribute parameters of each layer, and the corresponding holes are automatically created, which not only improves the design speed, but also effectively avoids inaccurate positions during manual drawing, thereby improving the design efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The present invention will be further described below in conjunction with the accompanying drawings.
[0018] Figure 1 A flow chart of a method for batch automatic deployment of connection holes of a CMOS device model is provided for an embodiment of the present invention; Figure 2 A schematic structural diagram of a device for automatically deploying batch connection holes of a CMOS device model is provided for an embodiment of the present invention. DETAILED DESCRIPTION
[0019] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. The term "and / or" herein is only a description of the association relationship of the associated objects, indicating that there can be three relationships. For example, A and B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the present invention, the description of "first", "second", etc. is only used for descriptive purposes, and cannot be understood as indicating or implying its relative importance or implicitly indicating the number of technical features indicated. Therefore, the features defined as "first" and "second" can explicitly or implicitly include at least one of the features. In addition, the technical solutions between the various embodiments can be combined with each other, but it must be based on the ability of ordinary technicians in the field to implement. When the combination of technical solutions is contradictory or cannot be implemented, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection required by the present invention.
[0020] Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making any creative work shall fall within the scope of protection of the present invention.
[0021] The embodiment of the present invention provides a method for automatically deploying batches of connection holes in a CMOS device model. Figure 1 , Figure 1 A flowchart of a method for automatically deploying batches of connection holes of a CMOS device model provided by an embodiment of the present invention. The method comprises the following steps: S101, acquiring all devices to be punched on the target layout to obtain a first punching device set; S102, searching a first preset database according to the name ID of the target punching device, determining the number of punching layers corresponding to the target punching device and the initial attribute parameters of the target punching device in each punching layer, and initializing the initial attribute parameters to obtain target attribute parameters; S103, for each perforated device, classifying the target attribute parameters corresponding to all perforated devices with the same number of layers to obtain multiple attribute parameter layers; S104, determining the hole distribution corresponding to the target punching device in each layer according to the attribute parameter layer, and creating holes corresponding to each layer according to the hole distribution corresponding to each layer.
[0022] Each punching device has a name id; the target punching device is any one in the first punching device set.
[0023] A method for automatically deploying batches of connection holes in a CMOS device model provided by an embodiment of the present invention can reduce the workload of manually adding through holes by automatically acquiring device properties and layer number information from a database, thereby avoiding the tedious and inefficient manual operation. The hole distribution is then determined based on the property parameters of each layer, and the corresponding holes are automatically created, which not only improves the design speed, but also effectively avoids inaccurate positions during manual drawing, thereby improving design efficiency.
[0024] In one implementation, by automatically acquiring the target punching device and searching for the corresponding attribute parameters from the database, manual operations and repetitive work can be significantly reduced. Especially in large-scale designs, this automated process can significantly shorten the design cycle and reduce the workload of engineers.
[0025] In one implementation, the target layout is a layout interface operated by a user, and the first preset database is used to store all punching device IDs, the number of punching layers corresponding to each punching device ID, and the initial attribute parameters of the target punching device in each punching layer; the number of attribute parameter layers is determined by the punching device with the most layers. For example, the first preset database stores that punching device A has 4 layers (A1, A2, A3, A4), punching device B has 5 layers (B1, B2, B3, B4, B5), and punching device C has 6 layers, then the number of attribute parameter layers is 6 (C1, C2, C3, C4, C5, C6), and the number of layers is usually from the bottom layer upward, then the first layer is (A1, B1, C1), the second layer is (A2, B2, C2), and so on until the fifth layer (B5, C5) and the sixth layer (C6).
[0026] In one implementation, the target attribute parameters corresponding to all the perforated devices at the same layer number are classified, specifically to obtain the attribute parameters corresponding to all the devices at the current layer.
[0027] In one implementation, for punching devices with the same number of layers, the target attribute parameters are automatically classified and unified, which can ensure that devices of the same type have consistent punching parameters, help improve design consistency, ensure consistent application of design rules, and avoid inconsistencies between different devices or different layers.
[0028] In one implementation, by presetting attribute parameters and automatically generating hole distribution, it is possible to better comply with design rules, reduce DRC design rule check violations caused by manual operations, and greatly reduce the probability of rework due to DRC violations in the later stage.
[0029] In one implementation, by obtaining and initializing the device's attribute parameters from a database, it can be ensured that the parameters of all devices and holes are managed in a standardized manner, thereby improving the stability and reliability of the design. The database, as a parameter source, can effectively avoid parameter inconsistencies that may occur during the processing of different design engineers. If the hole position needs to be modified or a new layer needs to be added, the entire design can be quickly adjusted by updating the attribute parameters in the database, avoiding the trouble of manual adjustment. Moreover, since the design has been parameterized, later optimization is more convenient and can quickly respond to changes in design requirements.
[0030] In one embodiment, the initial attribute parameters include the number of fingers, the length of the finger, the interval between the fingers and the finger width; the number of fingers is the number of MOS tubes; the finger length is the length of a single MOS tube; the interval between the fingers is the spacing between the POLY layers of two MOS tubes; the finger width is the width of a single MOS tube.
[0031] In one embodiment, initializing the initial attribute parameters to obtain the target attribute parameters includes: Determine whether the letter n exists in the parameter values corresponding to the finger length and finger width respectively; If the target parameter value contains the letter n, the target parameter value is converted to a micron value, and the micron value is converted to a floating point number to obtain a target floating point value; if the target parameter value is a parameter value of finger length, the target length value is a floating point value of finger length; if the target parameter value is a parameter value of finger width, the target length value is a floating point value of finger width; By formula Get the total length L; Where L is the total length, It is the floating point value of finger length. is the number of fingers, The interval between fingers; Record the total length and finger width floating point values as target attribute parameters.
[0032] In one implementation, if the letter n exists in the target parameter value, it means that the current unit is nanometers. In this case, the unit needs to be converted into micrometers, that is, the original target parameter value is divided by 1000. By converting the n (nanometers) in the target parameter value into micrometers and finally converting it into a floating point number, it can be ensured that all parameters use a unified unit of micrometers, avoiding errors caused by inconsistent units between different design parameters. The parameters of different modules in the design can be standardized, avoiding design errors or inconsistencies caused by improper unit conversion.
[0033] In one implementation, the interval between each adjacent finger is equal; if the letter n does not exist in the target parameter value, the target parameter is directly converted into a floating point number.
[0034] In one implementation, the total length L is calculated by combining the finger length, the number of fingers, and the spacing between fingers to ensure that the size and layout of each device meet the design requirements. The calculated total length can help accurately adjust and place devices in the layout design to avoid problems with the design not complying with the design rules DRC due to incorrect size or improper arrangement.
[0035] In one implementation, the length, width, and spacing of each finger are accurately calculated based on floating-point values and summarized as target attribute parameters. High-precision parameter calculation helps ensure that the position and size of each device on the layout are very accurate, thereby improving the accuracy and stability of the entire design.
[0036] In one embodiment, determining the hole distribution corresponding to the target perforating device in each layer according to the attribute parameter layer includes: Searching the connection hole requirements corresponding to the current attribute parameter layer in the second preset database according to the current attribute parameter layer; the connection hole requirements include connection hole width, connection hole spacing and side connection hole spacing; By formula Obtain the total number of target connection holes of the target punching device; Among them, S is the total number of target connection holes, L is the total length, is the connection hole spacing, is the spacing between the side connection holes, is the width of the connection hole; If the total number of target connection holes is less than the preset number of holes, the total number of target connection holes is set to the preset number of holes; The hole distribution corresponding to the target punching device in each layer is determined according to the total number of target connection holes.
[0037] In one implementation, based on the provided parameters such as connection hole width, spacing, and side connection hole spacing, the total number of connection holes for each device can be accurately calculated, and the hole distribution can be performed to obtain a target sorted hole group. This precise calculation helps to ensure that the distribution of holes on each layer meets the design requirements and avoids problems such as poor electrical contact or short circuits due to inappropriate hole layout. By calculating according to preset hole requirements such as connection hole width, spacing, etc., it can be ensured that the hole distribution of each punched device meets the design rules and avoids design rule check DRC errors caused by improper hole size or spacing.
[0038] In one implementation, the second preset database stores the connection hole requirements of all punching devices in different layers. If the total number of horizontal connection holes is less than the preset number of holes, no change is made. The preset number of holes is 2, and the connection holes are square.
[0039] In one implementation, by automatically searching for connection hole requirements in a second preset database and automatically calculating the total number of connection holes based on a formula, the manual intervention of engineers can be significantly reduced and design efficiency can be improved. In particular, in complex layout designs, automated calculation of hole numbers and layouts can greatly reduce the burden on designers. Manual calculation of the number of holes may result in errors due to negligence, resulting in uneven hole distribution or non-compliance with requirements. Automated calculation and distribution can reduce the occurrence of such errors and ensure the accuracy of the design.
[0040] In one implementation, different devices may have different connection hole requirements. By searching for the corresponding hole requirements based on the attribute parameter layer of the target device, the appropriate number of connection holes can be flexibly calculated for each device to ensure the customization and flexibility of the design. If the design requirements or process changes, only the connection hole requirements or related parameters in the database need to be adjusted, and the automated calculation will automatically update the hole distribution to adapt to the new requirements.
[0041] In one implementation, if the calculated total number of horizontal connection holes is less than the preset number of holes, the number of horizontal connection holes is automatically adjusted to the preset value to ensure that the design meets the most basic requirements and prevent poor electrical performance or subsequent connection failures caused by insufficient holes.
[0042] In one embodiment, creating holes corresponding to each layer according to hole distribution corresponding to each layer includes: Obtain target coordinates of a target punching device, and determine target through-hole coordinates according to a preset direction, target coordinates, and preset left and right edge values; For each layer, the hole distribution map corresponding to the layer is determined according to the target through-hole coordinates to obtain the total boundary length of the through-hole; If the total boundary length of the through hole is less than the total length and the total number of horizontal connecting holes is greater than or equal to the preset number of holes, the target through hole coordinates are corrected according to the expansion value required when the through hole length is insufficient and the preset left and right edge values until the total boundary length of the through hole is equal to the total length.
[0043] In one implementation, the coordinates of the through-hole can be accurately determined by obtaining the coordinates of the target punching device and combining the preset direction with the left and right edge values. Accurate coordinate calculation can ensure that the hole distribution meets the design requirements and avoid unstable electrical connections or layout conflicts due to deviations. The total boundary length of the through-hole is calculated and adjusted to ensure that it meets the total length requirements, thereby ensuring the dimensional consistency of the entire design. By comparing the actual through-hole boundary length with the target total length, the hole layout can be dynamically adjusted to ensure design specifications.
[0044] In one implementation, the preset direction is determined by a technician, and the target through-hole coordinates are determined based on the preset direction, target coordinates, and preset left and right edge values. Specifically, the execution direction is first determined based on the preset direction of the punching device. For example, if the direction of the punching device is R0, it means that there is no rotation. At this time, the arrangement direction of the through hole is judged. If the arrangement direction is up, it means that the through hole will be arranged above the device, and the x-coordinate value of the coordinates of the punching device is obtained. The x-coordinate of the through hole is obtained by adding the x-coordinate value to half of the total length L, and the y-coordinate value is added to the punching finger width and then added with the offset to obtain the y-coordinate of the through hole. After obtaining the x-coordinate and y-coordinate, they are used as the target through-hole coordinates. The target through-hole coordinates are used as the center of the target sorted hole group to map the target sorted hole group to determine all punching positions of the punching device.
[0045] In one implementation, the target coordinate is usually a vertex. Similarly, the vertices corresponding to the hole distribution are obtained and then the total boundary length of the through hole is obtained. After the correspondence, the through hole is created by calling the dbCreateVia function. If the total boundary length of the through hole is less than the total length and the total number of horizontal connecting holes is greater than or equal to the preset number of holes, it means that the preset left and right edge values at that time are too small. At this time, the preset left and right edge values are modified. The value that needs to be expanded when the through hole length is insufficient is divided by 2 plus the original left and right edge values to obtain new left and right edge values. The above description is in the horizontal direction. Similarly, the vertical direction is also operated as the above solution. Finally, both the horizontal and vertical directions meet the requirements.
[0046] In one implementation, the target through-hole coordinates and the total hole boundary length are automatically calculated, reducing the need for designers to manually adjust the hole position and quantity. If the total through-hole boundary length does not meet expectations, the system will automatically correct it, avoiding errors and inconsistencies caused by human intervention and ensuring the consistency and reliability of the design.
[0047] In one implementation, by automatically adjusting the edge value according to the total length and the edge value, different design requirements or changes can be flexibly responded to. Whether it is adjusting the spacing between devices or responding to different process requirements, a quick response can be made by adjusting the edge value. Different processes may have different requirements for the size, spacing and layout of the holes. The solution can adjust the hole distribution according to the preset edge value and total length to adapt to different design and process requirements, ensuring that the design maintains good compatibility and performance under different processes.
[0048] In one implementation, during the design process, if the hole layout does not meet expectations, the system will automatically correct the through-hole coordinates, avoiding the trouble of manual recalculation and adjustment, greatly reducing redundant workload. Designers do not need to make manual corrections on every detail and can quickly adjust the overall design. In a multi-layer design, the hole distribution of the target perforated device will involve multiple levels. This solution can automatically calculate the hole distribution of each layer and correct it according to the total boundary length and the preset edge value to ensure that the hole distribution of each layer of the design meets the total length requirements.
[0049] In one implementation, the accurate position and layout of each hole can be ensured by automatically calculating and adjusting the hole coordinates, avoiding inaccurate layout caused by manual calculation or adjustment errors, and ensuring high design accuracy; by ensuring that the total boundary length of the through hole matches the total length and the hole distribution is reasonable, the risk of DRC violations in the subsequent design verification process can be reduced, reducing the possibility of rework.
[0050] Based on the same inventive concept, the embodiment of the present invention also provides a CMOS device model connection hole batch automatic deployment device. Figure 2 , Figure 2 A schematic structural diagram of a device for automatically deploying batch connection holes of a CMOS device model provided by an embodiment of the present invention includes: A first punching device set determination module is used to obtain all devices to be punched on the target layout to obtain a first punching device set; each punching device has a name id; a target attribute parameter determination module, configured to search a first preset database according to the name ID of the target punching device, determine the number of punching layers corresponding to the target punching device and the initial attribute parameters of the target punching device in each punching layer, and initialize the initial attribute parameters to obtain the target attribute parameters; the target punching device is any one of the first punching device set; A target attribute parameter classification module is used to classify the target attribute parameters corresponding to all the perforated devices with the same number of layers for each perforated device to obtain multiple attribute parameter layers; The hole generation module is used to determine the hole distribution corresponding to the target punching device in each layer according to the attribute parameter layer, and create the corresponding holes in each layer according to the hole distribution corresponding to each layer.
[0051] A device for automatically deploying connection holes in batches for a CMOS device model provided in an embodiment of the present invention can reduce the workload of manually adding through holes by automatically acquiring device properties and layer number information from a database, thereby avoiding the tedious and inefficient manual operation. The hole distribution is then determined based on the property parameters of each layer, and the corresponding holes are automatically created, which not only improves the design speed, but also effectively avoids inaccurate positions during manual drawing, thereby improving design efficiency.
[0052] In one embodiment, the initial attribute parameters include the number of fingers, finger length, interval between fingers and finger width; the number of fingers is the number of MOS tubes; the finger length is the length of a single MOS tube; the interval between fingers is the spacing between the POLY layers of two MOS tubes; the finger width is the width of a single MOS tube.
[0053] In one embodiment, the target attribute parameter determination module includes: A letter determination module is used to determine whether the letter n exists in the parameter values corresponding to the finger length and the finger width respectively; A floating point number determination module is used for converting the target parameter value into micrometers to obtain a micrometer value if the target parameter value contains the letter n, and converting the micrometer value into a floating point number to obtain a target floating point value; if the target parameter value is a parameter value of finger length, the target length value is a floating point value of finger length; if the target parameter value is a parameter value of finger width, the target length value is a floating point value of finger width; The total length determination module is used to determine the total length of the Get the total length L; Where L is the total length, It is the floating point value of finger length. is the number of fingers, The interval between fingers; The target attribute parameter generation module is used to record the total length and finger width floating point values as target attribute parameters.
[0054] In one embodiment, the hole generation module comprises: A connection hole requirement determination module, used to search the connection hole requirements corresponding to the current attribute parameter layer in the second preset database according to the current attribute parameter layer; the connection hole requirements include connection hole width, connection hole spacing and side connection hole spacing; The first punching device set determination module is used to determine the first punching device set through the formula Obtain the total number of target connection holes of the target punching device; Among them, S is the total number of target connection holes, L is the total length, is the connection hole spacing, is the spacing between the side connection holes, is the width of the connection hole; If the total number of target connection holes is less than the preset number of holes, the total number of target connection holes is set to the preset number of holes; The hole distribution corresponding to the target punching device in each layer is determined according to the total number of target connection holes.
[0055] In one embodiment, the hole generation module further comprises: A target through-hole coordinate determination module is used to obtain the target coordinates of the target punching device and determine the target through-hole coordinates according to the preset direction, the target coordinates and the preset left and right edge values; A through-hole total boundary length determination module is used to determine the hole distribution map corresponding to each layer according to the target through-hole coordinates to obtain the through-hole total boundary length; The target through-hole coordinate correction module is used to correct the target through-hole coordinates according to the expansion value required when the through-hole length is insufficient and the preset left and right hemming values if the total boundary length of the through-hole is less than the total length and the total number of horizontally connected holes is greater than or equal to the preset number of holes, until the total boundary length of the through-hole is equal to the total length.
[0056] The above is a detailed description of an embodiment of the present invention, but the content is only a preferred embodiment of the present invention and cannot be considered to limit the scope of implementation of the present invention. All equivalent changes and improvements made within the scope of the present invention should still fall within the scope of the patent coverage of the present invention.
Claims
1. A method for automatically deploying batches of connection holes in a CMOS device model, characterized in that: The method comprises: Obtain all devices to be punched on the target layout to obtain a first punching device set; each punching device has a name id; Searching a first preset database according to the name ID of the target punching device, determining the number of punching layers corresponding to the target punching device and the initial attribute parameters of the target punching device in each punching layer, and initializing the initial attribute parameters to obtain target attribute parameters; the target punching device is any one of the first punching device set; For each perforated device, the target attribute parameters corresponding to all perforated devices with the same number of layers are classified to obtain multiple attribute parameter layers; The hole distribution corresponding to each layer of the target punching device is determined according to the attribute parameter layer, and the holes corresponding to each layer are created according to the hole distribution corresponding to each layer.
2. A method for automatically deploying batches of connection holes of a CMOS device model according to claim 1, characterized in that: The initial attribute parameters include the number of fingers, finger length, the interval between fingers and the finger width; the number of fingers refers to the number of MOS tubes; the finger length refers to the length of a single MOS tube; the interval between fingers refers to the spacing between the POLY layers of two MOS tubes; and the finger width refers to the width of a single MOS tube.
3. A method for automatically deploying batches of connection holes of a CMOS device model according to claim 2, characterized in that: Initializing the initial attribute parameters to obtain target attribute parameters includes: Determine whether the letter n exists in the parameter values corresponding to the finger length and finger width respectively; If the target parameter value contains the letter n, the target parameter value is converted into a micron value, and the micron value is converted into a floating point number to obtain a target floating point value; if the target parameter value is a parameter value of finger length, the target length value is a floating point value of finger length; if the target parameter value is a parameter value of finger width, the target length value is a floating point value of finger width; By formula Get the total length L; Where L is the total length, A floating point value for the length of the finger. is the number of fingers, The interval between fingers; The total length and the finger width floating point values are recorded as target attribute parameters.
4. A method for automatically deploying batches of connection holes of a CMOS device model according to claim 3, characterized in that: Determining the hole distribution corresponding to the target punching device in each layer according to the attribute parameter layer includes: Searching the connection hole requirements corresponding to the current attribute parameter layer in the second preset database according to the current attribute parameter layer; the connection hole requirements include connection hole width, connection hole spacing and side connection hole spacing; By formula Obtaining the total number of target connection holes of the target punching device; Wherein, S is the total number of target connection holes, L is the total length, is the connection hole spacing, is the side connection hole spacing, is the width of the connection hole; If the total number of target connection holes is less than the preset number of holes, setting the total number of target connection holes to the preset number of holes; The hole distribution corresponding to the target punching device in each layer is determined according to the total number of the target connection holes.
5. A method for automatically deploying batches of connection holes of a CMOS device model according to claim 4, characterized in that: Creating holes for each layer according to the hole distribution of each layer includes: Obtaining the target coordinates of the target punching device, and determining the target through-hole coordinates according to a preset direction, the target coordinates and preset left and right edge values; For each layer, the hole distribution map corresponding to the layer is determined according to the target through-hole coordinates to obtain the total boundary length of the through-hole; If the total boundary length of the through hole is less than the total length and the total number of horizontal connecting holes is greater than or equal to the preset number of holes, the target through hole coordinates are corrected according to the expansion value required when the through hole length is insufficient and the preset left and right edge values until the total boundary length of the through hole is equal to the total length.
6. A device for automatically deploying batches of connection holes in CMOS device models, characterized in that: The device comprises: A first punching device set determination module is used to obtain all devices to be punched on the target layout to obtain a first punching device set; each punching device has a name id; a target attribute parameter determination module, configured to search a first preset database according to the name ID of a target perforating device, determine the number of perforating layers corresponding to the target perforating device and the initial attribute parameters of the target perforating device in each perforating layer, and initialize the initial attribute parameters to obtain target attribute parameters; the target perforating device is any one of the first perforating device set; A target attribute parameter classification module is used to classify the target attribute parameters corresponding to all the perforated devices with the same number of layers for each perforated device to obtain multiple attribute parameter layers; The hole generation module is used to determine the hole distribution corresponding to each layer of the target punching device according to the attribute parameter layer, and create the corresponding holes of each layer according to the hole distribution corresponding to each layer.
7. The device for automatically deploying batches of connection holes of CMOS device models according to claim 6, characterized in that: The initial attribute parameters include the number of fingers, finger length, the interval between fingers and the finger width; the number of fingers refers to the number of MOS tubes; the finger length refers to the length of a single MOS tube; the interval between fingers refers to the spacing between the POLY layers of two MOS tubes; and the finger width refers to the width of a single MOS tube.
8. The device for automatically deploying batches of connection holes of CMOS device models according to claim 7, characterized in that: The target attribute parameter determination module includes: A letter judgment module is used to judge whether the letter n exists in the parameter values corresponding to the finger length and the finger width respectively; A floating point number determination module, for converting the target parameter value into a micron value if the target parameter value contains the letter n, and converting the micron value into a floating point number to obtain a target floating point value; if the target parameter value is a parameter value of finger length, the target length value is a finger length floating point value; if the target parameter value is a parameter value of finger width, the target length value is a finger width floating point value; The total length determination module is used to determine the total length of the Get the total length L; Where L is the total length, A floating point value for the length of the finger. is the number of fingers, The interval between fingers; The target attribute parameter generating module is used to record the total length and the finger width floating point value as the target attribute parameters.
9. The device for automatically deploying batches of connection holes of CMOS device models according to claim 8, characterized in that: The hole generation module comprises: A connection hole requirement determination module, used to search the connection hole requirements corresponding to the current attribute parameter layer in the second preset database according to the current attribute parameter layer; the connection hole requirements include connection hole width, connection hole spacing and side connection hole spacing; The first punching device set determination module is used to determine the first punching device set through the formula Obtaining the total number of target connection holes of the target punching device; Wherein, S is the total number of target connection holes, L is the total length, is the connection hole spacing, is the side connection hole spacing, is the width of the connection hole; If the total number of target connection holes is less than the preset number of holes, setting the total number of target connection holes to the preset number of holes; The hole distribution corresponding to the target punching device in each layer is determined according to the total number of the target connection holes.
10. The device for automatically deploying batches of connection holes of CMOS device models according to claim 9, characterized in that: The hole generation module also includes: A target through-hole coordinate determination module, used to obtain the target coordinates of the target punching device, and determine the target through-hole coordinates according to a preset direction, the target coordinates and preset left and right edge values; A through hole total boundary length determination module is used to determine the hole distribution map corresponding to each layer according to the target through hole coordinates to obtain the total through hole boundary length; The target through-hole coordinate correction module is used to correct the target through-hole coordinates according to the expansion value required when the through-hole length is insufficient and the preset left and right hemming values if the total boundary length of the through-hole is less than the total length and the total number of horizontal connecting holes is greater than or equal to the preset number of holes, until the total boundary length of the through-hole is equal to the total length.
Citation Information
Patent Citations
Structural quality testing method, device and equipment of through silicon via array and storage medium
CN116882246A
Automatic punching method and device, storage medium and electronic equipment
CN117272549A
Layout layout and automatic splicing method capable of configuring LDO (Low Dropout Regulator) module
CN119294340A
A method of generating layout of integrated circuit (IC) design
WO2021261986A1