[go: up one dir, main page]

CN114662443B - Integrated circuit layout design method, device and readable storage medium - Google Patents

Integrated circuit layout design method, device and readable storage medium Download PDF

Info

Publication number
CN114662443B
CN114662443B CN202011540294.9A CN202011540294A CN114662443B CN 114662443 B CN114662443 B CN 114662443B CN 202011540294 A CN202011540294 A CN 202011540294A CN 114662443 B CN114662443 B CN 114662443B
Authority
CN
China
Prior art keywords
layout
matrix
grid
layout matrix
original
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN202011540294.9A
Other languages
Chinese (zh)
Other versions
CN114662443A (en
Inventor
请求不公布姓名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Cambricon Information Technology Co Ltd
Original Assignee
Shanghai Cambricon Information Technology Co Ltd
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 Shanghai Cambricon Information Technology Co Ltd filed Critical Shanghai Cambricon Information Technology Co Ltd
Priority to CN202011540294.9A priority Critical patent/CN114662443B/en
Publication of CN114662443A publication Critical patent/CN114662443A/en
Application granted granted Critical
Publication of CN114662443B publication Critical patent/CN114662443B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

The invention relates to an integrated circuit layout design method, a device and a readable storage medium, firstly generating a grid, wherein the grid comprises a plurality of grid points; converting the grid into a matrix, wherein each grid point corresponds to an element of the matrix; judging whether each grid point is in the layout range of the integrated circuit; if so, setting the value of the corresponding element as true; designating all elements with true values as an original layout matrix, wherein the original layout matrix carries the integrated circuit information. The invention can rapidly and efficiently obtain the operation result of the geometric figure.

Description

集成电路布局设计方法、装置及可读存储介质Integrated circuit layout design method, device and readable storage medium

技术领域Technical Field

本发明一般地涉及半导体领域。更具体地,本发明涉及集成电路布局设计方法、装置及可读存储介质。The present invention generally relates to the field of semiconductors and more particularly to an integrated circuit layout design method, device and readable storage medium.

背景技术Background technique

芯片设计主要分为两大阶段:前端设计的逻辑设计和后端设计的物理设计。前端设计是为了获得芯片的门级网表电路,以实现特定的功能;而物理设计一般基于GDSII标准版图描述语言,采用二进制格式将门级网表电路转换成版图几何图形、拓扑关系、结构、层次以及其他信息,有了这些信息才能将门级网表电路制作成晶片形式的集成电路。Chip design is mainly divided into two stages: logical design of front-end design and physical design of back-end design. Front-end design is to obtain the gate-level netlist circuit of the chip to achieve specific functions; while physical design is generally based on the GDSII standard layout description language, using binary format to convert the gate-level netlist circuit into layout geometry, topology, structure, hierarchy and other information. Only with this information can the gate-level netlist circuit be made into an integrated circuit in the form of a chip.

在物理设计阶段,在很多程序中都需要使用到版图几何图形,例如在进行设计规则时,会基于版图中所有几何图形与设计规则规定的尺寸、间距进行比较,并将所有违反规则的地方通知开发者作调整。又例如在评估电路延时操作时,也会基于版图几何图形进行计算。另外,布图规划也需要基于版图几何图形,对芯片大小、输入输出等做安排。During the physical design phase, layout geometry is required in many programs. For example, when designing rules, all the geometry in the layout is compared with the size and spacing specified in the design rules, and all violations of the rules are notified to the developer for adjustment. For example, when evaluating circuit delay operations, calculations are also performed based on layout geometry. In addition, layout planning also needs to make arrangements for chip size, input and output, etc. based on layout geometry.

因此,一种计算集成电路的几何图形是迫切需要的。Therefore, a geometry for computing integrated circuits is urgently needed.

发明内容Summary of the invention

为了至少部分地解决背景技术中提到的技术问题,本发明的方案提供了一种集成电路布局设计方法、装置及可读存储介质。In order to at least partially solve the technical problems mentioned in the background technology, the solution of the present invention provides an integrated circuit layout design method, device and readable storage medium.

在一个方面中,本发明揭露一种集成电路布局设计方法,包括:生成网格,所述网格包括多个格点;转换所述网格成矩阵,每个格点对应所述矩阵的元素;判断每个格点是否落在所述集成电路的布局范围内;如是,设定相对应的元素的数值为真;以及指定所有数值为真的元素为原始布局矩阵,所述原始布局矩阵载有所述集成电路信息。In one aspect, the present invention discloses an integrated circuit layout design method, comprising: generating a grid, the grid comprising a plurality of grid points; converting the grid into a matrix, each grid point corresponding to an element of the matrix; determining whether each grid point falls within a layout range of the integrated circuit; if so, setting the value of the corresponding element to true; and designating all elements whose values are true as an original layout matrix, the original layout matrix carrying the integrated circuit information.

在另一个方面,本发明揭露一种计算机可读存储介质,其上存储有获取电路布局的几何图形信息的计算机程序代码,当所述计算机程序代码由处理器运行时,执行前述的方法。In another aspect, the present invention discloses a computer-readable storage medium having stored thereon a computer program code for obtaining geometric information of a circuit layout. When the computer program code is executed by a processor, the aforementioned method is executed.

在另一个方面,本发明揭露一种集成电路布局设计装置,包括生成模块、转换模块、判断模块、设定模块及指定模块。生成模块用以生成网格,所述网格包括多个格点;转换模块用以转换所述网格成矩阵,每个格点对应所述矩阵的元素;判断模块用以判断每个格点是否落在所述集成电路的布局范围内;设定模块当所述格点落在所述布局范围内时,用以设定相对应的元素的数值为真;指定模块用以指定所有数值为真的元素为原始布局矩阵,所述原始布局矩阵载有所述集成电路信息。In another aspect, the present invention discloses an integrated circuit layout design device, comprising a generation module, a conversion module, a judgment module, a setting module and a designation module. The generation module is used to generate a grid, the grid comprising a plurality of grid points; the conversion module is used to convert the grid into a matrix, each grid point corresponding to an element of the matrix; the judgment module is used to determine whether each grid point falls within the layout range of the integrated circuit; the setting module is used to set the value of the corresponding element to true when the grid point falls within the layout range; the designation module is used to designate all elements with true values as the original layout matrix, the original layout matrix carrying the integrated circuit information.

本发明将集成电路的几何图形转换成矩阵,将几何空间以矩阵方式呈现,基于矩阵运算的图形计算的相关算法,可以快速高效的得到几何图形的运算结果。The present invention converts the geometric figures of the integrated circuit into a matrix, presents the geometric space in a matrix manner, and uses a related algorithm for graphic calculation based on matrix operations to quickly and efficiently obtain the calculation results of the geometric figures.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,并且相同或对应的标号表示相同或对应的部分其中:By reading the detailed description below with reference to the accompanying drawings, the above and other objects, features and advantages of the exemplary embodiments of the present invention will become readily understood. In the accompanying drawings, several embodiments of the present invention are shown in an exemplary and non-limiting manner, and the same or corresponding reference numerals represent the same or corresponding parts, wherein:

图1是示出EDA工具的网格;FIG1 is a grid showing an EDA tool;

图2是示出本发明实施例的集成电路布局设计方法的流程图;2 is a flow chart showing an integrated circuit layout design method according to an embodiment of the present invention;

图3是示出本发明实施例的格点转换成矩阵元素的示意图;FIG3 is a schematic diagram showing the conversion of grid points into matrix elements according to an embodiment of the present invention;

图4是示出示例性的集成电路在网格中的示意图;FIG4 is a schematic diagram showing an exemplary integrated circuit in a grid;

图5是示出本发明实施例的矩阵元素数值的示意图;FIG5 is a schematic diagram showing the values of matrix elements according to an embodiment of the present invention;

图6是示出本发明另一实施例的集成电路布局设计方法的流程图;6 is a flow chart showing an integrated circuit layout design method according to another embodiment of the present invention;

图7是示出本发明另一实施例的原始布局矩阵在网格上向右侧移动一个格点的示意图;7 is a schematic diagram showing that the original layout matrix according to another embodiment of the present invention is moved one grid point to the right on the grid;

图8是示出本发明另一实施例的第二布局矩阵的几何图形的示意图;8 is a schematic diagram showing the geometry of a second layout matrix according to another embodiment of the present invention;

图9是示出本发明另一实施例的第三布局矩阵的几何图形的示意图;9 is a schematic diagram showing the geometry of a third layout matrix according to another embodiment of the present invention;

图10是示出本发明另一实施例的第五布局矩阵的几何图形的示意图;10 is a schematic diagram showing the geometry of a fifth layout matrix according to another embodiment of the present invention;

图11是示出本发明另一实施例的第四布局矩阵的几何图形的示意图;11 is a schematic diagram showing the geometry of a fourth layout matrix according to another embodiment of the present invention;

图12是示出本发明另一实施例的第六布局矩阵的几何图形的示意图;以及FIG12 is a schematic diagram showing the geometry of a sixth layout matrix according to another embodiment of the present invention; and

图13是示出本发明另一实施例的集成电路布局设计装置的结构图。FIG. 13 is a structural diagram showing an integrated circuit layout design apparatus according to another embodiment of the present invention.

具体实施方式Detailed ways

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.

应当理解,本发明的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本发明的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。It should be understood that the terms "first", "second", "third" and "fourth" etc. in the claims, specifications and drawings of the present invention are used to distinguish different objects rather than to describe a specific order. The terms "include" and "comprise" used in the specification and claims of the present invention indicate the presence of the described features, wholes, steps, operations, elements and/or components, but do not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and/or their collections.

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本发明。如在本发明说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本发明说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。It should also be understood that the terms used in this specification of the present invention are only for the purpose of describing specific embodiments and are not intended to limit the present invention. As used in the specification of the present invention and the claims, the singular forms of "a", "an" and "the" are intended to include the plural forms unless the context clearly indicates otherwise. It should also be further understood that the term "and/or" used in the specification of the present invention and the claims refers to any combination of one or more of the associated listed items and all possible combinations, and includes these combinations.

如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。As used in this specification and claims, the term "if" may be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context.

下面结合附图来详细描述本发明的具体实施方式。The specific embodiments of the present invention are described in detail below with reference to the accompanying drawings.

现今芯片设计都是利用EDA工具作为辅助,EDA工具是一种电子设计自动化系统,用来实现对逻辑的编译化简、分割、布局、优化等目标的软件。如图1所述,每个EDA工具的显示页面均设有网格100,网格100包括多个格点101,使得开发者可以用来对齐、布局电路,网格100为工艺制造网格、标准单元布局网格、布线通道网格或自定义网格。Nowadays, chip design is assisted by EDA tools. EDA tools are electronic design automation systems that are software used to achieve goals such as logic compilation simplification, segmentation, layout, and optimization. As shown in FIG1 , each EDA tool display page is provided with a grid 100. The grid 100 includes a plurality of grid points 101, which developers can use to align and layout circuits. The grid 100 is a process manufacturing grid, a standard cell layout grid, a wiring channel grid, or a custom grid.

本发明的一个实施例是一种集成电路布局设计方法,用来获得集成电路布局的几何图形,作为后续物理设计的参考。图2示出此实施例的流程图。An embodiment of the present invention is an integrated circuit layout design method for obtaining a geometric pattern of an integrated circuit layout as a reference for subsequent physical design. FIG2 shows a flow chart of this embodiment.

在步骤201中,生成网格。此处所指的网格即是图1所示的网格100,可以是工艺制造网格、标准单元布局网格、布线通道网格或自定义网格,其形成一个阵列,该阵列包括多个格点101。In step 201 , a grid is generated. The grid referred to here is the grid 100 shown in FIG. 1 , which may be a process manufacturing grid, a standard cell layout grid, a wiring channel grid or a custom grid, which forms an array including a plurality of grid points 101 .

在步骤202中,转换网格成矩阵,每个格点对应矩阵的元素。图1的网格100是个方阵,每个格点101可以视为是一个矩阵的元素。此实施例将网格矩阵化,对每个格点根据矩阵的规则进行编码,例如矩阵的元素axy,其中下标x表示格点沿着x轴的坐标值,下标y表示格点沿着y轴的坐标值,如图3所示,格点301即是矩阵元素a11,格点302即是矩阵元素a21,格点303即是矩阵元素a12,以此类推。In step 202, the grid is converted into a matrix, and each grid point corresponds to an element of the matrix. The grid 100 of FIG1 is a square matrix, and each grid point 101 can be regarded as an element of a matrix. This embodiment matrices the grid, and encodes each grid point according to the rules of the matrix, such as the element a xy of the matrix, where the subscript x represents the coordinate value of the grid point along the x-axis, and the subscript y represents the coordinate value of the grid point along the y-axis. As shown in FIG3, the grid point 301 is the matrix element a 11 , the grid point 302 is the matrix element a 21 , the grid point 303 is the matrix element a 12 , and so on.

在步骤203中,判断每个格点是否落在集成电路的布局范围内。在EDA工具中,集成电路的布局是基于这个网格进行的,图4示出一个示例性的集成电路在网格中的示意图,集成电路的布局范围401为此集成电路的平面区域。在此步骤中,判断每个格点是否落在集成电路的布局范围401内,即图中的黑色区域。In step 203, it is determined whether each grid point falls within the layout range of the integrated circuit. In the EDA tool, the layout of the integrated circuit is performed based on this grid. FIG4 shows a schematic diagram of an exemplary integrated circuit in the grid, and the layout range 401 of the integrated circuit is the plane area of the integrated circuit. In this step, it is determined whether each grid point falls within the layout range 401 of the integrated circuit, that is, the black area in the figure.

如是,则执行步骤204,设定相对应的元素的数值为真。在此实施例中元素值“1”表示为真。如否,则执行步骤205,设定相对应的元素的数值为假,在此实施例中元素值“0”表示为假。当步骤204与步骤205执行完毕后,整个矩阵如图5所示,元素落在集成电路的布局范围的数值为1,其余为0。If yes, then step 204 is executed to set the value of the corresponding element to true. In this embodiment, the element value "1" represents true. If no, then step 205 is executed to set the value of the corresponding element to false. In this embodiment, the element value "0" represents false. After step 204 and step 205 are executed, the entire matrix is shown in FIG. 5. The value of the element falling within the layout range of the integrated circuit is 1, and the rest is 0.

接着在步骤206中,指定所有数值为真的元素为原始布局矩阵,即图5中的原始布局矩阵501,原始布局矩阵501载有集成电路信息,特别是几何图形的信息。Next, in step 206, all elements whose values are true are designated as the original layout matrix, ie, the original layout matrix 501 in FIG. 5. The original layout matrix 501 carries the integrated circuit information, especially the geometric figure information.

此实施例将集成电路的几何图形转换成矩阵,将几何空间以矩阵方式呈现,作为在物理设计阶段后续程序的依据。This embodiment converts the geometric figure of the integrated circuit into a matrix and presents the geometric space in a matrix manner as a basis for subsequent procedures in the physical design stage.

本发明的另一个实施例是一种集成电路布局设计方法,用来获得集成电路布局的几何图形,特别是用来获得集成电路布局的边缘信息,作为后续物理设计的参考。图6示出此实施例的流程图。Another embodiment of the present invention is an integrated circuit layout design method for obtaining the geometry of the integrated circuit layout, and in particular for obtaining edge information of the integrated circuit layout as a reference for subsequent physical design. FIG6 shows a flow chart of this embodiment.

在步骤601中,生成网格。在步骤602中,转换网格成矩阵,每个格点对应矩阵的元素。在步骤603中,判断每个格点是否落在集成电路的布局范围内。如是,则执行步骤604,设定相对应的元素的数值为真,在此实施例中元素值“1”表示为真。如否,则执行步骤605,设定相对应的元素的数值为假,在此实施例中元素值“0”表示为假。接着在步骤606中,指定所有数值为真的元素为原始布局矩阵,此原始布局矩阵载有集成电路的几何图形信息。步骤601至606与步骤201至206相同,故不赘述。In step 601, a grid is generated. In step 602, the grid is converted into a matrix, and each grid point corresponds to an element of the matrix. In step 603, it is determined whether each grid point falls within the layout range of the integrated circuit. If so, step 604 is executed to set the value of the corresponding element to true. In this embodiment, the element value "1" represents true. If not, step 605 is executed to set the value of the corresponding element to false. In this embodiment, the element value "0" represents false. Then in step 606, all elements with true values are designated as the original layout matrix, which carries the geometric information of the integrated circuit. Steps 601 to 606 are the same as steps 201 to 206, so they are not repeated.

在步骤607中,将原始布局矩阵在网格上向一侧移动一个格点,以形成第一布局矩阵。图7示出原始布局矩阵501在网格上向右侧移动一个格点的示意图,形成了第一布局矩阵701,第一布局矩阵701与原始布局矩阵501的几何图形完全相同,只是第一布局矩阵701是原始布局矩阵501向右侧移动一个格点所形成的新的布局矩阵。对第一布局矩阵701来说,只有在第一布局矩阵701范围内的元素为1,其余为0。In step 607, the original layout matrix is moved one grid point to one side on the grid to form a first layout matrix. FIG7 shows a schematic diagram of the original layout matrix 501 being moved one grid point to the right on the grid to form a first layout matrix 701. The first layout matrix 701 is completely identical in geometry to the original layout matrix 501, except that the first layout matrix 701 is a new layout matrix formed by moving the original layout matrix 501 one grid point to the right. For the first layout matrix 701, only the elements within the range of the first layout matrix 701 are 1, and the rest are 0.

在步骤608中,按位或原始布局矩阵501及第一布局矩阵701,以形成第二布局矩阵。图8示出第二布局矩阵801的几何图形,其为原始布局矩阵501及第一布局矩阵701的并集,图中黑色元素的值为1,其余为0。In step 608, the original layout matrix 501 and the first layout matrix 701 are bitwise ORed to form a second layout matrix. FIG8 shows the geometry of the second layout matrix 801, which is the union of the original layout matrix 501 and the first layout matrix 701. The values of the black elements in the figure are 1, and the rest are 0.

在步骤609中,按位异或第二布局矩阵801及原始布局矩阵501,以形成第三布局矩阵。按位异或运算代表的是,将第二布局矩阵801及原始布局矩阵501交集的元素设定为0,并将第二布局矩阵801及原始布局矩阵501未交集的元素设定为1。图9示出第三布局矩阵901的几何图形,第三布局矩阵901载有此集成电路的布局范围(即原始布局矩阵501)右侧的几何外缘信息,图中黑色元素的值为1,其余为0。至此,此实施例获得此布局范围右侧的几何外缘信息。In step 609, the second layout matrix 801 and the original layout matrix 501 are bitwise XORed to form a third layout matrix. The bitwise XOR operation represents that the elements of the intersection of the second layout matrix 801 and the original layout matrix 501 are set to 0, and the elements of the second layout matrix 801 and the original layout matrix 501 that do not intersect are set to 1. FIG. 9 shows the geometric figure of the third layout matrix 901. The third layout matrix 901 carries the geometric edge information on the right side of the layout range (i.e., the original layout matrix 501) of the integrated circuit. The value of the black element in the figure is 1, and the rest is 0. So far, this embodiment obtains the geometric edge information on the right side of the layout range.

在步骤610中,将第三布局矩阵901在网格上向所述侧的反方向移动一个格点,以形成第五布局矩阵。以在步骤607中向右侧移动一个格点来说,此步骤就是向左移动一个格点,如图10所示,形成第五布局矩阵1001,第五布局矩阵载有所述侧的几何内缘信息。In step 610, the third layout matrix 901 is moved one grid point in the opposite direction of the side on the grid to form a fifth layout matrix. For example, in step 607, the third layout matrix 901 is moved one grid point to the right, and this step is to move one grid point to the left, as shown in FIG. 10, to form a fifth layout matrix 1001, which carries the geometric inner edge information of the side.

在步骤611中,判断所有侧是否皆获得几何外缘信息。如否,回到607,将原始布局矩阵501在网格上向另一侧移动一个格点,并经过步骤608、609、610,获得此集成电路的布局范围另一侧的几何内外缘信息。直到布局范围四侧的几何内外缘信息均获得为止。In step 611, it is determined whether all sides have obtained geometrical outer edge information. If not, return to step 607, move the original layout matrix 501 one grid point to the other side on the grid, and go through steps 608, 609, and 610 to obtain geometrical inner and outer edge information on the other side of the layout range of the integrated circuit. This process continues until all four sides of the layout range have obtained geometrical inner and outer edge information.

如果所有侧皆获得几何外缘信息,便执行步骤612,按位或所有的第三布局矩阵901,以形成第四布局矩阵。图11示出第四布局矩阵1101,其载有电路布局的几何外周长信息。If all sides have obtained geometric perimeter information, step 612 is executed to bitwise OR all third layout matrices 901 to form a fourth layout matrix. Figure 11 shows a fourth layout matrix 1101, which carries geometric perimeter information of the circuit layout.

最后执行步骤613,按位或所有的第五布局矩阵1001,以形成第六布局矩阵,图12示出第六布局矩阵1201,其载有电路布局的几何内周长信息。Finally, step 613 is executed to perform bitwise OR on all fifth layout matrices 1001 to form a sixth layout matrix. FIG. 12 shows the sixth layout matrix 1201 , which carries geometric inner perimeter information of the circuit layout.

此实施例将集成电路的几何图形转换成矩阵,分别获得集成电路的各侧内外缘几何图形及几何内外周长的信息,作为在物理设计阶段后续程序的依据。以下将举例说明前述的几何图形信息如何在物理设计阶段中被使用。This embodiment converts the geometry of the integrated circuit into a matrix, and obtains the geometry of the inner and outer edges of each side of the integrated circuit and the information of the inner and outer perimeters of the geometry, which serves as the basis for subsequent procedures in the physical design stage. The following example will illustrate how the aforementioned geometry information is used in the physical design stage.

如果在物理设计阶段中需要获得该集成电路的面积信息时,可以直接对原始布局矩阵501求和。每个格点的面积是已知的,只要计数原始布局矩阵501中的元素数量(即元素数值为1的数量),乘上每个格点的面积,便可获得原始布局矩阵501的面积。If the area information of the integrated circuit needs to be obtained in the physical design stage, the original layout matrix 501 can be directly summed. The area of each grid point is known, and the area of the original layout matrix 501 can be obtained by counting the number of elements in the original layout matrix 501 (i.e., the number of elements with a value of 1) and multiplying it by the area of each grid point.

如果在物理设计阶段中需要等比例放大该集成电路时,先按位或原始布局矩阵501及第四布局矩阵1101,以形成第七布局矩阵,再将第七布局矩阵更新为原始布局矩阵501,使得原始布局矩阵501向四侧扩展了一个格点,基于更新后的原始布局矩阵501执行步骤607至612,以形成更新后的第四布局矩阵。如此循环便可逐次放大原始布局矩阵501。If the integrated circuit needs to be proportionally enlarged in the physical design stage, the original layout matrix 501 and the fourth layout matrix 1101 are first bitwise ORed to form a seventh layout matrix, and then the seventh layout matrix is updated to the original layout matrix 501, so that the original layout matrix 501 is expanded by one grid point on the four sides, and steps 607 to 612 are performed based on the updated original layout matrix 501 to form an updated fourth layout matrix. In this way, the original layout matrix 501 can be enlarged one by one.

如果在物理设计阶段中需要等比例缩小该集成电路时,先按位异或原始布局矩阵501及第六布局矩阵1201,以形成第八布局矩阵,再将第八布局矩阵更新为原始布局矩阵501,使得原始布局矩阵501从四侧向内缩了一个格点,基于更新后的原始布局矩阵501执行步骤607至613,以形成更新后的第六布局矩阵1201。如此循环便可逐次缩小原始布局矩阵501。If the integrated circuit needs to be scaled down in the physical design stage, the original layout matrix 501 and the sixth layout matrix 1201 are first bitwise XORed to form an eighth layout matrix, and then the eighth layout matrix is updated to the original layout matrix 501, so that the original layout matrix 501 is shrunk inward by one grid point from four sides, and steps 607 to 613 are performed based on the updated original layout matrix 501 to form an updated sixth layout matrix 1201. The original layout matrix 501 can be scaled down in this way.

如果在物理设计阶段中需要对集成电路进行顺时针或逆时针翻转时,将原始布局矩阵501转置再水平翻转,便可获得顺时针翻转的结果,将原始布局矩阵501转置再垂直翻转,便可获得逆时针翻转的结果。If the integrated circuit needs to be flipped clockwise or counterclockwise during the physical design stage, the original layout matrix 501 is transposed and then flipped horizontally to obtain a clockwise flip result, and the original layout matrix 501 is transposed and then flipped vertically to obtain a counterclockwise flip result.

如果在物理设计阶段中需要判断两个集成电路是否相交时,先针对两个集成电路执行步骤601至606,分别形成第一原始布局矩阵及第二原始布局矩阵,再按位与第一原始布局矩阵及第二原始布局矩阵,以形成相交矩阵,接着判断相交矩阵中是否存在数值为1的元素,如有,则两个集成电路相交,如否,则两个集成电路不相交。If it is necessary to determine whether two integrated circuits intersect during the physical design stage, firstly, steps 601 to 606 are performed for the two integrated circuits to form a first original layout matrix and a second original layout matrix respectively, and then the first original layout matrix and the second original layout matrix are bitwise ANDed to form an intersection matrix, and then it is determined whether there is an element with a value of 1 in the intersection matrix. If so, the two integrated circuits intersect, and if not, the two integrated circuits do not intersect.

如果在物理设计阶段中需要判断一个集成电路是否被另一个集成电路所包含时,先针对两个集成电路执行步骤601至606,分别形成第一原始布局矩阵及第二原始布局矩阵,再按位或第一原始布局矩阵及第二原始布局矩阵,以形成并集矩阵,接着按位异或第一原始布局矩阵及并集布局矩阵,以形成第一异或矩阵,接着判断第一异或矩阵中是否存在数值为1的元素,如有,则第一原始布局矩阵不包含第二原始布局矩阵,如否,则第一原始布局矩阵包含第二原始布局矩阵。反之,按位异或第二原始布局矩阵及并集布局矩阵,以形成第二异或矩阵,接着判断第二异或矩阵中是否存在数值为1的元素,如有,则第二原始布局矩阵不包含第一原始布局矩阵,如否,则第二原始布局矩阵包含第一原始布局矩阵。If it is necessary to determine whether an integrated circuit is included in another integrated circuit during the physical design stage, firstly, steps 601 to 606 are performed for the two integrated circuits to form a first original layout matrix and a second original layout matrix respectively, then the first original layout matrix and the second original layout matrix are bitwise ORed to form a union matrix, then the first original layout matrix and the union layout matrix are bitwise XORed to form a first XOR matrix, then it is determined whether there is an element with a value of 1 in the first XOR matrix, if so, the first original layout matrix does not include the second original layout matrix, if not, the first original layout matrix includes the second original layout matrix. Conversely, the second original layout matrix and the union layout matrix are bitwise XORed to form a second XOR matrix, then it is determined whether there is an element with a value of 1 in the second XOR matrix, if so, the second original layout matrix does not include the first original layout matrix, if not, the second original layout matrix includes the first original layout matrix.

如果在物理设计阶段中需要获得两个集成电路的交集图形时,先针对两个集成电路执行步骤601至606,分别形成第一原始布局矩阵及第二原始布局矩阵,再按位与第一原始布局矩阵及第二原始布局矩阵,以形成相交矩阵,相交矩阵便是这两个集成电路的交集图形。If it is necessary to obtain the intersection graph of two integrated circuits in the physical design stage, firstly execute steps 601 to 606 for the two integrated circuits to form a first original layout matrix and a second original layout matrix respectively, and then bitwise AND the first original layout matrix and the second original layout matrix to form an intersection matrix, which is the intersection graph of the two integrated circuits.

如果在物理设计阶段中需要获得两个集成电路的并集图形时,先针对两个集成电路执行步骤601至606,分别形成第一原始布局矩阵及第二原始布局矩阵,再按位或第一原始布局矩阵及第二原始布局矩阵,以形成并集矩阵,并集矩阵便是这两个集成电路的并集图形。If it is necessary to obtain the union graph of two integrated circuits in the physical design stage, firstly execute steps 601 to 606 for the two integrated circuits to form a first original layout matrix and a second original layout matrix respectively, and then bitwise OR the first original layout matrix and the second original layout matrix to form a union matrix, which is the union graph of the two integrated circuits.

如果在物理设计阶段中需要获得一个集成电路减去另一个集成电路的图形时,先针对两个集成电路执行步骤601至606,分别形成第一原始布局矩阵及第二原始布局矩阵,再按位或第一原始布局矩阵及第二原始布局矩阵,以形成并集矩阵,再按位异或第二原始布局矩阵及并集布局矩阵,以形成异或矩阵,异或矩阵便是第一集成电路减去第二集成电路的几何图形。If it is necessary to obtain a graphic of one integrated circuit minus another integrated circuit during the physical design stage, firstly perform steps 601 to 606 for the two integrated circuits to form a first original layout matrix and a second original layout matrix respectively, then bitwise OR the first original layout matrix and the second original layout matrix to form a union matrix, then bitwise XOR the second original layout matrix and the union layout matrix to form an XOR matrix, which is the geometric graphic of the first integrated circuit minus the second integrated circuit.

以上仅是示例,根据此实施例图6的流程所获得的各侧内外缘几何图形及几何内外周长,再经过适当的逻辑运算,便可获得在物理设计阶段中所有需要的几何信息。The above is only an example. According to the geometric figures of the inner and outer edges of each side and the geometric inner and outer perimeters obtained by the process of Figure 6 of this embodiment, after appropriate logical operations, all the geometric information required in the physical design stage can be obtained.

本发明的另一个实施例是一种集成电路布局设计装置,用来获得集成电路布局的几何图形,特别是用来获得集成电路布局的边缘信息,作为后续物理设计的参考。图13示出此实施例的结构示意图,此装置1300包括生成模块1301、转换模块1302、判断模块1303、设定模块1304、指定模块1305、移位模块1306、运算模块1307及求和模块1308,每个模块通过总线1309做信号的传递。本发明的图13所示的集成电路布图设计装置可以集成于EDA工具等布图布线工具中。Another embodiment of the present invention is an integrated circuit layout design device, which is used to obtain the geometry of the integrated circuit layout, especially to obtain the edge information of the integrated circuit layout, as a reference for subsequent physical design. FIG13 shows a schematic diagram of the structure of this embodiment, and the device 1300 includes a generation module 1301, a conversion module 1302, a judgment module 1303, a setting module 1304, a designation module 1305, a shift module 1306, an operation module 1307 and a summation module 1308, and each module transmits signals through a bus 1309. The integrated circuit layout design device shown in FIG13 of the present invention can be integrated into a layout and wiring tool such as an EDA tool.

生成模块1301用以生成网格。此处所指的网格可以是工艺制造网格、标准单元布局网格、布线通道网格或自定义网格,其形成一个阵列,该阵列包括多个格点。The generation module 1301 is used to generate a grid. The grid referred to here may be a process manufacturing grid, a standard cell layout grid, a wiring channel grid or a custom grid, which forms an array including a plurality of grid points.

转换模块1302用以转换网格成矩阵,每个格点对应矩阵的元素。每个格点101可以视为是一个矩阵的元素,转换模块1302将网格矩阵化,对每个格点根据矩阵的规则进行编码,例如矩阵的元素axy,其中下标x表示格点沿着x轴的坐标值,下标y表示格点沿着y轴的坐标值。The conversion module 1302 is used to convert the grid into a matrix, and each grid point corresponds to an element of the matrix. Each grid point 101 can be regarded as an element of a matrix. The conversion module 1302 matrixes the grid and encodes each grid point according to the rules of the matrix, such as the element a xy of the matrix, where the subscript x represents the coordinate value of the grid point along the x-axis, and the subscript y represents the coordinate value of the grid point along the y-axis.

判断模块1303用以判断每个格点是否落在集成电路的布局范围内。在EDA工具中,集成电路的布局是基于前述网格进行的,判断模块1303判断每个格点是否落在集成电路的布局范围内。The judging module 1303 is used to judge whether each grid point falls within the layout range of the integrated circuit. In the EDA tool, the layout of the integrated circuit is performed based on the aforementioned grid, and the judging module 1303 judges whether each grid point falls within the layout range of the integrated circuit.

当格点落在布局范围内时,设定模块1304用以设定相对应的元素的数值为真,在此实施例中元素值“1”表示为真。当格点未落在布局范围内时,设定模块1304用以设定相对应的元素的数值为假,在此实施例中元素值“0”表示为假。即,整个矩阵的元素落在集成电路的布局范围的数值为1,其余为0。When the grid point falls within the layout range, the setting module 1304 is used to set the value of the corresponding element to true, and in this embodiment, the element value "1" represents true. When the grid point does not fall within the layout range, the setting module 1304 is used to set the value of the corresponding element to false, and in this embodiment, the element value "0" represents false. That is, the value of the elements of the entire matrix that fall within the layout range of the integrated circuit is 1, and the rest are 0.

指定模块1305用以指定所有数值为真的元素为原始布局矩阵,原始布局矩阵载有所述集成电路信息。The designation module 1305 is used to designate all elements whose values are true as the original layout matrix, where the original layout matrix carries the integrated circuit information.

移位模块1306用以将原始布局矩阵在网格上向一侧移动一个格点,以形成第一布局矩阵。移位模块1306使得原始布局矩阵在网格上向上下左右侧分别移动一个格点,形成了4个第一布局矩阵,每个第一布局矩阵对应一侧。第一布局矩阵与原始布局矩阵的几何图形完全相同,只是第一布局矩阵是原始布局矩阵向某一侧移动一个格点所形成的新的布局矩阵。The shift module 1306 is used to shift the original layout matrix one grid point to one side on the grid to form a first layout matrix. The shift module 1306 makes the original layout matrix move one grid point to the upper, lower, left and right sides of the grid respectively, forming four first layout matrices, each of which corresponds to one side. The first layout matrix is exactly the same as the original layout matrix in terms of geometry, except that the first layout matrix is a new layout matrix formed by shifting the original layout matrix one grid point to one side.

运算模块1307用以按位或原始布局矩阵及第一布局矩阵,以形成第二布局矩阵。运算模块1307基于4个第一布局矩阵,产生4个第二布局矩阵,每个第二布局矩阵对应一侧,其第二布局矩阵为原始布局矩阵及第一布局矩阵的并集。The operation module 1307 is used to perform bitwise OR operation on the original layout matrix and the first layout matrix to form a second layout matrix. The operation module 1307 generates four second layout matrices based on the four first layout matrices, each second layout matrix corresponds to one side, and the second layout matrix is the union of the original layout matrix and the first layout matrix.

运算模块1307接着再按位异或第二布局矩阵及原始布局矩阵,以形成第三布局矩阵,第三布局矩阵载有所述侧的几何外缘信息。运算模块1307将第二布局矩阵及原始布局矩阵交集的元素设定为0,并将第二布局矩阵及原始布局矩阵未交集的元素设定为1,共形成4个第三布局矩阵,每个第三布局矩阵对应一侧。至此,此实施例获得此布局范围四侧的几何外缘信息。The operation module 1307 then performs bitwise XOR on the second layout matrix and the original layout matrix to form a third layout matrix, which carries the geometric edge information of the side. The operation module 1307 sets the elements of the intersection of the second layout matrix and the original layout matrix to 0, and sets the elements of the second layout matrix and the original layout matrix that do not intersect to 1, forming a total of 4 third layout matrices, each of which corresponds to a side. So far, this embodiment obtains the geometric edge information of the four sides of this layout range.

判断模块1303进一步判断所有侧是否皆获得几何外缘信息。如否,通知移位模块1306将原始布局矩阵在网格上向未获得几何外缘信息的一侧移动一个格点,使得运算模块1307得以获得该侧的几何内外缘信息。直到布局范围四侧的几何内外缘信息均获得为止。The judgment module 1303 further judges whether all sides have obtained the geometric outer edge information. If not, the shift module 1306 is notified to move the original layout matrix one grid point on the grid to the side that has not obtained the geometric outer edge information, so that the operation module 1307 can obtain the geometric inner and outer edge information of the side. This continues until the geometric inner and outer edge information of the four sides of the layout range are obtained.

如果所有侧皆获得几何外缘信息,运算模块1307按位或所有第三布局矩阵,以形成第四布局矩阵,第四布局矩阵载有电路布局的几何外周长信息。If all sides have obtained the geometric perimeter information, the operation module 1307 performs a bitwise OR operation on all the third layout matrices to form a fourth layout matrix, which carries the geometric perimeter information of the circuit layout.

移位模块1306继续将所有的第三布局矩阵在网格上分别向所述侧的反方向移动一个格点,以形成4个第五布局矩阵,每个第五布局矩阵载有一侧的几何内缘信息。The shift module 1306 continues to shift all the third layout matrices on the grid by one grid point in the opposite direction of the side to form four fifth layout matrices, each of which carries geometric inner edge information of one side.

移位模块1306再按位或所有第五布局矩阵,以形成第六布局矩阵,第六布局矩阵载有电路布局的几何内周长信息。The shift module 1306 then performs a bitwise OR operation on all fifth layout matrices to form a sixth layout matrix, where the sixth layout matrix carries geometric inner perimeter information of the circuit layout.

求和模块1308用以对原始布局矩阵的元素求和,以获得电路布局的几何面积信息。每个格点的面积是已知的,求和模块1308只要计数原始布局矩阵中的元素数量(即元素数值为1的数量),乘上每个格点的面积,便可获得原始布局矩阵的面积。The summing module 1308 is used to sum the elements of the original layout matrix to obtain the geometric area information of the circuit layout. The area of each grid point is known, and the summing module 1308 only needs to count the number of elements in the original layout matrix (i.e., the number of elements with a value of 1) and multiply it by the area of each grid point to obtain the area of the original layout matrix.

本发明另一个实施例为一种计算机可读存储介质,其上存储有获取电路布局的几何图形信息的计算机程序代码,当所述计算机程序代码由处理器运行时,执行如前所述各实施例的方法。在一些实现场景中,上述集成的单元可以采用软件程序模块的形式来实现。如果以软件程序模块的形式实现并作为独立的产品销售或使用时,所述集成的单元可以存储在计算机可读取存储器中。基于此,当本发明的方案以软件产品(例如计算机可读存储介质)的形式体现时,该软件产品可以存储在存储器中,其可以包括若干指令用以使得计算机设备(例如个人计算机、服务器或者网络设备等)执行本发明实施例所述方法的部分或全部步骤。前述的存储器可以包括但不限于U盘、闪存盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。Another embodiment of the present invention is a computer-readable storage medium, on which a computer program code for obtaining geometric information of a circuit layout is stored, and when the computer program code is run by a processor, the method of each embodiment described above is executed. In some implementation scenarios, the above-mentioned integrated unit can be implemented in the form of a software program module. If implemented in the form of a software program module and sold or used as an independent product, the integrated unit can be stored in a computer-readable memory. Based on this, when the solution of the present invention is embodied in the form of a software product (such as a computer-readable storage medium), the software product can be stored in a memory, which may include several instructions to enable a computer device (such as a personal computer, a server or a network device, etc.) to perform some or all of the steps of the method described in the embodiment of the present invention. The aforementioned memory may include, but is not limited to, various media that can store program codes, such as a USB flash drive, a flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.

本发明将集成电路的几何图形转换成矩阵,分别获得集成电路的各侧内外缘几何图形及几何内外周长的信息,作为在物理设计阶段后续程序的依据,可以高效的执行芯片设计。The present invention converts the geometric figures of the integrated circuit into a matrix, and obtains the information of the geometric figures of the inner and outer edges of each side of the integrated circuit and the geometric inner and outer perimeters, which serves as the basis for subsequent procedures in the physical design stage, and can efficiently execute chip design.

需要说明的是,为了简明的目的,本发明将一些方法及其实施例表述为一系列的动作及其组合,但是本领域技术人员可以理解本发明的方案并不受所描述的动作的顺序限制。因此,依据本发明的公开或教导,本领域技术人员可以理解其中的某些步骤可以采用其他顺序来执行或者同时执行。进一步,本领域技术人员可以理解本发明所描述的实施例可以视为可选实施例,即其中所涉及的动作或模块对于本发明某个或某些方案的实现并不一定是必需的。另外,根据方案的不同,本发明对一些实施例的描述也各有侧重。鉴于此,本领域技术人员可以理解本发明某个实施例中没有详述的部分,也可以参见其他实施例的相关描述。It should be noted that, for the purpose of simplicity, the present invention describes some methods and embodiments thereof as a series of actions and combinations thereof, but those skilled in the art will appreciate that the scheme of the present invention is not limited by the order of the described actions. Therefore, based on the disclosure or teaching of the present invention, those skilled in the art will appreciate that some of the steps therein may be performed in other orders or simultaneously. Further, those skilled in the art will appreciate that the embodiments described in the present invention may be regarded as optional embodiments, i.e., the actions or modules involved therein are not necessarily necessary for the implementation of one or some schemes of the present invention. In addition, depending on the different schemes, the present invention also has different emphases on the description of some embodiments. In view of this, those skilled in the art will appreciate that the parts not described in detail in a certain embodiment of the present invention may also refer to the relevant descriptions of other embodiments.

在具体实现方面,基于本发明的公开和教导,本领域技术人员可以理解本发明所公开的若干实施例也可以通过本文未公开的其他方式来实现。例如,就前文所述的电子设备或装置实施例中的各个单元来说,本文在考虑了逻辑功能的基础上对其进行拆分,而实际实现时也可以有另外的拆分方式。又例如,可以将多个单元或组件结合或者集成到另一个系统,或者对单元或组件中的一些特征或功能进行选择性地禁用。就不同单元或组件之间的连接关系而言,前文结合附图所讨论的连接可以是单元或组件之间的直接或间接耦合。在一些场景中,前述的直接或间接耦合涉及利用接口的通信连接,其中通信接口可以支持电性、光学、声学、磁性或其它形式的信号传输。In terms of specific implementation, based on the disclosure and teachings of the present invention, those skilled in the art can understand that several embodiments disclosed in the present invention can also be implemented in other ways not disclosed herein. For example, with respect to the various units in the electronic device or device embodiments described above, this article splits them on the basis of considering the logical functions, and there may be other ways of splitting them in actual implementation. For another example, multiple units or components can be combined or integrated into another system, or some features or functions in the units or components can be selectively disabled. In terms of the connection relationship between different units or components, the connection discussed in the above text in conjunction with the accompanying drawings can be a direct or indirect coupling between units or components. In some scenarios, the aforementioned direct or indirect coupling involves a communication connection using an interface, wherein the communication interface can support electrical, optical, acoustic, magnetic or other forms of signal transmission.

在本发明中,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元示出的部件可以是或者也可以不是物理单元。前述部件或单元可以位于同一位置或者分布到多个网络单元上。另外,根据实际的需要,可以选择其中的部分或者全部单元来实现本发明实施例所述方案的目的。另外,在一些场景中,本发明实施例中的多个单元可以集成于一个单元中或者各个单元物理上单独存在。In the present invention, the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units. The aforementioned components or units may be located at the same location or distributed on multiple network units. In addition, according to actual needs, some or all of the units may be selected to achieve the purpose of the scheme described in the embodiment of the present invention. In addition, in some scenarios, multiple units in the embodiment of the present invention may be integrated into one unit or each unit may exist physically separately.

在另外一些实现场景中,上述集成的单元也可以采用硬件的形式实现,即为具体的硬件电路,其可以包括数字电路和/或模拟电路等。电路的硬件结构的物理实现可以包括但不限于物理器件,而物理器件可以包括但不限于晶体管或忆阻器等器件。鉴于此,本文所述的各类装置(例如计算装置或其他处理装置)可以通过适当的硬件处理器来实现,例如中央处理器、GPU、FPGA、DSP和ASIC等。进一步,前述的所述存储单元或存储装置可以是任意适当的存储介质(包括磁存储介质或磁光存储介质等),其例如可以是可变电阻式存储器(Resistive Random Access Memory,RRAM)、动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)、增强动态随机存取存储器(Enhanced Dynamic Random Access Memory,EDRAM)、高带宽存储器(High Bandwidth Memory,HBM)、混合存储器立方体(Hybrid Memory Cube,HMC)、ROM和RAM等。In some other implementation scenarios, the above-mentioned integrated unit can also be implemented in the form of hardware, that is, a specific hardware circuit, which may include digital circuits and/or analog circuits, etc. The physical implementation of the hardware structure of the circuit may include but is not limited to physical devices, and the physical devices may include but are not limited to devices such as transistors or memristors. In view of this, the various devices described herein (such as computing devices or other processing devices) can be implemented by appropriate hardware processors, such as central processing units, GPUs, FPGAs, DSPs, and ASICs, etc. Further, the aforementioned storage unit or storage device may be any appropriate storage medium (including magnetic storage media or magneto-optical storage media, etc.), which may be, for example, a variable resistive memory (Resistive Random Access Memory, RRAM), a dynamic random access memory (Dynamic Random Access Memory, DRAM), a static random access memory (Static Random Access Memory, SRAM), an enhanced dynamic random access memory (Enhanced Dynamic Random Access Memory, EDRAM), a high bandwidth memory (High Bandwidth Memory, HBM), a hybrid memory cube (Hybrid Memory Cube, HMC), ROM and RAM, etc.

