TW202336632A - Using machine-trained network to perform drc check - Google Patents

Using machine-trained network to perform drc check Download PDF

Info

Publication number
TW202336632A
TW202336632A TW112102140A TW112102140A TW202336632A TW 202336632 A TW202336632 A TW 202336632A TW 112102140 A TW112102140 A TW 112102140A TW 112102140 A TW112102140 A TW 112102140A TW 202336632 A TW202336632 A TW 202336632A
Authority
TW
Taiwan
Prior art keywords
design
drc
pixel
shapes
design rule
Prior art date
Application number
TW112102140A
Other languages
Chinese (zh)
Inventor
唐納 歐里歐丹
Original Assignee
美商D2S公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商D2S公司 filed Critical 美商D2S公司
Publication of TW202336632A publication Critical patent/TW202336632A/en

Links

Landscapes

  • Image Analysis (AREA)

Abstract

A method for performing pixel-based design rule checking (DRC) is described. This method is used to perform design rule checks for rectilinear and curvilinear designs. In some embodiments, the pixel-based approach is based on computational deep-learning. The pixel-based DRC method of some embodiments is more resilient to false positives than traditional geometric approaches, particularly for designs with curvilinear content, and the inference time remains constant, regardless of how many shapes exist in the design being checked, or how many polygon edges are needed to represent its curvature. The DRC method of some embodiments is implemented by highly parallel architectures (such as Graphics Processing Units (GPU) and Tensor Processing Units (TPU)) to improve processing throughput compared to traditional means.

Description

利用機器訓練網路執行設計規則核對檢查Perform design rule verification checks using machine training networks

本案是關於設計規則核對,尤其是關於利用機器訓練網路執行設計規則核對檢查。This case is about design rule checking, and specifically about the use of machine training networks to perform design rule checking checks.

在電子工程中,設計規則是應用於電路板、半導體裝置及積體電路(integrated circuit,IC)的幾何限制,以確保其設計功能是正常且可靠的,並可以在可接受的產量下來生產。生產的設計規則是由製程工程師根據其製程實現設計意圖的能力來制定。在電子設計自動化(Electronic Design Automation,EDA)中,設計規則核對(design rule checking,DRC)檢查器通常被用於確保設計者不會違反設計規則。In electronic engineering, design rules are geometric constraints applied to circuit boards, semiconductor devices, and integrated circuits (ICs) to ensure that their design functions properly and reliably and can be produced at acceptable yields. Production design rules are formulated by process engineers based on the ability of their processes to achieve design intent. In Electronic Design Automation (EDA), design rule checking (DRC) checkers are often used to ensure that designers do not violate design rules.

DRC是積體電路設計的物理驗證簽核中的主要步驟,其還涉及電路布局驗證(layout versus schematic,LVS)檢查、互斥或(XOR)檢查、電氣規則檢查(electrical rule check,ERC)及天線檢查。設計規則及設計規則核對的重要性對於具有奈米級幾何的IC及在較小幾何製程節點的先進製程而言是最大的。新的製程幾何的變化、邊緣放置誤差及各種其他問題將迫使IC製造商及EDA供應商面對愈來愈多、愈來愈複雜且有時相互關聯的設計規則,以確保晶片的可製造性。DRC is the main step in the physical verification sign-off of integrated circuit designs. It also involves circuit layout verification (layout versus schematic, LVS) check, exclusive OR (XOR) check, electrical rule check (ERC) and Antenna check. The importance of design rules and design rule verification is greatest for ICs with nanoscale geometries and advanced processes at smaller geometry process nodes. New process geometry changes, edge placement errors and a variety of other issues will force IC manufacturers and EDA suppliers to face more and more complex and sometimes interrelated design rules to ensure chip manufacturability .

同樣令人生畏的是不同電路布局多邊形之間的相互影響,其造成規則的數量顯著的增加。特別是在較小的幾何製程(例如目前在28奈米(nm)及以下)中,許多IC製造商仍堅持利用更多的限制性規則來提升產量。此將造成待檢查的設計規則的數量急遽增加。規則的數量已經增加到無法手動追蹤所有的規則的程度,從而導致極端的設計規則膨脹。此增加了所需檢查的數量,且使除錯(debug)變得更加困難。此外,某些規則是依賴於其他規則,此對於某些代工廠的某些製程而言是一個日益嚴重的問題。Equally daunting is the interaction between different circuit layout polygons, which results in a significant increase in the number of rules. Especially in smaller geometries (such as currently at 28 nanometers (nm) and below), many IC manufacturers still insist on using more restrictive rules to increase yields. This will result in a dramatic increase in the number of design rules to be checked. The number of rules has increased to the point where it is impossible to manually keep track of them all, leading to extreme design rule bloat. This increases the number of checks required and makes debugging more difficult. In addition, some rules are dependent on other rules, which is a growing problem for some processes in some foundries.

通用IC設計規則在本質上必需保有某種程度上的悲觀性/保守性,以迎合各式各樣的設計。由於在IC布局中無法事前得知哪些多邊形將與其他多邊形相鄰,因此規則必需能夠容納幾乎所有的可能性。Universal IC design rules must retain a certain degree of pessimism/conservatism in nature to cater for a wide variety of designs. Since there is no way to know in advance which polygons will be adjacent to other polygons in an IC layout, the rules must be able to accommodate almost all possibilities.

圖1繪示除了多層規則之外,還涉及檢查單層設計的基本設計規則核對的示意圖。此圖說明兩個單層規則(即寬度規則及間距規則)及一個多層規則(即圍繞規則)。在此示範例中,寬度規則規定設計中的任何形狀105的最小寬度,且間距規則規定兩個相鄰物件(例如形狀105及形狀110)之間的最小距離。此些規則將存在於半導體製程的每一層,其中最低層具有最小規則(通常為30~40 nm),且最高金屬層具有最大規則(也許為100 nm)。雙層規則規定兩層之間所存在的關係。例如,圖1所示的圍繞規則規定某一種型態的物件,例如通路切口(via cut)102,將被第二外層(例如金屬層104)以具有一些額外裕度(margin)的方式覆蓋。Figure 1 illustrates a schematic diagram of basic design rule checking involving checking a single-layer design in addition to multi-layer rules. This diagram illustrates two single-level rules (the width rule and the spacing rule) and one multi-level rule (the wrap rule). In this example, the width rule specifies the minimum width of any shape 105 in the design, and the spacing rule specifies the minimum distance between two adjacent objects (eg, shape 105 and shape 110 ). These rules will exist at every layer of the semiconductor process, with the lowest layer having the smallest rule (typically 30 to 40 nm) and the top metal layer having the largest rule (perhaps 100 nm). Two-tier rules specify the relationship that exists between two tiers. For example, an object of a certain type, such as a via cut 102, as shown in FIG. 1, will be covered by a second outer layer (such as a metal layer 104) with some additional margin.

傳統的DRC利用特徵及幾何的單維度量測來決定規則的順應性。此些規則的檢查主要涉及邊緣製程技術。曲線設計及積體光學(Photonic IC,PIC)呈現新的幾何挑戰及新型的裝置與布線(routing)設計,其中非曼哈頓(non-Manhattan)形狀(例如曲線、釘型及錐形)及在0度及90度之外的角度所運行的形狀是有意存在的。此些形狀擴展DRC任務的複雜度,甚至達到在利用傳統的單維度DRC規則後也無法完全描述某些物理限制的程度。Traditional DRC uses single-dimensional measurements of features and geometry to determine rule compliance. The inspection of these rules mainly involves edge process technology. Curve design and integrated optics (Photonic IC, PIC) present new geometric challenges and new types of device and routing designs, including non-Manhattan shapes (such as curves, spikes, and tapers) and The shapes that run at angles other than 0 degrees and 90 degrees are intentional. These shapes extend the complexity of the DRC task to the extent that certain physical constraints cannot be fully described even using traditional one-dimensional DRC rules.

曲線設計是指具有某些曲線含量的設計,但在某些情形下並不限於只包含嚴格的曲線形狀。在傳統的EDA工具中的曲線設計下,曲線設計層被分割成近似曲線形狀的多邊形組,從而造成與設計意圖之間存在一些差異。最微小的幾何差異皆可以產生虛假的DRC錯誤,此些錯誤加總後可能是一個龐大的數量,致使設計幾乎無法被除錯。Curvilinear design refers to a design that has some curvilinear content, but in some cases is not limited to strictly curvilinear shapes. Under the curve design in traditional EDA tools, the curve design layer is divided into polygon groups that approximate the shape of the curve, resulting in some differences from the design intention. The tiniest geometric differences can produce spurious DRC errors that can add up to a huge number, making the design nearly impossible to debug.

通常的情況是,雖然曲線形狀是被正確地設計,然而設計層(網格外(off-grid))及片段的多邊形層(網格上(on-grid))之間的寬度值存在差異,例如虛假的寬度錯誤將會被產生。即使此些適當的設計結構沒有違反可製造性的要求,其仍會產生顯著數量的虛假DRC錯誤。除錯或是手動排除此些錯誤是費時的且容易出現人為疏失。此外,片段的多邊形組中所存在的大量的邊緣會增加主要的性能損失(performance penalty)。因此,除了準確性/誤報(false positive)問題之外,在具有大量非常微小邊緣的片段的曲線設計上評估傳統DRC錯誤所需花費的時間也變得令人望而卻步。It is often the case that although the curve shape is designed correctly, there is a difference in the width value between the design layer (off-grid) and the fragment's polygon layer (on-grid), e.g. False width errors will be generated. Even if these appropriate design structures do not violate manufacturability requirements, they can still produce a significant number of spurious DRC errors. Debugging or manually troubleshooting these errors is time-consuming and prone to human error. Additionally, the large number of edges present in a fragment's polygon group adds a major performance penalty. Therefore, in addition to accuracy/false positive issues, the time required to evaluate traditional DRC errors on curved designs with large numbers of segments with very small edges becomes prohibitive.

即使設計只包含曼哈頓(Manhattan)及45度的形狀,當此些設計被製造時,沉積於基板上的形狀也不再是曼哈頓。換言之,由於製造的實際狀況,尤其是在現代製程幾何下,製程中沉積於基板上的形狀變得高度曲線化。適當的DRC規則檢查係要求DRC過程考慮有此些曲線化結果。Even if the design only contains Manhattan and 45-degree shapes, when these designs are manufactured, the shape deposited on the substrate is no longer Manhattan. In other words, due to manufacturing realities, especially under modern process geometries, the shapes deposited on the substrate during the process become highly curved. Proper DRC rule checking requires that the DRC process take into account these curved outcomes.

由於前述關於誤報及網格捕捉(grid snapping)等原因,利用傳統的DRC檢查方法來對經製造的(因而曲線化)形狀運行DRC檢查將面臨挑戰。在製造之前,DRC檢查一般運行於曼哈頓形狀,但是為了以某種方式將製造的實際狀況納入此種檢查,檢查本身將變得極為複雜、臃腫及運行緩慢,且仍然不準確(過於悲觀)。Running DRC inspections on manufactured (and therefore curved) shapes using traditional DRC inspection methods will be challenging due to the aforementioned reasons regarding false positives and grid snapping. Prior to manufacturing, DRC checks are typically run on a Manhattan shape, but in order to somehow incorporate the realities of manufacturing into such checks, the checks themselves would become extremely complex, bloated, slow, and still inaccurate (too pessimistic).

某些較新的技術(例如方程式基的DRC)已經出現,以解決光學設計中與精準度相關的問題。透過此種技術,使用者可以查詢設計本身的各種幾何屬性(除了誤差層的屬性之外),並利用使用者定義的數學表示式來對幾何屬性進行進一步的操作。因此,除了知曉形狀通過或是未通過DRC規則,使用者還可以決定任何的誤差量、應用容差(tolerance)來補償網格捕捉效應、利用屬性值執行檢查、利用數學表示式處理資料等等。Some newer techniques, such as equation-based DRC, have emerged to address accuracy-related issues in optical design. Through this technology, users can query various geometric properties of the design itself (in addition to the properties of the error layer), and use user-defined mathematical expressions to perform further operations on the geometric properties. So, in addition to knowing whether a shape passes or fails a DRC rule, the user can determine any amount of error, apply tolerances to compensate for grid snapping effects, perform checks using attribute values, process data using mathematical expressions, and more .

雖然此種方法可以提升傳統技術的準確度,然而其涉及大量的處理,特別是浮點運算,如此意味著其將運行得極為緩慢。此外,此種方法無法被應用於經製造後所實際產生的形狀,此些形狀因為製造的實際狀況及物理定律的限制等原因而與設計中所繪製的形狀不同。方程式基的技術需要存取在製造之前即可能存在於光學設計中的幾何參數,但是製造後的值不會呈現於製程模擬軟體的輸出中,因此方程式基的技術的適用性被大幅地限制。While this approach can improve the accuracy of traditional techniques, it involves a lot of processing, especially floating point operations, which means it will run extremely slowly. In addition, this method cannot be applied to the shapes actually produced after manufacturing. These shapes are different from the shapes drawn in the design due to the actual conditions of manufacturing and limitations of physical laws. Equation-based techniques require access to geometric parameters that may exist in the optical design before fabrication, but the post-fabrication values will not appear in the output of the process simulation software, so the applicability of equation-based techniques is greatly limited.

圖2繪示基於可製造的最小可行圓形(viable circle)的概念的替代技術的示意圖。考慮到基本製程模糊(fundamental process blur),最小可行圓形係對應可以可靠地印刷的最小形狀。某些人提出一種基於兩個圓形概念的曲線化遮罩規則檢查(Mask Rule Check,MRC)的實作,其中兩個圓形分別是代表最小寬度/間距檢查的較小圓形及代表二維(2D)區域的最小曲率半徑的較大圓形。Figure 2 shows a schematic diagram of an alternative technology based on the concept of a manufacturable minimum viable circle. Taking into account fundamental process blur, the minimum feasible circular system corresponds to the smallest shape that can be reliably printed. Some people have proposed an implementation of a curved Mask Rule Check (MRC) based on the concept of two circles, a smaller circle representing the minimum width/spacing check and a smaller circle representing the two circles. A larger circle with the minimum radius of curvature of a 2D area.

