[go: up one dir, main page]

HK40048128B - Method and system for integrated circuit (ic) layout migration integrated with layout expertise - Google Patents

Method and system for integrated circuit (ic) layout migration integrated with layout expertise Download PDF

Info

Publication number
HK40048128B
HK40048128B HK62021037960.3A HK62021037960A HK40048128B HK 40048128 B HK40048128 B HK 40048128B HK 62021037960 A HK62021037960 A HK 62021037960A HK 40048128 B HK40048128 B HK 40048128B
Authority
HK
Hong Kong
Prior art keywords
layout
reusable
file
data items
target
Prior art date
Application number
HK62021037960.3A
Other languages
Chinese (zh)
Other versions
HK40048128A (en
Inventor
雷源
马晨月
Original Assignee
香港应用科技研究院有限公司
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 香港应用科技研究院有限公司 filed Critical 香港应用科技研究院有限公司
Publication of HK40048128A publication Critical patent/HK40048128A/en
Publication of HK40048128B publication Critical patent/HK40048128B/en

Links

Description

集成专业版图设计经验的集成电路(IC)版图迁移的方法和系统Methods and systems for integrated circuit (IC) layout migration that integrate professional layout design experience.

【技术领域】[Technical Field]

本发明涉及计算机辅助设计(CAD),特别涉及版图工艺迁移工具(layoutprocess-migration tool)。This invention relates to computer-aided design (CAD), and more particularly to a layout process migration tool.

【背景技术】[Background Technology]

一个电路或一个较大系统的示意图,可以通过创建一个由该示意图规定的物理器件的版图(layout),而被转换为物理器件。该版图包括矩形和其他形状,其确定光掩模上透明和不透明区域。光掩模用于将版图转移到一个要制成物理器件的基板(substrate)上。在半导体器件制作期间,对于需要添加和蚀刻的多个层,都会创建多个光掩模。A schematic diagram of a circuit or a larger system can be transformed into a physical device by creating a layout of the physical device defined by that schematic diagram. This layout includes rectangles and other shapes that define transparent and opaque areas on a photomask. The photomask is used to transfer the layout onto a substrate to be fabricated into the physical device. During semiconductor device fabrication, multiple photomasks are created for the multiple layers that need to be added and etched.

过去,版图是由版图工程师或技术人员在计算机辅助设计(CAD)终端上手工绘制。为了减少版图时间,先手工绘制一些标准单元或宏,然后使用布局布线软件将它们放置在相应位置并进行互连。手绘单元被复制多次。标准版图流格式如GDSII(由Calma公司原创的图形设计系统2),允许二进制流格式的分层版图。In the past, layouts were hand-drawn by layout engineers or technicians on computer-aided design (CAD) terminals. To reduce layout time, standard cells or macros were first drawn manually, and then placement and routing software was used to place them in the appropriate positions and interconnect them. Hand-drawn cells were copied multiple times. Standard layout stream formats such as GDSII (Graphics Design System 2, originally created by Calma) allow for layered layouts in binary stream formats.

有时需要不同尺寸的手绘单元(cell)。设计了参数单元或P单元,其中手绘单元的大小可以通过参数(例如晶体管沟道宽度W或长度L)进行缩放。Sometimes, hand-drawn cells of different sizes are required. Parametric cells or P-cells are designed where the size of the hand-drawn cells can be scaled using parameters such as transistor channel width W or length L.

这种标准单元版图对于具有较大容差的数字电路非常有用。然而,模拟电路具有非常严格的容差,经常需要版图工程师手绘单元和专业知识。P单元有时也用于模拟设计,以允许有不同W/L的模拟晶体管。This standard cell layout is very useful for digital circuits with large tolerances. However, analog circuits have very tight tolerances, often requiring layout engineers to hand-draw cells and possess specialized knowledge. P-cells are sometimes also used in analog designs to allow for analog transistors with different w/l ratios.

每个半导体制程都有一套设计规则。设计规则规定对版图的限制。这些限制可以包括诸如金属、多晶硅栅极、触点和通孔的层的最小宽度,层内相邻线之间以及不同层之间的最小间隔。由于集成电路(IC)的成本与尺寸成正比,因此版图工程师倾向于使用最小间距来产生尽可能小的单元版图。Each semiconductor manufacturing process has a set of design rules. These design rules specify limitations on the layout. These limitations can include minimum widths of layers such as metals, polysilicon gates, contacts, and vias, as well as minimum spacing between adjacent lines within a layer and between different layers. Because the cost of integrated circuits (ICs) is proportional to their size, layout engineers tend to use minimum spacing to produce the smallest possible cell layout.

随着半导体制程技术的发展,对于较新的制程,设计规则中的最小宽度和间距趋向于减小或缩小。当器件缩小,当这些器件迁移到更先进的、更小功能尺寸的制程中时,则可以降低每个器件的制造成本。因此,有时会针对使用较旧制程的设计规则创建的版图进行调整,以适应较新制程的一套新的设计规则。As semiconductor manufacturing technology advances, the minimum width and spacing in design rules tend to decrease or shrink for newer processes. This reduction in size and migration to more advanced, smaller-functional-size processes lowers the manufacturing cost per device. Therefore, layouts created using design rules from older processes are sometimes adapted to accommodate a new set of design rules for newer processes.

可以将原始版图缩小或缩放到一个较小的尺寸,以用于较新的制程。但是,将版图中的所有多边形均匀缩放一个固定数量(例如0.8,即缩小20%),可能会违反新制程中的某些设计规则。发生这些违规是因为设计规则不是均匀缩放的。例如,多晶硅栅极的长度和宽度可以按0.8缩放,但是金属线的宽度和间距仅能按0.9缩放,从而导致在原始设计均匀按0.8因子缩小时违背了金属设计规则。The original layout can be scaled down or down to a smaller size for use in newer processes. However, uniformly scaling all polygons in the layout by a fixed factor (e.g., 0.8, or a 20% reduction) may violate certain design rules in the new process. These violations occur because the design rules are not uniformly scaled. For example, the length and width of a polysilicon gate can be scaled by 0.8, but the width and spacing of metal lines can only be scaled by 0.9, resulting in a violation of metal design rules when the original design is uniformly scaled down by a factor of 0.8.

在版图迁移情况下,通常需要版图工程师的专业知识。对于较小的制程,设计规则往往变得越来越多和复杂,需要版图工程师更多的技能、专业知识和精力。在版图迁移工艺中,单元布局或原始设计的平面图通常要通过版图工程师进行大量手动调整才能重复使用。In layout migration scenarios, specialized knowledge from layout engineers is typically required. For smaller processes, design rules tend to become increasingly numerous and complex, demanding greater skills, expertise, and effort from layout engineers. During layout migration processes, cell layouts or original design plans often require extensive manual adjustments by layout engineers before they can be reused.

自动版图迁移软件可能需要使用P单元,或者可能要引入顾及原始设计规则和新设计规则的约束。这些约束即是确定为一套特定的目标设计规则。期望能够将版图迁移到几套目标设计规则,用于若干半导体制程。具有多个目标制程可以使电路有替代供应商(second-sourced),或由多个芯片厂(foundry)制造,通过在多个芯片厂之间引入价格竞争来降低成本。Automated layout migration software may require the use of P-cells or the introduction of constraints that take into account both the original and new design rules. These constraints are defined as a specific set of target design rules. The goal is to migrate layouts to several sets of target design rules for several semiconductor processes. Having multiple target processes allows circuits to be sourced from alternative suppliers (second-sourced) or manufactured by multiple foundries, reducing costs by introducing price competition among these foundries.

期望将版图迁移到有多组设计规则的多个制程。期望有一种可重用的版图,该版图可针对不同的设计规则自动转换版图。期望有一对多的版图迁移。期望有一种软件工具包,允许版图工程师添加其专业知识以创建可重复使用的版图。期望能从标准的分层版图数据库如GDSII进行版图迁移,没有P单元和约束。The desired goals are: to migrate layouts across multiple processes with multiple sets of design rules; to provide a reusable layout that automatically adapts to different design rules; to enable one-to-many layout migrations; to provide a software toolkit that allows layout engineers to add their expertise to create reusable layouts; and to enable layout migrations from standard hierarchical layout databases such as GDSII, without P-cells and constraints.

【附图说明】[Attached Image Description]

图1是使用可重用版图数据库(整合有版图工程师专业知识)的一对多版图迁移的流程图。Figure 1 is a flowchart of a one-to-many layout migration using a reusable layout database (integrated with the expertise of layout engineers).

图2更详细地显示了GDSII版图解析器。Figure 2 shows the GDSII layout resolver in more detail.

图3是由版图解析器创建的版图数据库文件中文本条目的一个示例。Figure 3 is an example of a text entry in a layout database file created by the layout parser.

图4是模拟版图设计工具包示意图。Figure 4 is a schematic diagram of the simulated layout design toolkit.

图5A-5B显示版图工程师正在修改版图数据库文件中的文本行,以生成可重用版图数据库。Figures 5A-5B show layout engineers modifying lines of text in a layout database file to generate a reusable layout database.

图6A-6C显示单元在可重用版图数据库中的放置。Figures 6A-6C show the placement of the unit in the reusable layout database.

图7显示可重用版图数据库中的布线。Figure 7 shows the wiring in the reusable layout database.

图8A-8C显示从可重用版图数据库到两套目标设计规则的两个目标版图的版图迁移。Figures 8A-8C show the layout migration from a reusable layout database to two target layouts with two sets of target design rules.

图9A-9C显示模拟版图生成器使用由版图工程师嵌入到可重用版图数据库中的放置功能来创建单元版图。Figures 9A-9C show how the simulated layout generator uses placement functionality embedded by layout engineers into a reusable layout database to create cell layouts.

图10A-10D显示模拟版图生成器使用由版图工程师嵌入到可重用版图数据库中的布线功能来创建单元版图。Figures 10A-10D show the simulation layout generator using routing functionality embedded by layout engineers into a reusable layout database to create cell layouts.

图11显示一部分可重用代码,其生成图10D的3输入NAND版图。Figure 11 shows a portion of the reusable code that generates the 3-input NAND layout of Figure 10D.

图12显示使用由模拟版图生成器从可重用版图数据库生成目标版图文件,通过写入光掩模来控制IC的制造。Figure 12 shows how to control IC manufacturing by writing to a photomask after generating a target layout file from a reusable layout database using a simulated layout generator.

【具体实施方式】【Detailed Implementation Methods】

本发明涉及版图迁移工具的改进。以下描述以使本领域普通技术人员能够制造和使用在特定应用及其要求的上下文中所提供的本发明。对本领域技术人员而言,对优选实施例的各种修改将是显而易见的,本发明定义的一般原理可以应用于其他实施例。因此,本发明并不限于所示和所述的特定实施例,而是应被赋予与本发明披露的原理和新颖特征一致的最宽范围。This invention relates to improvements in layout migration tools. The following description is intended to enable those skilled in the art to make and use the invention in the context of specific applications and their requirements. Various modifications to the preferred embodiments will be apparent to those skilled in the art, and the general principles defined in the invention can be applied to other embodiments. Therefore, the invention is not limited to the specific embodiments shown and described, but should be given the widest scope consistent with the principles and novel features disclosed herein.

图1是使用可重用版图数据库(整合有版图工程师专业知识)的一对多版图迁移的流程图。现有版图是由半导体制程芯片厂常用的二进制GDSII格式规定的。现有版图设计GDSII文件502流入,由版图解析器504进行转换和解析。版图解析器504读取二进制流的GDSII文件502的本地转换副本,并提取不同层上的多边形以在版图数据库文件506中创建指定这些多边形的文本条目(text entries),其为基于文本的格式。版图解析器504在生成版图数据库文件506时保留GDSII文件502中指定的层次结构。因此,可重复使用的标准单元只需在GDSII文件502和版图数据库文件506中指定一次即可。Figure 1 is a flowchart of a one-to-many layout migration using a reusable layout database (integrating layout engineer expertise). The existing layout is defined in the binary GDSII format commonly used in semiconductor process chip manufacturing plants. The existing layout design GDSII file 502 flows in and is converted and parsed by the layout parser 504. The layout parser 504 reads a locally converted copy of the binary stream GDSII file 502 and extracts polygons on different layers to create text entries specifying these polygons in a text-based format in the layout database file 506. The layout parser 504 preserves the hierarchy specified in the GDSII file 502 when generating the layout database file 506. Therefore, reusable standard cells only need to be specified once in the GDSII file 502 and the layout database file 506.

模拟版图设计工具包510允许版图工程师获得这些多边形在版图数据库文件506中的x、y位置。然后,版图工程师可以编写代码以更好地指定由这些多边形形成的器件并更好地允许迁移到不同的设计规则集。版图工程师使用键盘或其他输入512覆盖版图数据库文件506中的文本行,使用描述这些多边形的可重用代码来指定多边形。The simulation layout design toolkit 510 allows layout engineers to obtain the x and y positions of these polygons in the layout database file 506. The layout engineer can then write code to better specify the devices formed by these polygons and better allow migration to different design rule sets. The layout engineer uses the keyboard or other input 512 to override text lines in the layout database file 506, using reusable code describing these polygons to specify them.

模拟版图专业知识集成器508使用来自输入512的可重用代码替换或覆盖版图数据库文件506中的文本条目,以整合版图工程师的专业知识。模拟版图专业知识集成器508使用版图工程师输入的可重用代码修改版图数据库文件506,以形成可重用版图数据库514。The simulated layout expertise integrator 508 uses reusable code from input 512 to replace or overwrite text entries in the layout database file 506 to integrate the expertise of layout engineers. The simulated layout expertise integrator 508 uses the reusable code input by layout engineers to modify the layout database file 506 to form a reusable layout database 514.

可重用版图数据库514包含来自输入512的可重用代码和来自版图数据库文件506的余下的文本条目。来自版图工程师的专业知识的可重用代码激活模拟版图生成器516或器件生成器518中的功能。工程师可以使用设计工具包510自定义任何几何形状的自己的P单元。此类定制的P单元可以是单个器件,例如测试键(test key),也可以嵌入电路中,生成可重用代码指定的器件版图。The reusable layout database 514 contains reusable code from input 512 and the remaining text entries from layout database file 506. Reusable code, derived from the expertise of layout engineers, activates functionality in the analog layout generator 516 or device generator 518. Engineers can use design toolkit 510 to customize their own P-cells of any geometry. Such customized P-cells can be single devices, such as test keys, or embedded in circuitry, generating device layouts specified by the reusable code.

在编译版图时,模拟版图生成器516将由器件生成器518创建的器件版图与由可重用的版图数据库514中的文本条目指定的多边形组合在一起,所述多边形最初位于版图数据库文件506中。然后,使用用于多个半导体制程的设计规则520,将编译的版图转换为目标工艺1、2、3、…、N。然后,由模拟版图生成器516将多个转换的版图输出为目标版图1、2、3、…N。这些目标版图从文本格式转换为GDSII的二进制格式,以生成目标版图GDSII文件522。During layout compilation, the simulation layout generator 516 combines the device layout created by the device generator 518 with polygons specified by text entries in the reusable layout database 514, which are initially located in the layout database file 506. Then, using design rules 520 for multiple semiconductor processes, the compiled layout is converted to target processes 1, 2, 3, ..., N. The simulation layout generator 516 then outputs multiple converted layouts as target layouts 1, 2, 3, ..., N. These target layouts are converted from text format to GDSII binary format to generate target layout GDSII files 522.

图2更详细地显示了GDSII版图解析器。版图解析器504接收GDSII文件502(图1),该文件使用原始设计规则指定原始版图。二进制流由GDSII解析器120解析为GDSII格式的记录的标识符。这些记录类型标识符描述了4种GDSII数据项。SREF解析器102搜索SREF记录类型标识符以用于对分层版图中的标准单元或其他单元的引用。这些SREF标识符指定在其他位置的单元的x、y位置。SREF还可以镜像或旋转单元。Figure 2 shows the GDSII layout resolver in more detail. The layout resolver 504 receives a GDSII file 502 (Figure 1), which specifies the original layout using the original design rules. The binary stream is parsed by the GDSII resolver 120 into identifiers of records in GDSII format. These record type identifiers describe four types of GDSII data items. The SREF resolver 102 searches for SREF record type identifiers for references to standard cells or other cells in the layered layout. These SREF identifiers specify the x, y positions of cells in other locations. SREF can also mirror or rotate cells.

边界解析器104搜索多边形边界的记录。边界(B)记录类型具有封闭多边形的顶点的x,y坐标列表。这些多边形可以有一个指定的处理层。Boundary resolver 104 searches for records of polygon boundaries. Boundary (B) record type has a list of x, y coordinates of the vertices of the closed polygon. These polygons may have a specified processing layer.

路径解析器106在流GDSII文件502的副本中搜索路径数据项。路径记录类型适用于可以扩展宽度的一条线或一系列线段。路径对于形成金属互连特别有用。Path parser 106 searches for path data items in a copy of the streaming GDSII file 502. The path record type is suitable for a single line or a series of line segments whose width can be extended. Paths are particularly useful for forming metal interconnects.

文本解析器108搜索文本数据项的记录。文本通常被添加到版图中以标记晶体管、逻辑门、单元和金属线。文本可以帮助版图工程师理解版图及其与原理图的对应关系。在制造工艺中创建光掩模之前,文本将被删除,以使文本不会出现在最终的物理器件上。The text parser 108 searches for records of text data items. Text is typically added to the layout to mark transistors, logic gates, cells, and metal lines. Text helps layout engineers understand the layout and its correspondence with the schematic. The text is removed before the photomask is created in the manufacturing process so that it does not appear on the final physical device.

可以使用开始结构(BEGSTR)和结束结构(ENDSTR)GDSII记录类型,将多个多边形或其他结构组合在一起以形成一个容器结构或单元。该结构或单元的名称可以通过结构名称(STRNAME)记录类型在该容器结构中定义。Multiple polygons or other structures can be combined to form a container structure or unit using the Start Structure (BEGSTR) and End Structure (ENDSTR) GDSII record types. The name of this structure or unit can be defined within the container structure using the Structure Name (STRNAME) record type.

版图数据集成器110重新布置由SREF解析器102、边界解析器104、路径解析器106和文本解析器108解析的记录,以反映该结构或单元的层次。版图数据集成器110为GDSII解析器120找到的每个数据项创建文本行。这些文本行由版图解析器504输出作为版图数据库文件506(图1)。The layout data integrator 110 rearranges the records parsed by the SREF parser 102, boundary parser 104, path parser 106, and text parser 108 to reflect the hierarchy of the structure or unit. The layout data integrator 110 creates a text line for each data item found by the GDSII parser 120. These text lines are output by the layout parser 504 as a layout database file 506 (Figure 1).

图3是由版图解析器创建的版图数据库文件中文本条目的一个示例。第2行是文本解析器108定位一个文本记录并且版图解析器504创建版图数据库文件506时来自GDSII文件502的文本数据项的一个示例。Figure 3 is an example of a text entry in a layout database file created by the layout parser. The second line is an example of a text data item from the GDSII file 502 when the text parser 108 locates a text record and the layout parser 504 creates the layout database file 506.

路径是以“P”开头的行,例如行3、4和9-15。这些路径行有2个路径端点的x、y坐标、以及路径属性如宽度(180)和图层如第二金属(102,1)。The path is a line that begins with "P", such as lines 3, 4 and 9-15. These path lines have the x and y coordinates of the two path endpoints, as well as path properties such as width (180) and layer such as second metal (102,1).

边界是以“B”开头的行,例如行5-7和16-18。在此示例中,每个边界都有5个x、y坐标,对于一个封闭的矩形多边形,第一个和最后一个坐标是相同的。边界可能会超过5个点。Boundaries are lines that begin with "B", such as lines 5-7 and 16-18. In this example, each boundary has 5 x, y coordinates, and for a closed rectangular polygon, the first and last coordinates are the same. Boundaries may have more than 5 points.

SREF解析器102(图2)识别标准单元或其他块的实例引用(instancereferences)。这些实例引用被转换为版图数据库文件506中以“I”开头的文本行,例如行19-25。每条实例(instance)行都有一个x、y坐标,单元实例放置在该坐标上,并调用该单元的名称。The SREF parser 102 (Figure 2) identifies instance references for standard cells or other blocks. These instance references are converted into text lines starting with "I" in the layout database file 506, such as lines 19-25. Each instance line has an x, y coordinate, at which the cell instance is placed and the cell's name is invoked.

图4是模拟版图设计工具包示意图。模拟版图设计工具包510允许版图工程师将其专业知识集成到可重用的版图数据库514(图1)中。版图工程师使用模拟版图设计工具包510中的功能来重写版图数据库文件506中的文本行,以包括可重用代码,该代码便于将可重用版图数据库514迁移到具有不同套设计规则的多个工艺。Figure 4 is a schematic diagram of the Simulated Layout Design Toolkit. The Simulated Layout Design Toolkit 510 allows layout engineers to integrate their expertise into a reusable layout database 514 (Figure 1). Layout engineers use the functions in the Simulated Layout Design Toolkit 510 to rewrite lines of text in the layout database file 506 to include reusable code that facilitates the migration of the reusable layout database 514 to multiple processes with different sets of design rules.

模拟版图设计工具包510包括位置功能130、放置功能132和布线(routing)功能134。版图工程师可以使用位置功能130在各个层上找到器件和多边形的位置或x、y坐标位置。原始设计规则用于建立可重用版图数据库并复制现有版图。然后,通过可重用数据库,将目标设计规则用于生成新的GDSII结构。位置功能130可以使用一个系统算法来描述元素之间的相对位置,例如上、下、左、右。有了这样的定义,当工程师在可重用数据库中指定元素编号时,可以进行详细评估,稍后在图5B中解释。元素可以是工程师定义的任何多边形、器件或实例。例如,I3[T,(CommonSD,I1,r)]指定元素I3将位于元素I1的右侧。在此,右侧由位置功能“r”定义。I1和I3被指定为MOSFET单元的实例。The simulation layout design toolkit 510 includes a location function 130, a placement function 132, and a routing function 134. Layout engineers can use the location function 130 to find the positions or x, y coordinate positions of devices and polygons on various layers. Original design rules are used to build a reusable layout database and replicate existing layouts. The target design rules are then used to generate new GDSII structures through the reusable database. The location function 130 can use a system algorithm to describe the relative positions between elements, such as top, bottom, left, and right. With such definitions, detailed evaluation can be performed when engineers specify element numbers in the reusable database, as explained later in Figure 5B. Elements can be any polygon, device, or instance defined by the engineer. For example, I3[T, (CommonSD, I1, r)] specifies that element I3 will be located to the right of element I1. Here, the right side is defined by the location function "r". I1 and I3 are specified as instances of MOSFET cells.

版图工程师使用放置功能132将单元和多边形放置在可重复使用的版图数据库514中的位置处。这些位置可以被指定为绝对x、y坐标,或者指定为相对于其他单元或多边形的相对位置。相对位置可以被指定为一个设计规则的函数,如最小间距设计规则的1.5倍,而设计规则的值尚未指定。放置功能132还可以包括对称的放置功能,例如沿着一条共同的线放置多边形,或者在一维或二维中排列单元。Layout engineers use placement function 132 to place elements and polygons at locations within the reusable layout database 514. These locations can be specified as absolute x, y coordinates or as relative positions to other elements or polygons. Relative positions can be specified as a function of a design rule, such as 1.5 times the minimum spacing design rule, where the value of the design rule has not yet been specified. Placement function 132 can also include symmetrical placement functions, such as placing polygons along a common line or arranging elements in one or two dimensions.

布线功能134使用两层或多层互连金属、通孔和触点将单元连接起来。GDSII文件502中的路径数据项通常用于指定互连。在为不同的设计规则调整了晶体管和单元的位置之后,可以在路径端点之间重新布线互连。版图工程师可以指定各种布线方法,如直接布线、迷宫布线、星形搜索布线、使用强化学习算法的布线、或使用人工智能(AI)的布线。版图工程师可以认识到,使用某种布线方法而不是其他布线方法可以更好地布线某些路径,可以基于工程师的过去经验和专业知识,使用布线功能134为某个路径指定最佳布线方法。Routing function 134 connects cells using two or more layers of interconnect metal, vias, and contacts. The path data item in GDSII file 502 is typically used to specify interconnects. After adjusting the placement of transistors and cells for different design rules, interconnects can be rerouted between path endpoints. Layout engineers can specify various routing methods, such as direct routing, maze routing, star-search routing, routing using reinforcement learning algorithms, or routing using artificial intelligence (AI). Layout engineers can recognize that using a certain routing method instead of others can better route certain paths, and can use routing function 134 to specify the optimal routing method for a path based on the engineer's past experience and expertise.

使用模拟版图设计工具包510,版图工程师可以将其专业知识集成到可重用版图数据库514中,从而允许将可重用版图数据库514重新用于不同套目标设计规则的多个目标版图。Using the Simulated Layout Design Toolkit 510, layout engineers can integrate their expertise into the reusable layout database 514, thereby allowing the reusable layout database 514 to be reused for multiple target layouts with different sets of target design rules.

图5A-5B显示版图工程师正在修改版图数据库文件中的文本行,以生成可重用版图数据库。在图5A,一部分版图数据库文件506(图1)显示了6个实例行。第一、第三和第四行分别要求(call for)一个实例p25,该实例可以是互补金属氧化物半导体(CMOS)p沟道晶体管(PMOS),其最大信号电压限制为2.5伏。第二、第五和第六行要求实例n25,它可以是最大电压为2.5伏的n沟道晶体管(NMOS)。版图工程师可以使用其他属性指定这些p25、n25晶体管的沟道宽度。Figures 5A-5B show layout engineers modifying text lines in a layout database file to generate a reusable layout database. In Figure 5A, a portion of the layout database file 506 (Figure 1) shows six instance lines. The first, third, and fourth lines each call for an instance p25, which can be a complementary metal-oxide-semiconductor (CMOS) p-channel transistor (PMOS) with a maximum signal voltage limit of 2.5 volts. The second, fifth, and sixth lines call for an instance n25, which can be an n-channel transistor (NMOS) with a maximum voltage of 2.5 volts. Layout engineers can specify the channel width of these p25 and n25 transistors using other attributes.

在每一行上还提供了每个实例的x、y坐标。p25器件全部为Y=6290,而n25器件全部为Y=290。第一对p和n器件在X=335,第二对在X=875,第三对在X=1415。因此,这6个晶体管排列成:PMOS器件在NMOS器件上方,中心间隔6000个单位,左右相邻晶体管中心对中心相隔540个单位。Each row also provides the x and y coordinates for each instance. All p25 devices are at Y = 6290, while all n25 devices are at Y = 290. The first pair of p and n devices is at X = 335, the second pair at X = 875, and the third pair at X = 1415. Therefore, these six transistors are arranged such that the PMOS devices are above the NMOS devices, with a center-to-center spacing of 6000 units, and adjacent transistors on the left and right are 540 units apart center-to-center.

版图工程师可以查看版图数据库文件506中的行,如图5A所示。图5A中的这六行要求六个独立的晶体管,3个PMOS和3个NMOS晶体管。Layout engineers can view lines 506 in the layout database file, as shown in Figure 5A. These six lines in Figure 5A require six independent transistors: three PMOS and three NMOS transistors.

工程师可能会认识到,相邻晶体管可以共享其源/漏区,而不是具有单独的源/漏。工程师可以使用放置功能132,使用公共源极/漏极放置功能CommonSD重写第三行。这是一种相对放置功能,可使晶体管放置在非常靠近相邻晶体管的位置,从而共享源/漏区及其触点。版图数据库文件506中的第三行:Engineers may recognize that adjacent transistors can share their source/drain regions instead of having separate sources/drains. Engineers can use placement function 132 to rewrite line 3 using the CommonSD common source/drain placement function. This is a relative placement function that allows transistors to be placed very close to adjacent transistors, thus sharing their source/drain regions and contacts. Line 3 in layout database file 506:

I[(875,6290)][p25,0,0]I[(875,6290)][p25,0,0]

被替换为可重用布局数据库514的重写部分中的行(使用CommonSD函数指定实例I3):The rows replaced with the rewritten portion of the reusable layout database 514 (using the CommonSD function to specify instance I3):

I3[T,(CommonSD,I1,r)][p25,0,0]I3[T,(CommonSD,I1,r)][p25,0,0]

删除版图数据库文件506中的绝对坐标(875,6290),使用没有x、y坐标的相对放置函数CommonSD代替,指定源/漏极与实例I1共享。Remove the absolute coordinates (875, 6290) from the layout database file 506 and replace them with the relative placement function CommonSD, which has no x and y coordinates, specifying that the source/drain is shared with instance I1.

同样,删除第4行中的p25晶体管以及第5行和第6行中的n25晶体管的绝对坐标,使用CommonSD函数代替。实例I4与I3共享源/漏,n25实例I5与n25实例I2共享源/漏,实例I6与I5共享源/漏。参数r表示共享右侧的源极/漏极,而不是左侧的源极/漏极。Similarly, delete the absolute coordinates of transistor p25 in line 4 and transistor n25 in lines 5 and 6, replacing them with the CommonSD function. Instances I4 and I3 share source/drain, instances I5 and I2 share source/drain, and instances I6 and I5 share source/drain. The parameter r indicates that the right-hand source/drain is shared, not the left-hand source/drain.

版图工程师可以手动编辑版图数据库文件506并键入CommonSD函数及其参数,以生成可重用版图数据库514。模拟版图设计工具包510可以定义功能、参数和语法,从而允许版图工程师执行以下操作:选择诸如CommonSD之类的放置功能132以用于定义其他n25和p25晶体管单元实例的相对放置。Layout engineers can manually edit layout database file 506 and type in CommonSD functions and their parameters to generate a reusable layout database 514. The simulation layout design toolkit 510 can define functions, parameters, and syntax, allowing layout engineers to perform actions such as selecting placement functions 132, such as CommonSD, to define the relative placement of other n25 and p25 transistor cell instances.

图6A-6C显示单元在可重用版图数据库中的放置。在图6A,块170被放置在版图的平面图中的绝对x、y位置处。块170可以是在多层上具有多个多边形的一个单元,或者可以是单个多边形,或者可以是一个参数化的单元。块170的中心(0,0)通过绝对放置功能被放置在绝对x、y位置,如图5B的前2行所示。Figures 6A-6C show the placement of cells in the reusable layout database. In Figure 6A, block 170 is placed at an absolute x, y position in the planar view of the layout. Block 170 can be a cell with multiple polygons on multiple layers, a single polygon, or a parameterized cell. The center (0, 0) of block 170 is placed at an absolute x, y position using the absolute placement function, as shown in the first two rows of Figure 5B.

在图6B,一系列3个块170、171、172以水平顺序放置。通过绝对放置功能将第一块170放置在绝对位置X0、Y0。但是,块171、172相对于第一块170放置,而不是放置在绝对位置。块171的中心与第一块170的中心的距离为S1,块172的中心与第二块171的中心的距离为S2。因此,第一块170位于X0、Y0,第二块171位于X1、Y0,其中X1=X0+S1,第三块172位于X2、Y0,其中X2=X1+S2。In Figure 6B, a series of three blocks 170, 171, and 172 are placed horizontally in sequence. The first block 170 is placed at absolute positions X0 and Y0 using the absolute placement function. However, blocks 171 and 172 are placed relative to the first block 170, not at absolute positions. The distance between the center of block 171 and the center of the first block 170 is S1, and the distance between the center of block 172 and the center of the second block 171 is S2. Therefore, the first block 170 is located at X0 and Y0, the second block 171 is located at X1 and Y0, where X1 = X0 + S1, and the third block 172 is located at X2 and Y0, where X2 = X1 + S2.

间距值S1、S2可以是设计规则的一个函数,允许针对不同的设计规则来调节间距。例如,当块170、171、172都是具有最小间距的最小宽度的金属线时,S1和S2可以是目标设计规则的最小间距。当块170、171、172是更复杂的单元时,S1可以是单元宽度加上单元之间的最小间距,这可以通过金属间距设计规则来设置。或者,版图工程师可以在单元之间使用较大的间距,以实现更多的互连和更容易的布线。The spacing values S1 and S2 can be functions of a design rule, allowing the spacing to be adjusted for different design rules. For example, when blocks 170, 171, and 172 are all minimum-width metal lines with minimum spacing, S1 and S2 can be the minimum spacing of the target design rule. When blocks 170, 171, and 172 are more complex cells, S1 can be the cell width plus the minimum spacing between cells, which can be set through metal spacing design rules. Alternatively, layout engineers can use larger spacing between cells to achieve more interconnects and easier routing.

在图6C,单元沿着垂直轴对准。块171、173的中心对齐,使得它们中心有相同的X坐标,X3=X1。由于块173的宽度L大于块171的宽度,所以可以将块173的下角计算为X3L=X1-L2和X3R=X1+L2。In Figure 6C, the cells are aligned along the vertical axis. The centers of blocks 171 and 173 are aligned so that their centers have the same X coordinate, X3 = X1. Since the width L of block 173 is greater than the width of block 171, the bottom corner of block 173 can be calculated as X3L = X1 - L2 and X3R = X1 + L2.

块171、173的中心在垂直方向上间隔开距离S3,使得当块171以X1、Y1为中心时,则块173以X1、Y1-S3为中心。同样,间距S3可以是目标设计规则的一个函数加上版图工程师增加的一个额外量,例如用于更好的布线或用于电路性能,如用于闩锁电阻。设计规则的值保留为一个参数,而不是指定为一个数值,从而允许从各种目标设计规则集中选择一个设计规则。这允许可重用版图数据库514中的单元放置对于多个工艺是可重用的。The centers of blocks 171 and 173 are spaced apart by a distance S3 in the vertical direction, such that when block 171 is centered at X1, Y1, then block 173 is centered at X1, Y1-S3. Similarly, the spacing S3 can be a function of the target design rule plus an additional amount added by the layout engineer, for example, for better routing or for circuit performance, such as for latch-up resistors. The value of the design rule is reserved as a parameter rather than specified as a numerical value, thus allowing the selection of a design rule from a variety of target design rule sets. This allows the cell placement in the reusable layout database 514 to be reused for multiple processes.

模拟版图设计工具包510在放置功能132中包括CommonCentre函数。该CommonCentre函数将一个块(如块173)放置在另一块的沿着公共中心的一个相对位置上。间距S3可以在函数调用中指定,例如设计规则允许的最小间距。同样,CommonCentre函数也可以指定为水平(图6B)或垂直(图6C)对齐和对称。The Simulated Layout Design Toolkit 510 includes the CommonCentre function in placement function 132. This CommonCentre function places one block (such as block 173) at a relative position to another block along its common center. Spacing S3 can be specified in the function call, such as the minimum spacing allowed by design rules. Similarly, the CommonCentre function can also be specified for horizontal (Figure 6B) or vertical (Figure 6C) alignment and symmetry.

图7显示可重用版图数据库中的布线。块171-176是排列成两行的六个单元,每行三个。单元内部可能会有所不同,其中一行也可能是另一行的镜像。Figure 7 shows the routing in the reusable layout database. Blocks 171-176 are six cells arranged in two rows, three in each row. The internal structure of the cells may differ, and one row may be a mirror image of the other.

通过单元边界上的连接点建立单元的连接。在该示例中,为第一金属层和第二层都定义了连接点。例如,块171在其下边界上有连接点X1L、Y1D和X1R、Y1D。块174在其上边界上有连接点X4L、Y4U和X4R、Y4U。The cell connections are established through connection points on the cell boundaries. In this example, connection points are defined for both the first and second metal layers. For example, block 171 has connection points X1L, Y1D and X1R, Y1D on its lower boundary. Block 174 has connection points X4L, Y4U and X4R, Y4U on its upper boundary.

可以使用布线功能134或通过版图数据库文件506中的路径数据项来定义块171、174之间的连接。布线例程通过在块171的连接点X1L、Y1D和X1R、Y1D,以及块174的连接点X4L、Y4U和X4R、Y4U之间创建一个矩形,使用层-1金属182来实现连接。在此示例中,X1L=X4L,X1R=X4R。Connections between blocks 171 and 174 can be defined using routing function 134 or via path data items in layout database file 506. The routing routine implements the connection using layer-1 metal 182 by creating a rectangle between connection points X1L, Y1D and X1R, Y1D in block 171, and connection points X4L, Y4U and X4R, Y4U in block 174. In this example, X1L = X4L, X1R = X4R.

可重用版图数据库514还包含一行调用布线功能134中的Z形布线功能。布线功能通过在块173的连接点X3L、Y3D和X3R、Y3D,以及块175的连接点X5L、Y5U和X5R、Y5U之间创建一个层-2金属多边形,使用层-2金属184生成一个Z形多边形以实现连接。The reusable layout database 514 also includes a line call to the Z-shaped routing function in routing function 134. The routing function generates a Z-shaped polygon using layer-2 metal 184 to achieve the connection by creating a layer-2 metal polygon between the connection points X3L, Y3D and X3R, Y3D of block 173 and the connection points X5L, Y5U and X5R, Y5U of block 175.

图8A-8C显示从可重用版图数据库到两套目标设计规则的两个目标版图的版图迁移。在图8A,使用原始设计规则创建原始版图190,并将其转换为可重用版图数据库514,指定块177相对放置在块171、172之间空间的中心下方。块171、172水平地间隔开,块边缘之间的间隔是SH,而块177位于块171、172下方,块边缘之间有间隔SV。Figures 8A-8C illustrate the layout migration of two target layouts from a reusable layout database to two sets of target design rules. In Figure 8A, an original layout 190 is created using the original design rules and converted into a reusable layout database 514, specifying that block 177 is positioned below the center of the space between blocks 171 and 172. Blocks 171 and 172 are horizontally spaced with a spacing of SH between their edges, while block 177 is located below blocks 171 and 172 with a spacing of SV between its edges.

一旦已经使用模拟版图设计工具包510将版图工程师的专业知识集成到可重用版图数据库514中,则可重用版图数据库514可用于将原始版图190转换为两个目标版图192、194,其使用设计规则DR1和DR2。Once the expertise of layout engineers has been integrated into the reusable layout database 514 using the simulated layout design toolkit 510, the reusable layout database 514 can be used to convert the original layout 190 into two target layouts 192 and 194, which use design rules DR1 and DR2.

在图8B,模拟版图生成器516(图1)将用于原始版图190的可重用版图数据库514转换为使用第一设计规则DR1的第一目标版图192。模拟版图生成器516或工程师可以比较原始设计规则与第一设计规则以获得水平和垂直缩放因子SF_H和SF_V以及块缩放因子BSF。块缩放因子BSF可以由用于典型单元中多个多边形层的两套设计规则之间有最小收缩量的那个设计规则限制。间距缩放因子可能取决于确定块之间间隔的金属层设计规则的比率。In Figure 8B, the simulated layout generator 516 (Figure 1) transforms the reusable layout database 514 used for the original layout 190 into a first target layout 192 using the first design rule DR1. The simulated layout generator 516, or an engineer, can compare the original design rule with the first design rule to obtain the horizontal and vertical scaling factors SF_H and SF_V, as well as the block scaling factor BSF. The block scaling factor BSF can be limited by the design rule that has the minimum shrinkage between the two sets of design rules used for multiple polygonal layers in a typical cell. The spacing scaling factor may depend on the ratio of the metal layer design rules that determine the spacing between blocks.

块缩放因子BSF用于缩放块或单元的大小。对于第一目标版图192,BSF为1.0,因此块171、172、177的大小未缩小。但是,间距缩放因子SF_H和SF_V均为0.5,因此,当原始版图190迁移到第一目标版图192时,单元之间的间距减小了50%。尽管块的尺寸没有减小,但是减小的块间距允许第一目标版图192要比原始版图190稍小。The block scaling factor (BSF) is used to scale the size of blocks or cells. For the first target layout 192, the BSF is 1.0, so the sizes of blocks 171, 172, and 177 are not reduced. However, the spacing scaling factors (SF_H and SF_V) are both 0.5, so when the original layout 190 is migrated to the first target layout 192, the spacing between cells is reduced by 50%. Although the block size is not reduced, the reduced block spacing allows the first target layout 192 to be slightly smaller than the original layout 190.

还可使用第二设计规则DR2将可重用版图数据库514转换为第二目标版图。第二设计规则DR2好过第一设计规则DR1,因为块缩放因子BSF为0.5,并且垂直缩放因子SF_V甚至进一步减小到0.25,尽管水平缩放因子SF_H对于两个设计规则DR1、DR2都保持在0.5。The reusable layout database 514 can also be converted into a second target layout using the second design rule DR2. The second design rule DR2 is better than the first design rule DR1 because the block scaling factor BSF is 0.5, and the vertical scaling factor SF_V is even further reduced to 0.25, although the horizontal scaling factor SF_H remains at 0.5 for both design rules DR1 and DR2.

对于第二目标版图194,BSF为0.5,因此在放置之前,块171、172、177分别在水平和垂直方向上按比例缩小50%。间距缩放因子SF_H为0.5,因此缩小后的块171、172的边缘之间的水平间距减小为SH*SF_V,其中SH是距原始版图190的原始水平间距。For the second target layout 194, the BSF is 0.5, so before placement, blocks 171, 172, and 177 are scaled down by 50% in both the horizontal and vertical directions. The spacing scaling factor SF_H is 0.5, so the horizontal spacing between the edges of the scaled-down blocks 171 and 172 is reduced to SH*SF_V, where SH is the original horizontal spacing from the original layout 190.

垂直间隔SF_V被进一步缩小至0.25,因此块171和177之间的垂直间隔减小了75%。减小了块171、172、177的大小,并且减小了块之间的间隔,因此第二目标版图194比原始版图190小得多。The vertical spacing SF_V was further reduced to 0.25, thus reducing the vertical spacing between blocks 171 and 177 by 75%. The sizes of blocks 171, 172, and 177 were reduced, and the spacing between blocks was also reduced, resulting in the second target layout 194 being significantly smaller than the original layout 190.

图9A-9C显示模拟版图生成器使用由版图工程师嵌入到可重用版图数据库中的放置功能来创建单元版图。当在可重用版图数据库514中处理图5B的代码时,第二行调用模拟版图生成器516来生成n25单元的一个实例,该实例是NMOS晶体管:Figures 9A-9C show the analog layout generator using placement functionality embedded by the layout engineer into the reusable layout database to create cell layouts. When processing the code in Figure 5B within the reusable layout database 514, the second line calls the analog layout generator 516 to generate an instance of the n25 cell, which is an NMOS transistor:

I2[(335,290)][n25,0,0]I2[(335,290)][n25,0,0]

该行通过创建多晶硅层矩形栅极30、包括源/漏区20、22、源触点10和漏触点12的扩散矩形,使模拟版图生成器516生成n沟道晶体管。多晶硅和扩散矩形的相交部分是晶体管的主动栅极区域。该晶体管的中心位于绝对位置335、290。该第一晶体管在图9A中示出。This row enables the analog layout generator 516 to generate an n-channel transistor by creating a polysilicon layer rectangular gate 30, a diffusion rectangle including source/drain regions 20, 22, source contact 10, and drain contact 12. The intersection of the polysilicon and the diffusion rectangle forms the active gate region of the transistor. The center of the transistor is located at absolute positions 335, 290. This first transistor is shown in Figure 9A.

可重用代码的第五行,The fifth line of reusable code,

I5[T,(CommonSD,I2,r)][n25,0,0]I5[T,(CommonSD,I2,r)][n25,0,0]

要求生成另一个n25单元,但是没有给出绝对x、y位置。而是使用I2和r作为函数调用参数来调用CommonSD函数。该函数使模拟版图生成器516生成新晶体管,其源极/漏极区域与由实例I2创建的晶体管的右侧源极/漏极区域共享。The requirement is to generate another n25 cell, but the absolute x and y positions are not given. Instead, the CommonSD function is called using I2 and r as function call arguments. This function causes the analog layout generator 516 to generate a new transistor whose source/drain regions are shared with the right-hand source/drain regions of the transistor created by instance I2.

在图9B,I2晶体管栅极30仍然有源极/漏极区域20中的源极触点10,但是漏极触点12和源极/漏极区域20与I5晶体管栅极32共享。模拟版图生成器516还生成共享触点14和源/漏区24到I5晶体管栅极32的右侧。扩散矩形已向右扩展,以包括I5晶体管栅极32和源/漏区24。In Figure 9B, the gate 30 of the I2 transistor still has the source contact 10 in the source/drain region 20, but the drain contact 12 and the source/drain region 20 are shared with the gate 32 of the I5 transistor. The analog layout generator 516 also generates the shared contact 14 and the source/drain region 24 to the right side of the gate 32 of the I5 transistor. The diffusion rectangle has been extended to the right to include the gate 32 of the I5 transistor and the source/drain region 24.

接下来,模拟版图生成器516处理第六行可重用代码:Next, the simulated layout generator 516 processes the reusable code in line six:

I6[T,(CommonSD,I5,r)][n25,0,0]I6[T,(CommonSD,I5,r)][n25,0,0]

其要求生成第三个n25单元,没有给出绝对x、y位置。而是使用I5和r作为函数调用参数来调用CommonSD函数。该函数使模拟版图生成器516生成新晶体管,其源极/漏极区域与由实例I5创建的晶体管的右侧源极/漏极区域共享。It requests the generation of a third n25 cell, without specifying the absolute x and y positions. Instead, it calls the CommonSD function using I5 and r as function call arguments. This function causes the analog layout generator 516 to generate a new transistor whose source/drain regions are shared with the right-side source/drain regions of the transistor created by instance I5.

在图9B,与I5晶体管栅极32右侧共享的触点14和源极/漏极区域24现在与I6晶体管栅极34共享。模拟版图生成器516生成触点16和源极/漏极区域26到I6晶体管栅极34右侧。扩散矩形再次向右延伸,以包括I6晶体管栅极36和源/漏区26。In Figure 9B, the contact 14 and source/drain region 24, which were shared with the right side of the gate 32 of transistor I5, are now shared with the gate 34 of transistor I6. Analog layout generator 516 generates contact 16 and source/drain region 26 to the right side of the gate 34 of transistor I6. The diffusion rectangle extends again to the right to include the gate 36 of transistor I6 and the source/drain region 26.

对于图5B中的其他行,可以以与图9A-9B中描述的类似方式来生成PMOS晶体管:For the other rows in Figure 5B, PMOS transistors can be generated in a similar manner to that described in Figures 9A-9B:

I1[(335,6290)][p25,0,0]I1[(335,6290)][p25,0,0]

I3[T,(CommonSD,I1,r)][p25,0,0]I3[T,(CommonSD,I1,r)][p25,0,0]

I4[T,(CommonSD,I3,r)][p25,0,0]I4[T,(CommonSD,I3,r)][p25,0,0]

在图9C,模拟版图生成器516向上延伸栅极30,以足够的间隔添加金属触点40以满足目标设计规则。该间隔距离由设计规则参数化。第一层金属50被添加覆盖(over)到金属触点40上方并且在单元上垂直延伸。In Figure 9C, the analog layout generator 516 extends the gate 30 upwards to add metal contacts 40 at sufficient intervals to meet target design rules. This interval distance is parameterized by the design rules. A first layer of metal 50 is added over the metal contacts 40 and extends vertically over the cells.

类似地,模拟版图生成器516向上延伸多晶硅栅极32、34,并添加金属触点42、44和第一层金属52、54。Similarly, the analog layout generator 516 extends the polysilicon gates 32, 34 upwards and adds metal contacts 42, 44 and a first layer of metal 52, 54.

由于源极/漏极区22、24均与两个晶体管共享,因此与单独晶体管(各自有自己的未共享的源极/漏极区)相比,实例I2、I5、I6的三个晶体管的整体尺寸减小了。使用模拟版图设计工具包510的CommonSD函数,将版图工程师认为可以为这些晶体管共享源/漏区的这些专业知识添加到可重用版图数据库514中。向多个目标工艺的版图迁移得到改进。Since source/drain regions 22 and 24 are shared with both transistors, the overall size of the three transistors in examples I2, I5, and I6 is reduced compared to individual transistors (each with its own unshared source/drain regions). Using the CommonSD functions of the analog layout design toolkit 510, the expertise that layout engineers believe can be used to share source/drain regions for these transistors is added to the reusable layout database 514. Layout migration to multiple target processes is improved.

图10A-10D显示模拟版图生成器使用由版图工程师嵌入到可重用版图数据库中的布线功能来创建单元版图。在图10A,在底部显示晶体管栅极30、32、34共享源极/漏极区域22、24和金属触点40、42、44。这些是图9C所示的I2、I5、I6 NMOS晶体管。Figures 10A-10D show the analog layout generator using routing functions embedded by layout engineers into a reusable layout database to create cell layouts. In Figure 10A, transistor gates 30, 32, and 34 share source/drain regions 22 and 24 and metal contacts 40, 42, and 44, shown at the bottom. These are the I2, I5, and I6 NMOS transistors shown in Figure 9C.

顶部显示的是晶体管栅极31、33、35,其有共享的源极/漏极区域23、25,在两端的非共享的源极/漏极区域21、27,以及触点11、13、15、17。这些可以是为实例I1、I3、I4而生成,如图5B所示的可重用版图数据库514的代码段。The top shows transistor gates 31, 33, and 35, with shared source/drain regions 23 and 25, non-shared source/drain regions 21 and 27 at both ends, and contacts 11, 13, 15, and 17. These can be code segments generated for instances I1, I3, and I4, as shown in the reusable layout database 514 in Figure 5B.

还产生金属触点41、43、45以连接到多晶硅栅极31、33、35。这些金属触点41、43、45在PMOS晶体管栅极31、33、35的底部产生。而不是像NMOS晶体管栅极30、32、34那样位于顶部。Metal contacts 41, 43, and 45 are also created to connect to the polysilicon gates 31, 33, and 35. These metal contacts 41, 43, and 45 are created at the bottom of the PMOS transistor gates 31, 33, and 35, rather than at the top as in the NMOS transistor gates 30, 32, and 34.

可以使用放置功能132中的CommonCenter功能来创建这些金属触点。CommonCenter功能使金属触点43与其多晶硅栅极对齐。例如,稍后图11显示的可重用版图数据库514代码段的第13行:These metal contacts can be created using the CommonCenter function in placement function 132. The CommonCenter function aligns the metal contact 43 with its polysilicon gate. For example, line 13 of the code segment in the reusable layout database 514 shown later in Figure 11:

13I11[T,(CommonCentre,I3,d)][M1_PO,0]13I11[T,(CommonCentre,I3,d)][M1_PO,0]

使模拟版图生成器516在实例I3(I3,d)的底部生成金属-1-到-多晶硅接触(M1_PO),并且与I3具有一个共同的中心。The simulation layout generator 516 generates a metal-1 to polysilicon contact (M1_PO) at the bottom of instance I3 (I3, d) and shares a common center with I3.

因为实例I1、I2具有相同的绝对X坐标,所以PMOS栅极31与NMOS栅极30对齐。Since instances I1 and I2 have the same absolute X coordinate, the PMOS gate 31 is aligned with the NMOS gate 30.

在图10B,版图工程师已经使用一个布线功能134来生成互连。矩形(rect)布线功能用于生成一个简单的矩形,以使用第一层金属(101)连接I1和I2。这在图11的第20行中显示,其中列出了边界B6:In Figure 10B, the layout engineer has used a routing function 134 to generate the interconnect. The rectangular routing function is used to generate a simple rectangle to connect I1 and I2 using the first layer of metal (101). This is shown in row 20 of Figure 11, where boundary B6 is listed:

20B6[T,(Rect,I1.PO_Down._l,I1.PO_Down._r,I1.PO_Down._d,I2.PO_Up._u)][101,1]20B6[T,(Rect,I1.PO_Down._l,I1.PO_Down._r,I1.PO_Down._d,I2.PO_Up._u)][101,1]

通过此可重用代码行生成第一层金属60,将金属触点40、41连接到晶体管栅极30、31。rect函数中的前两个点相对于I2多晶硅左下方(I1.PO_Down_l)和右下方(I1.PO_Down_r)的。rect函数中的其他两个点I1.PO_Down._d和I2.PO_Up._u是金属60的上下边缘。I1.PO_Down._d是PO触点41的下边缘,I2.PO_Up._u是PO触点40的上边缘。This reusable line of code generates the first layer of metal 60, connecting metal contacts 40 and 41 to transistor gates 30 and 31. The first two points in the `rect` function are relative to the lower left (`I1.PO_Down_l`) and lower right (`I1.PO_Down_r`) of the I2 polysilicon. The other two points in the `rect` function, `I1.PO_Down._d` and `I2.PO_Up._u`, are the upper and lower edges of metal 60. `I1.PO_Down._d` is the lower edge of PO contact 41, and `I2.PO_Up._u` is the upper edge of PO contact 40.

类似地,其他行可重用代码使用rect布线功能来生成,将金属触点42、43连接到晶体管栅极32、33的第一层金属62,以及将金属触点44、45连接到晶体管栅极34、35的第一层金属64。Similarly, other lines of reusable code are generated using the rect wiring function to connect metal contacts 42, 43 to the first layer of metal 62 of transistor gates 32, 33, and to connect metal contacts 44, 45 to the first layer of metal 64 of transistor gates 34, 35.

在图10C,其他rect布线功能134用于在第一金属层上生成VDD金属66和VSS金属68。VDD金属66连接到源极/漏极区21、25中的触点11、15,其用作连接到电源的PMOS源极。VSS金属68连接到源极/漏极区域26中的触点16,后者充当接地的NMOS源极。In Figure 10C, additional rect wiring function 134 is used to generate VDD metal 66 and VSS metal 68 on the first metal layer. VDD metal 66 is connected to contacts 11 and 15 in source/drain regions 21 and 25, which serve as PMOS sources connected to power supplies. VSS metal 68 is connected to contact 16 in source/drain region 26, which serves as a grounded NMOS source.

在图10D,第二层金属70由模拟版图生成器516产生。第二层金属70连接到单元输出(未示出)并连接到源极-漏极区20中的触点10,连接到源极/漏极区域23中的触点13,连接到源极/漏极区域27中的触点17。形成一个3输入NAND门。In Figure 10D, the second metal layer 70 is generated by the analog layout generator 516. The second metal layer 70 is connected to the cell output (not shown) and to contact 10 in the source-drain region 20, to contact 13 in the source/drain region 23, and to contact 17 in the source/drain region 27, forming a 3-input NAND gate.

第二层金属70是由模拟版图生成器516处理图11所示的可重用版图数据库514的可重用代码部分中的行23而生成的。该行使用Z形布线功能,使用第二种金属(参数102)产生Z字形金属线。The second layer of metal 70 is generated by the simulation layout generator 516 processing line 23 in the reusable code section of the reusable layout database 514 shown in Figure 11. This line uses the Z-routing function to generate Z-shaped metal lines using the second metal (parameter 102).

23P1[T,(Zshape,I4.AA_Right._r+90,I4.AA_Right._u,I2.AA_Left._l-90,I2.AA_Left._d,4000,180)][102,1]23P1[T,(Zshape,I4.AA_Right._r+90,I4.AA_Right._u,I2.AA_Left._l-90,I2.AA_Left._d,4000,180)][102,1]

该行可重用代码定义了Z形多边形第二金属(102,1),其中心为Y=4000,宽180nm。右边缘延伸90nm,超过非共享源/漏区27(I4.AA_Right._r+90)。左边缘延伸90nm,超过非共享源极/漏极区域20(I2.AA_Left._l-90)。上边缘为非共享源极/漏极区域27(I4.AA_Right._u),下边缘为非共享源/漏区20(I2.AA_Left._d)。This line of reusable code defines a Z-shaped polygonal second metal (102,1) with a center of Y = 4000 and a width of 180nm. The right edge extends 90nm beyond the non-shared source/drain region 27 (I4.AA_Right._r+90). The left edge extends 90nm beyond the non-shared source/drain region 20 (I2.AA_Left._l-90). The upper edge is the non-shared source/drain region 27 (I4.AA_Right._u), and the lower edge is the non-shared source/drain region 20 (I2.AA_Left._d).

图11显示一部分可重用代码,其生成图10D的3输入NAND版图。图11的部分可重用代码是可重用版图数据库514的一部分,其中第5-23行由版图工程师编写,第1、2行几乎未更改,除了添加实例名称(I1,I2)用于进一步引用。Figure 11 shows a portion of the reusable code that generates the 3-input NAND layout of Figure 10D. The portion of the reusable code in Figure 11 is part of the reusable layout database 514, where lines 5-23 were written by the layout engineer, and lines 1 and 2 were almost unchanged except for the addition of instance names (I1, I2) for further reference.

第5-8行使用CommonSD放置功能生成具有共享源/漏区的晶体管。第4、7、8行产生NMOS晶体管栅极30、32、34以及触点和源极/漏极,如图9B所示。图9C所示的金属触点40、42、44是通过第9-11行使用CommonCenter放置功能添加金属1-到-多晶硅触点(M1_PO)的,而图10A所示的金属触点41、43、45是通过第12-14行使用CommonCenter放置功能添加的。Lines 5-8 use the CommonSD placement function to generate transistors with shared source/drain regions. Lines 4, 7, and 8 generate NMOS transistor gates 30, 32, and 34, as well as contacts and source/drain terminals, as shown in Figure 9B. The metal contacts 40, 42, and 44 shown in Figure 9C are added using the CommonCenter placement function by adding metal 1-to-polysilicon contacts (M1_PO) in lines 9-11, while the metal contacts 41, 43, and 45 shown in Figure 10A are added using the CommonCenter placement function in lines 12-14.

复杂形状VDD金属66是通过第15、17、18行使用矩形布线功能产生的,产生了3个矩形。VSS金属68是由第16、19行使用矩形布线功能产生,产生了2个矩形。The complex shape VDD metal 66 was generated by using the rectangle routing function in lines 15, 17, and 18, resulting in 3 rectangles. VSS metal 68 was generated by using the rectangle routing function in lines 16 and 19, resulting in 2 rectangles.

第一层金属60、62、64分别由第20、21、22行使用矩形布线功能产生。最后,第二层金属70由图11中第23行使用Z形布线功能而生成。The first layer of metals 60, 62, and 64 are generated using the rectangular routing function in rows 20, 21, and 22, respectively. Finally, the second layer of metal 70 is generated using the Z-shaped routing function in row 23 of Figure 11.

图12显示使用由模拟版图生成器从可重用版图数据库生成目标版图文件,通过写入光掩模来控制IC的制造。模拟版图生成器516通过处理来自模拟版图设计工具包510的可重用命令,从可重用布局数据库514生成目标版图文件522,可重用命令由版图工程师插入可重用版图数据库514中。目标版图文件522为GDSII格式,或者被转换为GDSII格式,以供光掩模制造厂商用于物理版图76。Figure 12 illustrates the use of a simulated layout generator to generate a target layout file from a reusable layout database, controlling IC manufacturing by writing to a photomask. The simulated layout generator 516 generates a target layout file 522 from a reusable layout database 514 by processing reusable commands from a simulated layout design toolkit 510. These reusable commands are inserted into the reusable layout database 514 by layout engineers. The target layout file 522 is in GDSII format, or is converted to GDSII format, for use by photomask manufacturers in the physical layout 76.

物理版图76指定每个裸片上的物理x、y位置,各种组件将位于成品集成电路(IC)裸片上。物理版图76转换为多个图像层,其指定了栅极的位置,金属线、通孔的位置,各层之间的连接,以及基板上氧化物和扩散区域的位置。掩模图像78通常包括一个图像用于每个图案化层。Physical layout 76 specifies the physical x and y positions on each die, where various components will be located on the finished integrated circuit (IC) die. Physical layout 76 is converted into multiple patterning layers, which specify the locations of gates, metal lines, vias, connections between layers, and oxide and diffusion regions on the substrate. Mask image 78 typically includes an image for each patterned layer.

掩模制造机读取掩模图像78或另一个设计文件,然后将这些图像物理写入或烧录到光掩模82上。光掩模82是有形产品,是版图迁移软件或例程产生目标版图文件522的一个结果,其最终通过软件转换为实际晶体管栅极和布线的掩模图像78。虽然可以在通用计算机上执行版图迁移软件,但是创建光掩模82需要使用专门的机器,例如通过光或电子束,将版图数据写在各个掩模上,该光或电子束通过版图数据打开和关闭,同时在未曝光的光致抗蚀剂聚合物层上以光栅化图案进行扫描,该聚合物层放置在空白光掩模玻璃板上。光刻胶在某些位置被光束或电子束曝光,而在其他区域则未曝光。然后可以在化学显影剂浴中洗涤曝光板,以去除曝光或未曝光的区域,以形成光掩模82。A mask manufacturing machine reads a mask image 78 or another design file and then physically writes or burns these images onto a photomask 82. The photomask 82 is a tangible product, a result of layout migration software or routines generating a target layout file 522, which is ultimately converted by software into a mask image 78 of the actual transistor gates and wiring. While layout migration software can be executed on a general-purpose computer, creating the photomask 82 requires specialized equipment, such as a light or electron beam, to write layout data onto individual masks. This light or electron beam is turned on and off via the layout data while simultaneously scanning an unexposed photoresist polymer layer in a rasterized pattern on a blank photomask glass plate. The photoresist is exposed in some locations by the light or electron beam, while remaining unexposed in others. The exposure plate can then be washed in a chemical developer bath to remove the exposed or unexposed areas, thus forming the photomask 82.

在光掩模制造80期间,光掩模机器产生了多块光掩模82,每块光掩模用于每个半导体工艺层。然后,将光掩模82发送到半导体工厂(晶圆厂或芯片厂),并装入光掩模机中,在IC制造工艺84中,其中通过光掩模82的光使半导体晶片上的光刻胶树脂曝光。在经过光掩模82的多层曝光处理以及其他处理(例如离子注入、扩散、氧化物生长、多晶硅和金属沉积、通孔和触点蚀刻、以及金属和多晶硅蚀刻)之后,IC制造工艺84制作出晶圆86。晶圆86是硅、GaAs或其他半导体衬底,在其表面上形成有图案层。每个晶圆86上都会生产出多个芯片。在最初的晶圆分类测试之后,将晶圆86切割成小片,将其放入封装中以生产IC 88。During photomask fabrication 80, a photomask machine produces multiple photomasks 82, each used for each semiconductor process layer. The photomasks 82 are then sent to a semiconductor fab (wafer fab or chip factory) and loaded into a photomask machine for IC manufacturing process 84, where light from the photomasks 82 exposes the photoresist resin on the semiconductor wafer. After multilayer exposure processes via the photomasks 82, as well as other processes (e.g., ion implantation, diffusion, oxide growth, polysilicon and metal deposition, via and contact etching, and metal and polysilicon etching), IC manufacturing process 84 produces a wafer 86. Wafer 86 is a silicon, GaAs, or other semiconductor substrate with patterned layers formed on its surface. Multiple chips are produced on each wafer 86. After initial wafer sorting and testing, wafer 86 is diced into smaller pieces and packaged to produce ICs 88.

因此,从可重用版图数据库514生成的目标版图文件522控制制造工艺中的一系列步骤,最终导致光掩模82和IC88。非常专业的机器和控制这些机器的计算机本身最终受到目标版图文件522中的数据控制或引导以产生特定的IC 88芯片。Therefore, the target layout file 522 generated from the reusable layout database 514 controls a series of steps in the manufacturing process, ultimately resulting in the photomask 82 and the IC 88. Highly specialized machines and the computers that control these machines are ultimately controlled or guided by the data in the target layout file 522 to produce the specific IC 88 chip.

IC 88可以是装配到终端用户设备如智能电话90中的ASIC或模块。智能电话90可以包括相机92,相机拍摄图像,由智能电话90使用IC 88处理。IC 88可以由两个或多个芯片厂制造并实施现有设计,但要使用两套不同的设计规则。每套设计规则创建一个不同的目标版图文件522,其生成不同组光掩模82,用于特定半导体工艺制造IC 88。IC 88 can be an ASIC or module assembled into an end-user device such as a smartphone 90. The smartphone 90 may include a camera 92, which captures images, which are then processed by IC 88. IC 88 can be manufactured by two or more chip manufacturers and implement existing designs, but using two different sets of design rules. Each design rule creates a different target layout file 522, which generates different sets of photomasks 82 for manufacturing IC 88 using a specific semiconductor process.

【替代实施例】[Alternative Embodiments]

发明人设计了几个其他实施例。例如,可以调整或缩放原始版图中的绝对坐标。例如,原始版图190(图8A)中的绝对x、y位置可以按0.5缩放至x/2、y/2,以在第一目标版图194(图8B)中产生对应的绝对位置。可以使用原始的平面图,但可以根据新的设计规则进行缩放。路径宽度、接触通孔面积等可以更改以生成缩放的单个器件。The inventors designed several other embodiments. For example, the absolute coordinates in the original layout can be adjusted or scaled. For instance, the absolute x and y positions in the original layout 190 (FIG. 8A) can be scaled by 0.5 to x/2 and y/2 to produce corresponding absolute positions in the first target layout 194 (FIG. 8B). The original plan view can be used, but it can be scaled according to new design rules. Path widths, contact via areas, etc., can be changed to generate scaled individual devices.

版图工程师可以手动编辑层次结构中的最低级别单元,以包括设计规则中的参数,例如间距和宽度。设计规则可以存储在独立文件中,该文件可以由模拟版图设计工具包510加载。版图工程师可以直接更改设计规则文件中的值。还可以开发图形界面供用户输入此类参数。设计规则的这种改变使模拟版图生成器516自动调整模拟版图生成器516输出的转换后的版图,因为可重用版图数据库514是相对于参数化设计规则而言的。例如,如果仅更改接触通孔面积的设计规则,则将在目标版图中更改所有触点,而不会更改扩散间隔的相对位置。Layout engineers can manually edit the lowest-level units in the hierarchy to include parameters from design rules, such as spacing and width. Design rules can be stored in a separate file, which can be loaded by the simulation layout design toolkit 510. Layout engineers can directly change values in the design rule file. A graphical interface can also be developed for users to input such parameters. This change to the design rules causes the simulation layout generator 516 to automatically adjust the converted layout output by the simulation layout generator 516, because the reusable layout database 514 is relative to the parametric design rules. For example, if only the design rule for the contact via area is changed, all contacts in the target layout will be changed without altering the relative positions of the diffusion spacing.

一些设计规则可以包括特殊规则,例如扩大尺寸和间距的高压晶体管的。可以使用特殊版图如甜甜圈形或环形晶体管栅极。可以将保护环或其他结构添加到标记有高压或其他特殊用途的单元。可重用代码可以包括激活某些单元的这些特殊版图和设计规则的功能。即使在同一IC上,模拟运行的晶体管也可能与数字电路中使用的晶体管具有不同的版图要求。Some design rules may include special rules, such as those for high-voltage transistors with increased size and spacing. Special layouts, such as donut-shaped or ring-shaped transistor gates, may be used. Guard rings or other structures may be added to cells marked for high voltage or other special purposes. Reusable code may include functionality to activate these special layouts and design rules for certain cells. Even on the same IC, transistors operating in analog circuitry may have different layout requirements than those used in digital circuitry.

已经描述了可重用代码是由版图工程师输入到可重用布局数据库514中,由模拟版图生成器516和器件生成器518两者处理,由器件生成器518处理排列功能,由模拟版图生成器处理其他功能。可以调整功能的划分,使得器件生成器518或模拟版图生成器516可以处理来自模拟版图设计工具包510的所有功能。器件生成器518和模拟版图生成器516也可以组合在一起。As described, reusable code is input into the reusable layout database 514 by layout engineers and processed by both the simulation layout generator 516 and the device generator 518. The device generator 518 handles arrangement functions, while the simulation layout generator handles other functions. The division of functions can be adjusted so that either the device generator 518 or the simulation layout generator 516 can handle all functions from the simulation layout design toolkit 510. The device generator 518 and the simulation layout generator 516 can also be combined.

尽管在图5B和图11显示了可重用代码的语法,但是可以替换对语法和参数的多种修改。所示代码只是一种可能的代码语法的示例。同样,版图解析器504可以使用与图3所示不同的语法来创建版图数据库文件506。可以为P单元和其他结构支持扩展。Although the syntax of the reusable code is shown in Figures 5B and 11, various modifications to the syntax and parameters can be made. The code shown is merely an example of one possible code syntax. Similarly, the layout parser 504 can create the layout database file 506 using a different syntax than that shown in Figure 3. Extensions can be supported for P-cells and other structures.

版图工程师对版图数据库文件506的覆盖不必是1∶1。版图数据库文件506中的一行可以被版图工程师使用可重用版图数据库514中的多行可重用代码替换,或者版图数据库文件506中的多行可以被版图工程师使用可重用版图数据库514中的单行可重用代码替换。一些行可能是1:1,其他行可能是1:N或N:1,取决于功能和版图。The layout engineer's overwrite of layout database file 506 does not need to be 1:1. A line in layout database file 506 can be replaced by the layout engineer using multiple lines of reusable code from reusable layout database 514, or multiple lines in layout database file 506 can be replaced by the layout engineer using a single line of reusable code from reusable layout database 514. Some lines may be 1:1, others may be 1:N or N:1, depending on the functionality and layout.

相对于数字版图设计,本发明更有益于模拟版图设计。对于数字电路版图,版图工程师不需要自己设计模块。芯片厂会提供一个标准单元库作为基本的门级模块,从中可以构建版图。此外,由于数字电路性能对布局和布线不敏感,因此有成熟的CAD工具可以执行自动布局和布线。但是,对于模拟电路版图设计,工程师通常没有芯片厂提供的标准单元以供使用,因此版图工程师比数字版图设计要花费更多的精力。此外,与数字电路相比,模拟电路的性能对版图平面图要敏感得多,因此模拟版图需要大量的设计者的专业知识来处理意外的影响。这种意外的影响包括不对称引起的信号失配,较大的寄生电容和电阻。因此,模拟版图设计可以比数字版图设计更多地受益于本发明。Compared to digital layout design, this invention is more beneficial for analog layout design. For digital circuit layout, layout engineers do not need to design modules themselves. Chip manufacturers provide a standard cell library as basic gate-level modules from which layouts can be built. Furthermore, since digital circuit performance is insensitive to placement and routing, mature CAD tools can perform automatic placement and routing. However, for analog circuit layout design, engineers typically do not have standard cells provided by chip manufacturers, thus requiring more effort from layout engineers than for digital layout design. Moreover, the performance of analog circuits is much more sensitive to the layout planarity than that of digital circuits, therefore analog layouts require significant designer expertise to handle unintended effects. These unintended effects include signal mismatch caused by asymmetry, larger parasitic capacitances, and resistances. Therefore, analog layout design can benefit more from this invention than digital layout design.

版图工程师或其他工程师或程序员可以编写搜索和替换例程或其他宏,以在版图数据库文件506中搜索某些数据项,并使用可重用代码重写这些数据项,而不是用可重用代码手动覆盖每个数据项。例如,可以在版图数据库文件506中搜索单元之间的互连,将这些互连替换为布线功能134中的一个布线功能,从而允许模拟版图生成器516重新布线版图而不使用现有的互连。Layout engineers or other engineers or programmers can write search and replace routines or other macros to search for certain data items in the layout database file 506 and rewrite these data items using reusable code, instead of manually overwriting each data item with reusable code. For example, interconnections between cells can be searched in the layout database file 506 and replaced with a routing function in routing function 134, thereby allowing the simulated layout generator 516 to reroute the layout without using existing interconnections.

可以开发图形用户界面以将模拟版图设计工具包510呈现给版图工程师,从而允许版图工程师选择版图数据库文件506中的数据项,然后粘贴可重用代码以生成可重用版图数据库514。现有的版图可以以图形方式显示给版图工程师,以供参考,并且可以允许工程师在显示的版图上选择目标的x、y坐标以粘贴到可重用代码。A graphical user interface can be developed to present the simulated layout design toolkit 510 to layout engineers, allowing them to select data items from the layout database file 506 and then paste reusable code to generate a reusable layout database 514. Existing layouts can be displayed graphically to layout engineers for reference, and engineers can be allowed to select the x and y coordinates of targets on the displayed layout to paste into the reusable code.

可以有其他程序用于进一步处理,例如设计规则检查器或示意图验证器。这些程序可以标记错误以供版图工程师手动修复,或者可以更改版图数据库文件以修复错误。Other programs can be used for further processing, such as design rule checkers or schematic verification tools. These programs can flag errors for layout engineers to fix manually, or they can modify the layout database file to correct errors.

可能有多种IC半导体制造工艺。可以用各种专用机器和工艺来制造光掩模82,包括直接写入以烧掉金属化层而不是光刻胶。多种组合的扩散、氧化物生长、蚀刻、沉积、离子注入和其他制造步骤可以使它们产生的图案产生在由光掩模82控制的IC上。There may be multiple IC semiconductor manufacturing processes. A variety of specialized machines and processes can be used to fabricate the photomask 82, including direct writing to burn away the metallization layer instead of the photoresist. Multiple combinations of diffusion, oxide growth, etching, deposition, ion implantation, and other manufacturing steps can produce patterns on the IC controlled by the photomask 82.

可以使用软件、硬件、固件、例程、模块、功能等的各种组合,以各种技术来实施模拟版图生成器516、模拟版图设计工具包510、器件生成器518以及其他组件。模块、块、组件、例程、子例程、工艺、功能等可能有多种划分,并且可以被替换。可重用代码的语法、函数和文件可能有多种变体。可以使用多种文件格式和变体。一些实施例可能未使用所有组件。可以添加其他组件。Various combinations of software, hardware, firmware, routines, modules, functions, etc., can be used to implement the simulation layout generator 516, simulation layout design toolkit 510, device generator 518, and other components using various technologies. Modules, blocks, components, routines, subroutines, processes, functions, etc., may have multiple divisions and can be replaced. The syntax, functions, and files of reusable code may have multiple variations. Multiple file formats and variations can be used. Some embodiments may not use all components. Additional components can be added.

版图解析器还可以解析GDSII文件502的本地副本,用于单元定义或单元定界符,其确定单元内容,单元定义可以包括多边形的边界、路径、文本和其他单元实例。版图工程师可以使用单元定义来创建自定义的P单元。实例可以调用芯片厂提供的P单元或自定义的P单元。SREF是GDSII流格式的固有元素,它描述一种结构相对于另一种结构的位置。The layout parser can also parse a local copy of the GDSII file 502 for cell definitions or cell delimiters, which determine cell content. Cell definitions can include polygon boundaries, paths, text, and other cell instances. Layout engineers can use cell definitions to create custom P-cells. Instances can call P-cells provided by the chip manufacturer or custom P-cells. SREF is an inherent element of the GDSII stream format that describes the position of one structure relative to another.

上、下、左、右、在…上、在…下等字眼是相对的,取决于观看者的位置或视点。平面图、版图、单元和数据项可以旋转、翻转、镜像和进行其他转换。多种变化是可能的。Terms like up, down, left, right, above, below, etc., are relative and depend on the viewer's position or viewpoint. Planes, layouts, units, and data items can be rotated, flipped, mirrored, and otherwise transformed. Numerous variations are possible.

本发明的背景部分可以包含关于本发明的问题或环境的背景信息,而不是由其他人描述现有技术。因此,在背景技术部分中包含的材料并不是申请人对现有技术的承认。The background section of this invention may include background information about the problems or circumstances surrounding the invention, rather than a description of prior art by others. Therefore, the material included in the background section is not an admission of prior art by the applicant.

本文描述的任何方法或工艺是机器实现的或计算机实现的,旨在由机器、计算机或其他设备执行,不旨在没有机器辅助的情况下仅由人执行。产生的有形结果可以包括在诸如计算机监视器、投影设备、音频生成设备和相关媒体设备之类的显示设备上的报告或其他机器生成的显示,可以包括也是机器生成的硬拷贝打印输出。其他机器的计算机控制是另一个有形的结果。Any methods or processes described herein, whether machine-implemented or computer-implemented, are intended to be performed by machines, computers, or other devices, and not by humans alone without machine assistance. Tangible results may include reports or other machine-generated displays on display devices such as computer monitors, projection devices, audio generating devices, and related media devices, and may include hard-copy printouts that are also machine-generated. Computer control of other machines is another tangible result.

所述的任何优点和益处可能不适用于本发明的所有实施例。当权利要求元素前出现了单词“手段(means)”时,申请人旨在使该权利要求元素落入35USC第112节第6段的规定。通常,一个或多个单词的标签在单词“手段(means)”之前。单词“手段(means)”前面的单词是旨在便于参考权利要求元素的标签,并不意图表达结构上的限制。这种装置加功能的权利要求旨在不仅覆盖在此所述的用于执行该功能及其结构等同物的结构,而且覆盖等同的结构。例如,虽然钉子和螺钉具有不同的构造,但它们都具有等同的结构,因为它们都具有紧固功能。信号通常是电子信号,但也可以是光信号,例如可以通过光纤线传送。Any advantages and benefits described may not apply to all embodiments of the invention. When the word "means" appears before a claim element, the applicant intends to bring that claim element to fall under the provisions of Section 112, Paragraph 6 of 35 USC. Typically, one or more words precede the word "means." The words preceding "means" are labels intended to facilitate reference to the claim element and are not intended to express structural limitations. Such device-plus-function claims are intended to cover not only the structures described herein for performing that function and their structural equivalents, but also the equivalent structures. For example, although nails and screws have different constructions, they both have equivalent structures because they both serve a fastening function. Signals are typically electronic signals, but can also be optical signals, for example, transmitted via fiber optic cables.

为了说明和描述的目的,前面已经呈现了本发明实施例的描述。这并不意味着穷举或将本发明限制到所披露的确切形式。鉴于上述教导,可能有多种修改和变型。本发明范围不受限于该详述,而是受限于所附加的权利要求。For illustrative and descriptive purposes, embodiments of the invention have been presented for the foregoing. This is not intended to be exhaustive or to limit the invention to the exact forms disclosed. Various modifications and variations are possible in light of the foregoing teachings. The scope of the invention is not limited to this detailed description but rather to the appended claims.

Claims (20)

1.一种用于将集成电路IC的现有版图迁移到IC的目标版图的计算机实现方法,包括:1. A computer-implemented method for migrating an existing layout of an integrated circuit (IC) to a target layout of the IC, comprising: 接收现有版图文件,其指定所述现有版图;Receive an existing layout file, which specifies the existing layout; 解析所述现有版图文件中的数据项,包括多边形的边界、路径和单元实例,其中一个单元包含一个或多个边界、路径或另一个单元实例;Parse the data items in the existing layout file, including polygon boundaries, paths, and cell instances, where a cell contains one or more boundaries, paths, or another cell instance; 以基于文本的格式将所述数据项写入一个版图数据库文件;The data items are written to a layout database file in a text-based format; 向版图工程师显示所述文本格式的数据项,并从版图工程师接收更新的可重用代码行;Display the data items in the text format to the layout engineer and receive updated reusable lines of code from the layout engineer; 用所述更新的可重用代码行替换所述版图数据库文件中的一些数据项,以生成可重用版图数据库,其中所述可重用代码指定可重用数据项;Replace some data items in the layout database file with the updated reusable code lines to generate a reusable layout database, wherein the reusable code specifies reusable data items; 编译所述可重用版图数据库,使用第一套目标设计规则调整所述可重用版图数据库中可重用数据项的版图大小和间距,以满足所述第一套目标设计规则,以生成第一目标版图文件;Compile the reusable layout database, and adjust the layout size and spacing of the reusable data items in the reusable layout database using the first set of target design rules to meet the first set of target design rules, so as to generate a first target layout file; 编译所述可重用版图数据库,使用第二套目标设计规则调整所述可重用版图数据库中可重用数据项的版图大小和间距,以满足所述第二套目标设计规则,以生成第二目标版图文件;Compile the reusable layout database, and use the second set of target design rules to adjust the layout size and spacing of the reusable data items in the reusable layout database to meet the second set of target design rules, so as to generate a second target layout file; 其中,所述第二目标版图文件指定的第二目标版图不符合所述第一套目标设计规则,但符合所述第二套目标设计规则;Wherein, the second target layout specified in the second target layout file does not conform to the first set of target design rules, but conforms to the second set of target design rules; 其中,所述可重用版图数据库被重新用于生成所述第一目标版图文件和用于生成所述第二目标版图文件。The reusable layout database is reused to generate the first target layout file and to generate the second target layout file. 2.根据权利要求1所述的计算机实现方法,还包括:2. The computer implementation method according to claim 1 further includes: 通过第一缩放因子缩放所述可重用版图数据库中数据项的大小和间距,以在所述第一目标版图文件中生成缩放的数据项;The size and spacing of data items in the reusable layout database are scaled by a first scaling factor to generate scaled data items in the first target layout file; 其中,所述第一缩放因子是所述第一套目标设计规则的和所述现有版图的现有设计规则中相应设计规则的一个比率;Wherein, the first scaling factor is a ratio of the first set of target design rules to the corresponding design rules in the existing design rules of the existing layout; 其中,所述第一缩放因子包括用于缩放单元的块缩放因子和用于缩放单元之间间隔的间隔缩放因子。The first scaling factor includes a block scaling factor for scaling units and an interval scaling factor for scaling the interval between units. 3.根据权利要求1所述的计算机实现方法,其中所述现有版图文件是二进制格式;3. The computer implementation method according to claim 1, wherein the existing layout file is in binary format; 其中,所述版图数据库文件为版图工程师可读和可编辑的文本格式。The layout database file is in a text format that is readable and editable by layout engineers. 4.根据权利要求3所述的计算机实现方法,还包括:4. The computer implementation method according to claim 3 further includes: 向版图工程师提供一个版图设计工具包,版图工程师从所述版图设计工具包中选择功能,包括在所述更新的可重用代码行中选择的功能;其中所述可重用代码包括来自所述版图设计工具包的功能。A layout engineer is provided with a layout design toolkit from which the layout engineer selects functionality, including functionality selected in the updated reusable code lines; wherein the reusable code includes functionality from the layout design toolkit. 5.根据权利要求4所述的计算机实现方法,还包括:5. The computer implementation method according to claim 4 further includes: 接收版图工程师从所述可重用代码中选择的功能,选择的功能包括放置功能和布线功能,所述放置功能指定所述可重用数据项相对于其他数据项的位置,所述布线功能指定生成金属互连线以互连单元的布线方法。The layout engineer receives functions selected from the reusable code, including placement and routing functions. The placement function specifies the position of the reusable data item relative to other data items, and the routing function specifies the routing method for generating metal interconnects to interconnect the cells. 6.根据权利要求3所述的计算机实现方法,还包括:6. The computer implementation method according to claim 3 further includes: 使用器件生成器从所述可重用版图数据库中的可重用代码生成一系列单元。A series of cells are generated from reusable code in the reusable layout database using a device generator. 7.根据权利要求3所述的计算机实现方法,还包括:7. The computer implementation method according to claim 3 further includes: 其中,当所述可重用代码包括CommonSD函数时,版图生成器生成一对晶体管的版图,所述对晶体管在所述第一目标版图文件指定的所述对晶体管之间共享源/漏区。Wherein, when the reusable code includes a CommonSD function, the layout generator generates a layout of a pair of transistors, the pair of transistors sharing source/drain regions between the pair of transistors specified in the first target layout file. 8.根据权利要求3所述的计算机实现方法,其中所述现有版图文件为图形设计系统2(GDSII)格式;还包括:8. The computer implementation method according to claim 3, wherein the existing layout file is in Graphical Design System II (GDSII) format; further comprising: 将所述第一目标版图文件转换为GDSII格式。Convert the first target layout file to GDSII format. 9.根据权利要求3所述的计算机实现的方法,还包括:9. The computer-implemented method according to claim 3, further comprising: 使用所述第一目标版图文件来控制光掩模的生成,以供使用所述第一套目标设计规则的第一芯片厂制造IC时使用;The first target layout file is used to control the generation of photomasks for use by a first chip factory when manufacturing ICs using the first set of target design rules; 使用所述第二目标版图文件来控制光掩模的生成,以供使用所述第二套目标设计规则的第二芯片厂制造IC时使用。The second target layout file is used to control the generation of photomasks for use by a second chip factory when manufacturing ICs using the second set of target design rules. 10.一种版图迁移系统,包括:10. A map migration system, comprising: 一个输入,其接收一个使用第一套设计规则的现有版图文件,用于第一工艺的集成电路IC的第一版图;One input receives an existing layout file using a first set of design rules for the first layout of an integrated circuit IC of a first process. 版图解析器,用于解析所述现有版图文件以识别数据项,所述数据项包括多边形的边界、单元实例和单元定义,其中所述单元定义包括多边形边界和其他单元实例;A layout parser is used to parse the existing layout file to identify data items, the data items including polygon boundaries, cell instances, and cell definitions, wherein the cell definitions include polygon boundaries and other cell instances; 版图数据项集成器,其生成一个版图数据库文件,所述版图数据库文件包括由所述版图解析器从所述现有版图文件识别出的所述数据项;版图设计工具包,其有放置功能,所述放置功能指定一个数据项相对于其他数据项的放置位置,所述放置位置是一套设计规则的一个函数;A layout data item integrator that generates a layout database file, the layout database file including the data items identified by the layout parser from the existing layout file; a layout design toolkit having a placement function that specifies the placement position of a data item relative to other data items, the placement position being a function of a set of design rules; 专业知识输入,用于接收包含所述放置功能的可重用代码;Expert knowledge input is used to receive reusable code containing the placement functionality; 版图专业知识集成器,其将所述可重用代码放入所述版图数据库文件以生成一个可重用版图数据库,其中所述可重用版图数据库具有所述可重用代码以及一些来自所述版图数据库文件的数据项,其中来自所述版图数据库文件的其他数据项被所述可重用代码替换;A layout expertise integrator that puts the reusable code into the layout database file to generate a reusable layout database, wherein the reusable layout database has the reusable code and some data items from the layout database file, wherein other data items from the layout database file are replaced by the reusable code; 版图生成器,用于编译所述可重用版图数据库,并将所述数据项转换为符合第二套设计规则的尺寸和间距的数据项版图,并编译所述可重用代码,根据所述可重用代码中的所述放置功能将数据项放置在第二相对位置,所述第二相对位置也符合所述第二套设计规则,以使用所述第二套设计规则生成第二版图文件,用于第二工艺的IC的第二版图。A layout generator is used to compile the reusable layout database and convert the data items into a data item layout with dimensions and spacing conforming to a second set of design rules. It also compiles the reusable code and places the data items in a second relative position according to the placement function in the reusable code. The second relative position also conforms to the second set of design rules, so as to generate a second layout file using the second set of design rules, for the second layout of an IC of a second process. 11.根据权利要求10所述的版图迁移系统,其中所述版图生成器还编译所述可重用版图数据库,并将所述数据项转换为符合第三套设计规则的尺寸和间距的数据项版图,以及编译所述可重用代码并根据所述可重用代码中的放置功能将数据项放置在第三相对位置,所述第三相对位置也符合所述第三套设计规则,以使用所述第三套设计规则生成第三版图文件,用于第三工艺的IC的第三版图。11. The layout migration system of claim 10, wherein the layout generator further compiles the reusable layout database and converts the data items into data item layouts with dimensions and spacing conforming to a third set of design rules, and compiles the reusable code and places the data items in a third relative position according to the placement function in the reusable code, the third relative position also conforming to the third set of design rules, to generate a third layout file using the third set of design rules for the third layout of an IC of a third process. 12.根据权利要求11所述的版图迁移系统,还包括:12. The layout migration system according to claim 11, further comprising: 器件生成器,其根据包含排列功能的可重用代码生成一系列单元,A device generator that generates a series of cells based on reusable code containing arrangement functionality. 所述器件生成器将所述一系列单元发送到所述版图生成器以进行进一步处理。The device generator sends the series of units to the layout generator for further processing. 13.根据权利要求11所述的版图迁移系统,其中所述版图数据库文件是文本格式;13. The layout migration system according to claim 11, wherein the layout database file is in text format; 其中所述可重用版图数据库是文本文件;The reusable layout database mentioned above is a text file; 其中所述可重用代码是文本格式,可以由版图工程师将其键入键盘并发送到所述专业知识输入。The reusable code is in text format and can be typed by a layout engineer and sent to the expertise input. 14.根据权利要求13所述的版图迁移系统,其中所述版图设计工具包还包括位置功能和布线功能;14. The layout migration system of claim 13, wherein the layout design toolkit further includes location functionality and routing functionality; 其中所述位置功能将数据项的x、y位置报告给版图工程师;The location function reports the x and y positions of the data items to the layout engineer; 其中所述布线功能指定所述版图生成器使用的布线方法,以生成所述第二版图文件和所述第三版图文件中的互连金属的版图,所述互连金属用于连接单元。The routing function specifies the routing method used by the layout generator to generate the layout of interconnect metals in the second and third layout files, the interconnect metals being used to connect units. 15.根据权利要求14所述的版图迁移系统,其中所述放置功能还包括:15. The layout migration system according to claim 14, wherein the placement function further includes: CommonSD函数,其指定晶体管单元与由所述CommonSD函数引用的一个引用晶体管单元共享公共源/漏区;The CommonSD function specifies a transistor cell that shares a common source/drain region with a referenced transistor cell referenced by the CommonSD function. 其中所述放置功能还包括公共中心函数,其指定数据项与由所述公共中心函数引用的一个引用数据项共享一个公共中心;The placement functionality also includes a common center function, which specifies that a data item shares a common center with a referenced data item referenced by the common center function; 其中所述布线功能还包括矩形函数,其生成一个金属层矩形以互连由所述矩形函数引用的两个数据项;The wiring function also includes a rectangle function that generates a metal layer rectangle to interconnect two data items referenced by the rectangle function; 其中所述布线功能还包括Z形函数,其生成金属层Z形多边形以互连由所述Z形函数引用的两个数据项。The wiring function also includes a Z-shaped function that generates Z-shaped polygons in the metal layer to interconnect two data items referenced by the Z-shaped function. 16.根据权利要求11所述的版图迁移系统,还包括:16. The layout migration system according to claim 11, further comprising: 格式转换器,用于以二进制流格式生成所述第二版图文件,以供光掩模制造商使用,所述光掩模制造商使用所述第二工艺为半导体芯片厂制造光掩模;A format converter for generating the second layout file in a binary stream format for use by a photomask manufacturer who uses the second process to manufacture photomasks for a semiconductor chip factory; 所述格式转换器还用于以二进制流格式生成所述第三版图文件,以供另一光掩模制造商使用,其使用所述第三工艺为另一半导体芯片厂制造光掩模,The format converter is also used to generate the third layout file in a binary stream format for use by another photomask manufacturer, which uses the third process to manufacture photomasks for another semiconductor chip factory. 其中,所述IC的所述第一版图被迁移到所述第二版图文件,以供所述半导体芯片厂使用所述第二工艺用于制造,并被迁移到所述第三版图文件以供所述另一半导体芯片厂使用所述第三工艺用于制造。The first layout of the IC is migrated to the second layout file for the semiconductor chip manufacturer to use the second process for manufacturing, and is also migrated to the third layout file for the other semiconductor chip manufacturer to use the third process for manufacturing. 17.一种用于存储计算机可执行指令的非暂时性计算机可读介质,该计算机可执行指令在由处理器执行时实现一种方法,该方法包括:17. A non-transitory computer-readable medium for storing computer-executable instructions that, when executed by a processor, implement a method comprising: 接收一个现有版图文件,其指定一个现有版图;It accepts an existing layout file that specifies an existing layout; 解析所述现有版图文件中的数据项,所述数据项包括多边形的边界、路径和单元实例,其中一个单元包含一个或多个边界、路径或另一个单元实例;Parse the data items in the existing layout file, the data items including polygon boundaries, paths and cell instances, where a cell contains one or more boundaries, paths or another cell instance; 将所述数据项写入一个版图数据库文件;Write the data items into a layout database file; 接收更新的可重用代码行;Receive updated reusable lines of code; 用所述更新后的可重用代码行替换所述版图数据库文件中的一些数据项,以生成一个可重用版图数据库,其中所述可重用代码指定可重用数据项;Replace some data items in the layout database file with the updated reusable code lines to generate a reusable layout database, wherein the reusable code specifies reusable data items; 编译所述可重用版图数据库,使用第一套目标设计规则调整所述可重用版图数据库中所述可重用数据项的版图大小和间隔,以满足所述第一套目标设计规则,以生成第一目标版图文件;Compile the reusable layout database, and adjust the layout size and spacing of the reusable data items in the reusable layout database using the first set of target design rules to satisfy the first set of target design rules, so as to generate a first target layout file; 编译所述可重用版图数据库,使用第二套目标设计规则调整所述可重用版图数据库中所述可重用数据项的版图大小和间隔,以满足所述第二套目标设计规则,生成第二目标版图文件;Compile the reusable layout database, and use the second set of target design rules to adjust the layout size and spacing of the reusable data items in the reusable layout database to meet the second set of target design rules, and generate a second target layout file; 其中,所述第二目标版图文件指定的第二版图不符合所述第一套目标设计规则,但符合所述第二套目标设计规则;Wherein, the second layout specified in the second target layout file does not conform to the first set of target design rules, but conforms to the second set of target design rules; 其中,所述可重用版图数据库被重新用于生成所述第一目标版图文件和用于生成所述第二目标版图文件。The reusable layout database is reused to generate the first target layout file and to generate the second target layout file. 18.根据权利要求17所述的非暂时性计算机可读介质,其中所述方法还包括:18. The non-transitory computer-readable medium of claim 17, wherein the method further comprises: 以第一缩放因子缩放所述可重用版图数据库中数据项的大小和间隔,以在所述第一目标版图文件中生成缩放的数据项;The size and spacing of data items in the reusable layout database are scaled by a first scaling factor to generate scaled data items in the first target layout file; 其中,所述第一缩放因子是所述第一套目标设计规则和所述现有版图的现有设计规则中相应设计规则的一个比率;Wherein, the first scaling factor is a ratio of the corresponding design rule in the first set of target design rules and the existing design rules of the existing layout; 其中,所述第一缩放因子包括用于缩放单元的块缩放因子和用于缩放单元之间间隔的间隔缩放因子。The first scaling factor includes a block scaling factor for scaling units and an interval scaling factor for scaling the interval between units. 19.根据权利要求18所述的非暂时性计算机可读介质,其中所述方法还包括:19. The non-transitory computer-readable medium of claim 18, wherein the method further comprises: 向版图工程师提供一个版图设计工具包,版图工程师从所述版图设计工具包中选择功能,包括在更新的可重用代码行中选择功能;Provide layout engineers with a layout design toolkit from which they can select features, including selecting features in updated reusable lines of code. 其中所述版图数据库文件为基于文本的格式;The map database file mentioned above is in a text-based format; 以所述基于文本的格式将所述数据项写入所述版图数据库文件;The data items are written to the layout database file in the text-based format. 以所述文本格式向版图工程师显示数据项,并从版图工程师接收更新的可重用代码行;Display data items to the layout engineer in the text format, and receive updated reusable lines of code from the layout engineer; 从版图工程师接收包含在所述可重用代码中的功能选择,所述功能选择包括放置功能和布线功能,所述放置功能指定所述可重用数据项相对于其他数据项的相对位置,所述布线功能指定生成金属互连线来互连单元的布线方法。The layout engineer receives function selections contained in the reusable code, including placement and routing functions. The placement function specifies the relative position of the reusable data item with respect to other data items, and the routing function specifies a routing method for generating metal interconnects to interconnect the cells. 20.根据权利要求18所述的非暂时性计算机可读介质,其中所述方法还包括:20. The non-transitory computer-readable medium of claim 18, wherein the method further comprises: 使用器件生成器从所述可重用版图数据库中的可重用代码生成一系列单元。A series of cells are generated from reusable code in the reusable layout database using a device generator.
HK62021037960.3A 2020-02-04 2020-02-18 Method and system for integrated circuit (ic) layout migration integrated with layout expertise HK40048128B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US16/781,110 2020-02-04

Publications (2)

Publication Number Publication Date
HK40048128A HK40048128A (en) 2021-11-26
HK40048128B true HK40048128B (en) 2023-11-24

Family

ID=

Similar Documents

Publication Publication Date Title
CN113168494B (en) Method and system for Integrated Circuit (IC) layout migration integrating specialized layout design experience
EP1175642B1 (en) Improved method and apparatus for submicron ic design using edge fragment tagging
US8745554B2 (en) Practical approach to layout migration
US6470489B1 (en) Design rule checking system and method
JP4624550B2 (en) Method and apparatus for data hierarchy maintenance in a system for mask description
US20150234974A1 (en) Multiple patterning design with reduced complexity
US20240028810A1 (en) Automatic generation of layouts for analog integrated circuits
US11024623B2 (en) Layout modification method for exposure manufacturing process
JP2004502961A (en) Method and apparatus for correcting and matching data hierarchy layout
TWI835895B (en) Method, system, and computer program product for modifying integrated circuit design
US20240078370A1 (en) Automatic generation of sub-cells for an analog integrated circuit
CN106094421A (en) For performing the method that domain OPC processes
CN112906336B (en) Mask information processing method based on parameterization unit
US10885256B1 (en) Method and system for integrated circuit (IC) layout migration integrated with layout expertise
TWI899532B (en) Method and system of modifying layout for integrated circuit and computer program product
CN103852970B (en) Secondary image metallization processes method
CN102117010B (en) Optical adjacent correcting method
US9965579B2 (en) Method for designing and manufacturing an integrated circuit, system for carrying out the method, and system for verifying an integrated circuit
US7275225B2 (en) Correcting design data for manufacture
HK40048128B (en) Method and system for integrated circuit (ic) layout migration integrated with layout expertise
US20240160826A1 (en) Conductor scheme selection and track planning for mixed-diagonal-manhattan routing
HK40048128A (en) Method and system for integrated circuit (ic) layout migration integrated with layout expertise
US20120192134A1 (en) User Guided Short Correction And Schematic Fix Visualization
US20110119544A1 (en) User Guided Short Correction And Schematic Fix Visualization
US20250038070A1 (en) Backside Contact and Metal over Diffusion