依据以下条款可更好地理解前述内容:The foregoing content can be better understood in accordance with the following terms:

条款A1、一种集成电路布局设计方法,包括:生成网格,所述网格包括多个格点;转换所述网格成矩阵,每个格点对应所述矩阵的元素;判断每个格点是否落在所述集成电路的布局范围内;如是,设定相对应的元素的数值为真;以及指定所有数值为真的元素为原始布局矩阵,所述原始布局矩阵载有所述集成电路信息。Item A1. An integrated circuit layout design method, comprising: generating a grid, the grid comprising a plurality of grid points; converting the grid into a matrix, each grid point corresponding to an element of the matrix; determining whether each grid point falls within the layout range of the integrated circuit; if so, setting the value of the corresponding element to true; and designating all elements with true values as an original layout matrix, the original layout matrix carrying the integrated circuit information.

条款A2、根据条款A1所述的方法,还包括:将所述原始布局矩阵在所述网格上向一侧移动一个格点,以形成第一布局矩阵;按位或所述原始布局矩阵及所述第一布局矩阵,以形成第二布局矩阵;以及按位异或所述第二布局矩阵及所述原始布局矩阵,以形成第三布局矩阵,所述第三布局矩阵载有所述侧的几何外缘信息。Item A2. The method according to Item A1 further includes: moving the original layout matrix one grid point to one side on the grid to form a first layout matrix; bitwise ORing the original layout matrix and the first layout matrix to form a second layout matrix; and bitwise XORing the second layout matrix and the original layout matrix to form a third layout matrix, wherein the third layout matrix carries the geometric edge information of the side.