圖3繪示內部寬度檢查及外部間距檢查的實例的示意圖。圖中左側的元件對305呈現內部(寬度)檢查,而圖中右側的元件對310呈現外部(間距)檢查。寬度及間距(或橋及夾層)檢查在概念上可以透過簡單地在每一整體多邊形周圍滑動適當的最小寬度圓形來執行。圓形所無法穿越的任何位置皆是違規的。如圖中的深色圓形302所示,本示範例未通過間距檢查。一般而言,由於作為遮罩製程的部分的印刷偏置,最小寬度及最小間距將是不同的尺寸。FIG. 3 is a schematic diagram illustrating an example of inner width inspection and outer spacing inspection. Component pair 305 on the left side of the figure presents an internal (width) check, while component pair 310 on the right side of the figure presents an external (spacing) check. Width and spacing (or bridge and mezzanine) checks can conceptually be performed by simply sliding the appropriate minimum width circle around each integral polygon. Any position that the circle cannot traverse is illegal. As shown by the dark circle 302 in the figure, this example fails the spacing check. Generally speaking, due to printing offset as part of the masking process, the minimum width and minimum pitch will be different sizes.

圖4繪示曲率檢查的實例的示意圖,曲率檢查可以透過在每一邊界的邊緣的周圍滑動圓形來執行。再者,若圓形與圖案的外部之間具有任何的重疊,則曲率程度過大且圖案無法被可靠地製造。如此圖所示,內部曲率是大於外部曲率,其取決於半導體製造中所利用的抗蝕及蝕刻而可能發生。然而,由箭頭402及404所指的與曲線相切的圓形的重疊顯示檢查未通過的情形。Figure 4 illustrates a schematic diagram of an example of curvature checking, which can be performed by sliding a circle around the edge of each boundary. Furthermore, if there is any overlap between the circles and the outside of the pattern, the degree of curvature is too great and the pattern cannot be reliably produced. As shown in this figure, the internal curvature is larger than the external curvature, which may occur depending on the resist and etching utilized in semiconductor manufacturing. However, the overlap of the circles tangent to the curve indicated by arrows 402 and 404 indicates a failed inspection.

雖然圓形滑動方法在理論上至少是可行的,然而對於多邊形基的設計格式仍具有某些侷限性。當利用頂點檢查距離或曲率時,總是會有某些無法避免的重疊,且於實現避免誤報的演算法時需要注意。此問題是相似於作為解決方法而帶入的使用者定義容差的概念所概述的問題。此外,根據具體的實現方式,圓形的「滑動」可能涉及較多高代價的幾何運算,以找出各個圓形的圓心所需經過的軌跡,此可能反而造成整體性能的不利影響。雖然所描述的圍繞設計行走的圓形基本上是作為概念而不是作為實際演算法來提出,但是任何試圖在幾何域操作中實現同樣概念目標的演算法皆可能具有類似的不利性能的問題。Although the circular sliding method is at least theoretically feasible, it still has certain limitations for the design format of polygonal bases. When checking distance or curvature using vertices, there is always some unavoidable overlap, and care needs to be taken when implementing algorithms to avoid false positives. This problem is similar to that outlined by the concept of user-defined tolerances introduced as a solution. In addition, depending on the specific implementation, the "sliding" of circles may involve more expensive geometric operations to find the trajectory that the center of each circle needs to pass, which may adversely affect the overall performance. Although the described circle walking around the design is presented essentially as a concept rather than as an actual algorithm, any algorithm that attempts to achieve the same conceptual goal in geometric domain operations is likely to have similar adverse performance issues.

此兩種方法在誤報、準確度及/或性能上皆具有侷限性。從本質上而言,此兩組侷限性皆是源於演算法需要利用以積分格式(數字被儲存為某些基本資料庫單位的整數倍)儲存資料的資料格式來被應用於幾何域。GDSII及OASIS資料格式在EDA及半導體製造產業中被大量利用,並以此種格式儲存資料。如此顯然需要一種改善設計規則核對的方法,以適應包含製造中所產生的曲線形狀,並減少在利用整數基的資料格式時的不準確性(例如誤報),同時在有效的時程內運行。Both methods have limitations in false positives, accuracy, and/or performance. Essentially, both sets of limitations result from the need for algorithms to be applied to geometric domains using data formats that store data in integral format (numbers are stored as integer multiples of some basic database unit). GDSII and OASIS data formats are widely used in the EDA and semiconductor manufacturing industries, and data are stored in this format. There is a clear need for a method to improve design rule checking to accommodate curve shapes generated in manufacturing and reduce inaccuracies (such as false positives) when utilizing integer-based data formats, while operating within a valid schedule.

本發明的一些實施例提供執行像素基設計規則核對的方法。一些實施例的方法可以用於執行直線設計及曲線設計的設計規則核對。一些實施例的方法利用機器訓練網路(例如經訓練的卷積神經網路)來執行像素基處理。在一些實施例中,機器訓練網路是透過深度學習處理來被訓練,深度學習處理是利用來自一或多個不同的DRC方法(例如傳統(幾何)方法、方程式基方法或圓形追蹤方法)來產生用於訓練的資料。Some embodiments of the present invention provide methods for performing pixel-based design rule checking. The methods of some embodiments can be used to perform design rule checking for linear designs and curved designs. The methods of some embodiments utilize machine-trained networks (eg, trained convolutional neural networks) to perform pixel-based processing. In some embodiments, the machine training network is trained through a deep learning process utilizing methods from one or more different DRC methods (e.g., traditional (geometric) methods, equation-based methods, or circular tracking methods) to generate data for training.

例如,在一些實施例中,該方法係利用機器訓練網路(例如神經網路),機器訓練網路係透過包含直線形狀及曲線形狀的範例進行訓練,其中的一些片段是關聯於DRC錯誤。在一些實施例中,用於訓練資料的DRC錯誤係利用傳統幾何方法、方程式基方法或「圓形追蹤」方法來獲得。代表待檢查的形狀的幾何資料係被柵格化(rasterized)為給定像素尺寸的影像。DRC錯誤標記是建立於存在DRC錯誤的位置(由傳統方法、方程式基方法或圓形追蹤方法決定),且也被柵格化為給定像素尺寸的影像。輸入光柵(柵格或柵格化)影像及輸出光柵影像係用於訓練神經網路。For example, in some embodiments, the method utilizes a machine training network (eg, a neural network) that is trained on examples containing straight shapes and curved shapes, some of which are associated with DRC errors. In some embodiments, DRC errors for training data are obtained using traditional geometric methods, equation-based methods, or "circle pursuit" methods. The geometric data representing the shape to be inspected is rasterized into an image of a given pixel size. DRC error markers are created at the locations where DRC errors exist (determined by traditional, equation-based, or circular tracking methods) and are also rasterized into the image at a given pixel size. Input raster (raster or rasterized) images and output raster images are used to train neural networks.

在一些實施例中,一旦經訓練後,該方法利用機器訓練網路(例如神經網路)來推論其沒有見識過的包含有直線含量及曲線含量的設計的柵格化影像的DRC錯誤。接著,柵格化DRC錯誤轉換回幾何域,以在設計編輯中或是觀看工具中顯示,例如透過將其覆蓋於原始設計上。一些實施例利用單一機器訓練網路(例如神經網路),該單一機器訓練網路係經訓練以一次性處理多種類性的DRC,而其他實施例利用多個機器訓練網路(例如多個神經網路)來並行運作,每一機器訓練網路運行一或多個DRC檢查。In some embodiments, once trained, the method utilizes a machine-trained network (eg, a neural network) to infer DRC errors for rasterized images that it has not seen for designs containing linear content and curve content. The rasterized DRC errors are then converted back into the geometry domain for display in design editing or viewing tools, for example by overlaying them on the original design. Some embodiments utilize a single machine training network (e.g., a neural network) that is trained to handle multiple categories of DRCs at once, while other embodiments utilize multiple machine training networks (e.g., multiple neural networks) to operate in parallel, each machine trains the network to run one or more DRC checks.

在一些實施例中,機器訓練網路採用深度學習方法來進行既準確且高效的像素基、直線與曲線的規則檢查。對於誤報而言,特別是對於具有曲線含量的設計而言,深度學習方法比幾何方法更具有彈性,且推論時間維持不變,無論被檢查的設計存在有多少形狀,或是需要多少多邊形邊緣來呈現其曲率。在一些實施例中,利用高度並行結構(例如圖形處理單元(Graphic Processing Unit,GPU)及張量處理單元(Tensor Processing Unit,TPU))來提升與傳統手段相比的吞吐量(throughput)。In some embodiments, the machine training network uses deep learning methods to perform pixel-based, straight and curve rule checking that is both accurate and efficient. Deep learning methods are more resilient than geometric methods with respect to false positives, especially for designs with curvilinear content, and the inference time remains the same, regardless of how many shapes exist in the design being inspected, or how many polygon edges are needed to Show its curvature. In some embodiments, highly parallel structures (such as Graphic Processing Unit (GPU) and Tensor Processing Unit (TPU)) are utilized to improve throughput compared with traditional means.

前述發明內容旨在對於本發明的一些實施例進行簡潔的說明。此並非是對於本案中的所有的發明標的進行介紹或是說明。以下的實施方式及其提及的圖式將進一步說明前述發明內容中所說明的實施例及其他的實施例。因此,為了理解本文所說明的所有的實施例,需要對發明內容、實施方式、圖式及請求項進行全面的審閱。此外,請求項的標的不應受限於發明內容、實施方式及圖式的示範性的細節。The foregoing summary is intended to provide a concise description of some embodiments of the invention. This is not intended to introduce or explain all the inventions in this case. The following embodiments and the drawings mentioned therein will further illustrate the embodiments described in the foregoing summary of the invention and other embodiments. Therefore, in order to understand all the embodiments described herein, a comprehensive review of the summary, embodiments, drawings, and claims is required. Furthermore, the subject matter of the claims should not be limited to the summary of the invention, the exemplary embodiments and the exemplary details of the drawings.

在以下的本發明的詳細說明中,提出並描述了本發明的許多細節、示範例及實施例。然而,本發明所屬技術領域中具有通常知識者將清楚明瞭本發明並不限於所闡述的實施例,且本發明可以在不具備所討論的一些具體細節與示範例的情形下實施。In the following detailed description of the invention, numerous details, examples and embodiments of the invention are set forth and described. However, it will be apparent to those of ordinary skill in the art that the present invention is not limited to the illustrated embodiments, and that the present invention may be practiced without some of the specific details and examples discussed.

本發明的一些實施例提供執行像素基設計規則核對的方法。在一些實施例中,該方法是用以對於直線設計及曲線設計執行設計規則核對。在一些實施例中,該方法利用機器訓練網路(例如經訓練的卷積神經網路)來執行像素基處理。在一些實施例中,機器訓練網路是透過深度學習處理來訓練,深度學習處理是利用來自一或多個不同的DRC方法(例如傳統(幾何)方法、方程式基方法或圓形追蹤方法)來產生用於訓練的資料。Some embodiments of the present invention provide methods for performing pixel-based design rule checking. In some embodiments, the method is used to perform design rule checking for linear designs and curved designs. In some embodiments, the method utilizes a machine-trained network (eg, a trained convolutional neural network) to perform pixel-based processing. In some embodiments, the machine training network is trained through a deep learning process that utilizes methods from one or more different DRC methods, such as traditional (geometric) methods, equation-based methods, or circular tracking methods. Generate data for training.

在一些實施例中,一旦經訓練後,該方法利用機器訓練網路(例如神經網路)來推論其沒有見識過的包含有直線含量及曲線含量的設計的柵格化影像的DRC錯誤。接著,柵格化DRC錯誤轉換回幾何域,以在設計編輯中或是觀看工具中顯示,例如透過將其覆蓋於原始設計上。一些實施例利用單一機器訓練網路(例如神經網路),該單一機器訓練網路係經訓練以一次性處理多種類性的DRC,而其他實施例利用多個機器訓練網路(例如多個神經網路)來並行運作,每一機器訓練網路運行一或多個DRC檢查。In some embodiments, once trained, the method utilizes a machine-trained network (eg, a neural network) to infer DRC errors for rasterized images that it has not seen for designs containing linear content and curve content. The rasterized DRC errors are then converted back into the geometry domain for display in design editing or viewing tools, for example by overlaying them on the original design. Some embodiments utilize a single machine training network (e.g., a neural network) that is trained to handle multiple categories of DRCs at once, while other embodiments utilize multiple machine training networks (e.g., multiple neural networks) to operate in parallel, each machine trains the network to run one or more DRC checks.

在一些實施例中,對於誤報而言,特別是對於具有曲線含量的設計而言,由機器訓練網路所執行的像素基DRC比幾何方法更具有彈性,且推論時間維持不變,無論被檢查的設計存在有多少形狀,或是需要多少多邊形邊緣來呈現其曲率。在一些實施例中,透過利用高度並行架構(例如圖形處理單元及張量處理單元)來處理機器訓練網路,推論時間(輸出時間)可以進一步被增強。In some embodiments, pixel-based DRC performed by machine-trained networks is more resilient to false positives than geometric methods, especially for designs with curve content, and inference time remains the same regardless of the How many shapes exist in a design, or how many polygonal edges are needed to convey its curvature. In some embodiments, inference time (output time) can be further enhanced by utilizing highly parallel architectures (such as graphics processing units and tensor processing units) to process machine training networks.

圖5繪示經訓練的神經網路500接收代表設計資料的影像並產生資料以作為代表DRC違規標記的輸出影像的概覽圖。神經網路500係透過包含直線形狀及曲線形狀的範例進行訓練,其中的一些片段是關聯於DRC錯誤。在一些實施例中,用於訓練資料的DRC錯誤是利用傳統幾何方法、方程式基方法或「圓形追蹤」方法或其他任何種方法來獲得。代表待檢查的形狀的幾何資料係被柵格化為給定的像素尺寸的影像。FIG. 5 is an overview of a trained neural network 500 receiving an image representing design data and generating data as an output image representing a DRC violation flag. Neural network 500 is trained on examples containing straight and curved shapes, some of which are associated with DRC errors. In some embodiments, DRC errors for training data are obtained using traditional geometric methods, equation-based methods, or "circle tracking" methods, or any other method. The geometric data representing the shape to be inspected is rasterized into an image of a given pixel size.

