OPC correction method and device, medium and electronic equipment
By determining the storage area and cell layout in the original memory layout, and using database template matching or physical characteristics to determine the mask layout, the problem of reduced accuracy of OPC correction caused by inconsistent cell layout is solved, and efficient and accurate mask layout generation is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHENGDU ZIGUANG SEMICON TECH CO LTD
- Filing Date
- 2024-11-04
- Publication Date
- 2026-05-08
AI Technical Summary
When storage areas are adjusted to a non-perfectly consistent cell layout, existing OPC correction strategies result in reduced accuracy.
By determining the storage area and cell layout from the original layout of the memory, and matching it with templates in the database, the mask layout of the template is used when a match is successful, and the mask layout is determined based on physical characteristics when there is no match, thus ensuring accuracy.
It improves the efficiency and accuracy of OPC correction, reduces repetitive work, and ensures the accuracy of the mask layout.
Smart Images

Figure CN121997883A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of semiconductor mask technology, and more specifically, to an OPC correction method, apparatus, medium, and electronic device. Background Technology
[0002] OPC (Optical Proximity Correction) is a technique used in semiconductor manufacturing to improve the precision of photolithography processes. As the feature size of semiconductor devices continues to shrink, the impact of optical proximity effects during photolithography on image quality becomes increasingly significant. OPC technology compensates for these effects by adjusting the design pattern to obtain a mask layout, thereby ensuring that the pattern formed on the silicon wafer matches the design intent. Figure 1 To.
[0003] The storage area of a memory typically consists of a series of highly consistent and repeating memory cell arrays. This design facilitates the use of a uniform processing method for a single repeating pattern during OPC correction. However, when the storage area is adjusted to a non-uniform cell layout for specific storage requirements or performance optimization considerations, continuing to use the original OPC correction strategy will reduce the accuracy of OPC correction. Summary of the Invention
[0004] To overcome the problems existing in related technologies, this disclosure provides an OPC correction method, apparatus, medium, and electronic device.
[0005] According to a first aspect of the present disclosure, an OPC correction method is provided, the OPC correction method comprising: The memory region layout corresponding to the memory region is determined from the original layout in the memory, and the memory region includes multiple memory cells; Based on the storage area layout, the storage cell layout corresponding to each storage cell is determined; For each storage cell layout, determine whether there is a storage cell template in the database that matches the storage cell layout. The database pre-stores multiple storage cell templates and a mask layout corresponding to each storage cell template. If the database stores a storage cell template that matches the storage cell layout, the location of the storage cell layout is determined, and the mask layout corresponding to the storage cell template is used as the mask layout corresponding to the storage cell layout. If no storage cell template matching the storage cell layout is stored in the database, the location of the storage cell layout is determined, and the mask layout corresponding to the storage cell layout is determined based on the physical characteristics of the storage cell layout. The mask layout of the storage region is obtained based on the location of the storage cell layout in the storage region and the mask layout corresponding to the storage cell layout.
[0006] Optionally, the physical characteristics include size and pattern, and determining the mask layout corresponding to the memory cell layout based on the physical characteristics of the memory cell layout includes: The size and pattern of the storage cell layout are compared with the preset size range and preset pattern of each storage cell template in the database. The preset size range of the storage cell template is determined according to the standard size of the storage cell template, and the preset pattern of the storage cell template is determined according to the standard pattern of the storage cell template. If the size of the storage cell layout is within the preset size range of any of the storage cell templates, and the pattern of the storage cell layout is consistent with the preset pattern of the storage cell template, then the mask layout corresponding to the storage cell template is used as the mask layout corresponding to the storage cell layout. Otherwise, based on the size and pattern of the storage cell layout, the target graphic of the storage cell layout is determined, and based on the target graphic, the mask layout corresponding to the storage cell layout is determined.
[0007] Optionally, the physical characteristics include size and pattern, and determining whether a storage cell template matching the storage cell layout is stored in the database includes: The dimensions and patterns of the storage cell layout are compared with the standard dimensions and standard patterns of each storage cell template in the database. If the size of the storage cell layout is the same as the standard size of any storage cell template, and the pattern of the storage cell layout is consistent with the standard pattern of the storage cell template, then it is determined that a storage cell template matching the storage cell layout is stored in the database; otherwise, it is determined that no storage cell template matching the storage cell layout is stored in the database.
[0008] Optionally, after determining the location of the storage cell layout when no storage cell template matching the storage cell layout is stored in the database, the OPC correction method further includes: The location of the storage unit layout is reported.
[0009] According to a second aspect of the present disclosure, an OPC correction apparatus is provided, the OPC correction apparatus comprising: The first processing module is configured to determine a storage region layout corresponding to a storage region from the original layout in the memory, wherein the storage region includes multiple storage cells; The second processing module is configured to determine the storage cell layout corresponding to each storage cell based on the storage area layout. The third processing module is configured to determine, for each storage cell layout, whether there is a storage cell template in the database that matches the storage cell layout, wherein the database pre-stores multiple storage cell templates and a mask layout corresponding to each storage cell template; The fourth processing module is configured to, when the database stores a storage cell template that matches the storage cell layout, determine the position of the storage cell layout and use the mask layout corresponding to the storage cell template as the mask layout corresponding to the storage cell layout. The fifth processing module is configured to determine the location of the storage cell layout when no storage cell template matching the storage cell layout is stored in the database, and to determine the mask layout corresponding to the storage cell layout based on the physical characteristics of the storage cell layout. The sixth processing module is configured to obtain the mask layout of the storage region based on the location of the storage cell layout in the storage region and the mask layout corresponding to the storage cell layout.
[0010] Optionally, the physical characteristics include size and pattern, and the fifth processing module includes: The first sub-processing module is configured to compare the size and pattern of the storage cell layout with the preset size range and preset pattern of each storage cell template in the database, wherein the preset size range of the storage cell template is determined according to the standard size of the storage cell template, and the preset pattern of the storage cell template is determined according to the standard pattern of the storage cell template. The second sub-processing module is configured to, when the size of the storage cell layout is within a preset size range of any of the storage cell templates and the pattern of the storage cell layout is consistent with the preset pattern of the storage cell template, use the mask layout corresponding to the storage cell template as the mask layout corresponding to the storage cell layout; otherwise, determine the target pattern of the storage cell layout based on the size and pattern of the storage cell layout, and determine the mask layout corresponding to the storage cell layout based on the target pattern.
[0011] Optionally, the physical characteristics include size and pattern, and the third processing module includes: The third sub-processing module is configured to compare the size and pattern of the storage cell layout with the standard size and standard pattern of each storage cell template in the database. The fourth sub-processing module is configured to determine that a storage cell template matching the storage cell layout is stored in the database if the size of the storage cell layout is the same as the standard size of any storage cell template and the pattern of the storage cell layout is consistent with the standard pattern of the storage cell template; otherwise, it determines that no storage cell template matching the storage cell layout is stored in the database.
[0012] Optionally, the OPC correction device further includes: The seventh processing module is configured to report the location of the storage unit layout.
[0013] According to a third aspect of the present disclosure, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps of any of the OPC correction methods provided in the first aspect of the present disclosure.
[0014] According to a fourth aspect of the present disclosure, an electronic device is provided, comprising: A memory on which computer programs are stored; A processor for executing the computer program in the memory to implement the steps of any of the OPC correction methods provided in the first aspect of this disclosure.
[0015] By employing the above technical solution, the memory region layout corresponding to the memory area is determined from the original memory layout, and the memory cell layout of each memory cell in the memory area is determined. Then, the memory cell layout is matched with the memory cell template in the database. If the match is successful (i.e., the database stores a memory cell template that matches the memory cell layout), the position of the memory cell layout is determined, and the mask layout corresponding to the successfully matched memory cell template is used as the mask layout of the memory cell layout to reduce repetitive work and improve work efficiency. If the match is unsuccessful (i.e., the database does not store a memory cell template that matches the memory cell layout), the position of the memory cell layout is determined, and its corresponding mask layout is determined according to the physical characteristics of the memory cell layout to ensure the accuracy of the obtained mask layout. Finally, based on the position of each memory cell layout and its corresponding mask layout, the mask layout of the memory region is obtained. In this way, while improving efficiency, the accuracy of OPC correction is guaranteed.
[0016] Other features and advantages of this disclosure will be described in detail in the following detailed description section. Attached Figure Description
[0017] The accompanying drawings are provided to further illustrate the present disclosure and form part of the specification. They are used together with the following detailed description to explain the present disclosure, but do not constitute a limitation thereof. In the drawings: Figure 1 This is a flowchart illustrating an OPC correction method according to an exemplary embodiment.
[0018] Figure 2 This is a schematic diagram illustrating a storage area layout according to an exemplary embodiment.
[0019] Figure 3 This is a flowchart illustrating a sub-step of step S3 according to an exemplary embodiment.
[0020] Figure 4 This is a flowchart illustrating a sub-step of step S5 according to an exemplary embodiment.
[0021] Figure 5 This is a block diagram illustrating an OPC correction device according to an exemplary embodiment.
[0022] Figure 6 This is a block diagram illustrating an electronic device according to an exemplary embodiment. Detailed Implementation
[0023] The specific embodiments of this disclosure will be described in detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are for illustration and explanation only and are not intended to limit this disclosure.
[0024] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.
[0025] Optical Proximity Correction (OPC) is a technique used in semiconductor manufacturing to improve the precision of photolithography processes. As the feature size of semiconductor devices continues to shrink, the optical proximity effect during photolithography becomes increasingly significant in its impact on image quality. OPC technology compensates for these effects by adjusting the design pattern to obtain a mask layout, thereby ensuring that the pattern formed on the silicon wafer matches the design intent. Figure 1 To.
[0026] The storage area of a memory typically consists of a series of highly consistent and repeating memory cell arrays. This design facilitates the use of a uniform processing method for a single repeating pattern during OPC correction. However, when the storage area is adjusted to a non-uniform cell layout for specific storage requirements or performance optimization considerations, continuing to use the original OPC correction strategy will reduce the accuracy of OPC correction.
[0027] To address the aforementioned issues, the memory region layout corresponding to the memory area is determined from the original memory layout. Then, the memory cell layout for each memory cell within the memory region is determined. This memory cell layout is then matched against memory cell templates in the database. If a match is successful (i.e., a matching memory cell template is stored in the database), the location of the memory cell layout is determined, and the mask layout corresponding to the successfully matched template is used as the mask layout for that memory cell layout. This reduces repetitive work and improves efficiency. If a match is unsuccessful (i.e., no matching memory cell template is stored in the database), the location of the memory cell layout is determined, and its corresponding mask layout is determined based on the physical characteristics of that memory cell layout to ensure the accuracy of the obtained mask layout. Finally, based on the location of each memory cell layout and its corresponding mask layout, the mask layout of the memory region is obtained. This approach improves efficiency while ensuring the accuracy of OPC correction.
[0028] Figure 1 This is a flowchart illustrating an OPC correction method according to an exemplary embodiment. The OPC correction method can be applied to electronic devices and may include steps S1 to S6.
[0029] Step S1: Determine the memory region layout corresponding to the memory region from the original layout in the memory.
[0030] The memory can be, but is not limited to, Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Flash memory, Read-Only Memory (ROM), etc.
[0031] Memory can be divided into storage areas and non-storage areas according to its function. Storage areas have data storage functions, while non-storage areas do not.
[0032] The original layout of a memory is a circuit diagram created by designers for a memory chip, which includes the layout of circuit elements (such as transistors, interconnects, and memory cells).
[0033] Layout partitioning can be performed using specialized semiconductor design software (such as Cadence, Synopsys, etc.). Because these software programs typically offer powerful graphics processing and analysis capabilities, they can help quickly identify and partition memory regions and non-memory regions, thereby dividing the original memory layout into memory region layouts corresponding to memory regions and non-memory region layouts corresponding to non-memory regions.
[0034] A storage area comprises multiple storage cells. A storage area typically consists of a large number of storage cells arranged in an array, for example... Figure 2 As shown, these arrays can be one-dimensional or two-dimensional, depending on the type and design of the memory.
[0035] Step S2: Determine the storage cell layout corresponding to each storage cell based on the storage area layout.
[0036] First, analyze the storage area layout to clarify its boundaries and structural arrangement. Then, consult design documents or use EDA tools to understand the design details and dimensions of the storage cells. Next, mark the positions of the storage cells on the storage area layout according to row and column coordinates. Use the positioning function of the EDA tool to confirm the specific location of each storage cell. Finally, extract and export the layout of each storage cell from the storage area layout, i.e., the storage cell layout. The extraction and export can be achieved using the cutting and export functions of the EDA tool.
[0037] Step S3: For each storage cell layout, determine whether the database stores a storage cell template that matches the storage cell layout.
[0038] The database pre-stores multiple storage unit templates and the mask layout corresponding to each storage unit template.
[0039] The database stores multiple storage unit templates, each with a corresponding mask layout. The storage unit templates and their corresponding mask layouts are predefined and saved for easy matching and retrieval during the design and manufacturing process.
[0040] The physical characteristics of the storage cell layout can be compared with the physical characteristics of the storage cell template to determine whether a storage cell template that matches the storage cell layout is stored in the database.
[0041] Step S4: If a storage cell template matching the storage cell layout is stored in the database, determine the location of the storage cell layout and use the mask layout corresponding to the storage cell template as the mask layout corresponding to the storage cell layout.
[0042] Step S5: If no storage cell template matching the storage cell layout is stored in the database, determine the location of the storage cell layout and determine the mask layout corresponding to the storage cell layout based on the physical characteristics of the storage cell layout.
[0043] The location of a storage cell layout refers to the exact position of that storage cell within the storage area. It can be represented by row and column combinations or other logical layouts.
[0044] Step S6: Obtain the mask layout of the storage area based on the location of the storage cell layout in the storage area and the mask layout corresponding to the storage cell layout.
[0045] By integrating the locations of all memory cell layouts in the memory region with the corresponding mask layouts of the memory cells at those locations, the mask layout of the memory region can be obtained.
[0046] In another embodiment, please continue to refer to Figure 2 The storage area layout includes a first storage unit layout 10, a second storage unit layout 20, a third storage unit layout 30, a fourth storage unit layout 40, a fifth storage unit layout 50, a sixth storage unit layout 60, a seventh storage unit layout 70, and other storage unit layouts.
[0047] The second storage unit layout 20, the third storage unit layout 30, the fourth storage unit layout 40, the fifth storage unit layout 50, the sixth storage unit layout 60, and the seventh storage unit layout 70 can all be matched with storage unit templates in the database. The first storage unit layout 10 cannot be matched with a storage unit template in the database. In order to further improve the accuracy of OPC correction, the mask layouts of the second storage unit layout 20, the third storage unit layout 30, and the fourth storage unit layout 40 adjacent to the first storage unit layout 10 can not directly use the mask layouts corresponding to the storage unit templates matched from the database. They can be further optimized or verified to obtain their corresponding mask layouts. Alternatively, the mask layouts corresponding to the second storage unit layout 20, the third storage unit layout 30, and the fourth storage unit layout 40 can be re-determined based on the physical characteristics of the storage unit layouts.
[0048] By determining the memory region layout corresponding to the memory area from the original memory layout, and then determining the memory cell layout of each memory cell in the memory region, the memory cell layout is matched with the memory cell template in the database. If the match is successful (i.e., the database stores a memory cell template that matches the memory cell layout), the location of the memory cell layout is determined, and the mask layout corresponding to the successfully matched memory cell template is used as the mask layout of that memory cell layout to reduce repetitive work and improve efficiency. If the match is unsuccessful (i.e., the database does not store a memory cell template that matches the memory cell layout), the location of the memory cell layout is determined, and its corresponding mask layout is determined based on the physical characteristics of the memory cell layout to ensure the accuracy of the obtained mask layout. Finally, based on the location of each memory cell layout and its corresponding mask layout, the mask layout of the memory region is obtained. In this way, efficiency is improved while ensuring the accuracy of OPC correction.
[0049] In one possible implementation, physical characteristics include size and pattern; see [link to relevant documentation]. Figure 3 Step S3, which determines whether the database stores a storage cell template that matches the storage cell layout, may include steps S31 and S32.
[0050] Step S31: Compare the size and pattern of the storage cell layout with the standard size and standard pattern of each storage cell template in the database.
[0051] The standard size of a storage cell template can be the actual size of the storage cell template.
[0052] The standard pattern of the storage cell template can be the actual pattern of the storage cell template.
[0053] For each storage cell template in the database, the size of the storage cell layout is compared with the standard size of the storage cell template, and the pattern of the storage cell layout is compared with the standard pattern of the storage cell template in the database.
[0054] Step S32: If the size of the storage cell layout is the same as the standard size of any storage cell template, and the pattern of the storage cell layout is consistent with the standard pattern of the storage cell template, then it is determined that a storage cell template matching the storage cell layout is stored in the database; otherwise, it is determined that no storage cell template matching the storage cell layout is stored in the database.
[0055] If a storage cell template exists in the database, and the size of the storage cell layout matches the standard size of that template, and the pattern of the storage cell layout matches the standard pattern of that template, then the storage cell layout matches the storage cell template successfully, and it is determined that a storage cell template matching the storage cell layout is stored in the database. If no storage cell template in the database matches the storage cell layout successfully, it is determined that no storage cell template matching the storage cell layout is stored in the database.
[0056] In one possible implementation, physical characteristics include size and pattern; see [link to relevant documentation]. Figure 4 Step S5 involves determining the mask layout corresponding to the memory cell layout based on the physical characteristics of the memory cell layout, which may include steps S51 and S52.
[0057] Step S51: Compare the size and pattern of the storage cell layout with the preset size range and preset pattern of each storage cell template in the database.
[0058] The preset size range of the storage cell template is determined based on the standard size of the storage cell template, and the preset pattern of the storage cell template is determined based on the standard pattern of the storage cell template.
[0059] The preset size range of the storage cell template can be understood as allowing the size of the storage cell template to vary within a specified range, which is usually defined based on the standard size.
[0060] For example, the standard size is 10x10, and the preset size range may be between 9.5x9.5 and 10.5x10.5.
[0061] The preset pattern of the storage cell template can be understood as allowing the pattern of the storage cell template to vary within a specified range. The preset pattern is usually obtained by fine-tuning the standard pattern, and there can be one or more preset patterns.
[0062] For each storage cell template in the database, the size of the storage cell layout is compared with the preset size range of the storage cell template, and the pattern of the storage cell layout is compared with one or more preset patterns of the storage cell template in the database.
[0063] Step S52: If the size of the storage cell layout is within the preset size range of any storage cell template, and the pattern of the storage cell layout is consistent with the preset pattern of the storage cell template, then the mask layout corresponding to the storage cell template is used as the mask layout corresponding to the storage cell layout. Otherwise, the target graphic of the storage cell layout is determined according to the size and pattern of the storage cell layout, and the mask layout corresponding to the storage cell layout is determined according to the target graphic.
[0064] The target graphic is the specific shape and layout that the layout design needs to achieve during the manufacturing process.
[0065] If a storage cell template exists in the database, and the size of the storage cell layout is within the preset size range of the storage cell template, and the pattern of the storage cell layout is consistent with one of the preset patterns of the storage cell template, then the mask layout corresponding to the storage cell template is used as the mask layout corresponding to the storage cell layout. Otherwise, based on the size and pattern of the storage cell layout, the target graphic of the storage cell layout is determined, and based on the target graphic, the mask layout corresponding to the storage cell layout is determined.
[0066] Based on the size and pattern of the memory cell layout, the target graphic of the memory cell layout is determined. Then, based on the target graphic, the corresponding mask layout is determined. This can be understood as follows: The target graphic is determined based on the size and pattern of the memory cell layout; the target graphic is adjusted and optimized; and then, after inserting the adjusted target graphic into Sub-Resolution Assist Features (SRAF), the corresponding mask layout is obtained. By optimizing and adjusting the target graphic and adding SRAF, contrast can be increased, resolution improved, and pattern layout optimized.
[0067] In one possible implementation, when no matching storage cell template is stored in the database, after determining the location of the storage cell layout, the OPC correction method further includes: The location of the storage unit layout is reported.
[0068] When performing OPC correction verification, if an error is found, it is necessary to trace the source. The investigation can start with the storage cell layout that has not been matched successfully. By reporting the location of the storage cell layout, the reported location is the location of the storage cell layout that has not been matched successfully. After the storage cell layout at all reported locations has been investigated, the storage cell layout at other locations can be investigated. In this way, the problematic storage cell layout can be quickly located.
[0069] Based on the same inventive concept, in order to implement the above-described method embodiments, this embodiment also provides an OPC correction device, such as... Figure 5 As shown, the OPC correction device 600 may include: The first processing module 601 is configured to determine the memory region layout corresponding to the memory region from the original layout in the memory, wherein the memory region includes multiple memory cells. The second processing module 602 is configured to determine the storage cell layout corresponding to each storage cell based on the storage area layout. The third processing module 603 is configured to determine, for each storage cell layout, whether there is a storage cell template in the database that matches the storage cell layout. The database pre-stores multiple storage cell templates and a mask layout corresponding to each storage cell template. The fourth processing module 604 is configured to determine the location of the storage cell layout when a storage cell template matching the storage cell layout is stored in the database, and to use the mask layout corresponding to the storage cell template as the mask layout corresponding to the storage cell layout. The fifth processing module 605 is configured to determine the location of the storage cell layout when no storage cell template matching the storage cell layout is stored in the database, and to determine the mask layout corresponding to the storage cell layout based on the physical characteristics of the storage cell layout. The sixth processing module 606 is configured to obtain the mask layout of the storage region based on the location of the storage cell layout in the storage region and the mask layout corresponding to the storage cell layout.
[0070] Optionally, physical characteristics include size and pattern, and the fifth processing module 605 includes: The first sub-processing module is configured to compare the size and pattern of the storage cell layout with the preset size range and preset pattern of each storage cell template in the database, respectively. The preset size range of the storage cell template is determined according to the standard size of the storage cell template, and the preset pattern of the storage cell template is determined according to the standard pattern of the storage cell template. The second sub-processing module is configured to, when the size of the storage cell layout is within the preset size range of any storage cell template and the pattern of the storage cell layout is consistent with the preset pattern of the storage cell template, use the mask layout corresponding to the storage cell template as the mask layout corresponding to the storage cell layout; otherwise, determine the target graphic of the storage cell layout based on the size and pattern of the storage cell layout, and determine the mask layout corresponding to the storage cell layout based on the target graphic.
[0071] Optionally, physical characteristics include size and pattern, and the third processing module 603 includes: The third sub-processing module is configured to compare the size and pattern of the storage cell layout with the standard size and standard pattern of each storage cell template in the database. The fourth sub-processing module is configured to determine that a storage cell template matching the storage cell layout is stored in the database if the size of the storage cell layout is the same as the standard size of any storage cell template and the pattern of the storage cell layout is consistent with the standard pattern of the storage cell template; otherwise, it determines that no storage cell template matching the storage cell layout is stored in the database.
[0072] Optionally, the OPC correction device 600 also includes: The seventh processing module is configured to report the location of the storage unit layout.
[0073] Regarding the OPC correction device in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the OPC correction method, and will not be elaborated here.
[0074] Figure 6This is a block diagram illustrating an electronic device 700 according to an exemplary embodiment. Figure 6 As shown, the electronic device 700 may include a processor 701 and a memory 702. The electronic device 700 may also include one or more of a multimedia component 703, an input / output (I / O) interface 704, and a communication component 705.
[0075] The processor 701 controls the overall operation of the electronic device 700 to complete all or part of the steps in the OPC correction method described above. The memory 702 stores various types of data to support the operation of the electronic device 700. This data may include, for example, instructions for any application or method operating on the electronic device 700, and application-related data such as contact data, sent and received messages, pictures, audio, video, etc. The memory 702 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as Static Random Access Memory (SRAM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Erasable Programmable Read-Only Memory (EPROM), Programmable Read-Only Memory (PROM), Read-Only Memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The multimedia component 703 may include a screen and audio components. The screen may be, for example, a touchscreen, and the audio component is used to output and / or input audio signals. For example, the audio component may include a microphone for receiving external audio signals. The received audio signals may be further stored in memory 702 or transmitted via communication component 705. The audio component also includes at least one speaker for outputting audio signals. I / O interface 704 provides an interface between processor 701 and other interface modules, such as a keyboard, mouse, buttons, etc. These buttons may be virtual or physical buttons. Communication component 705 is used for wired or wireless communication between the electronic device 700 and other devices. Wireless communication may include Wi-Fi, Bluetooth, Near Field Communication (NFC), 2G, 3G, or 4G, or a combination thereof; therefore, the corresponding communication component 705 may include a Wi-Fi module, a Bluetooth module, or an NFC module.
[0076] In an exemplary embodiment, the electronic device 700 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the OPC correction method described above.
[0077] In another exemplary embodiment, a computer-readable storage medium including program instructions is also provided, which, when executed by a processor, implement the steps of the OPC correction method described above. For example, the computer-readable storage medium may be the memory 702 including the program instructions described above, which may be executed by the processor 701 of the electronic device 700 to complete the OPC correction method described above.
[0078] In another exemplary embodiment, a computer program product is also provided, which includes a computer program executable by a processor, which, when executed by the processor, implements the steps of the OPC correction method described above.
[0079] The preferred embodiments of this disclosure have been described in detail above with reference to the accompanying drawings. However, this disclosure is not limited to the specific details of the above embodiments. Within the scope of the technical concept of this disclosure, various simple modifications can be made to the technical solutions of this disclosure, and these simple modifications all fall within the protection scope of this disclosure.
[0080] It should also be noted that the various specific technical features described in the above embodiments can be combined in any suitable manner without contradiction. To avoid unnecessary repetition, this disclosure will not describe the various possible combinations separately.
[0081] Furthermore, various different embodiments of this disclosure can be combined in any way, as long as they do not violate the spirit of this disclosure, they should also be regarded as the content disclosed in this disclosure.
Claims
1. An OPC correction method, characterized in that, The OPC correction method includes: The memory region layout corresponding to the memory region is determined from the original layout in the memory, and the memory region includes multiple memory cells; Based on the storage area layout, the storage cell layout corresponding to each storage cell is determined; For each storage cell layout, determine whether there is a storage cell template in the database that matches the storage cell layout. The database pre-stores multiple storage cell templates and a mask layout corresponding to each storage cell template. If the database stores a storage cell template that matches the storage cell layout, the location of the storage cell layout is determined, and the mask layout corresponding to the storage cell template is used as the mask layout corresponding to the storage cell layout. If no storage cell template matching the storage cell layout is stored in the database, the location of the storage cell layout is determined, and the mask layout corresponding to the storage cell layout is determined based on the physical characteristics of the storage cell layout. The mask layout of the storage region is obtained based on the location of the storage cell layout in the storage region and the mask layout corresponding to the storage cell layout.
2. The OPC correction method according to claim 1, characterized in that, The physical characteristics include size and pattern. Determining the mask layout corresponding to the memory cell layout based on the physical characteristics of the memory cell layout includes: The size and pattern of the storage cell layout are compared with the preset size range and preset pattern of each storage cell template in the database. The preset size range of the storage cell template is determined according to the standard size of the storage cell template, and the preset pattern of the storage cell template is determined according to the standard pattern of the storage cell template. If the size of the storage cell layout is within the preset size range of any of the storage cell templates, and the pattern of the storage cell layout is consistent with the preset pattern of the storage cell template, then the mask layout corresponding to the storage cell template is used as the mask layout corresponding to the storage cell layout. Otherwise, based on the size and pattern of the storage cell layout, the target graphic of the storage cell layout is determined, and based on the target graphic, the mask layout corresponding to the storage cell layout is determined.
3. The OPC correction method according to claim 1, characterized in that, The physical characteristics include size and pattern, and determining whether a storage cell template matching the storage cell layout is stored in the database includes: The dimensions and patterns of the storage cell layout are compared with the standard dimensions and standard patterns of each storage cell template in the database. If the size of the storage cell layout is the same as the standard size of any storage cell template, and the pattern of the storage cell layout is consistent with the standard pattern of the storage cell template, then it is determined that a storage cell template matching the storage cell layout is stored in the database; otherwise, it is determined that no storage cell template matching the storage cell layout is stored in the database.
4. The OPC correction method according to claim 1, characterized in that, When no matching storage cell template is stored in the database, after determining the location of the storage cell layout, the OPC correction method further includes: The location of the storage unit layout is reported.
5. An OPC correction device, characterized in that, The OPC correction device includes: The first processing module is configured to determine a storage region layout corresponding to a storage region from the original layout in the memory, wherein the storage region includes multiple storage cells; The second processing module is configured to determine the storage cell layout corresponding to each storage cell based on the storage area layout. The third processing module is configured to determine, for each storage cell layout, whether there is a storage cell template in the database that matches the storage cell layout, wherein the database pre-stores multiple storage cell templates and a mask layout corresponding to each storage cell template; The fourth processing module is configured to, when the database stores a storage cell template that matches the storage cell layout, determine the position of the storage cell layout and use the mask layout corresponding to the storage cell template as the mask layout corresponding to the storage cell layout. The fifth processing module is configured to determine the location of the storage cell layout when no storage cell template matching the storage cell layout is stored in the database, and to determine the mask layout corresponding to the storage cell layout based on the physical characteristics of the storage cell layout. The sixth processing module is configured to obtain the mask layout of the storage region based on the location of the storage cell layout in the storage region and the mask layout corresponding to the storage cell layout.
6. The OPC correction device according to claim 5, characterized in that, The physical characteristics include size and pattern, and the fifth processing module includes: The first sub-processing module is configured to compare the size and pattern of the storage cell layout with the preset size range and preset pattern of each storage cell template in the database, wherein the preset size range of the storage cell template is determined according to the standard size of the storage cell template, and the preset pattern of the storage cell template is determined according to the standard pattern of the storage cell template. The second sub-processing module is configured to, when the size of the storage cell layout is within a preset size range of any of the storage cell templates and the pattern of the storage cell layout is consistent with the preset pattern of the storage cell template, use the mask layout corresponding to the storage cell template as the mask layout corresponding to the storage cell layout; otherwise, determine the target pattern of the storage cell layout based on the size and pattern of the storage cell layout, and determine the mask layout corresponding to the storage cell layout based on the target pattern.
7. The OPC correction device according to claim 5, characterized in that, The physical characteristics include size and pattern, and the third processing module includes: The third sub-processing module is configured to compare the size and pattern of the storage cell layout with the standard size and standard pattern of each storage cell template in the database. The fourth sub-processing module is configured to determine that a storage cell template matching the storage cell layout is stored in the database if the size of the storage cell layout is the same as the standard size of any storage cell template and the pattern of the storage cell layout is consistent with the standard pattern of the storage cell template; otherwise, it determines that no storage cell template matching the storage cell layout is stored in the database.
8. The OPC correction device according to claim 5, characterized in that, The OPC correction device further includes: The seventh processing module is configured to report the location of the storage unit layout.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the program implements the steps of the OPC correction method as described in any one of claims 1-4.
10. An electronic device, characterized in that, include: A memory on which computer programs are stored; A processor for executing the computer program in the memory to implement the steps of the OPC correction method according to any one of claims 1-4.