条款A3、根据条款A2所述的方法,其中在另外三侧上执行所述移动、按位或及按位异或步骤,所述方法还包括:按位或所有的第三布局矩阵,以形成第四布局矩阵,所述第四布局矩阵载有所述电路布局的几何外周长信息。Item A3. A method according to Item A2, wherein the shifting, bitwise OR and bitwise XOR steps are performed on the other three sides, the method further comprising: bitwise ORing all third layout matrices to form a fourth layout matrix, the fourth layout matrix carrying geometric outer perimeter information of the circuit layout.

条款A4、根据条款A2所述的方法,还包括:将所述第三布局矩阵在所述网格上向所述侧的反方向移动一个格点,以形成第五布局矩阵,所述第五布局矩阵载有所述侧的几何内缘信息。Item A4. The method according to Item A2 further includes: moving the third layout matrix on the grid by one grid point in the opposite direction of the side to form a fifth layout matrix, wherein the fifth layout matrix carries geometric inner edge information of the side.

条款A5、根据条款A4所述的方法,其中在另外三侧上执行所述移动、按位或、按位异或及反方向移动步骤,所述方法还包括:按位或所有的第五布局矩阵,以形成第六布局矩阵,所述第六布局矩阵载有所述电路布局的几何内周长信息。Item A5. A method according to Item A4, wherein the moving, bitwise OR, bitwise XOR and reverse moving steps are performed on the other three sides, and the method further includes: bitwise ORing all of the fifth layout matrix to form a sixth layout matrix, wherein the sixth layout matrix carries the geometric inner perimeter information of the circuit layout.