柵格化是獲取形狀或輪廓被某一種格式定義的影像,並轉換該影像為光柵影像的任務,其中光柵影像的每一形狀或其輪廓皆是參考串列的像素、點或線來定義,當此些像素、點及線共同顯示時,即產生最初由形狀所代表的影像。在一些實施例中,柵格化影像是以像素來定義,像素係顯示於電腦顯示器、視訊顯示器或印表機,或是以點陣圖(bitmap)檔案格式儲存。如此,在一些實施例中,柵格化是指繪製三維(3D)模型的技術或是將二維(2D)渲染基元(例如多邊形、線段等)轉換為柵格化格式(例如轉換為此些模型或基元的像素基定義)的技術。Rasterization is the task of obtaining an image whose shape or outline is defined by a certain format, and converting the image into a raster image, where each shape or its outline of the raster image is defined by reference to a series of pixels, points, or lines. When displayed together, these pixels, points, and lines create the image originally represented by the shape. In some embodiments, a rasterized image is defined in terms of pixels, which are displayed on a computer monitor, video monitor, or printer, or stored in a bitmap file format. Thus, in some embodiments, rasterization refers to a technique for drawing three-dimensional (3D) models or converting two-dimensional (2D) rendering primitives (e.g., polygons, line segments, etc.) into a rasterized format (e.g., converting to pixel-based definition of some models or primitives).

在一些實施例中,DRC錯誤標記是建立於存在有DRC錯誤的位置(由傳統方法決定),並被柵格化為給定像素尺寸的影像。接著,輸入光柵影像及輸出光柵影像用以訓練神經網路。一旦經訓練後,神經網路即被用於推論其沒有見識過的包含直線含量及曲線含量的設計的柵格化影像的DRC錯誤。接著,柵格化DRC錯誤透過輪廓操作而轉換回幾何域。此步驟使在幾何基設計編輯或觀看工具中視覺化或顯示DRC錯誤標記,例如透過將其覆蓋於原始設計上。在一些實施例中,「步進方陣(marching square)」處理(例如步進方陣演算法)在輪廓處理期間被利用以實現此轉換。In some embodiments, DRC error markers are established at locations where DRC errors exist (determined by traditional methods) and rasterized into images of a given pixel size. Then, the input raster image and the output raster image are used to train the neural network. Once trained, the neural network is used to infer DRC errors for rasterized images of designs it has not seen that contain both linear and curve content. Next, the rasterized DRC errors are converted back to the geometry domain through contour operations. This step enables DRC error markers to be visualized or displayed in geometry-based design editing or viewing tools, for example by overlaying them on the original design. In some embodiments, a "marching square" process (eg, a marching square algorithm) is utilized during contour processing to achieve this transformation.

在一些實施例中,整體流程涉及柵格化步驟以從幾何域移動至像素域。此柵格化步驟具有一些相關的成本。因此,此後盡可能地在像素域中進行操作是有益的。如此,可使柵格化的成本被在像素域中所執行的其他操作來攤銷,且整體流程可以從像素友善硬體架構(例如GPU及TPU)中獲得顯著的受益。一些實施例提供利用深度學習在像素間距中執行DRC操作的方法。再者,一些實施例透過其他像素基方法來增強深度學習方法,從而建立混合方法。例如,一些實施例的DRC規則檢查係全部或是部分地利用深度學習方法來實現,而其他實施例的DRC規則檢查係全部或是部分地由非深度學習基的其他像素基方法(例如利用標準影像處理程式)來實現。In some embodiments, the overall process involves a rasterization step to move from the geometry domain to the pixel domain. This rasterization step has some costs associated with it. Therefore, it is beneficial to operate in the pixel domain as much as possible thereafter. In this way, the cost of rasterization can be amortized by other operations performed in the pixel domain, and the overall process can significantly benefit from pixel-friendly hardware architectures such as GPUs and TPUs. Some embodiments provide methods for performing DRC operations in pixel pitch using deep learning. Furthermore, some embodiments enhance deep learning methods with other pixel-based methods, thereby creating hybrid methods. For example, the DRC rule checking in some embodiments is implemented in whole or in part using deep learning methods, while the DRC rule checking in other embodiments is implemented in whole or in part by other pixel-based methods that are not deep learning-based (such as using standard image processing program) to achieve.

在一些實施例中,深度學習基方法係由其他像素基方法(例如濾波)或是形態影像處理方法來增強。高通濾波是用以加強影像中最常與影像的邊緣(例如柵格化後的多邊形的邊緣)相關的快速變化的區域。形態影像處理包含膨脹(dilation)及侵蝕(erosion),膨脹操作將像素添加至影像中的物件的邊界,且侵蝕操作將像素從物件邊界移除。在一些實施例中,形態影像處理事件被用以擴張影像中的物件直至其相互接觸,此時若膨脹步驟的次數超過某個最小值,則影像中的物件被視為間距不足。In some embodiments, deep learning-based methods are enhanced by other pixel-based methods (such as filtering) or morphological image processing methods. High-pass filtering is used to enhance rapidly changing areas of an image that are most commonly associated with the edges of the image (such as the edges of rasterized polygons). Morphological image processing includes dilation and erosion. The dilation operation adds pixels to the boundaries of objects in the image, and the erosion operation removes pixels from the boundaries of objects. In some embodiments, morphological image processing events are used to expand objects in the image until they touch each other. At this time, if the number of expansion steps exceeds a certain minimum value, the objects in the image are considered to be insufficiently spaced.

GPU及TPU係利用高度並行架構。中央處理器(Central Processing Unit,CPU)在處理非常複雜的指令組方面是傑出的,而GPU及TPU在處理非常簡單的多個指令組(例如關聯於神經網路處理的指令)方面是非常出色的。因此,像素基方法例如神經網路,係有利地利用GPU及TPU裝置中所存在的高程度並行性來快速地執行其處理,並在一些實施例中用於加速曲線設計規則核對的操作。GPUs and TPUs utilize highly parallel architectures. The Central Processing Unit (CPU) is excellent at processing very complex instruction sets, while the GPU and TPU are excellent at processing very simple multiple instruction groups (such as instructions associated with neural network processing) of. Accordingly, pixel-based methods, such as neural networks, advantageously take advantage of the high degree of parallelism present in GPU and TPU devices to perform their processing quickly, and in some embodiments are used to accelerate curve design rule checking operations.

圖6繪示建立訓練資料的流程600的流程圖,且訓練資料係被利用以訓練神經網路。該流程在設計中產生多個已知的輸入X及多個已知的輸出Y(例如與DRC違規關聯的DRC多邊形)。首先,流程600產生或選擇先前產生的IC設計(步驟605)。在一些實施例中IC設計包含用於單層DRC規則(例如最小寬度、最小間距)的單一IC層或用於多層DRC規則(例如最小圍繞)的多個IC層(例如多個互連層或配線層)。FIG. 6 illustrates a flowchart of a process 600 for creating training data used to train a neural network. This flow produces multiple known inputs X and multiple known outputs Y (such as DRC polygons associated with DRC violations) in the design. First, process 600 generates or selects a previously generated IC design (step 605). In some embodiments the IC design includes a single IC layer for single layer DRC rules (eg minimum width, minimum pitch) or multiple IC layers (eg multiple interconnect layers or wiring layer).

在步驟605之後,流程600分岔為兩個子流程。第一子流程包含操作步驟620及625,以產生用於步驟630的神經網路訓練的已知的輸入X。第二子流程包含操作步驟615、622及627,以產生多個已知的輸出Y,且每一個已知的輸出Y關聯於一個已知的輸入X。具體來說,在步驟610中,流程600於經產生的設計執行DRC檢查操作。在一些實施例中,此DRC檢查操作係利用已知的DRC技術,例如傳統幾何手段、方程式基手段、圓形追蹤手段或任何其他手段。After step 605, the process 600 is branched into two sub-processes. The first sub-process includes operations 620 and 625 to generate a known input X for neural network training in step 630 . The second sub-process includes operation steps 615, 622 and 627 to generate a plurality of known outputs Y, and each known output Y is associated with a known input X. Specifically, in step 610 , the process 600 performs a DRC check operation on the generated design. In some embodiments, this DRC checking operation utilizes known DRC techniques, such as traditional geometric means, equation-based means, circular tracking means, or any other means.

接著,流程600辨識由DRC檢查所產生的輸出多邊形(步驟615)。原始設計及DRC多邊形皆被柵格化為影像(分別是步驟620及步驟622)。接著,流程600將設計的柵格化影像及DRC多邊形組合為圖磚(分別是步驟625及步驟627),其對應於整體IC設計的較小部分。將IC設計區分成較小的區塊是有利的,因為此些較小的設計更適合由神經網路來處理。在一些實施例中,為了充足地訓練神經網路,對所需的多個IC設計執行所需的多次流程600。在一些實施例中,神經網路是利用來自單一設計的訊息來訓練,而在其他實施例中,神經網路是利用來自多個設計的訊息來訓練。在步驟630之後,流程600結束。Next, process 600 identifies the output polygons produced by the DRC check (step 615). Both the original design and the DRC polygons are rasterized into images (steps 620 and 622 respectively). Next, process 600 combines the rasterized images and DRC polygons of the design into tiles (step 625 and step 627 respectively), which correspond to smaller portions of the overall IC design. It is advantageous to divide the IC design into smaller chunks because these smaller designs are more suitable for processing by neural networks. In some embodiments, to adequately train the neural network, process 600 is performed as many times as necessary for as many IC designs as necessary. In some embodiments, the neural network is trained using information from a single design, while in other embodiments, the neural network is trained using information from multiple designs. After step 630, process 600 ends.

在一些實施例中,經收集的圖磚係儲存為磁碟中的個別影像檔案、或是儲存於資料庫或是以任何其他適當的形式以用於神經網路訓練。在一些實施例中,當設計包含多個設計層時,每一層係個別被柵格化。在一些實施例中,所產生的單層光柵影像係被分開儲存,或是在其他實施例中,所產生的單層光柵影像係被組合成多通道光柵影像,並在本質上被共同地儲存。如圖6所示,從神經網路訓練操作(步驟630)左邊進入的柵格化的圖磚設計影像係被稱為X資料(已知的輸入資料),而從右邊進入的對應的柵格化的圖磚DRC多邊形影像係被稱為Y資料(已知的輸出資料)。In some embodiments, the collected tiles are stored as individual image files on disk, or in a database, or in any other suitable form for neural network training. In some embodiments, when a design includes multiple design layers, each layer is rasterized individually. In some embodiments, the single-layer raster images generated are stored separately, or in other embodiments, the single-layer raster images generated are combined into multi-channel raster images and essentially stored collectively. . As shown in Figure 6, the rasterized tile design image system entered from the left side of the neural network training operation (step 630) is called X data (known input data), and the corresponding raster image system entered from the right side The tiled DRC polygon image system is called the Y data (known as the output data).

為了訓練神經網路,在一些實施例中是透過神經網路供給已知的輸入(來自X資料的柵格化輸入圖案),以產生預測的輸出Y’,接著比較該預測的輸出Y’與輸入的已知的輸出(例如DRC多邊形),以計算一或多個誤差值組(例如根據已知的輸出及預測的輸出之間的差異來計算差異值)。接著,已知的輸入/輸出組的誤差值被利用以計算損失函數(例如於後所述的交叉熵(cross-entropy)損失函數),之後透過神經網路反向傳遞以訓練神經網路的可配置參數(例如權重值)。一旦經過處理大量的已知的輸入/輸出所進行的訓練後,經訓練的神經網路可以被利用(如圖5的前述相關段落所示)以執行DRC操作,從而辨識神經網路所處理的IC設計中的DRC違規。To train a neural network, in some embodiments the neural network is fed a known input (a rasterized input pattern from the X data) to produce a predicted output Y', and then compares the predicted output Y' with A known output (such as a DRC polygon) is input to calculate one or more sets of error values (such as a difference value based on the difference between a known output and a predicted output). Then, the error values of the known input/output groups are used to calculate the loss function (such as the cross-entropy loss function described later), and then back-propagated through the neural network to train the neural network. Configurable parameters (such as weight values). Once trained on processing a large number of known inputs/outputs, the trained neural network can be exploited (as shown in the previous relevant paragraph of Figure 5) to perform DRC operations to identify the objects processed by the neural network. DRC violations in IC design.

在一些實施例中,單層設計資料「X」是由在各種維度及各種位置下隨機產生的曼哈頓形狀及/或對角線形狀所產生。圖7繪示隨機產生的單層曼哈頓資料的實例的示意圖,該資料是在較高的高度縮放級下由隨機曼哈頓形狀所產生。在一些實施例中,單層設計資料「X」係由在各種維度及各種位置下隨機產生的形狀所產生,該形狀包含直線形狀及曲線形狀。圖8繪示在較低的高度縮放級下的隨機曲線形狀的實例的示意圖。在一些實施例中,各種方法係被用於產生曲線形狀。In some embodiments, the single-layer design data "X" is generated from randomly generated Manhattan shapes and/or diagonal shapes in various dimensions and various positions. Figure 7 shows a schematic diagram of an example of randomly generated single layer Manhattan data generated from random Manhattan shapes at higher height zoom levels. In some embodiments, the single layer design data "X" is generated by randomly generated shapes in various dimensions and various positions, and the shapes include linear shapes and curved shapes. Figure 8 is a schematic diagram illustrating an example of a random curve shape at a lower height zoom level. In some embodiments, various methods are used to generate curved shapes.

在一些實施例中,透過應用不同的轉換,從直線/曼哈頓及/或對角線所產生的資料來產生曲線資料。在一些實施例中,製程模擬軟體是用於實現轉換,例如模擬器的輸入資料代表待利用半導體製程來製造的曼哈頓形狀、直線形狀及/或對角線形狀的組合,且由軟體所產生的輸出形狀是在製程的限制下預期製造的對應的形狀。在其他實施例中,(不同的)適當訓練的神經網路是用於決定曲線形狀的轉換。例如,當曲線形狀代表半導體製程的輸出時,一些實施例利用美國專利申請號16/949,270(現已公開為美國專利公開號2022/0128899)所記載的經訓練的神經網路,以決定曲線形狀。In some embodiments, curve data is generated from data generated by straight lines/Manhattans and/or diagonals by applying different transformations. In some embodiments, process simulation software is used to implement transformations. For example, the input data of the simulator represents a combination of Manhattan shapes, linear shapes, and/or diagonal shapes to be manufactured using a semiconductor process, and the software generates The output shape is the corresponding shape expected to be manufactured within the constraints of the process. In other embodiments, a (different) appropriately trained neural network is used to determine the transformation of the curve shape. For example, when the curve shape represents the output of a semiconductor process, some embodiments utilize a trained neural network described in U.S. Patent Application No. 16/949,270 (now published as U.S. Patent Publication No. 2022/0128899) to determine the curve shape. .

在一些實施例中,對於多層DRC規則而言,多層設計資料「X」也是由各種維度及各種位置下的隨機產生的曼哈頓形狀及/或對角線形狀所產生。圖9繪示在較低的高度縮放級下的隨機產生的多層曼哈頓資料900的實例的示意圖。在此,包含深色資料的層是代表「內部」層902,且包含淺色資料的層是代表「外部」層904,其根據設計規則而需要以最小圍繞量來圍繞「內部」層形狀。由於製造中的對齊問題,即當在製造下難以準確地將「外部」層904對齊「內部」層902時(尤其是當內部層及外部層是在不同的步驟中所產生時)仍需要完全重疊,因此此種規則是常見的。In some embodiments, for multi-layer DRC rules, the multi-layer design data "X" is also generated by randomly generated Manhattan shapes and/or diagonal shapes in various dimensions and various positions. FIG. 9 illustrates an example of randomly generated multi-layered Manhattan data 900 at a lower height zoom level. Here, the layer containing dark material represents the "inner" layer 902, and the layer containing light material represents the "outer" layer 904, which according to design rules requires a minimum amount of wrapping around the "inner" layer shape. Due to alignment issues in manufacturing, when it is difficult to accurately align the "outer" layer 904 with the "inner" layer 902 during manufacturing (especially when the inner and outer layers are created in different steps) it still needs to be completely overlap, so this rule is common.

半導體製造中的應用例係對應於金屬形狀的製造,當將導體從某一金屬層變遷(transitioning)至另一金屬層時,該金屬形狀需要完全圍繞通路切口層。圖10繪示半導體堆疊的實例的示意圖,該半導體堆疊顯示由通路連接的兩個金屬級,其中第一級上的金屬透過「通路」或是「切口」的方式來連接第二層上的金屬。設計規則通常要求通路/切口的頂部/底部的截面需要被上方/下方層上的金屬的截面以最小量圍繞,以確保即使在製造下金屬及通路切口的對齊無法100%完美時,通路切口仍能被上方/下方的金屬完全接觸。An application example in semiconductor manufacturing corresponds to the fabrication of metal shapes that need to completely surround the via cut layer when transitioning a conductor from one metal layer to another. Figure 10 is a schematic diagram of an example of a semiconductor stack showing two metal levels connected by vias, where the metal on the first level is connected to the metal on the second level through "vias" or "cuts" . Design rules often require that the top/bottom sections of vias/cuts need to be surrounded by a minimum amount of sections of metal on the layer above/below to ensure that even when the alignment of the lower metal and via cuts is not 100% perfect during fabrication, the via cuts are still Can be fully contacted by metal above/below.

如圖1所示,在直線半導體設計中,通路切口102形狀通常是正方形。在一些實施例中,對於曲線設計而言,通路更常見為圓形形狀或是橢圓形形狀,其與金屬「外部」形狀的對應部分以某些最小量重疊。As shown in FIG. 1 , in a linear semiconductor design, the shape of the via cutout 102 is usually square. In some embodiments, it is more common for curved designs to have a circular shape or an elliptical shape that overlaps the corresponding portion of the metal "outer" shape by some minimal amount.

圖11繪示半導體形狀的實例的示意圖,該半導體形狀顯示具有重疊金屬1104(例如以灰色顯示)、頂部是直線情形且底部是曲線情形的通路切口1102(例如以黑色顯示)。在此兩種情形中,深色區域代表通路切口,而淺灰色區域代表需以某些最小圍繞量來重疊通路切口的金屬。FIG. 11 is a schematic diagram of an example of a semiconductor shape showing via cutout 1102 with overlapping metal 1104 (eg, shown in gray), a straight case at the top, and a curved case at the bottom (eg, shown in black). In both cases, the dark area represents the via cutout, while the light gray area represents the metal that needs to overlap the via cutout with some minimum amount of wrapping.

雖然在半導體裝置中的經設計的直線將傾向為正方形形狀或是矩形形狀,然而在一些實施例中並不僅限於此些形狀。相反地,一些實施例產生具有各種形狀的多層資料,以使神經網路在訓練期間暴露於各種形狀,並從而使經訓練的網路能夠更佳地廣泛化,且使其能夠用於遇到更複雜的多層曲線形狀的其他問題領域中。Although designed straight lines in semiconductor devices will tend to be square or rectangular, in some embodiments they are not limited to these shapes. Instead, some embodiments generate multiple layers of data with various shapes to expose the neural network to various shapes during training and thereby enable the trained network to better generalize and enable it to be used across encounters. More complex multi-layered curve shapes are among other problem areas.

圖12繪示在較低的高度縮放級下的隨機產生的多層曲線資料的實例的示意圖。如圖所示,一些深色(內部)層形狀位於淺色(外部)層形狀的中央,而其他的則明顯偏置。具有較大偏置的形狀將傾向於產生更多的最小圍繞DRC違規。Figure 12 is a schematic diagram illustrating an example of randomly generated multi-layer curve data at a lower height zoom level. As shown, some of the dark (inner) layer shapes are centered on the light (outer) layer shapes, while others are significantly offset. Shapes with larger offsets will tend to produce more minimum surround DRC violations.

在一些實施例中,對應於DRC違規標記的標籤資料「Y」係透過DRC檢查步驟而從輸入「X」產生。任何DRC機制例如前述的傳統幾何基DRC檢查、方程式基檢查或是圓形追蹤方法可以被利用。In some embodiments, tag data "Y" corresponding to the DRC violation flag is generated from the input "X" through the DRC checking step. Any DRC mechanism such as the aforementioned traditional geometry-based DRC checking, equation-based checking, or circle tracking methods can be utilized.

圖13繪示幾何DRC檢查器1300的示意圖,DRC檢查器1300用以響應接收圖左側的電路設計1302(以第二顏色顯示,例如黃色)而產生圖右側的多個DRC標記1304(以第一顏色顯示,例如深藍色)。在一些實施例中,DRC標記係被設置於某些位置,以突顯涉及DRC違規的輸入設計的一或多個邊緣。13 illustrates a schematic diagram of a geometric DRC checker 1300 for generating a plurality of DRC markers 1304 on the right side of the figure (shown in a first color) in response to receiving the circuit design 1302 on the left side of the figure (shown in a second color, such as yellow). Color display, such as dark blue). In some embodiments, DRC markers are placed at certain locations to highlight one or more edges of the input design involving DRC violations.

圖14繪示DRC標記的實例的示意圖,DRC標記的產生是用於單層30 nm最小寬度違規。如圖所示,標記多邊形1402係產生給比30 nm的設計規則值更窄的部分的顏色設計1400(例如淺黃色設計)。如此,DRC違規標記係被設置於寬度小於30 nm的部分的曲線設計的左邊緣及右邊緣周圍。為了協助視覺化,尺1404還設置於影像中以在標記的區域中顯示設計多邊形的寬度,其比期望的30 nm值更接近0.029微米(micrometer,um)。朝向影像1400的頂部及底部且較寬於29 nm夾點的多邊形1402的另一部分係沒有被DRC標記覆蓋。Figure 14 shows a schematic diagram of an example of DRC marking generated for a single layer 30 nm minimum width violation. As shown, marker polygon 1402 is generated for a color design 1400 that is narrower than the design rule value of 30 nm (eg, a light yellow design). In this way, the DRC violation marks are disposed around the left and right edges of the curved design of the portion with a width less than 30 nm. To assist with visualization, a ruler 1404 is also placed in the image to show the width of the design polygon in the marked area, which is closer to 0.029 micrometer (um) than the expected 30 nm value. The other portions of polygon 1402 toward the top and bottom of image 1400 that are wider than the 29 nm pinch are not covered by the DRC markers.

如前所述,在對於某些設計(特別是具有曲線含量的設計)執行DRC檢查時,一些實施例會不經意地產生「誤報」DRC標記。此主要是因為從幾何座標至網格系統的「捕捉(snapping)」,且在最先進的幾何編輯工具例如電路設計布局編輯器中是常見的。圖14顯示該網格。在一些實施例中,捕捉網格比影像中所示的網格更細,但此情形通常存在於以工業標準GDSII及OASIS格式儲存的設計中。捕捉效應會在DRC檢查系統中引入精準度誤差,從而轉換為誤報,通常表現為非常小的DRC違規標記。在一些實施例中,較小的DRC標記在後續處理之前即會被濾波(filter)掉。即使濾波動作無法足夠精準地移除所有非常小的標記而使在濾波動作之後仍有一些逃脫的非常小的標記,此一般也不會對於深度學習演算法構成問題。As mentioned previously, some embodiments can inadvertently produce "false positive" DRC flags when performing DRC checks on certain designs, particularly designs with curve content. This is mainly due to the "snapping" from geometric coordinates to the grid system, and is common in state-of-the-art geometry editing tools such as circuit design layout editors. Figure 14 shows this grid. In some embodiments, the capture grid is finer than that shown in the image, but this is typically the case in designs stored in industry-standard GDSII and OASIS formats. The capture effect introduces accuracy errors in the DRC inspection system, which translates into false positives, often manifesting as very small DRC violation flags. In some embodiments, smaller DRC markers are filtered out before subsequent processing. Even if the filtering action cannot remove all very small markers accurately enough so that some very small markers escape after the filtering action, this generally does not pose a problem for deep learning algorithms.

在一些實施例中,DRC標記(在前述濾波動作中存活)被建立為具有至少一最小尺寸,以利其在神經網路訓練期間進行柵格化及學習。在其他實施例中,DRC標記被有意地放大以實現相同的目標。例如,DRC標記多邊形在每一邊緣上皆被放大一個像素維度值,其中像素維度對應於後續柵格化影像時所利用的像素維度。在一些實施例中,8 nm的像素尺寸在柵格化期間被利用,因此DRC標記多邊形的每一邊緣的放大量是8 nm。在不違背本發明的一些實施例的精神的情形下,還可以利用其他的放大量。放大DRC標記的一個原因是確保其在柵格化後仍能清楚地呈現,即在柵格化影像中是清晰可見的。例如,在一些實施例中,若較大的像素尺寸(例如8x8 nm)被利用於柵格化流程中,則子像素維度的DRC標記多邊形(例如較小的5x6 nm DRC標記)在灰階柵格化影像中並不是特別的顯眼。在此流程中所產生的DRC標記在本文中被稱為「基準真相」。In some embodiments, DRC markers (that survive the aforementioned filtering operations) are established to have at least a minimum size to facilitate rasterization and learning during neural network training. In other embodiments, DRC markers are intentionally amplified to achieve the same goal. For example, a DRC labeled polygon is enlarged by a pixel dimension value on each edge, where the pixel dimension corresponds to the pixel dimension used when subsequently rasterizing the image. In some embodiments, a pixel size of 8 nm is utilized during rasterization, so the amplification amount for each edge of the DRC marker polygon is 8 nm. Other amounts of amplification may also be utilized without departing from the spirit of some embodiments of the invention. One reason for enlarging the DRC marker is to ensure that it remains clearly visible after rasterization, i.e. it is clearly visible in the rasterized image. For example, in some embodiments, if a larger pixel size (e.g., 8x8 nm) is utilized in the rasterization process, a subpixel-dimensional DRC marker polygon (e.g., a smaller 5x6 nm DRC marker) is displayed on a grayscale raster. It is not particularly conspicuous in the image. The DRC mark generated during this process is referred to as the "ground truth" in this article.

圖15繪示放大的基準真相的DRC標記違規多邊形的實例的示意圖。圖中顯示兩個曲線形狀之間的最小間距違規及提供比例感的尺1502。如圖所示,原始的(未調整尺寸)DRC標記多邊形位於兩個曲線形狀之間的間距,但其已經被進行了一些擴展(每一邊緣8 nm),以利於其柵格化及學習。如此,擴展/調整尺寸的標記多邊形還包含涉及違規的形狀的一些邊緣。FIG. 15 is a schematic diagram illustrating an enlarged example of a ground-truth DRC labeled violating polygon. The figure shows a minimum spacing violation between two curved shapes and a ruler 1502 that provides a sense of scale. As shown in the figure, the original (unresized) DRC marker polygon is located in the gap between the two curved shapes, but it has been slightly expanded (8 nm per edge) to facilitate its rasterization and learning. As such, the expanded/resized marker polygon also contains some edges of the shape involved in the violation.

圖16繪示雙層設計中不滿足20 nm最小圍繞規則的部分的DRC標記的示意圖。此圖包含兩個層,即內部層1602及外部層1604,內部層1602以具有第一顏色(例如深色)的由左至右交叉影線顯示,外部層1604以第二顏色(例如淺色)顯示。外部層1604係被預期為以最小20 nm來圍繞內部層1602形狀。一些區域係由形狀1614~1618標記,以辨識DRC違規的區域。此些形狀1614~1618是以第三顏色顯示。尺1606~1612已被添加以說明此些違規。Figure 16 shows a schematic diagram of DRC marking for portions of a two-layer design that do not meet the 20 nm minimum surrounding rule. This figure contains two layers, an inner layer 1602 shown as cross-hatching from left to right in a first color (eg, dark color) and an outer layer 1604 in a second color (eg, light color). ) is displayed. The outer layer 1604 is expected to surround the inner layer 1602 shape with a minimum of 20 nm. Some areas are marked by shapes 1614~1618 to identify areas with DRC violations. These shapes 1614~1618 are displayed in the third color. Rulers 1606~1612 have been added to account for these violations.

圖17繪示在調整尺寸之前逃脫濾波網的DRC標記的一些實例的示意圖。此圖也包含兩個層,具有由左至右交叉影線的深色內部層1702及淺色外部層1704。同樣地,外部層1704係被預期為以最小20 nm來圍繞內部層1702形狀。然而,一些被顯示出來的非常小的違規1720~1740在仔細觀察後可知並不是真正的違規。如圖所示,尺1706~1712被設置,以指示圍繞量略大於20 nm最小所需值,然而在DRC處理期間的網格捕捉會在此些位置造成能夠逃脫辨識及濾波的一些非常微小的違規標記。接著,如圖所示,此些標記沿著每一邊緣放大一個像素維度(8 nm),並出現於基準真相標記影像中。本案的一個目標是使「誤報」標記不會出現於神經網路所產生的輸出中。Figure 17 is a schematic diagram illustrating some examples of DRC markers that escape filtering before resizing. This figure also contains two layers, a dark inner layer 1702 and a light outer layer 1704 with cross-hatching from left to right. Likewise, the outer layer 1704 is expected to surround the inner layer 1702 shape with a minimum of 20 nm. However, some of the very small violations 1720~1740 shown are not real violations upon closer inspection. As shown in the figure, rulers 1706~1712 are set to indicate that the surrounding amount is slightly larger than the minimum required value of 20 nm. However, the grid snapping during the DRC process will cause some very small artifacts at these locations that can escape recognition and filtering. Violation mark. These markers are then enlarged by one pixel dimension (8 nm) along each edge as shown in the figure and appear in the ground truth marker image. One goal of this project is to prevent "false positive" flags from appearing in the output produced by neural networks.