条款A6、根据条款A1所述的方法,还包括:对所述原始布局矩阵的元素求和,以获得所述电路布局的几何面积信息。Item A6. The method according to Item A1 further includes: summing the elements of the original layout matrix to obtain geometric area information of the circuit layout.

条款A7、根据条款A1所述的方法,其中所述网格为工艺制造网格、标准单元布局网格、布线通道网格及自定义网格其中之一。Item A7. The method of Item A1, wherein the grid is one of a process manufacturing grid, a standard cell placement grid, a routing channel grid, and a custom grid.

条款A8、一种计算机可读存储介质,其上存储有获取电路布局的几何图形信息的计算机程序代码,当所述计算机程序代码由处理器运行时,执行条款A1-7任一项所述的方法。Item A8. A computer-readable storage medium having stored thereon a computer program code for obtaining geometric information of a circuit layout, wherein when the computer program code is executed by a processor, the method described in any one of Items A1-7 is executed.

条款A9、一种集成电路布局设计装置,包括:生成模块,用以生成网格,所述网格包括多个格点;转换模块,用以转换所述网格成矩阵,每个格点对应所述矩阵的元素;判断模块,用以判断每个格点是否落在所述集成电路的布局范围内;设定模块,当所述格点落在所述布局范围内时,用以设定相对应的元素的数值为真;以及指定模块,用以指定所有数值为真的元素为原始布局矩阵,所述原始布局矩阵载有所述集成电路信息。Item A9. An integrated circuit layout design device, comprising: a generation module for generating a grid, the grid comprising a plurality of grid points; a conversion module for converting the grid into a matrix, each grid point corresponding to an element of the matrix; a judgment module for judging whether each grid point falls within the layout range of the integrated circuit; a setting module for setting the value of the corresponding element to true when the grid point falls within the layout range; and a designation module for designating all elements whose values are true as an original layout matrix, the original layout matrix carrying the integrated circuit information.