圖18繪示透過柵格化代表外部層的曲線設計而產生的圖磚的第一影像通道的實例的示意圖。非黑色的部分是在對應的幾何設計資料中對應於外部層。圖19繪示透過柵格化代表內部層的曲線設計而產生的圖磚的第二影像通道的實例的示意圖。非黑色的部分是在對應的幾何設計資料中對應於內部層。圖20繪示20 nm最小圍繞規則的設計規則違規標記所對應的光柵資料的圖磚的實例的示意圖。非黑色部分對應於那些未能將內層圍繞20 nm的位置。18 is a schematic diagram illustrating an example of a first image channel of a tile generated by rasterizing a curved design representing an outer layer. The non-black parts correspond to the outer layers in the corresponding geometric design data. 19 is a schematic diagram illustrating an example of a second image channel of a tile generated by rasterizing a curved design representing an interior layer. The non-black parts correspond to internal layers in the corresponding geometric design data. 20 is a schematic diagram illustrating an example of a tile of grating data corresponding to a design rule violation mark of a 20 nm minimum surrounding rule. The non-black parts correspond to those locations that failed to surround the inner layer by 20 nm.

圖21繪示一些實施例的深度神經網路架構的實例的示意圖。此實例對應於單層DRC規則,其輸入是256x256像素的圖磚,包含單輸入通道。輸出同樣是256x256維度的單通道影像。箭頭代表張量操作,例如3x3卷積、1x1卷積及透過2x2最大池化(maxpool)操作來降取樣及升取樣操作,此些皆是深度卷積神經網路領域中的通常知識者所熟知。Figure 21 is a schematic diagram of an example of a deep neural network architecture of some embodiments. This example corresponds to a single-layer DRC rule whose input is a 256x256 pixel tile containing a single input channel. The output is also a single-channel image of 256x256 dimension. The arrows represent tensor operations, such as 3x3 convolution, 1x1 convolution, and downsampling and upsampling operations through 2x2 maxpool operations, which are well known to those with ordinary knowledge in the field of deep convolutional neural networks. .

此架構以幾種方式修改U-Net架構(用於生理影像分割)。首先,輸入影像在高度及寬度的維度上是256x256,而不是572x572的尺寸。同樣地,輸出影像的維度是256x256,而不是388x388。此是因為利用填充卷積操作,而不是利用非填充操作。此外,網路僅包含三個降取樣的步驟,而不是四個降取樣的步驟。另一個改變是最初的卷積操作組是利用32個濾波深度而不是64個。此些改變將使網路在可訓練的參數的數量上較小,且仍能夠產生足夠精準的輸出(DRC標記)。如此,網路在訓練及評估上也更加快速。This architecture modifies the U-Net architecture (used for physiological image segmentation) in several ways. First, the input image is 256x256 in height and width dimensions, not 572x572. Likewise, the dimensions of the output image are 256x256, not 388x388. This is because padded convolution operations are used instead of non-padded operations. Furthermore, the network only contains three downsampling steps instead of four. Another change is that the initial set of convolution operations utilizes 32 filter depths instead of 64. These changes will allow the network to have a smaller number of trainable parameters while still producing sufficiently accurate outputs (DRC markers). In this way, the network is also faster in training and evaluation.

最後,輸出層是非常不同的。相較於利用softmax啟動函數輸出與交叉熵基損失函數結合,在一些實施例中是利用線性啟動函數輸出與均方誤差損失函數結合。由原始U-Net所產生的輸出基本上是每個像素的布林輸出(每個像素是完全屬於或是不屬於部分的分割類別),而本發明的一些實施例的網路係作為迴歸(regression)應用,以預測每個像素在0.0及1.0之間的任何像素值。迴歸應用的方法使於後計算輪廓時具有更細粒(fine-grained)的準確度,且在學習/預測DRC標記(其每一邊是小至1像素(8 nm))時較不易受到問題影響。Finally, the output layer is very different. Instead of using the softmax startup function output in combination with the cross-entropy basis loss function, in some embodiments the linear startup function output is used in combination with the mean square error loss function. The output produced by the original U-Net is basically a Boolean output for each pixel (whether each pixel belongs completely or not to part of the segmentation class), while the network of some embodiments of the present invention acts as a regression ( regression) is applied to predict any pixel value between 0.0 and 1.0 for each pixel. The method of regression application allows for fine-grained accuracy in later calculation of contours and is less susceptible to problems in learning/predicting DRC markers that are as small as 1 pixel (8 nm) per side. .

對於多層DRC規則而言,通道的數量在輸入影像中被擴展。對於涉及兩個層的最小圍繞規則而言,輸入圖磚是256x256x2(利用最後代表的通道),其具有兩個通道(例如內部層的一個通道及外部層的一個通道)。圖22繪示具有三個降取樣操作的雙層神經網路架構的示意圖。在一些實施例中,涉及額外的層的更複雜的規則是透過添加適當的額外通道至輸入影像來涵蓋。For multi-layer DRC rules, the number of channels is expanded in the input image. For the minimal wrapping rule involving two layers, the input tile is 256x256x2 (using the last represented channel), which has two channels (eg one channel for the inner layer and one channel for the outer layer). Figure 22 shows a schematic diagram of a two-layer neural network architecture with three down-sampling operations. In some embodiments, more complex rules involving additional layers are covered by adding appropriate additional channels to the input image.

在一些實施例中,專用的神經網路係被分配至每種類型的DRC規則。若具有N個DRC規則,則具有N個專用的神經網路,且每個神經網路皆具有自身在訓練期間所學習到的個別的權重組。在其他實施例中,透過添加額外的輸出通道,單一神經網路係被利用以一次性處理多個DRC規則。圖23繪示具有多個(N o)輸出的神經網路架構的示意圖。最終輸出卷積層用以利用「N o」個濾波器而不是單一濾波器,其中N o是輸出的所需數量。輸出影像對應於N o通道影像。在另一實施例中,多個神經網路被利用,且每一個神經網路是用以處理DRC規則的總數的不同子集。 In some embodiments, a dedicated neural network is assigned to each type of DRC rule. If there are N DRC rules, there are N dedicated neural networks, and each neural network has its own individual weight set learned during training. In other embodiments, a single neural network is utilized to process multiple DRC rules at once by adding additional output channels. Figure 23 shows a schematic diagram of a neural network architecture with multiple (N o ) outputs. The final output convolutional layer is used to utilize "N o " filters instead of a single filter, where N o is the desired number of outputs. The output image corresponds to the N o channel image. In another embodiment, multiple neural networks are utilized, and each neural network is used to process a different subset of the total number of DRC rules.

在一些實施例中,神經網路所產生的輸出被認為是表面(如山脈),且具有對應於DRC違規標記位置的峰值(山峰)。此是利用線性輸出啟動函數來實現,其不同於由原始生理U-Net應用所利用的sigmoid啟動函數。在一些實施例中,輪廓操作係被用於轉換由經訓練的神經網路所產生的表面峰值影像為幾何形式的DRC標記多邊形,接著在幾何基設計編輯工具(例如積體電路布局編輯器等)中隨時查看。In some embodiments, the output generated by the neural network is considered a surface (such as a mountain) and has peaks (mountains) corresponding to the locations of DRC violation markers. This is achieved using a linear output activation function, which is different from the sigmoid activation function utilized by the original physiological U-Net application. In some embodiments, contour operations are used to convert surface peak images generated by trained neural networks into geometric forms of DRC labeled polygons, which are then used in geometry-based design editing tools such as integrated circuit layout editors, etc. ) to view at any time.

數以千計的資料樣本(X, Y)圖磚對係利用前述的系統來產生,從而訓練神經網路。在一些實施例中,此些圖磚被區分為多個資料庫,其中大部分的(80%)圖磚被儲存至「訓練」資料庫,而小部分的(15%)圖磚被儲存至「驗證」資料庫。在一些實施例中,剩餘部分的(5%)圖磚是被儲存至測試資料庫。在一些實施例中,HDF5檔案格式是用於儲存此資料庫,但在不違背本領域的精神下可以利用其他的檔案/資料庫格式。訓練資料庫的示範例是用於利用深度學習領域的通常知識者所熟知的標準技術來向網路教導X及Y之間的關係。在一些實施例中,驗證資料庫的示範例是用於評估訓練的進展。「訓練」資料組是用於建立及調教模型,而「驗證」資料組是用於鑑定性能。Thousands of data sample (X, Y) tile pairs are generated using the system described above to train the neural network. In some embodiments, these tiles are divided into multiple databases, with a majority (80%) of the tiles being stored in the "training" database, and a small portion (15%) of the tiles being stored in the "training" database. "Validation" database. In some embodiments, the remainder (5%) of the tiles are stored in the test database. In some embodiments, the HDF5 file format is used to store this database, but other file/database formats may be utilized without departing from the spirit of the art. An example training database is used to teach the network the relationship between X and Y using standard techniques well known to those of ordinary skill in the field of deep learning. In some embodiments, an example of a validation database is used to evaluate training progress. The "training" data set is used to build and tune the model, while the "validation" data set is used to evaluate performance.

圖24繪示訓練期間獲得的樣本損失曲線的示意圖。損失是網路預測DRC違規標記表面及基準真相DRC違規標記表面之間的均方誤差。圖中顯示兩個曲線,其中一個曲線(例如星形符號)顯示相對於訓練資料的損失,另一個曲線(例如圓形符號)顯示相對於驗證資料的損失。經過一些訓練回合(training epoch)之後(其中網路被反覆地暴露於訓練資料),此兩種損失皆降低至小量值(即預測值收斂至接近於基準真相值),且隨著網路的收斂及模型開始過適(overfit)訓練資料,驗證損失最終趨於平緩。在本示範例中,網路的學習速度(learning rate)在大約42個週期之後額外降低一個數量級(從le-3至le-4),而較小的速度用於在訓練結束時微調網路。Figure 24 shows a schematic diagram of sample loss curves obtained during training. The loss is the mean square error between the network's predicted DRC violation marked surface and the ground truth DRC violation marked surface. The figure shows two curves, one curve (e.g. star symbol) showing the loss relative to the training data and the other curve (e.g. circle symbol) showing the loss relative to the validation data. After some training epochs (in which the network is repeatedly exposed to the training data), both losses decrease to small values (i.e., the predicted values converge to close to the ground truth value), and as the network The model converges and the model begins to overfit the training data, and the validation loss eventually levels off. In this example, the learning rate of the network is reduced by an additional order of magnitude (from le-3 to le-4) after about 42 epochs, and the smaller rate is used to fine-tune the network at the end of training. .

圖25繪示透過經訓練的神經網路推論DRC標記的流程2500的流程圖。在網路被訓練之後,執行流程2500以用於推論新的且先前未見過的設計的DRC違規標記。在一些實施例中,流程2500接收設計(步驟2505),該設計包含一或多個待檢查的設計層。接著,流程2500如前述方式來柵格化設計(步驟2510),並區分設計為256x256像素影像圖磚(步驟2515)。接著,提供此些圖磚給經訓練的神經網路,以快速地推論/預測每一個圖磚的DRC違規標記表面(步驟2520)。流程2500將輸出圖磚組合為完整表面(步驟2525),接著在一些實施例中從光柵域輪廓化為幾何域以顯示於幾何基工具(步驟2530)。在步驟2530之後,流程2500結束。在訓練期間中,網路學會本質地忽略看似隨機設置且非常小的DRC標記,此些標記係逃脫前述關聯於訓練資料的產生的濾波器。只有可靠地出現的標記(關聯於輸入資料的幾何)能被網路有效地學習。誤報標記基本上被視為資料中的雜訊。因此,網路學會自動地移除由網格捕捉效應所引入的錯誤。Figure 25 illustrates a flowchart of a process 2500 for inferring DRC markers through a trained neural network. After the network is trained, process 2500 is performed for inferring DRC violation flags for new and previously unseen designs. In some embodiments, process 2500 receives a design (step 2505) that contains one or more design layers to be inspected. Next, the process 2500 rasterizes the design as described above (step 2510) and divides the design into 256x256 pixel image tiles (step 2515). Next, these tiles are provided to the trained neural network to quickly infer/predict the DRC violation marked surface of each tile (step 2520). Process 2500 combines the output tiles into a complete surface (step 2525), which is then contoured in some embodiments from a raster domain into a geometric domain for display in the geometry base tool (step 2530). After step 2530, process 2500 ends. During training, the network learns to essentially ignore seemingly randomly placed and very small DRC flags that escape the aforementioned filters associated with the generation of training data. Only tokens that appear reliably (relevant to the geometry of the input data) can be effectively learned by the network. False positive flags are basically considered noise in the data. Therefore, the network learns to automatically remove errors introduced by grid snapping effects.

圖26繪示100 nm最小間距規則的基準真相(左側)及深度學習所推論(右側)的DRC標記違規的實例的示意圖。設計規則係設置為直線設計風格的設計形狀之間的100 nm最小間距。此圖顯示從幾何布局編輯工具獲得的兩個影像2602及2604。在此些影像的每一者上,皆具有以淺色陰影或是深色陰影所繪製的兩個形狀組。在左側影像2602(即顯示CAD資料及由幾何DRC檢查器所辨識的DRC違規的影像)上,淺色陰影形狀代表CAD物件,而深色陰影形狀代表由幾何DRC檢查器所辨識的違規標記。在右側影像2604(即顯示CAD資料及由經訓練的神經網路所辨識的DRC違規的影像)上,淺色陰影形狀代表CAD物件,而深色陰影形狀代表由經訓練的神經網路所辨識的違規標記。Figure 26 is a schematic diagram illustrating examples of DRC label violations based on the ground truth of the 100 nm minimum spacing rule (left) and inferred by deep learning (right). The design rules are set to a minimum spacing of 100 nm between design shapes in a rectilinear design style. This figure shows two images 2602 and 2604 obtained from the geometric layout editing tool. On each of these images, there are two groups of shapes drawn in either light or dark shading. On the left image 2602 (i.e., the image showing CAD data and DRC violations identified by the geometric DRC checker), the light shaded shapes represent CAD objects, and the dark shaded shapes represent violation markers identified by the geometric DRC checker. On the right image 2604 (i.e., the image showing CAD data and DRC violations identified by the trained neural network), the light shaded shapes represent the CAD objects, while the dark shaded shapes represent the DRC violations identified by the trained neural network. violation mark.

在兩個影像中,淺色陰影形狀2612(例如在一些實施例中以橘色顯示於顯示器)代表此兩個影像中的相同的CAD資料。左側影像2602包含以較深陰影形狀(例如在一些實施例中以藍色顯示於顯示器)呈現的基準真相DRC違規標記2614。此些標記2614係利用幾何基DRC引擎來獲得。右側影像2604係由經訓練的神經網路輸出所重建。此影像2604包含以深色陰影形狀(例如在一些實施例中以紅色顯示於顯示器)呈現的預測的DRC違規標記2622。在圖中所示的較高的高度縮放級下,兩個影像2602及2604看起來基本相同,且DRC標記2614及2622出現於兩個影像中的相同位置。In both images, lightly shaded shape 2612 (eg, displayed in orange on the display in some embodiments) represents the same CAD data in both images. The left image 2602 includes the ground truth DRC violation marker 2614 presented in a darker shaded shape (eg, blue on the display in some embodiments). These markers 2614 are obtained using a geometry-based DRC engine. The right image 2604 is reconstructed from the trained neural network output. This image 2604 includes predicted DRC violation markers 2622 presented as dark shaded shapes (eg, displayed in red on the display in some embodiments). At the higher height zoom level shown in the figure, the two images 2602 and 2604 appear substantially identical, and the DRC markers 2614 and 2622 appear at the same location in both images.

圖27繪示在較低的高度縮放級下的某一個標記位置2700的實例的示意圖。如圖所示,基準真相標記2714(例如在一些實施例中以藍色顯示於顯示器)及深度學習所推論的違規標記2722(在圖中以由右至左的交叉影線呈現,且在一些實施例中以紅色顯示於顯示器)皆顯示為矩形,且實質上仍無法被區分。尺2702被設置於違反100 nm最小間距規則的兩個邊緣之間,且兩個邊緣皆包含在基準真相標記2714及深度學習所推論的違規標記2722中。FIG. 27 illustrates an example of a marker location 2700 at a lower height zoom level. As shown, ground truth markers 2714 (e.g., displayed in blue on the display in some embodiments) and deep learning-inferred violation markers 2722 (presented cross-hatched from right to left in the figure, and in some embodiments, (shown in red on the monitor in the embodiment) are all displayed as rectangles, and are still virtually indistinguishable. The ruler 2702 is set between two edges that violate the 100 nm minimum spacing rule, and both edges are included in the ground truth marker 2714 and the deep learning inferred violation marker 2722.

圖28繪示從幾何布局編輯工具獲得的曲線資料上的20 nm最小圍繞規則的基準真相及深度學習所推論的DRC標記違規的實例的示意圖。左側影像2802代表基準真相的結果,而右側影像2804代表深度學習所推論的結果。在此圖中,具有三種類型的形狀且以不同的陰影繪製於每一側。左側影像2802包含CAD資料及DRC違規,其中CAD資料用於內部層及外部層,DRC違規係由幾何DRC檢查器辨識出。右側影像2804包含CAD資料及DRC違規,其中CAD資料用於內部層及外部層,DRC違規係由經訓練的神經網路辨識出。考量大量的形狀,因而只在圖中以交叉影線顯示該大量的形狀的其中一些的形狀。Figure 28 is a schematic diagram illustrating the ground truth of the 20 nm minimum surrounding rule and an example of DRC label violation inferred by deep learning on curve data obtained from a geometric layout editing tool. The left image 2802 represents the result of the ground truth, while the right image 2804 represents the result of deep learning inference. In this diagram, there are three types of shapes drawn with different shading on each side. Image 2802 on the left contains CAD data for inner and outer layers and DRC violations identified by the geometric DRC checker. Image 2804 on the right contains CAD data and DRC violations, where the CAD data is used for the inner layer and the outer layer, and the DRC violations are identified by the trained neural network. A large number of shapes are considered, and therefore only some of the shapes of the large number of shapes are shown cross-hatched in the figure.

在此二個影像中,淺色陰影2812(例如圖中的淺灰色陰影,其在一些實施例中是在顯示器上顯示為橘色形狀)代表用於外部層的設計資料,其在左側影像2802及右側影像2804中是相同的。再者,在此二個影像中,深色陰影2814(某些係以由左至右的交叉影線呈現)代表用於內部層的設計資料。設計規則以20 nm的最小圍繞來檢查外部層與內部層的重疊。雖然在較高的高度縮放級中較難觀察,然而在此二個影像中設計資料是曲線,其在之後所示的放大(較低的高度縮放)影像中有所體現。左側影像2802包含基準真相DRC違規標記2816(例如,深灰色陰影的形狀,其在一些實施例中是以藍色標記顯示於顯示器)。此些標記2816係利用幾何基DRC引擎獲得。右側影像2804係由經訓練的神經網路輸出來重組。此影像2804包含經預測的DRC違規標記2818(某些係以由右至左的交叉影線呈現),其在一些實施例中是以紅色標記顯示於顯示器。在圖中所示的較高的高度縮放級下,此二個影像2802及2804再次在本質上是相同的,且DRC標記在此二個影像中的位置是相同的。In both images, the light shade 2812 (such as the light gray shade in the figure, which in some embodiments appears as an orange shape on the display) represents the design information for the outer layer, which is shown in the left image 2802 It is the same as in image 2804 on the right. Again, in both images, the dark shading 2814 (some shown as cross-hatching from left to right) represents design information used for the interior layers. Design rules check the overlap of outer layers with inner layers with a minimum surround of 20 nm. Although more difficult to see at higher height zoom levels, the design data in these two images are curves, which are reflected in the enlarged (lower height zoom) image shown later. The left image 2802 includes a ground truth DRC violation marker 2816 (eg, a dark gray shaded shape, which in some embodiments is displayed as a blue marker on the display). These markers 2816 are obtained using a geometry-based DRC engine. The right image 2804 is reconstructed by the output of the trained neural network. This image 2804 includes predicted DRC violation flags 2818 (some presented as cross-hatching from right to left), which in some embodiments are displayed on the display as red flags. At the higher height zoom level shown in the figure, the two images 2802 and 2804 are again essentially the same, and the location of the DRC markers in the two images is the same.

圖29繪示較低的高度的放大視圖2900的實例的示意圖,其包含多個基準真相違規標記。如圖所示,曲線性是清楚的,且已經被建立的違規標記的位置也被辨識。內部層中未被外部層以20 nm圍繞的區域係經由標記2920及2922來突顯。同樣地,尺2902~2912係被添加以協助視覺化/理解。在本示範例中,由幾何DRC引擎所產生的基準真相標記符合由經訓練的神經網路所產生的深度學習所推論的標記,且此些標記的多邊形基本上是重疊的。29 illustrates a schematic diagram of an example of a lower height enlarged view 2900 that includes multiple ground truth violation markers. As shown in the figure, the curvilinearity is clear and the location of the violation markers that have been established is identified. The areas of the inner layer that are not surrounded by 20 nm of the outer layer are highlighted by markers 2920 and 2922. Likewise, the ruler 2902~2912 series was added to aid visualization/understanding. In this example, the ground truth labels produced by the geometric DRC engine match the deep learning inferred labels produced by the trained neural network, and the polygons of these labels are substantially overlapping.

圖30繪示設計3000的不同部分的實例的示意圖,該設計3000包含基準真相及深度學習所推論的標記。此圖顯示產生基準真相DRC標記的幾何引擎實際上已經產生逃脫濾波程序的兩個標記3012及3014。尺3002及3004已經被粗略地設置於此兩個標記3012及3014的位置,已表明圍繞量是足夠大的(即此些標記不應該存在)。然而,深度學習方法並未於此些位置設置顏色標記(例如紅色標記)。此顯現深度學習方法的優點,即其避免因網格捕捉或是其他效應而產生的容易影響幾何引擎的虛假誤報。事實上,在圖28所示的完整設計中,992個DRC違規係被幾何基引擎辨識出,相較而言只有663個DRC違規係被深度學習基方法辨識出。違規的巨大差異是微小的誤報,例如圖30中所示的兩個誤報。Figure 30 shows a schematic diagram of an example of different parts of a design 3000 that includes ground truth and deep learning inferred labels. This figure shows that the geometry engine that generates the ground truth DRC markers has actually generated two markers 3012 and 3014 that escape the filtering process. Rulers 3002 and 3004 have been roughly set at the positions of these two marks 3012 and 3014, indicating that the surrounding amount is large enough (ie, these marks should not exist). However, deep learning methods do not set color markers (e.g. red markers) at these locations. This illustrates the advantage of deep learning methods, which are that they avoid false positives due to mesh snapping or other effects that can easily affect the geometry engine. In fact, in the complete design shown in Figure 28, 992 DRC violating systems were identified by the geometric basis engine, compared with only 663 DRC violating systems identified by the deep learning basis method. The big difference in violations is small false positives, such as the two shown in Figure 30.

圖31繪示設計資料的部分的實例的示意圖,其指示一些幾何引擎所產生的誤報集群,且為了清楚顯示而省略「內部」層。此圖呈現外部層3102(在此圖中以淺灰色呈現,且在一些實施例中是以黃色或是其他淺色顯示於顯示器)、多個幾何引擎所產生的違規3104(在此圖中以深灰色呈現,且在一些實施例中是以藍色顯示於顯示器)及深度學習所產生的違規3106(在此圖中以由右至左的交叉影線呈現,且在一些實施例中以紅色顯示於顯示器)。深度學習所產生的違規3106與幾何引擎所產生的違規重疊,但也存在有大量的小型幾何引擎所產生的誤報。其中的一些集群(即誤報集群)係由箭頭3108突顯指出。深度學習方法缺少此種集群係說明本發明的其中一個重要的優點。Figure 31 shows a schematic diagram of an example of a portion of a design data indicating clusters of false positives produced by some geometry engines, with the "inner" layer omitted for clarity. This figure shows the outer layer 3102 (shown in this figure as light gray, and in some embodiments as yellow or other light colors on the display), violations 3104 generated by multiple geometry engines (shown in this figure as (rendered in dark gray, and in some embodiments in blue on the display) and deep learning generated violations 3106 (rendered in this figure as cross-hatched from right to left, and in some embodiments in red displayed on the monitor). Violations3106 generated by deep learning overlap with those generated by geometry engines, but there are also a large number of false positives generated by small geometry engines. Some of these clusters (i.e., false positive clusters) are highlighted by arrows 3108. The lack of such clustering in deep learning methods illustrates one of the important advantages of the present invention.

許多的前述特徵及應用可以透過軟體程式實現,該軟體程式是被指定為電腦可讀取儲存介質(也稱為電腦可讀取介質)所記錄的指令組。當此些指令由一或多個處理單元(例如一或多個處理器、處理器的核心或是其他處理單元)執行時,該些指令使處理單元執行指令所指示的動作。電腦可讀取媒體例如是包含但並不限於光碟唯讀記憶體(CD-ROM)、快閃驅動器、隨機存取記憶體(RAM)晶片、硬碟、可抹除可編程唯讀記憶體(EPROM)等。電腦可讀取媒體不包含以無線連接或是有線連接傳輸的載波及電訊號。Many of the aforementioned features and applications can be implemented through software programs, which are sets of instructions recorded on a designated computer-readable storage medium (also referred to as a computer-readable medium). When executed by one or more processing units (eg, one or more processors, processor cores, or other processing units), the instructions cause the processing unit to perform the actions indicated by the instructions. Examples of computer-readable media include, but are not limited to, compact discs (CD-ROMs), flash drives, random access memory (RAM) chips, hard drives, and erasable programmable ROMs ( EPROM) etc. Computer-readable media does not include carrier waves and electrical signals transmitted through wireless connections or wired connections.

在本文中,用語「軟體」是指包含駐留於唯讀記憶體的韌體或是儲存於磁儲存器的應用程式,其可以被記憶體讀入以供處理器處理。再者,在一些實施例中,多個軟體發明可以以較大程式的子部實現,以同時保留不同的軟體發明。在一些實施例中,多個軟體發明還可以以個別的程式實現。最後,共同實現於此所述的軟體發明的個別程式的任何組合皆在本發明的範疇內。在一些實施例中,當軟體程式被安裝以在一或多個電子系統運作時,定義有一或多個特定的機器實現體,其履行及執行軟體程式的操作。In this article, the term "software" refers to applications that include firmware that resides in read-only memory or is stored in magnetic storage that can be read by the memory for processing by the processor. Furthermore, in some embodiments, multiple software inventions may be implemented as subparts of a larger program while retaining different software inventions. In some embodiments, multiple software inventions may also be implemented in separate programs. Finally, any combination of individual programs that together implement the software inventions described herein is within the scope of the invention. In some embodiments, when a software program is installed to operate on one or more electronic systems, one or more specific machine implementations are defined that perform and execute the operations of the software program.

圖32概念性地繪示本發明的一些實施例所實現的電子系統3200。電子系統3200可以是電腦(例如桌上型電腦、個人電腦、平板電腦、伺服電腦、主機、刀鋒電腦等)、電話、個人數位助理(PDA)或任何其他種電子裝置。如圖所示,電子系統包含各種類型的電腦可讀取媒體及用於各種其他類型的電腦可讀取媒體的介面。具體來說,電子系統3200包含匯流排3205、處理單元3210、系統記憶體3225、唯讀記憶體3230、永久性儲存裝置3235、輸入裝置3240及輸出裝置3245。Figure 32 conceptually illustrates an electronic system 3200 implemented by some embodiments of the invention. Electronic system 3200 may be a computer (eg, desktop computer, personal computer, tablet computer, server computer, mainframe, blade computer, etc.), telephone, personal digital assistant (PDA), or any other electronic device. As shown, electronic systems include various types of computer-readable media and interfaces for various other types of computer-readable media. Specifically, the electronic system 3200 includes a bus 3205, a processing unit 3210, a system memory 3225, a read-only memory 3230, a persistent storage device 3235, an input device 3240, and an output device 3245.

匯流排3205共同代表所有的系統匯流排、周圍匯流排及晶片組匯流排,其通訊連接電子系統3200的眾多的內部裝置。例如,匯流排3205將處理單元3210通訊連接唯讀記憶體(ROM)3230、系統記憶體3225及永久性儲存裝置3235。為了執行本發明的流程,處理單元3210從此些各種記憶體單元中,檢索需執行的指令及需處理的資料。在不同的實施例中,處理單元可以是單一處理器或是多核心處理器。Buses 3205 collectively represent all of the system buses, peripheral buses, and chipset buses that communicate with the numerous internal devices of electronic system 3200 . For example, bus 3205 communicatively connects processing unit 3210 to read-only memory (ROM) 3230 , system memory 3225 and persistent storage 3235 . In order to execute the process of the present invention, the processing unit 3210 retrieves instructions to be executed and data to be processed from these various memory units. In different embodiments, the processing unit may be a single processor or a multi-core processor.

唯讀記憶體3230儲存處理單元3210及電子系統的其他模組所需的靜態資料及指令。另一方面,永久性儲存裝置3235是可讀寫記憶體。此裝置是非揮發性記憶體單元,且即使在電子系統3200關閉時也能儲存指令及資料。本發明的一些實施例利用大量儲存裝置(例如磁碟或是光碟及其對應的碟驅動器)來作為永久性儲存裝置3235。Read-only memory 3230 stores static data and instructions required by the processing unit 3210 and other modules of the electronic system. On the other hand, persistent storage 3235 is read-write memory. This device is a non-volatile memory unit and can store instructions and data even when the electronic system 3200 is turned off. Some embodiments of the present invention utilize mass storage devices (such as magnetic disks or optical disks and their corresponding disk drives) as the permanent storage device 3235.

其他實施例利用可移式儲存裝置(例如軟碟、快閃驅動器等)作為永久性儲存裝置。相似於永久性儲存裝置3235,系統記憶體3225是可讀寫記憶體裝置。然而,與儲存裝置3235的差異在於,系統記憶體是揮發性可讀寫記憶體,例如隨機存取記憶體。系統記憶體儲存處理器在運行時間時所需的一些指令及資料。在一些實施例中,本發明的流程儲存於系統記憶體3225、永久性儲存裝置3235及/或唯讀記憶體3230。為了執行一些實施例的流程,處理單元3210從此些各種記憶體單元中,檢索需執行的指令及需處理的資料。Other embodiments utilize removable storage devices (such as floppy disks, flash drives, etc.) as permanent storage devices. Similar to persistent storage device 3235, system memory 3225 is a read-write memory device. However, the difference from the storage device 3235 is that the system memory is volatile read-write memory, such as random access memory. System memory stores some instructions and data required by the processor during runtime. In some embodiments, the process of the present invention is stored in system memory 3225, persistent storage device 3235 and/or read-only memory 3230. In order to execute the processes of some embodiments, the processing unit 3210 retrieves instructions to be executed and data to be processed from these various memory units.

匯流排3205還連接輸入裝置3240及輸出裝置3245。輸入裝置使使用者能夠向電子系統通訊訊息及選擇命令。輸入裝置3240包含文數鍵盤及指向裝置(也稱為游標控制裝置)。輸出裝置3245顯示由電子系統所產生的影像。輸出裝置包含印表機及顯示裝置,例如陰極射線管(cathode ray tube,CRT)或是液晶顯示器(liquid crystal display,LCD)。一些實施例包含例如觸控顯示器的裝置,其具有輸入裝置及輸出裝置的功能。The bus 3205 also connects the input device 3240 and the output device 3245. Input devices enable users to communicate messages and select commands to electronic systems. The input device 3240 includes an alphanumeric keyboard and a pointing device (also called a cursor control device). The output device 3245 displays images generated by the electronic system. Output devices include printers and display devices, such as cathode ray tubes (CRT) or liquid crystal displays (LCD). Some embodiments include devices such as touch displays that function as input devices and output devices.

最後,如圖32所示,匯流排3205還透過網路配接器(圖未示)將電子系統3200耦接網路3265。如此,電腦可以是部分的電腦網路(例如區域網路(local area network,LAN)、廣域網路(wide area network,WAN)或是內部網路(Intranet)),或是多網路中的一網路,例如網際網路。電子係統3200的任何或是所有的元件可以與本發明結合使用。Finally, as shown in Figure 32, the bus 3205 also couples the electronic system 3200 to the network 3265 through a network adapter (not shown). Thus, the computer can be part of a computer network (such as a local area network (LAN), a wide area network (WAN), or an intranet), or one of multiple networks. A network, such as the Internet. Any or all components of electronic system 3200 may be used in conjunction with the present invention.

一些實施例包含電子元件,例如微處理器、儲存器及記憶體,其將電腦程式指令儲存於機器可讀取介質或是電腦可讀取介質(也稱為電腦可讀取儲存媒體、機器可讀取媒體、或是機器可讀取儲存媒體)。該電腦可讀取媒體的一些示範例包含RAM、ROM、CD-ROM、可燒錄光碟(recordable compact disc,CD-R)、可重寫光碟(rewritable compact disc,CD-RW)、唯讀數位多功能光碟(read-only digital versatile disc,read-only DVD)(例如DVD-ROM、雙層DVD-ROM)、各種可燒錄/可重寫DVD(例如DVD-RAM、DVD-RW、DVD+RW等)、快閃記憶體(例如保全數位(Secure Digital,SD)卡、迷你SD卡、微型SD卡等)、磁性及/或固態硬碟、唯讀及可燒錄藍光光碟、超密度光碟、任何其他光學或磁性媒體及軟碟。電腦可讀取媒體可以儲存電腦程式,該電腦程式可由至少一處理單元執行,並包含用於執行各種操作的指令組。電腦程式或是電腦代碼的示範例包含機器代碼(例如由編譯器所產生的)及檔案,檔案包含由電腦、電子元件或微處理器利用解譯器所執行的高階代碼。Some embodiments include electronic components, such as microprocessors, storage, and memory, which store computer program instructions on a machine-readable medium or a computer-readable medium (also known as a computer-readable storage medium, a machine-readable medium). read media, or machine-readable storage media). Some examples of the computer-readable media include RAM, ROM, CD-ROM, recordable compact disc (CD-R), rewritable compact disc (CD-RW), read-only bit Read-only digital versatile disc (read-only DVD) (such as DVD-ROM, double-layer DVD-ROM), various recordable/rewritable DVDs (such as DVD-RAM, DVD-RW, DVD+ RW, etc.), flash memory (such as Secure Digital (SD) card, mini SD card, micro SD card, etc.), magnetic and/or solid-state hard drive, read-only and recordable Blu-ray disc, ultra-density optical disc , any other optical or magnetic media and floppy disks. Computer-readable media can store a computer program that is executable by at least one processing unit and includes sets of instructions for performing various operations. Examples of computer programs or computer codes include machine code (for example, generated by a compiler) and files, which include high-level code executed by a computer, electronic device, or microprocessor using an interpreter.

雖然前述的說明主要是以微處理器或多核心處理器來執行軟體,然而在一些實施例中是以一或多個積體電路來執行,例如特定應用積體電路(application specific integrated circuit,ASIC)或是場可程式化邏輯陣列(field programmable gate array,FPGA)。在一些實施例中,該積體電路是執行儲存在其電路自身的指令。Although the foregoing description mainly refers to a microprocessor or a multi-core processor executing the software, in some embodiments the software is executed using one or more integrated circuits, such as an application specific integrated circuit (ASIC). ) or field programmable gate array (FPGA). In some embodiments, the integrated circuit executes instructions stored in the circuit itself.