条款A10、根据条款A9所述的装置,还包括:移位模块,用以将所述原始布局矩阵在所述网格上向一侧移动一个格点,以形成第一布局矩阵;以及运算模块,用以:按位或所述原始布局矩阵及所述第一布局矩阵,以形成第二布局矩阵;以及按位异或所述第二布局矩阵及所述原始布局矩阵,以形成第三布局矩阵,所述第三布局矩阵载有所述侧的几何外缘信息。Item A10. The device according to Item A9 further includes: a shift module for moving the original layout matrix one grid point to one side on the grid to form a first layout matrix; and an operation module for: bitwise ORing the original layout matrix and the first layout matrix to form a second layout matrix; and bitwise XORing the second layout matrix and the original layout matrix to form a third layout matrix, wherein the third layout matrix carries the geometric edge information of the side.

条款A11、根据条款A10所述的装置,其中所述移位模块将所述原始布局矩阵分别在另外三侧上移动一个格点,所述运算模块分别执行所述按位或操作及所述按位异或操作,以形成另外三个第三布局矩阵,并按位或所有第三布局矩阵,以形成第四布局矩阵,所述第四布局矩阵载有所述电路布局的几何外周长信息。Item A11. An apparatus according to Item A10, wherein the shift module moves the original layout matrix by one grid point on the other three sides respectively, and the operation module performs the bitwise OR operation and the bitwise XOR operation respectively to form three other third layout matrices, and bitwise ORs all the third layout matrices to form a fourth layout matrix, wherein the fourth layout matrix carries the geometric outer perimeter information of the circuit layout.

条款A12、根据条款A10所述的装置,其中所述移位模块将所述第三布局矩阵在所述网格上向所述侧的反方向移动一个格点,以形成第五布局矩阵,所述第五布局矩阵载有所述侧的几何内缘信息。Item A12. An apparatus according to Item A10, wherein the shift module shifts the third layout matrix on the grid by one grid point in the opposite direction of the side to form a fifth layout matrix, wherein the fifth layout matrix carries geometric inner edge information of the side.

条款A13、根据条款A12所述的装置,其中所述移位模块将所述原始布局矩阵分别在另外三侧上移动一个格点,所述运算模块分别执行所述按位或操作及所述按位异或操作,以形成另外三个第五布局矩阵,并按位或所有第五布局矩阵,以形成第六布局矩阵,所述第六布局矩阵载有所述电路布局的几何内周长信息。Item A13. An apparatus according to Item A12, wherein the shift module shifts the original layout matrix by one grid point on the other three sides respectively, and the operation module performs the bitwise OR operation and the bitwise XOR operation respectively to form three other fifth layout matrices, and bitwise ORs all the fifth layout matrices to form a sixth layout matrix, wherein the sixth layout matrix carries the geometric inner perimeter information of the circuit layout.

条款A14、根据条款A9所述的装置,还包括:求和模块,用以对所述原始布局矩阵的元素求和,以获得所述电路布局的几何面积信息。Item A14. The device according to Item A9 further includes: a summation module for summing the elements of the original layout matrix to obtain geometric area information of the circuit layout.