在本文中,用語「電腦」、「伺服器」、「處理器」及「記憶體」皆是指電子或是其他技術裝置。此些用語不包含人或人群。在本文中,用語「顯示」是指顯示在電子裝置。在本文中,用語「電腦可讀取介質」、「電腦可讀取媒體」及「機器可讀取介質」皆是完全限於以電腦可讀取的形式來儲存訊息的有形物件、實體物件。此些用語不包含任何無線訊號、有線下載訊號及任何其他短暫或過渡的訊號。In this article, the terms "computer", "server", "processor" and "memory" all refer to electronic or other technical devices. These terms do not include persons or groups of people. In this article, the term "display" refers to display on an electronic device. In this article, the terms "computer-readable medium", "computer-readable medium" and "machine-readable medium" are strictly limited to tangible objects, physical objects that store information in a computer-readable form. These terms do not include any wireless signals, wired download signals and any other short-lived or transitional signals.

雖然本發明已參照許多具體細節進行描述,然而本發明所屬技術領域中具有通常知識者可以在不違背本發明的精神下以其他具體形式實現本發明。例如,一些圖式是概念性的示意流程。該些流程的具體操作方式可以不按照所示及所描述的順序執行。具體操作能夠不以連續的操作序列來執行,且不同的具體操作可以在不同的實施例中執行。此外,流程可以利用許多子流程或是作為較大的總體流程中的一部分來實現。因此,本發明所屬技術領域中具有通常知識者可以理解本發明並不限於前述的示範性細節,而是由所附的請求項定義。Although the present invention has been described with reference to many specific details, those skilled in the art may implement the invention in other specific forms without departing from the spirit of the invention. For example, some diagrams are conceptual schematics of processes. The specific operations of these processes may not be performed in the order shown and described. Specific operations may not be performed in a continuous sequence of operations, and different specific operations may be performed in different embodiments. Additionally, a process can be implemented using many sub-processes or as part of a larger overall process. Therefore, it will be understood by those of ordinary skill in the art that the present invention is not limited to the foregoing exemplary details, but is defined by the appended claims.

102:通路切口 104:金屬層 105:形狀 110:形狀 302:圓形 305:元件對 310:元件對 402:箭頭 404:箭頭 500:神經網路 600:流程 605~630:步驟 900:多層曼哈頓資料 902:內部層 904:外部層 1102:通路切口 1104:重疊金屬 1300:幾何DRC檢查器 1302:電路設計 1304:DRC標記 1400:設計(影像) 1402:多邊形 1404:尺 1502:尺 1602:內部層 1604:外部層 1606~1612:尺 1614~1618:形狀 1702:內部層 1704:外部層 1706~1712:尺 1720~1740:違規 2500:流程 2505~2530:步驟 2602:影像 2604:影像 2612:形狀 2614:標記 2622:標記 2700:標記位置 2702:尺 2714:基準真相標記 2722:深度學習所推論的違規標記 2802:影像 2804:影像 2812:淺色陰影 2814:深色陰影 2816:標記 2818:標記 2900:放大視圖 2902~2912:尺 2920:標記 2922:標記 3000:設計 3002:尺 3004:尺 3012:標記 3014:標記 3102:外部層 3104:幾何引擎所產生的違規 3106:深度學習所產生的違規 3108:箭頭 3200:電子系統 3205:匯流排 3210:處理單元 3225:系統記憶體 3230:唯讀記憶體 3235:儲存裝置 3240:輸入裝置 3245:輸出裝置 3265:網路 102:Access incision 104:Metal layer 105:Shape 110:Shape 302: round 305: component pair 310: component pair 402:Arrow 404:Arrow 500: Neural Network 600:Process 605~630: Steps 900:Multilayer Manhattan data 902:Inner layer 904:External layer 1102:Access incision 1104: Overlapping metal 1300: Geometry DRC Checker 1302:Circuit Design 1304:DRC mark 1400: Design (Image) 1402:Polygon 1404: ruler 1502: ruler 1602:Inner layer 1604:Outer layer 1606~1612: ruler 1614~1618:Shape 1702:Inner layer 1704:Outer layer 1706~1712: ruler 1720~1740: Violation 2500:Process 2505~2530: steps 2602:Image 2604:Image 2612:Shape 2614:mark 2622:mark 2700: mark position 2702: ruler 2714:base truth mark 2722: Violation flags inferred by deep learning 2802:Image 2804:Image 2812:Light shade 2814:Dark shade 2816:mark 2818:mark 2900:Enlarge view 2902~2912: ruler 2920:mark 2922:mark 3000:Design 3002: ruler 3004: ruler 3012:mark 3014:mark 3102:External layer 3104: Violation generated by geometry engine 3106: Violations generated by deep learning 3108:arrow 3200:Electronic Systems 3205:Bus 3210: Processing unit 3225:System memory 3230: Read-only memory 3235:Storage device 3240:Input device 3245:Output device 3265:Internet

本發明的新穎性特徵係列於所附的請求項中。然而,為了說明的目的,本發明的數個實施例係列於以下的圖式。The novel features of the invention are set out in the appended claims. However, for purposes of illustration, several embodiments of the present invention are set forth in the following drawings.