条款A15、根据条款A9所述的装置,其中所述网格为工艺制造网格、标准单元布局网格、布线通道网格及自定义网格其中之一。Item A15. The apparatus of Item A9, wherein the grid is one of a process manufacturing grid, a standard cell placement grid, a routing channel grid, and a custom grid.

以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。The embodiments of the present invention are described in detail above. Specific examples are used herein to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. At the same time, for those skilled in the art, according to the idea of the present invention, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as limiting the present invention.

Claims (13)

1. An integrated circuit layout design method, comprising:
generating a grid, the grid comprising a plurality of grid points;
Converting the grid into a matrix, wherein each grid point corresponds to an element of the matrix;
Judging whether each grid point is in the layout range of the integrated circuit;
if so, setting the value of the corresponding element as true; and
Designating all elements with true values as an original layout matrix, wherein the original layout matrix carries the integrated circuit information;
moving the original layout matrix to one side of the grid by one grid point to form a first layout matrix;
Bitwise or the original layout matrix and the first layout matrix to form a second layout matrix; and
The second layout matrix and the original layout matrix are bitwise exclusive-ored to form a third layout matrix, the third layout matrix carrying geometric outer edge information of the side.
2. The method of claim 1, wherein the moving, bitwise or and bitwise exclusive or steps are performed on three other sides, the method further comprising:
bits or all of the third layout matrix are used to form a fourth layout matrix that carries geometric perimeter information of the circuit layout.
3. The method of claim 1, further comprising:
And moving the third layout matrix by one lattice point on the lattice in the opposite direction of the side to form a fifth layout matrix, wherein the fifth layout matrix carries geometric inner edge information of the side.
4. The method of claim 3, wherein the moving, bitwise or, bitwise exclusive or, and reverse moving steps are performed on three other sides, the method further comprising:
Bits or all of the fifth layout matrix are used to form a sixth layout matrix that carries geometric inner perimeter information of the circuit layout.
5. The method of claim 1, further comprising:
The elements of the original layout matrix are summed to obtain geometric area information of the circuit layout.
6. The method of claim 1, wherein the grid is one of a process manufacturing grid, a standard cell layout grid, a routing channel grid, and a custom grid.
7. A computer readable storage medium having stored thereon computer program code for retrieving geometrical information of a circuit layout, which, when being executed by a processor, performs the method of any of claims 1-6.
8. An integrated circuit layout design apparatus, comprising:
A generation module to generate a grid, the grid comprising a plurality of grid points;
the conversion module is used for converting the grids into a matrix, and each grid point corresponds to an element of the matrix;
the judging module is used for judging whether each grid point falls in the layout range of the integrated circuit;
the setting module is used for setting the numerical value of the corresponding element to be true when the grid point falls in the layout range; and
The designating module is used for designating all elements with true values as an original layout matrix, and the original layout matrix carries the integrated circuit information;
The shifting module is used for shifting the original layout matrix to one side of the grid by one grid point so as to form a first layout matrix; and
The operation module is used for:
Bitwise or the original layout matrix and the first layout matrix to form a second layout matrix; and
The second layout matrix and the original layout matrix are bitwise exclusive-ored to form a third layout matrix, the third layout matrix carrying geometric outer edge information of the side.
9. The apparatus of claim 8, wherein the shift module shifts the original layout matrix by one lattice point on three other sides, respectively, the operation module performs the bitwise or operation and the bitwise exclusive or operation, respectively, to form three other third layout matrices, and bitwise or all third layout matrices to form a fourth layout matrix carrying geometric outer perimeter information of the circuit layout.
10. The apparatus of claim 8, wherein the shift module moves the third layout matrix one lattice point on the grid in a direction opposite the side to form a fifth layout matrix, the fifth layout matrix carrying geometric inner edge information of the side.
11. The apparatus of claim 10, wherein the shift module shifts the original layout matrix by one lattice point on three other sides, respectively, the operation module performs the bitwise or operation and the bitwise exclusive or operation, respectively, to form three other fifth layout matrices, and bitwise or all fifth layout matrices to form a sixth layout matrix, the sixth layout matrix carrying geometric inner perimeter information of the circuit layout.
12. The apparatus of claim 8, further comprising:
And the summing module is used for summing the elements of the original layout matrix to obtain the geometric area information of the circuit layout.
13. The apparatus of claim 8, wherein the grid is one of a process manufacturing grid, a standard cell layout grid, a routing channel grid, and a custom grid.
CN202011540294.9A 2020-12-23 2020-12-23 Integrated circuit layout design method, device and readable storage medium Active CN114662443B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011540294.9A CN114662443B (en) 2020-12-23 2020-12-23 Integrated circuit layout design method, device and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011540294.9A CN114662443B (en) 2020-12-23 2020-12-23 Integrated circuit layout design method, device and readable storage medium