[圖1]繪示除了多層規則之外,還涉及檢查單層設計的基本設計規則核對的示意圖。 [圖2]繪示基於可製造的最小可行圓形的概念的替代技術的示意圖。 [圖3]繪示內部寬度檢查及外部間距檢查的實例的示意圖。 [圖4]繪示曲率檢查的實例的示意圖,曲率檢查可以透過在每一邊界的邊緣的周圍滑動圓形來執行。 [圖5]繪示經訓練的神經網路接收代表設計資料的影像並產生資料以作為代表DRC違規標記的輸出影像的概覽圖。 [圖6]繪示建立訓練資料的流程圖,且訓練資料係被神經網路訓練流程利用。 [圖7]繪示隨機產生的單層曼哈頓資料的實例的示意圖,該資料是在較高的高度縮放級(high-altitude zoom level)下由隨機曼哈頓形狀所產生。 [圖8]繪示在較低的高度縮放級下的隨機曲線形狀的實例的示意圖。 [圖9]繪示在較低的高度縮放級下的隨機產生的多層曼哈頓資料的實例的示意圖。 [圖10]繪示半導體堆疊的實例的示意圖,該半導體堆疊顯示由通路(via)連接的兩個金屬級,其中第一級(Level 1)上的金屬透過「通路」或是「切口(cut)」的方式來連接第二層(Level 2)上的金屬。 [圖11]繪示半導體形狀的實例的示意圖,該半導體形狀顯示具有重疊金屬、頂部是直線情形且底部是曲線情形的通路切口。 [圖12]繪示在較低的高度縮放級下的隨機產生的多層曲線資料的實例的示意圖。 [圖13]繪示幾何DRC檢查器的示意圖,DRC檢查器用以響應接收電路設計而產生多個DRC標記。 [圖14]繪示DRC標記的實例的示意圖,DRC標記的產生是用於單層30 nm最小寬度違規。 [圖15]繪示放大的基準真相(ground truth)的DRC標記違規多邊形的實例的示意圖。 [圖16]繪示雙層設計中不滿足20 nm最小圍繞規則的部分的DRC標記的示意圖。 [圖17]繪示在調整尺寸之前逃脫濾波網(filter net)的DRC標記的一些實例的示意圖。 [圖18]繪示透過柵格化代表外部層的曲線設計而產生的圖磚(tile)的第一影像通道的實例的示意圖。 [圖19]繪示透過柵格化代表內部層的曲線設計而產生的圖磚的第二影像通道的實例的示意圖。 [圖20]繪示20 nm最小圍繞規則的設計規則違規標記所對應的光柵資料的圖磚的實例的示意圖。 [圖21]繪示一些實施例的深度神經網路架構的實例的示意圖。 [圖22]繪示具有三個降取樣操作的雙層神經網路架構的示意圖。 [圖23]繪示具有多個(N o)輸出的神經網路架構的示意圖。 [圖24]繪示訓練期間獲得的樣本損失曲線的示意圖。 [圖25]繪示透過經訓練的神經網路推論DRC標記的流程圖。 [圖26]繪示100 nm最小間距規則的基準真相及深度學習所推論的DRC標記違規的實例的示意圖。 [圖27]繪示在較低的高度縮放級下的某一個標記位置的實例的示意圖。 [圖28]繪示從幾何布局編輯工具獲得的曲線資料上的20 nm最小圍繞規則的基準真相及深度學習所推論的DRC標記違規的實例的示意圖。 [圖29]繪示較低的高度的實例的放大示意圖,其包含多個基準真相違規標記。 [圖30]繪示設計的不同部分的實例的示意圖,該設計包含基準真相及深度學習所推論的標記。 [圖31]繪示設計資料的部分的實例的示意圖,其指示一些幾何引擎所產生的誤報集群。 [圖32]概念性地繪示本發明的一些實施例所實現的電子系統。 [Figure 1] illustrates a schematic diagram illustrating basic design rule checking involving checking of single-layer designs in addition to multi-layer rules. [Fig. 2] A schematic diagram illustrating an alternative technique based on the concept of a manufacturable minimum viable circular shape. [Fig. 3] A schematic diagram illustrating an example of inner width inspection and outer spacing inspection. [Fig. 4] A schematic diagram illustrating an example of curvature checking, which can be performed by sliding a circle around the edge of each boundary. [Figure 5] shows an overview of a trained neural network receiving images representing design data and generating data as output images representing DRC violation flags. [Figure 6] illustrates a flow chart for creating training data, and the training data is utilized by the neural network training process. [Figure 7] A schematic diagram illustrating an example of randomly generated single-layer Manhattan data generated from random Manhattan shapes at a high-altitude zoom level. [Fig. 8] A schematic diagram illustrating an example of a random curve shape at a lower height zoom level. [Fig. 9] A schematic diagram illustrating an example of randomly generated multi-layered Manhattan data at a lower height zoom level. [Figure 10] A schematic diagram illustrating an example of a semiconductor stack showing two metal levels connected by a via, where the metal on the first level (Level 1) passes through a "via" or "cut")" to connect the metal on the second layer (Level 2). [FIG. 11] A schematic diagram illustrating an example of a semiconductor shape showing via cuts with overlapping metal, a straight line case at the top, and a curved case at the bottom. [Fig. 12] A schematic diagram illustrating an example of randomly generated multi-layer curve data at a lower height zoom level. [FIG. 13] illustrates a schematic diagram of a geometric DRC checker for generating a plurality of DRC marks in response to a receiving circuit design. [Figure 14] Schematic diagram illustrating an example of DRC marking generated for a single layer 30 nm minimum width violation. [Fig. 15] A schematic diagram illustrating an enlarged example of a DRC-marked violating polygon of the ground truth. [Figure 16] Schematic diagram illustrating DRC marking of portions of a two-layer design that do not satisfy the 20 nm minimum surrounding rule. [Fig. 17] A schematic diagram illustrating some examples of DRC tags escaping the filter net before resizing. [Fig. 18] A schematic diagram illustrating an example of a first image channel of a tile generated by rasterizing a curved design representing an outer layer. [Fig. 19] A schematic diagram illustrating an example of a second image channel of a tile generated by rasterizing a curved design representing an inner layer. [FIG. 20] A schematic diagram illustrating an example of a tile of grating data corresponding to a design rule violation mark of a minimum surrounding rule of 20 nm. [FIG. 21] A schematic diagram illustrating an example of a deep neural network architecture of some embodiments. [Figure 22] shows a schematic diagram of a two-layer neural network architecture with three down-sampling operations. [Figure 23] shows a schematic diagram of a neural network architecture with multiple (N o ) outputs. [Fig. 24] A schematic diagram illustrating the sample loss curve obtained during training. [Figure 25] illustrates a flow chart for inferring DRC markers through a trained neural network. [Figure 26] A schematic diagram illustrating the ground truth of the 100 nm minimum spacing rule and examples of DRC marking violations inferred by deep learning. [Fig. 27] A schematic diagram illustrating an example of a mark position at a lower height zoom level. [Figure 28] A schematic diagram illustrating the ground truth of the 20 nm minimum surrounding rule on curve data obtained from a geometric layout editing tool and an example of DRC marking violation inferred by deep learning. [FIG. 29] An enlarged schematic diagram illustrating a lower height example containing multiple ground truth violation markers. [Figure 30] A schematic diagram illustrating an example of different parts of a design containing ground truth and deep learning inferred labels. [Figure 31] A schematic diagram illustrating an example of a portion of design data indicating clusters of false positives generated by some geometry engines. [Figure 32] Conceptually illustrates an electronic system implemented by some embodiments of the invention.

2500:流程 2500:Process

2505~2530:步驟 2505~2530: steps

Claims (25)

一種用於對一設計執行設計規則核對的方法,該設計包含多個形狀,該方法包含: 接收該設計的一第一非像素格式的一第一描述; 從該第一描述產生該設計的一第二像素格式的一第二描述; 利用該第二描述提供輸入至一機器訓練網路,以辨識該設計中的一設計規則核對違規;及 根據該機器訓練網路所產生的輸出,辨識該設計中的該設計規則核對違規。 A method for performing design rule checking on a design that contains multiple shapes, the method comprising: receiving a first description of the design in a first non-pixel format; generating a second description of a second pixel format of the design from the first description; using the second description to provide input to a machine training network to identify a design rule check violation in the design; and Based on the output generated by the machine training network, design rule violations in the design are identified. 如請求項1所述之方法,其中該設計規則核對違規在初始化中以像素基(pixel-based)格式表示,該方法更包含產生用於在該像素基格式中所指出的被辨識的該設計規則核對違規的輪廓形狀,以與該設計共同顯示,並顯示該設計及該輪廓形狀以辨識該設計中具有該設計規則核對違規的位置。The method of claim 1, wherein the design rule check violation is expressed in a pixel-based format during initialization, the method further comprising generating a design for the identified design indicated in the pixel-based format. An outline shape of the rule check violation is displayed with the design, and the design and the outline shape are displayed to identify locations in the design that have the design rule check violation. 如請求項2所述之方法,其中該輪廓形狀是透過幾何基設計編輯(geometry-based design editing)或是可視化工具而與該設計共同顯示。The method of claim 2, wherein the outline shape is displayed together with the design through geometry-based design editing or a visualization tool. 如請求項1所述之方法,其中該機器訓練網路是神經網路。The method of claim 1, wherein the machine training network is a neural network. 如請求項1所述之方法,其中該些形狀包含直線形狀及曲線形狀。The method of claim 1, wherein the shapes include linear shapes and curved shapes. 如請求項5所述之方法,其中每一該直線形狀是由曼哈頓邊緣(Manhattan edge)形成,每一該曲線形狀是由至少一曲線邊緣形成,且該些形狀更包含具有至少一非曼哈頓直線邊緣(non-Manhattan rectilinear edge)的形狀,其具有45度角或是0度、45度或90度之外的角。The method of claim 5, wherein each linear shape is formed by a Manhattan edge, each curved shape is formed by at least one curved edge, and the shapes further include at least one non-Manhattan straight line. The shape of an edge (non-Manhattan rectilinear edge) that has a 45-degree angle or an angle other than 0, 45, or 90 degrees. 如請求項1所述之方法,其中該產生包含:透過該第一描述柵格化(rasterize)該設計以獲得該第二像素格式,其像素值被用於描述該設計。The method of claim 1, wherein the generating includes: rasterizing the design through the first description to obtain the second pixel format, the pixel values of which are used to describe the design. 如請求項7所述之方法,其中該第一描述包含以多邊形作為該些形狀的描述。The method of claim 7, wherein the first description includes polygons as descriptions of the shapes. 如請求項1所述之方法,其中該機器訓練網路實現一設計規則核對程序。The method of claim 1, wherein the machine training network implements a design rule checking program. 如請求項1所述之方法,其中該機器訓練網路部分地實現一設計規則核對程序及一像素基程序。The method of claim 1, wherein the machine training network partially implements a design rule checking program and a pixel-based program. 如請求項10所述之方法,其中該像素基程序包含一形態(morphological)影像處理程序。The method of claim 10, wherein the pixel base program includes a morphological image processing program. 一種用於訓練一機器訓練網路以執行設計規則核對於包含有多個形狀的設計的方法,包含: 轉換一第一設計組中的每一設計的一第一非像素格式為一第二像素格式; 轉換每一設計的設計規則核對違規的描述的該第一非像素格式為該第二像素格式;及 利用用於該設計及設計規則核對違規的該第二像素格式,訓練該機器訓練網路,以辨識在一接續的第二設計組中的設計規則核對違規,該接續的第二設計組是以該第二像素格式作為輸入提供給該機器訓練網路。 A method for training a machine training network to perform design rule checking on designs containing multiple shapes, including: converting a first non-pixel format of each design in a first design group into a second pixel format; Convert the first non-pixel format of the description of the design rule check violation for each design into the second pixel format; and Utilizing the second pixel format for the design and design rule check violations, the machine training network is trained to identify design rule check violations in a successive second design group, the successive second design group is The second pixel format is provided as input to the machine training network. 如請求項12所述之方法,更包含:辨識在該第一設計組的每一設計中的設計規則核對違規。The method of claim 12, further comprising: identifying design rule check violations in each design of the first design group. 如請求項13所述之方法,其中辨識設計規則核對違規:包含透過一幾何基設計規則核對工具,辨識設計規則核對違規。The method of claim 13, wherein identifying design rule verification violations includes identifying design rule verification violations through a geometrically based design rule verification tool. 如請求項14所述之方法,其中該幾何基設計規則核對工具係為1-D邊緣基(edge-based)工具。The method of claim 14, wherein the geometric-based design rule checking tool is a 1-D edge-based tool. 如請求項14所述之方法,其中該幾何基設計規則核對工具係為方程式基(equation-based)工具。The method of claim 14, wherein the geometric-based design rule checking tool is an equation-based tool. 如請求項14所述之方法,其中該幾何基設計規則核對工具係基於圓追蹤(circle-tracing)方法。The method of claim 14, wherein the geometrically based design rule checking tool is based on a circle-tracing method. 如請求項12所述之方法,更包含:產生該第一設計組的至少一設計子集。The method of claim 12, further comprising: generating at least a design subset of the first design group. 如請求項18所述之方法,其中該產生包含:產生該設計子集中的每一設計以包含具有設計規則核對違規的部分及未具有設計規則核對違規的部分。The method of claim 18, wherein the generating includes generating each design in the subset of designs to include portions with design rule check violations and portions without design rule check violations. 如請求項12所述之方法,其中該第一設計組包含一設計子集,該設計子集是在一製造操作組被執行於由一電子設計自動化工具組所產生的較早的的第三設計組之後所產生的製造設計。The method of claim 12, wherein the first design group includes a design subset that is executed in a manufacturing operation group on an earlier third generation generated by an electronic design automation tool group. The design team then produces the manufacturing design. 如請求項20所述之方法,其中該設計子集的至少一設計是由一製程模擬軟體產生。The method of claim 20, wherein at least one design of the design subset is generated by a process simulation software. 如請求項20所述之方法,其中該設計子集的至少一設計是由另一機器訓練網路產生。The method of claim 20, wherein at least one design of the design subset is generated by another machine training network. 如請求項22所述之方法,其中該些機器訓練網路是神經網路。The method of claim 22, wherein the machine training networks are neural networks. 一種機器可讀取媒體,儲存有供至少一處理單元執行的程式,該程式包含指令組,以實現如請求項1至23之任一項所述的方法。A machine-readable medium stores a program for execution by at least one processing unit. The program includes a set of instructions to implement the method described in any one of claims 1 to 23. 一種系統,包含用於實現如請求項1至23之任一項所述的方法。A system comprising a method for implementing any one of claims 1 to 23.
TW112102140A 2022-01-19 2023-01-17 Using machine-trained network to perform drc check TW202336632A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202263300673P 2022-01-19 2022-01-19
US63/300,673 2022-01-19

Publications (1)

Publication Number Publication Date
TW202336632A true TW202336632A (en) 2023-09-16

Family

ID=88927358

Family Applications (1)

Application Number Title Priority Date Filing Date
TW112102140A TW202336632A (en) 2022-01-19 2023-01-17 Using machine-trained network to perform drc check

Country Status (1)

Country Link
TW (1) TW202336632A (en)

Similar Documents

Publication Publication Date Title
US8661371B1 (en) Method and apparatus for fixing double patterning color-seeding violations
US8645877B2 (en) Multi-patterning method
US8473874B1 (en) Method and apparatus for automatically fixing double patterning loop violations
US7536664B2 (en) Physical design system and method
JP4822330B2 (en) Integrated verification and manufacturing adaptation tools
TWI503680B (en) Method, system and program product for interactive checking for double pattern lithography violations
US8443322B2 (en) Using layout enumeration to facilitate integrated circuit development
US20160378902A1 (en) Generative learning for realistic and ground rule clean hot spot synthesis
US20090291512A1 (en) Semiconductor device pattern verification method, semiconductor device pattern verification program, and semiconductor device manufacturing method
JP2023542054A (en) Method and system for generating shape data for electronic design
US8719737B1 (en) Method and apparatus for identifying double patterning loop violations
US8949747B1 (en) Double patterning coloring with color balancing
US8910094B2 (en) Retargeting semiconductor device shapes for multiple patterning processes
JPH11184064A (en) Photomask pattern design apparatus and design method as well as record medium recording photomask pattern design program
US8910090B2 (en) Methods involving pattern matching to identify and resolve potential non-double-patterning-compliant patterns in double patterning applications
US10733354B2 (en) System and method employing three-dimensional (3D) emulation of in-kerf optical macros
TW202336632A (en) Using machine-trained network to perform drc check
US7590955B1 (en) Method and system for implementing layout, placement, and routing with merged shapes
US20230267265A1 (en) Using machine-trained network to perform drc check
US20230359804A1 (en) Training machine-trained network to perform drc check
US7721235B1 (en) Method and system for implementing edge optimization on an integrated circuit design
WO2023141080A1 (en) Using machine-trained network to perform drc check
US20100296069A1 (en) Pattern division method, pattern division processing apparatus and information storage medium on which is stored a program
US10564554B2 (en) System and method for analyzing printed masks for lithography based on representative contours
US20230092665A1 (en) Using a machine-trained network to perform physical design