Publications (2)

Publication Number Publication Date
CN114662443A CN114662443A (en) 2022-06-24
CN114662443B true CN114662443B (en) 2024-04-19

Family

ID=82024882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011540294.9A Active CN114662443B (en) 2020-12-23 2020-12-23 Integrated circuit layout design method, device and readable storage medium

Country Status (1)

Country Link
CN (1) CN114662443B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115345112B (en) * 2022-08-17 2024-03-26 上海极海盈芯科技有限公司 Integrated circuit diagram generation method and device, electronic equipment and storage medium
KR20240161375A (en) * 2023-05-04 2024-11-12 포항공과대학교 산학협력단 Semiconductor layout to generator allocation method, allocation training method and computing apparatus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075087A (en) * 2006-05-17 2007-11-21 恩益禧电子股份有限公司 Semiconductor device and method of designing the semiconductor device
CN109360185A (en) * 2018-08-28 2019-02-19 中国科学院微电子研究所 Layout test pattern extraction method, device, equipment and medium
CN109635328A (en) * 2017-11-08 2019-04-16 成都华微电子科技有限公司 Integrated circuit layout method and distributed design approach

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6918102B2 (en) * 2002-01-08 2005-07-12 Cadence Design Systems, Inc. Method and apparatus for exact relative positioning of devices in a semiconductor circuit layout
US7131095B2 (en) * 2004-09-21 2006-10-31 Nannor Technologies Routed layout optimization with geotopological layout encoding for integrated circuit designs
US7721233B2 (en) * 2004-10-07 2010-05-18 Sharad Kapur Efficient large-scale full-wave simulation
US10936778B2 (en) * 2016-03-28 2021-03-02 Motivo, Inc. And optimization of physical cell placement

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075087A (en) * 2006-05-17 2007-11-21 恩益禧电子股份有限公司 Semiconductor device and method of designing the semiconductor device
CN109635328A (en) * 2017-11-08 2019-04-16 成都华微电子科技有限公司 Integrated circuit layout method and distributed design approach
CN109360185A (en) * 2018-08-28 2019-02-19 中国科学院微电子研究所 Layout test pattern extraction method, device, equipment and medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
标注自动布局的网格化方法;黄学良;陈钢;陈立平;王启富;;计算机辅助设计与图形学学报(第08期);1070-1077 *

Also Published As

Publication number Publication date
CN114662443A (en) 2022-06-24

Similar Documents

Publication Publication Date Title
TWI709053B (en) Integrated circuit design system and method for integrated circuit design
Lin et al. An efficient and effective analytical placer for FPGAs
US11663383B2 (en) Method and system for hierarchical circuit simulation using parallel processing
CN114662443B (en) Integrated circuit layout design method, device and readable storage medium
US11694016B2 (en) Fast topology bus router for interconnect planning
CN113867685A (en) A multiplier conversion method, apparatus, device and readable storage medium
Farooq et al. Exploring and optimizing partitioning of large designs for multi-FPGA based prototyping platforms
KR102038736B1 (en) Netlist abstraction
JPH10321728A (en) Hierarchical wiring processing method and medium storing hierarchical wiring processing program in semiconductor integrated circuit layout system
CN116911224A (en) Method for optimizing digital logic circuit, computer device and storage medium
US11126768B2 (en) Methods of designing semiconductor devices, design systems performing the same and methods of manufacturing semiconductor devices using the same
CN113408223B (en) Chip design method based on intelligent analysis
US11144700B1 (en) Grouping nets to facilitate repeater insertion
CN112214956B (en) System for designing semiconductor circuits and method of operating the same
JP3112843B2 (en) Automatic placement and routing of semiconductor integrated circuits
US8032855B1 (en) Method and apparatus for performing incremental placement on a structured application specific integrated circuit
JP4668974B2 (en) Semiconductor device design method, semiconductor device design system, and computer program
US20160063172A1 (en) Connectivity-Aware Layout Data Reduction For Design Verification
CN118862757B (en) Method for constructing circuit topology association data, method and system for designing integrated circuit
JP2004070626A (en) Layout data saving method, layout data conversion device and figure inspection device
Chen et al. Synthesis of custom interleaved memory systems
CN118586338B (en) Method and device for simultaneous boxing layout of field programmable gate array
US11080450B1 (en) Calculating inductance based on a netlist
Vasudev et al. Design and development of 8-bits fast multiplier for low power applications
JP7384285B2 (en) Neural network processing device, method, and program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant