CN115510795A - 一种数据处理方法以及相关装置 - Google Patents

一种数据处理方法以及相关装置 Download PDF

Info

Publication number
CN115510795A
CN115510795A CN202211008671.3A CN202211008671A CN115510795A CN 115510795 A CN115510795 A CN 115510795A CN 202211008671 A CN202211008671 A CN 202211008671A CN 115510795 A CN115510795 A CN 115510795A
Authority
CN
China
Prior art keywords
edge
information
circuit layout
polygon
edges
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.)
Pending
Application number
CN202211008671.3A
Other languages
English (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202211008671.3A priority Critical patent/CN115510795A/zh
Publication of CN115510795A publication Critical patent/CN115510795A/zh
Priority to PCT/CN2023/114008 priority patent/WO2024041480A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

一种数据处理方法,方法包括:获取电路版图的序列信息;其中,电路版图包括多边形元件,多边形元件包括多个边;序列信息包括每个边的边信息以及多个边之间的连接顺序,边信息包括边的方向和长度;通过机器学习模型,对序列信息进行处理,得到电路版图对应的处理结果。本申请可以显式建模电路版图的几何形状和版图布局等多边形级别的信息,可以高效无损压缩集成电路版图为序列信息,使得机器学习模型可以提取更准确的特征。

Description

一种数据处理方法以及相关装置
技术领域
本申请涉及半导体领域,尤其涉及一种数据处理的方法以及相关装置。
背景技术
近年来,人工智能(artificial intelligence,AI)广泛应用在光学临近矫正、集成电路版图生成布局热点检测和良率检测等半导体设计制造领域。
光学临近矫正是通过调整掩膜版形状,减少光衍射造成影响,使得光刻出来的形状与芯片设计的形状相近。集成电路版图是半导体设计制造领域的关键资源,被广泛应用于光刻建模、光学邻近校正,布局热点检测。然而由于设计制造过程的复杂性,获得足够的集成电路版图既昂贵又耗时。尤其是在制造工艺的演变过程中,参数和设计规则的变化,就需要重新去设计集成电路版图。另外AI方法被应用到半导体设计制造领域,需要更多集成电路版图作为训练数据。基于生成模型去生成版图可以满足半导体设计制造的需求。
AI在半导体设计制造领的应用通常将集成电路版图看作图像,建模像素级别的关系。例如对于光学临近矫正来说,一般将版图看成图像,利用机器学习模型,输出光学矫正后的图片。集成电路版图生成也是将版图看成图像,利用机器学习模型来拟合图像的分布,然后生成新的电路版图。
然而版图不同于自然图像,而是由一些有规则的多边形元件组成,它们的大小以及之间的布局要求符合设计规则。因此基于像素级别Pixel-level的图像建模方法不能充分捕捉如几何形状和版图布局等多边形级别Polygon-level的信息。这会导致生成大量无规则的图案,需要大量后处理,机器学习模型输出的数据的精度较低。
发明内容
本申请提供了一种数据处理方法,可以显式建模电路版图的几何形状和版图布局等多边形级别的信息,更容易学习版图设计规则,而且可以高效无损压缩集成电路版图为符号序列(序列信息),使得机器学习模型可以提取更准确的特征。
第一方面,本申请提供了一种数据处理方法,方法包括:获取电路版图的序列信息;其中,电路版图包括多边形元件,多边形元件包括多个边;序列信息包括每个边的边信息以及多个边之间的连接顺序,边信息包括边的方向和长度;通过机器学习模型,对序列信息进行处理,得到电路版图对应的处理结果。
在一种可能的实现中,可以将电路版图(例如图片或者其他信息格式的数据)转换为序列信息,序列信息可以通过文本格式的数据来表示,原始的电路版图通过多维的信息(例如与图像)表示,序列信息可以为一维的信息。
其中,一个电路版图可以包括一个或多个多边形元件,为了能够描述出电路版图中多边形元件的几何形状、多边形元件的版图布局等多边形级别polygon-level的信息,需要对电路版图中的多边形元件进行编码,得到电路版图的序列信息,电路版图的序列信息可以示例性的包含多边形元件的几何信息以及位置信息、或者几何信息和位置信息中的一个,其中,几何信息可以包括多边形元件中每个边的边信息以及多个边之间的连接顺序。位置信息可以包括多边形元件在电路版图中的位置。
根据上述规则,电路版图可以无损压缩为符号序列,而且符合序列也可以无损恢复出电路版图。
通过上述方式,可以显式建模电路版图的几何形状和版图布局等多边形级别的信息,更容易学习版图设计规则,而且可以高效无损压缩集成电路版图为符号序列(序列信息),使得机器学习模型可以提取更准确的特征。
在一种可能的实现中,多个边包括第一边,第一边的方向为如下方向的一种:上下方向、左右方向、由上到下的方向、由下到上的方向、由左到右的方向或者由右到左的方向,方向为在电路版图的局部坐标系中所定义的方向。
在一种可能的实现中,第一边的方向通过标识指示。
在一种可能的实现中,多个边的边信息在序列信息中按照目标顺序排列,多个边之间的连接顺序通过目标顺序指示。
应理解,在确定电路版图的局部坐标系时,可以将坐标系的参考轴的方向设置为使得在该坐标系下的大多数边为左右方向或者上下方向,可以大大降低编码的难度。此外还可以通过其他的方式来表示边的方向,例如边和参考轴的夹角大小等,这里并不限定。
在电路版图定义的坐标系下,一部分边可以是倾斜的(也就是既不是左右方向也不是上下方向,和x轴的夹角为锐角),针对于这样的边(以具备上述特征的边为第二边为例),而任意一个倾斜的边都可以作为一个直角三角形的斜边而使用直角边来表示。
在一种可能的实现中,多个边包括第二边,第二边为以第三边以及第四边作为直角边的三角形中的斜边,第三边以及第四边不属于多边形元件,第二边的边信息通过第三边以及第四边的边信息表示,第三边的方向和第四边的方向为上下方向或者左右方向,第三边和第四边的方向为在电路版图的局部坐标系中所定义的方向。
在一种可能的实现中,序列信息可以包括多边形元件上的一个特征点在电路版图上的位置,也就是可以通过多边形元件上的一个点的位置来表示多边形元件在电路版图中的位置。例如可以包括多边形元件上的一个点在电路版图中的位置坐标。
在一种可能的实现中,序列信息可以包括多边形元件上的一个边或者各个边在电路版图上的位置。
例如,多边形元件上的一个点的位置信息可以作为整体位置的基准,结合各个边的位置信息(例如可以通过边的长度、方向、连接关系等表示)可以表征出多边形元件在电路版图中的位置。
例如,多边形元件上的一个边的位置信息可以作为整体位置的基准,结合各个边的位置信息(例如可以通过边的长度、方向、连接关系等表示)可以表征出多边形元件在电路版图中的位置。又例如,可以将每个边的位置信息结合每个边的长度、方向等信息表征出多边形元件在电路版图中的位置。
此外,还可以通过其他方式描述电路版图中各个多边形元件所处的位置,例如利用多边形的中心点位置来表示电路版图中多边形元件所处的位置,这里并不限定。
在一种可能的实现中,所述电路版图包括多个多边形元件,所述序列信息包括每个所述多边形元件的多边形信息,所述多边形信息包括多边形元件中每个边的边信息以及多边形元件包括的多个边之间的连接顺序;且所述多边形信息在所述序列信息中的排列顺序与所述多个多边形元件在所述电路版图中的位置关系有关。
其中,电路版图可以包括多个多边形元件,对于电路版图的序列信息来说,各个多边形信息可以按照一定的规则进行排布,其中,上述规则可以与多个多边形元件在所述电路版图中的位置关系有关。例如优先位置中y值较大的,在y值相同的情况下,优先x值较大的。
多边形元件为存在内部镂空区域的多边形,多个边为多边形元件的外边,多边形元件还包括多个内边,内边为内部镂空区域的外边缘,外边为多边形元件的外边缘,序列信息还包括指示多个内边的信息。
在一种可能的实现中,机器学习模型用于实现光学邻近效应矫正任务;多边形元件的多个边上还包括断点,所述多边形元件的多个边上包括至少一个调整段,所述序列信息包括所述至少一个调整段的位置;例如,调整段可以理解为位置可以被移动的段,该段可以为多边形上一个边的部分。其中,调整段的位置可以通过两个端点(或者可以称之为断点)的位置来表示;也就是说,序列信息可以包括多个断点的位置;进而,通过机器学习模型,对序列信息进行处理,得到电路版图对应的处理结果,包括:通过机器学习模型,对序列信息进行处理,预测所述至少一个调整段的位置偏移。
在一种可能的实现中,所述序列信息还包括与每个所述调整段对应的初始特征表示(或者可以称之为可学习的语义向量);所述通过机器学习模型,对所述序列信息进行处理,预测所述至少一个调整段的位置偏移,包括:通过机器学习模型中的特征提取网络,对所述序列信息进行特征提取,得到所述序列信息的目标特征表示;根据所述目标特征表示,通过机器学习模型中的预测网络,预测所述至少一个调整段的位置偏移。
上述序列化OPC学习方法可以通过训练数据来学习OPC过程,最后实现矫正后版图形状预测。通过上述方式,针对断点处每一条边引入可学习的语义向量,通过建模多边形级别Polygon-level的信息对边的偏移进行预测。与现有基于图像进行的OPC相比,不仅运算更快,预测精度更高,不需要后处理。
应理解,调整段的位置可以为用户指定,也可以对电路版图进行识别得到的,识别方法可以是基于经验或者是通过神经网络等数值方法,这里并不限定。
在一种可能的实现中,机器学习模型用于实现电路版图生成任务;多个边为多边形元件上的部分边;通过机器学习模型,对序列信息进行处理,得到电路版图对应的处理结果,包括:通过机器学习模型,对序列信息进行处理,得到多边形元件上另一部分边的边信息。
在没有任何后处理的情况下,序列化版图生成方法在生成质量合法性和多样性性能明显好于现有加大量后处理的方法。本申请在电路版图的生成质量、多样性等指标超过其他SOTA方法,而且不需要大量后处理。
在一种可能的实现中,机器学习模型用于实现电路版图的热点检测任务或者良率检测任务。
第二方面,本申请提供了一种数据处理方法,方法包括:
获取电路版图的图像,图像的图像内容包括多边形元件;
根据图像,生成电路版图的序列信息;其中,多边形元件包括多个边;序列信息包括每个边的边信息以及多个边之间的连接顺序,边信息包括边的方向和长度。
在一种可能的实现中,多个边包括第一边,第一边的方向为如下方向的一种:上下方向、左右方向、由上到下的方向、由下到上的方向、由左到右的方向或者由右到左的方向,方向为在电路版图的局部坐标系中所定义的方向。
在一种可能的实现中,第一边的方向通过标识指示。
在一种可能的实现中,多个边的边信息在序列信息中按照目标顺序排列,多个边之间的连接顺序通过目标顺序指示。
在一种可能的实现中,多个边包括第二边,第二边为以第三边以及第四边作为直角边的三角形中的斜边,第三边以及第四边不属于多边形元件,第二边的边信息通过第三边以及第四边的边信息表示,第三边的方向和第四边的方向为上下方向或者左右方向,第三边和第四边的方向为在电路版图的局部坐标系中所定义的方向。
在一种可能的实现中,所述电路版图包括多个多边形元件,所述序列信息包括每个所述多边形元件的多边形信息,所述多边形信息包括多边形元件中每个边的边信息以及多边形元件包括的多个边之间的连接顺序;且所述多边形信息在所述序列信息中的排列顺序与所述多个多边形元件在所述电路版图中的位置关系有关。
在一种可能的实现中,序列信息还包括多边形元件在电路版图中的位置。
在一种可能的实现中,位置通过多边形元件上的一个点在电路版图中的位置坐标表示。
在一种可能的实现中,多边形元件为存在内部镂空区域的多边形,多个边为多边形元件的外边,多边形元件还包括多个内边,内边为内部镂空区域的外边缘,外边为多边形元件的外边缘,序列信息还包括指示多个内边的信息。
第三方面,本申请提供了一种数据处理装置,装置包括:
获取模块,用于获取电路版图的序列信息;其中,所述电路版图包括多边形元件,所述多边形元件包括多个边;所述序列信息包括每个边的边信息以及所述多个边之间的连接顺序,所述边信息包括边的方向和长度;
处理模块,用于通过机器学习模型,对所述序列信息进行处理,得到所述电路版图对应的处理结果。
在一种可能的实现中,多个边包括第一边,第一边的方向为如下方向的一种:上下方向、左右方向、由上到下的方向、由下到上的方向、由左到右的方向或者由右到左的方向,方向为在电路版图的局部坐标系中所定义的方向。
在一种可能的实现中,第一边的方向通过标识指示。
在一种可能的实现中,多个边的边信息在序列信息中按照目标顺序排列,多个边之间的连接顺序通过目标顺序指示。
在一种可能的实现中,多个边包括第二边,第二边为以第三边以及第四边作为直角边的三角形中的斜边,第三边以及第四边不属于多边形元件,第二边的边信息通过第三边以及第四边的边信息表示,第三边的方向和第四边的方向为上下方向或者左右方向,第三边和第四边的方向为在电路版图的局部坐标系中所定义的方向。
在一种可能的实现中,序列信息还包括多边形元件在电路版图中的位置。
在一种可能的实现中,位置通过多边形元件上的一个点在电路版图中的位置坐标表示。
在一种可能的实现中,所述电路版图包括多个多边形元件,所述序列信息包括每个所述多边形元件的多边形信息,所述多边形信息包括多边形元件中每个边的边信息以及多边形元件包括的多个边之间的连接顺序;且所述多边形信息在所述序列信息中的排列顺序与所述多个多边形元件在所述电路版图中的位置关系有关。
在一种可能的实现中,多边形元件为存在内部镂空区域的多边形,多个边为多边形元件的外边,多边形元件还包括多个内边,内边为内部镂空区域的外边缘,外边为多边形元件的外边缘,序列信息还包括指示多个内边的信息。
在一种可能的实现中,所述机器学习模型用于实现光学邻近效应矫正任务;所述多边形元件的多个边上包括至少一个调整段,所述序列信息包括所述至少一个调整段的位置;
所述处理模块,具体用于:
通过机器学习模型,对所述序列信息进行处理,预测所述至少一个调整段的位置偏移。
在一种可能的实现中,所述序列信息还包括与每个所述调整段对应的初始特征表示;
所述处理模块,具体用于:
通过机器学习模型中的特征提取网络,对所述序列信息进行特征提取,得到所述序列信息的目标特征表示;
根据所述目标特征表示,通过机器学习模型中的预测网络,预测所述至少一个调整段的位置偏移。
在一种可能的实现中,所述机器学习模型用于实现电路版图生成任务;所述多个边为所述多边形元件上的部分边;
所述处理模块,具体用于:
通过机器学习模型,对所述序列信息进行处理,得到所述多边形元件上另一部分边的边信息。
在一种可能的实现中,机器学习模型用于实现电路版图的热点检测任务或者良率检测任务。
第四方面,本申请提供了一种数据处理装置,装置包括:
获取模块,用于获取电路版图的图像,图像的图像内容包括多边形元件;
生成模块,用于根据图像,生成电路版图的序列信息;其中,多边形元件包括多个边;序列信息包括每个边的边信息以及多个边之间的连接顺序,边信息包括边的方向和长度。
在一种可能的实现中,多个边包括第一边,第一边的方向为如下方向的一种:上下方向、左右方向、由上到下的方向、由下到上的方向、由左到右的方向或者由右到左的方向,方向为在电路版图的局部坐标系中所定义的方向。
在一种可能的实现中,第一边的方向通过标识指示。
在一种可能的实现中,多个边的边信息在序列信息中按照目标顺序排列,多个边之间的连接顺序通过目标顺序指示。
在一种可能的实现中,多个边包括第二边,第二边为以第三边以及第四边作为直角边的三角形中的斜边,第三边以及第四边不属于多边形元件,第二边的边信息通过第三边以及第四边的边信息表示,第三边的方向和第四边的方向为上下方向或者左右方向,第三边和第四边的方向为在电路版图的局部坐标系中所定义的方向。
在一种可能的实现中,序列信息还包括多边形元件在电路版图中的位置。
在一种可能的实现中,位置通过多边形元件上的一个点在电路版图中的位置坐标表示。
在一种可能的实现中,所述电路版图包括多个多边形元件,所述序列信息包括每个所述多边形元件的多边形信息,所述多边形信息包括多边形元件中每个边的边信息以及多边形元件包括的多个边之间的连接顺序;且所述多边形信息在所述序列信息中的排列顺序与所述多个多边形元件在所述电路版图中的位置关系有关。
在一种可能的实现中,多边形元件为存在内部镂空区域的多边形,多个边为多边形元件的外边,多边形元件还包括多个内边,内边为内部镂空区域的外边缘,外边为多边形元件的外边缘,序列信息还包括指示多个内边的信息。
第五方面,本申请实施例提供了一种半导体设计设备,可以包括存储器、处理器以及总线系统,其中,存储器用于存储程序,处理器用于执行存储器中的程序,以执行如上述第一方面及其任一可选的方法、以及如上述第二方面及其任一可选的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面及其任一可选的方法、以及如上述第二方面及其任一可选的方法。
第七方面,本申请实施例提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面及其任一可选的方法、以及如上述第二方面及其任一可选的方法。
第八方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持执行半导体设计设备实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据;或,信息。在一种可能的设计中,芯片系统还包括存储器,存储器,用于保存执行设备或训练设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
附图说明
图1和图2为本发明的应用系统框架示意;
图3为终端的一种可选的硬件结构示意图;
图4为一种服务器的结构示意图;
图5为本申请的一种系统架构示意;
图6为一种云服务的流程;
图7为本申请实施例提供的一种数据处理方法的流程示意;
图8至图11为本申请实施例提供的一种电路版图示意;
图12至图15为一种数据处理方法的流程示意;
图16和图17为本申请实施例提供的数据处理装置的一种结构示意图;
图18为本申请实施例提供的执行设备的一种结构示意图;
图19为本申请实施例提供的训练设备一种结构示意图;
图20为本申请实施例提供的芯片的一种结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。本发明的实施方式部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。
本申请的说明书和权利要求书及上述附图中的术语“第一”、第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
本文中所用用语“基本(substantially)”、“大约(about)”及类似用语用作近似用语、而并非用作程度用语,且旨在考虑到所属领域中的普通技术人员将知的测量值或计算值的固有偏差。此外,在阐述本发明实施例时使用“可(may)”是指“可能的一个或多个实施例”。本文中所用用语“使用(use)”、“正使用(using)”、及“被使用(used)”可被视为分别与用语“利用(utilize)”、“正利用(utilizing)”、及“被利用(utilized)”同义。另外,用语“示例性(exemplary)”旨在指代实例或例示。
首先介绍本申请的应用场景,本申请可以但不限于应用在半导体设计类应用程序或者云侧服务器提供的云服务等,接下来分别进行介绍:
一、半导体设计类应用程序
本申请实施例的产品形态可以为半导体设计类应用程序。半导体设计类应用程序可以运行在终端设备或者云侧的服务器上。
在一种可能的实现中,半导体设计类应用程序可以实现光学邻近效应矫正(optical proximity correction,OPC)、集成电路版图生成、布局热点检测和良率检测、电路版图序列信息生成、电路版图的序列信息生成等任务,其中,半导体设计类应用程序可以响应于输入的电路版图的信息,并基于输入的信息实现上述任务。
在一种可能的实现中,用户可以打开终端设备上安装的半导体设计类应用程序,并输入电路版图的信息,半导体设计类应用程序可以通过本申请实施例提供的方法对电路版图的信息进行处理,并将处理结果呈现给用户。
1、光学邻近效应矫正
光学邻近效应矫正是一种光刻增强技术,通常用于补偿由于衍射或工艺影响造成的图像误差。OPC的需求主要见于半导体器件的制造,是由于光的限制,以保持边缘放置的完整性的原始设计,加工后,进入蚀刻图像在硅晶圆上。这些投影图像出现不规则,比如线宽比设计的窄或宽,这些可以通过改变用于成像的掩模上的模式进行补偿。其他的变形,如圆角,是由光学成像工具的分辨率驱动的,很难补偿。如果不加以纠正,这种变形可能会极大地改变正在制造的材料的电学性能。
光学临近矫正是通过调整掩膜版形状,减少光衍射造成影响,使得光刻出来的形状与芯片设计的形状相近。现有Rule-base和Model-base的调整方法主要依赖光学仿真进行逐步调整。在实际生产过程中,这种调整会达到10到20多次,同时光学仿真计算代价非常大,整个流程会持续几个月。因此,可以把光学邻近矫正过程理解成端到端过程,输入时集成电路设计的版图,输出是矫正后版图形状。因此可以通过深度学习去学习整个过程。最后直接通过训练好的深度网络直接预测,降低迭代次数甚至给出最终的结果,这极大提高了OPC的效率。
半导体设计类应用程序在执行OPC时,可以获取到输入的电路版图的信息,得到校正后的电路版图的信息。
2、集成电路版图生成
集成电路版图,是真实集成电路物理情况的平面几何形状描述。集成电路版图是集成电路设计中最底层步骤物理设计的成果,物理设计通过布局、布线技术将逻辑综合的成果——门级的网表转换成物理版图文件,这个文件包含了各个硬件单元在芯片上的形状、面积和位置信息。
由于设计制造过程的复杂性,获得足够的集成电路版图既昂贵又耗时。尤其是在制造工艺的演变过程中,参数和设计规则的变化,就需要重新去设计集成电路版图。因此,AI方法被应用到半导体设计制造领域,使用集成电路版图作为训练数据。基于生成模型去生成版图可以满足半导体设计制造的需求。
半导体设计类应用程序在执行集成电路版图生成的任务时,可以获取到输入的电路版图的信息,得到校正后的电路版图的信息。
3、版图热点检测
随着现代集成电路特征尺寸和光刻波长之间的差距增加,确保电路布局设计的可印刷性至关重要。然而,存在一些对光刻工艺敏感的布局图案,并且将产生不希望的印刷。这些布局模式称为布局热点,需要在物理验证阶段进行检测。
半导体设计类应用程序在执行版图热点检测的任务时,可以获取到输入的电路版图的信息,得到布局热点的检测结果。
4、良率检测
随着电子产品功能的发展和应用领域的扩大,作为电子产品的核心部件,电路版图成为了人们生活中不可或缺的一部分。电路版图生产主要分为布局设计和制造两部分。布局设计通常包含多层的电路功能设计,制造包含生产、封装、测试等流程。相同的电路版图设计采用不同制造工艺时,一些电路版图设计中在原工艺下正常的电路结构可能会出现缺陷,导致电路版图良率低于预期。这类因工艺变化而出现设计缺陷的电路结构被称为系统性缺陷。
系统性缺陷的存在会增加电路版图电路功能失效的几率,存在电路功能失效的电路版图会无法正常使用,从而导致电路版图良率降低。良率的下滑会增加生产成本,甚至导致相关产品错过销售窗口期。因此系统性缺陷的根因识别对产品的良率至关重要。为了识别出系统性缺陷,可以针对于电路版图的设计结构进行分析,来确定电路版图上存在导致电路版图故障隐患的局部片段类型。
半导体设计类应用程序在执行版图良率检测的任务时,可以获取到输入的电路版图的信息,得到良率检测结果。
5、电路版图的序列信息生成
在进行半导体设计类任务时(例如上述的1-4任务),通常利用机器学习模型对电路版图的信息进行处理,其中,电路版图的信息为像素图像。然而电路版图不同于自然图像,而是由一些有规则的多边形(polygon)组成,它们的大小以及之间的布局要求符合设计规则。因此基于像素级别(Pixel-level)的图像建模方法不能充分捕捉如几何形状和版图布局等多边形级别(Polygon-level)的信息。这会导致生成大量无规则的图案,需要大量后处理。
本申请实施例中,可以将像素图像转换为电路版图的序列信息,该序列信息可以显式建模几何形状和版图布局等多边形级别(Polygon-level)的信息,更容易学习版图设计规则,而且可以高效无损压缩集成电路版图为符号序列,更适合机器学习模型(例如transformer等序列化模型)提取特征,提高后续进行半导体设计类任务时的任务执行精度。
半导体设计类应用程序在执行电路版图的序列信息生成的任务时,可以获取到输入的电路版图的图像,得到电路版图的序列信息。
在一种可能的实现中,用户可以打开终端设备上安装的半导体设计类应用程序,并输入电路版图的信息,半导体设计类应用程序可以将电路版图的信息发送至云侧的服务器,云侧的服务器通过本申请实施例提供的方法对电路版图的信息进行处理,并将处理结果回传至终端设备,终端设备可以将处理结果呈现给用户。
接下来分别从功能架构以及实现功能的产品架构介绍本申请实施例中的半导体设计类应用程序。
参照图1,图1为本申请实施例中半导体设计类应用程序的功能架构示意:
在一种可能的实现中,如图1所示,半导体设计类应用程序102可接收输入的参数101(例如电路版图的信息)且产生对电路版图的信息的处理结果103。半导体设计类应用程序102可在(举例来说)至少一个计算机系统上执行,且包括计算机代码,所述计算机代码在由一或多个计算机执行时致使所述计算机执行用于执行本文中所描述的方法。
参照图2,图2为本申请实施例中运行半导体设计类应用程序的实体架构示意:
参见图2,图2示出了一种系统架构示意图。该系统可以包括终端100、以及服务器200。其中,服务器200可以包括一个或者多个服务器(图2中以包括一个服务器作为示例进行说明),服务器200可以为一个或者多个终端提供半导体设计类服务。
其中,终端100上可以安装有半导体设计应用程序,或者打开与半导体设计相关的网页,上述应用程序和网页可以提供一个半导体设计界面,终端100可以接收用户在半导体设计界面上输入的相关参数,并将上述参数发送至服务器200,服务器200可以基于接收到的参数,得到处理结果,并将处理结果返回至至终端100。
应理解,在一些可选的实现中,终端100也可以由自身完成基于接收到的参数,得到数据处理结果的动作,而不需要服务器配合实现,本申请实施例并不限定。
接下来描述图2中终端100的产品形态;
本申请实施例中的终端100可以为手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)等,本申请实施例对此不作任何限制。
图3示出了终端100的一种可选的硬件结构示意图。
参考图3所示,终端100可以包括射频单元110、存储器120、输入单元130、显示单元140、摄像头150(可选的)、音频电路160(可选的)、扬声器161(可选的)、麦克风162(可选的)、处理器170、外部接口180、电源190等部件。本领域技术人员可以理解,图3仅仅是终端或多功能设备的举例,并不构成对终端或多功能设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
输入单元130可用于接收输入的数字或字符信息,以及产生与该便携式多功能装置的用户设置以及功能控制有关的键信号输入。具体地,输入单元130可包括触摸屏131(可选的)和/或其他输入设备132。该触摸屏131可收集用户在其上或附近的触摸操作(比如用户使用手指、关节、触笔等任何适合的物体在触摸屏上或在触摸屏附近的操作),并根据预先设定的程序驱动相应的连接装置。触摸屏可以检测用户对触摸屏的触摸动作,将该触摸动作转换为触摸信号发送给该处理器170,并能接收该处理器170发来的命令并加以执行;该触摸信号至少包括触点坐标信息。该触摸屏131可以提供该终端100和用户之间的输入界面和输出界面。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触摸屏。除了触摸屏131,输入单元130还可以包括其他输入设备。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键132、开关按键133等)、轨迹球、鼠标、操作杆等中的一种或多种。
其中,输入设备132可以接收到输入的电路版图的信息等等。
该显示单元140可用于显示由用户输入的信息或提供给用户的信息、终端100的各种菜单、交互界面、文件显示和/或任意一种多媒体文件的播放。在本申请实施例中,显示单元140可用于显示半导体设计应用程序的界面、处理结果等。
该存储器120可用于存储指令和数据,存储器120可主要包括存储指令区和存储数据区,存储数据区可存储各种数据,如多媒体文件、文本等;存储指令区可存储操作系统、应用、至少一个功能所需的指令等软件单元,或者他们的子集、扩展集。还可以包括非易失性随机存储器;向处理器170提供包括管理计算处理设备中的硬件、软件以及数据资源,支持控制软件和应用。还用于多媒体文件的存储,以及运行程序和应用的存储。
处理器170是终端100的控制中心,利用各种接口和线路连接整个终端100的各个部分,通过运行或执行存储在存储器120内的指令以及调用存储在存储器120内的数据,执行终端100的各种功能和处理数据,从而对终端设备进行整体控制。可选的,处理器170可包括一个或多个处理单元;优选的,处理器170可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器170中。在一些实施例中,处理器、存储器、可以在单一芯片上实现,在一些实施例中,他们也可以在独立的芯片上分别实现。处理器170还可以用于产生相应的操作控制信号,发给计算处理设备相应的部件,读取以及处理软件中的数据,尤其是读取和处理存储器120中的数据和程序,以使其中的各个功能模块执行相应的功能,从而控制相应的部件按指令的要求进行动作。
其中,存储器120可以用于存储方法相关的软件代码,处理器170可以执行芯片的方法的步骤,也可以调度其他单元(例如上述输入单元130以及显示单元140)以实现相应的功能。
该射频单元110(可选的)可用于收发信息或通话过程中信号的接收和发送,例如,将基站的下行信息接收后,给处理器170处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,射频单元110还可以通过无线通信与网络设备和其他设备通信。该无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General PacketRadio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
其中,在本申请实施例中,该射频单元110可以将芯片的参数发送至服务器200,并接收到服务器200发送的处理结果。
应理解,该射频单元110为可选的,其可以被替换为其他通信接口,例如可以是网口。
终端100还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器170逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
终端100还包括外部接口180,该外部接口可以是标准的Micro USB接口,也可以使多针连接器,可以用于连接终端100与其他装置进行通信,也可以用于连接充电器为终端100充电。
尽管未示出,终端100还可以包括闪光灯、无线保真(wireless fidelity,WiFi)模块、蓝牙模块、不同功能的传感器等,在此不再赘述。下文中描述的部分或全部方法均可以应用在如图3所示的终端100中。
接下来描述图2中服务器200的产品形态;
图4提供了一种服务器200的结构示意图,如图4所示,服务器200包括总线201、处理器202、通信接口203和存储器204。处理器202、存储器204和通信接口203之间通过总线201通信。
总线201可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器202可以为中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器204可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。存储器204还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard drivedrive,HDD)或固态硬盘(solid state drive,SSD)。
其中,存储器204可以用于存储方法相关的软件代码,处理器202可以执行芯片的方法的步骤,也可以调度其他单元以实现相应的功能。
应理解,上述终端100和服务器200可以为集中式或者是分布式的设备,上述终端100和服务器200中的处理器(例如处理器170以及处理器202)可以为硬件电路(如专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、通用处理器、数字信号处理器(digital signalprocessing,DSP)、微处理器或微控制器等等)、或这些硬件电路的组合,例如,处理器可以为具有执行指令功能的硬件系统,如CPU、DSP等,或者为不具有执行指令功能的硬件系统,如ASIC、FPGA等,或者为上述不具有执行指令功能的硬件系统以及具有执行指令功能的硬件系统的组合。
应理解,本申请实施例中的数据处理方法涉及AI相关的运算,下面结合图5对本申请实施例提供的系统架构进行详细的介绍。
图5为本申请实施例提供的系统架构示意图。如图5所示,系统架构500包括执行设备510、训练设备520、数据库530、客户设备540、数据存储系统550以及数据采集系统560。
执行设备510包括计算模块511、I/O接口512、预处理模块513和预处理模块514。计算模块511中可以包括目标模型/规则501,预处理模块513和预处理模块514是可选的。
数据采集设备560用于采集训练样本。训练样本可以包括电路版图的信息等。在采集到训练样本之后,数据采集设备560将这些训练样本存入数据库530。
训练设备520可以基于数据库530中维护训练样本,对待训练的神经网络(例如本申请实施例中的机器学习模型等),以得到目标模型/规则501。
需要说明的是,在实际应用中,数据库530中维护的训练样本不一定都来自于数据采集设备560的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备520也不一定完全基于数据库530维护的训练样本进行目标模型/规则501的训练,也有可能从云端或其他地方获取训练样本进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备520训练得到的目标模型/规则501可以应用于不同的系统或设备中,如应用于图5所示的执行设备510,该执行设备510可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备,车载终端等,还可以是服务器等。
具体的,训练设备520可以将训练后的模型传递至执行设备510。
在图5中,执行设备510配置输入/输出(input/output,I/O)接口512,用于与外部设备进行数据交互,用户可以通过客户设备540向I/O接口512输入数据(例如本申请实施例中的电路版图的信息等)。
预处理模块513和预处理模块514用于根据I/O接口512接收到的输入数据进行预处理。应理解,可以没有预处理模块513和预处理模块514或者只有的一个预处理模块。当不存在预处理模块513和预处理模块514时,可以直接采用计算模块511对输入数据进行处理。
在执行设备510对输入数据进行预处理,或者在执行设备510的计算模块511执行计算等相关的处理过程中,执行设备510可以调用数据存储系统550中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统550中。
最后,I/O接口512将处理结果提供给客户设备540,从而提供给用户。
在图5所示情况下,用户可以手动给定输入数据,该“手动给定输入数据”可以通过I/O接口512提供的界面进行操作。另一种情况下,客户设备540可以自动地向I/O接口512发送输入数据,如果要求客户设备540自动发送输入数据需要获得用户的授权,则用户可以在客户设备540中设置相应权限。用户可以在客户设备540查看执行设备510输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备540也可以作为数据采集端,采集如图所示输入I/O接口512的输入数据及输出I/O接口512的输出结果作为新的样本数据,并存入数据库530。当然,也可以不经过客户设备540进行采集,而是由I/O接口512直接将如图所示输入I/O接口512的输入数据及输出I/O接口512的输出结果,作为新的样本数据存入数据库530。
值得注意的是,图5仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图5中,数据存储系统550相对执行设备510是外部存储器,在其它情况下,也可以将数据存储系统550置于执行设备510中。应理解,上述执行设备510可以部署于客户设备540中。
从模型的推理侧来说:
本申请实施例中,上述执行设备520的计算模块511可以获取到数据存储系统550中存储的代码来实现本申请实施例中的数据处理方法。
本申请实施例中,执行设备520的计算模块511可以包括硬件电路(如专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、通用处理器、数字信号处理器(digital signalprocessing,DSP)、微处理器或微控制器等等)、或这些硬件电路的组合,例如,训练设备520可以为具有执行指令功能的硬件系统,如CPU、DSP等,或者为不具有执行指令功能的硬件系统,如ASIC、FPGA等,或者为上述不具有执行指令功能的硬件系统以及具有执行指令功能的硬件系统的组合。
具体的,执行设备520的计算模块511可以为具有执行指令功能的硬件系统,本申请实施例提供的连接关系预测方法可以为存储在存储器中的软件代码,执行设备520的计算模块511可以从存储器中获取到软件代码,并执行获取到的软件代码来实现本申请实施例提供的数据处理方法。
应理解,执行设备520的计算模块511可以为不具有执行指令功能的硬件系统以及具有执行指令功能的硬件系统的组合,本申请实施例提供的数据处理方法的部分步骤还可以通过执行设备520的计算模块511中不具有执行指令功能的硬件系统来实现,这里并不限定。
从模型的训练侧来说:
本申请实施例中,上述训练设备520可以获取到存储器(图5中未示出,可以集成于训练设备520或者与训练设备520分离部署)中存储的代码来实现本申请实施例中和模型训练相关的步骤。
本申请实施例中,训练设备520可以包括硬件电路(如专用集成电路(applicationspecific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gatearray,FPGA)、通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器等等)、或这些硬件电路的组合,例如,训练设备520可以为具有执行指令功能的硬件系统,如CPU、DSP等,或者为不具有执行指令功能的硬件系统,如ASIC、FPGA等,或者为上述不具有执行指令功能的硬件系统以及具有执行指令功能的硬件系统的组合。
应理解,训练设备520可以为不具有执行指令功能的硬件系统以及具有执行指令功能的硬件系统的组合,本申请实施例提供的中和模型训练相关的部分步骤还可以通过训练设备520中不具有执行指令功能的硬件系统来实现,这里并不限定。
二、服务器提供的半导体设计类云服务:
在一种可能的实现中,服务器可以通过应用程序编程接口(applicationprogramming interface,API)为端侧提供半导体设计的服务。
其中,终端设备可以通过云端提供的API,将相关参数(例如电路版图的信息)发送至服务器,服务器可以基于接收到的参数,得到处理结果,并将处理结果(例如电路版图的信息的处理结果等)返回至至终端。
其中,终端设备可以通过云端提供的API,将相关参数(例如电路版图的图像)发送至服务器,服务器可以基于接收到的参数,得到处理结果,并将处理结果(例如电路版图的序列信息等)返回至至终端。
关于终端以及服务器的描述可以上述实施例的描述,这里不再赘述。
如图6示出了使用一项云平台提供的半导体设计类云服务的流程。
1.开通并购买内容审核服务。
2.用户可以下载内容审核服务对应的软件开发工具包(software developmentkit,SDK),通常云平台提供多个开发版本的SDK,供用户根据开发环境的需求选择,例如JAVA版本的SDK、python版本的SDK、PHP版本的SDK、Android版本的SDK等。
3.用户根据需求下载对应版本的SDK到本地后,将SDK工程导入至本地开发环境,在本地开发环境中进行配置和调试,本地开发环境还可以进行其他功能的开发,使得形成一个集合了半导体设计类能力的应用。
4.半导体设计类应用在被使用的过程中,当需要进行半导体设计时,可以触发半导体设计的API调用。当应用触发半导体设计功能时,发起API请求至云环境中的半导体设计类服务的运行实例,其中,API请求中携带电路版图的信息,由云环境中的运行实例对电路版图的信息进行处理,获得处理结果。
5.云环境将处理结果返回至应用,由此完成一次的半导体设计服务调用。
关于终端以及服务器的描述可以上述实施例的描述,这里不再赘述。
本申请实施例涉及了许多关于半导体设计以及人工智能的相关知识,为了更好地理解本申请实施例的方案,下面先对本申请实施例可能涉及的相关术语和概念进行介绍。应理解的是,相关的概念解释可能会因为本申请实施例的具体情况有所限制,但并不代表本申请仅能局限于该具体情况,在不同实施例的具体情况可能也会存在差异,具体此处不做限定。
(1)电路版图
是真实集成电路物理情况的平面几何形状描述。集成电路版图是集成电路设计中最底层步骤物理设计的成果,物理设计通过布局、布线技术将逻辑综合的成果——门级的网表转换成物理版图文件,这个文件包含了各个硬件单元在芯片上的形状、面积和位置信息。
(2)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs(即输入数据)和截距1为输入的运算单元,该运算单元的输出可以为:
Figure BDA0003810047100000161
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(3)深度神经网络
深度神经网络(Deep Neural Network,DNN),也称多层神经网络,可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准。从DNN按不同层的位置划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:
Figure BDA0003810047100000171
其中,
Figure BDA0003810047100000172
是输入向量,
Figure BDA0003810047100000173
是输出向量,
Figure BDA0003810047100000174
是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量
Figure BDA0003810047100000175
经过如此简单的操作得到输出向量
Figure BDA0003810047100000176
由于DNN层数多,则系数W和偏移向量
Figure BDA0003810047100000177
的数量也就很多了。这些参数在DNN中的定义如下所述:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为
Figure BDA0003810047100000178
上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。总结就是:第L-1层的第k个神经元到第L层的第j个神经元的系数定义为
Figure BDA0003810047100000179
需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(4)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(5)反向传播算法
卷积神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的超分辨率模型中参数的大小,使得超分辨率模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的超分辨率模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的超分辨率模型的参数,例如权重矩阵。
(6)transformer
神经网络包括嵌入层和至少一个transformer层,至少一个transformer层可以为N个transformer层(N大于0的整数),其中,每个transformer层包括依次相邻的注意力层、加和与归一化(add&norm)层、前馈(feed forward)层和加和与归一化层。在嵌入层,对当前输入进行嵌入处理,得到多个嵌入向量;在所述注意力层,从所述第一transformer层的上一层获取P个输入向量,以P个输入向量中的任意的第一输入向量为中心,基于预设的注意力窗口范围内的各个输入向量与该第一输入向量之间的关联度,得到该第一输入向量对应的中间向量,如此确定出P个输入向量对应的P个中间向量;在所述池化层,将所述P个中间向量合并为Q个输出向量,其中transformer层中最后一个transformer层得到的多个输出向量用作所述当前输入的特征表示。
(7)注意力机制(attention mechanism)
注意力机制模仿了生物观察行为的内部过程,即一种将内部经验和外部感觉对齐从而增加部分区域的观察精细度的机制,能够利用有限的注意力资源从大量信息中快速筛选出高价值信息。注意力机制可以快速提取稀疏数据的重要特征,因而被广泛用于自然语言处理任务,特别是机器翻译。而自注意力机制(self-attention mechanism)是注意力机制的改进,其减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性。注意力机制的本质思想可以改写为如下公式:
其中,Lx=||Source||代表Source的长度,公式含义即将Source中的构成元素想象成是由一系列的数据对构成,此时给定目标Target中的某个元素Query,通过计算Query和各个Key的相似性或者相关性,得到每个Key对应Value的权重系数,然后对Value进行加权求和,即得到了最终的Attention数值。所以本质上Attention机制是对Source中元素的Value值进行加权求和,而Query和Key用来计算对应Value的权重系数。从概念上理解,把Attention可以理解为从大量信息中有选择地筛选出少量重要信息并聚焦到这些重要信息上,忽略大多不重要的信息。聚焦的过程体现在权重系数的计算上,权重越大越聚焦于其对应的Value值上,即权重代表了信息的重要性,而Value是其对应的信息。自注意力机制可以理解为内部Attention(intra attention),Attention机制发生在Target的元素Query和Source中的所有元素之间,自注意力机制指的是在Source内部元素之间或者Target内部元素之间发生的Attention机制,也可以理解为Target=Source这种特殊情况下的注意力计算机制,其具体计算过程是一样的,只是计算对象发生了变化而已。
近年来,AI广泛应用在光学临近矫正、集成电路版图生成布局热点检测和良率检测等半导体设计制造领域。
光学临近矫正是通过调整掩膜版形状,减少光衍射造成影响,使得光刻出来的形状与芯片设计的形状相近。集成电路版图是半导体设计制造领域的关键资源,被广泛应用于光刻建模、光学邻近校正,布局热点检测。然而由于设计制造过程的复杂性,获得足够的集成电路版图既昂贵又耗时。尤其是在制造工艺的演变过程中,参数和设计规则的变化,就需要重新去设计集成电路版图。另外AI方法被应用到半导体设计制造领域,需要更多集成电路版图作为训练数据。基于生成模型去生成版图可以满足半导体设计制造的需求。
AI在半导体设计制造领的应用通常将集成电路版图看作图像,建模像素级别的关系。例如对于光学临近矫正来说,一般将版图看成图像,利用机器学习模型,输出光学矫正后的图片。集成电路版图生成也是将版图看成图像,利用机器学习模型来拟合图像的分布,然后生成新的电路版图。
然而版图不同于自然图像,而是由一些有规则的多边形元件组成,它们的大小以及之间的布局要求符合设计规则。因此基于Pixel-level的图像建模方法不能充分捕捉如几何形状和版图布局等Polygon-level的信息。这会导致生成大量无规则的图案,需要大量后处理,机器学习模型输出的数据的精度较低。
为了解决上述问题,本申请提供了一种数据处理方法。
参照图7,图7为本申请实施例提供的一种数据处理方法的实施例的流程示意,其中,数据处理方法包括:
701、获取电路版图的序列信息;其中,所述电路版图包括多边形元件,所述多边形元件包括多个边;所述序列信息包括每个边的边信息以及所述多个边之间的连接顺序,所述边信息包括边的方向和长度。
在一种可能的实现中,可以将电路版图(例如图片或者其他信息格式的数据)转换为序列信息,序列信息可以通过文本格式的数据来表示。
其中,一个电路版图可以包括一个或多个多边形元件,为了能够描述出电路版图中多边形元件的几何形状、多边形元件的版图布局等Polygon-level的信息,需要对电路版图中的多边形元件进行编码,得到电路版图的序列信息,电路版图的序列信息可以示例性的包含多边形元件的几何信息以及位置信息、或者几何信息和位置信息中的一个,其中,几何信息可以包括多边形元件中每个边的边信息以及所述多个边之间的连接顺序。位置信息可以包括多边形元件在电路版图中的位置。
其中,每个边的边信息以及所述多个边之间的连接顺序可以通过字符表示。
关于位置信息:
在一种可能的实现中,所述序列信息还包括所述多边形元件在所述电路版图中的位置。
在一种可能的实现中,序列信息可以包括多边形元件上的一个特征点在电路版图上的位置,也就是可以通过多边形元件上的一个点的位置来表示多边形元件在电路版图中的位置。例如可以包括所述多边形元件上的一个点在所述电路版图中的位置坐标。
在一种可能的实现中,序列信息可以包括多边形元件上的一个边或者各个边在电路版图上的位置。
例如,多边形按照统一规则选取一个起始点,该起始点在所述电路版图中的位置坐标可以表示多边形元件在电路版图中的位置。例如,可以选取y坐标最小的点,如果y相等,选取x坐标的最小的点(或者选取x坐标最小的点,如果x相等,选取y坐标的最小的点)。
应理解,位置信息可以通过序列信息中单独的位置信息进行指示,也可以是序列信息中单独的位置信息并结合其他信息(例如后续介绍的边信息)来指示。
例如,多边形元件上的一个点的位置信息可以作为整体位置的基准,结合各个边的位置信息(例如可以通过边的长度、方向、连接关系等表示)可以表征出多边形元件在电路版图中的位置。
例如,多边形元件上的一个边的位置信息可以作为整体位置的基准,结合各个边的位置信息(例如可以通过边的长度、方向、连接关系等表示)可以表征出多边形元件在电路版图中的位置。又例如,可以将每个边的位置信息结合每个边的长度、方向等信息表征出多边形元件在电路版图中的位置。
此外,还可以通过其他方式描述电路版图中各个多边形元件所处的位置,例如利用多边形的中心点位置来表示电路版图中多边形元件所处的位置,这里并不限定。
关于边信息:
在一种可能的实现中,所述边信息可以用于描述边的几何信息,例如边信息可以包括边的方向和长度。
在电路版图定义的局部坐标系下,一部分边可以是左右方向(或者可以称之为水平方向)或者是上下方向(或者可以称之为垂直方向或者竖直方向)的,针对于这样的边(以具备上述特征的边为第一边为例),所述第一边的方向可以为如下方向的一种:上下方向、左右方向、由上到下的方向、由下到上的方向、由左到右的方向或者由右到左的方向。
例如,参照图8。在一种可能的实现中,所述第一边的方向通过标识指示,例如,可以定义四个符号:[Up]、[Left]、[Right]和[Down]来表示水平和垂直上的四个方向,[Up]可以表示由下到上的方向,[Left]可以表示由右到左的方向,[Right]可以表示由左到右的方向,[Down]可以表示由上到下的方向。
在电路版图定义的坐标系下,一部分边可以是倾斜的(也就是既不是左右方向也不是上下方向,和x轴的夹角为锐角),针对于这样的边(以具备上述特征的边为第二边为例),而任意一个倾斜的边都可以作为一个直角三角形的斜边而使用直角边来表示。
在一种可能的实现中,所述多个边可以包括第二边,所述第二边为以第三边以及第四边作为直角边的三角形中的斜边,所述第三边以及所述第四边不属于所述多边形元件,所述第二边的边信息通过所述第三边以及第四边的边信息表示,所述第三边的方向和第四边的方向为上下方向或者左右方向,所述第三边和第四边的方向为在所述电路版图的局部坐标系中所定义的方向。
例如,参照图9。图9示出的电路版图中存在斜线,可以增加如图所示的虚拟点V,并引入一对标识符例如[SOV]和[EOV]来分别标识序列中版图斜线。因此可以把上述有任意角度斜线的多边形序列化为:[SOP],x0,y0,[Down],d1,[SOV],d2,[Right],d3,[EOV],d4,[Up],d5,[Left],d6,[Up],d7,[L],d8,[EOP]。
应理解,在确定电路版图的局部坐标系时,可以将坐标系的参考轴的方向设置为使得在该坐标系下的大多数边为左右方向或者上下方向,可以大大降低编码的难度。此外还可以通过其他的方式来表示边的方向,例如边和参考轴的夹角大小等,这里并不限定。
在一种可能的实现中,所述序列信息包括多个边之间的连接顺序,例如,所述多个边的边信息在所述序列信息中按照目标顺序排列,所述多个边之间的连接顺序通过所述目标顺序指示。对于多边形元件中的两个相邻边来说,其在序列信息中的边信息也是相邻的,例如,多边形元件中边1、边2和边3依次连接,则在序列信息中,边1的边信息、边2的边信息和边3的边信息也是依次设置的。
如图9所示,每个多边形(Polygon)被表示为包含起点的坐标以及从起点沿逆时针方向(或顺时针)依次穿过所有边缘的方向和偏移的序列。具体来说,每个多边形都用一对符号例如[SOP]和[EOP]来标识,分别指示图案序列的开始和结束。所有的多边形按照统一规则选取起始点,例如选取y坐标最小的点,如果y相等,选取x坐标的最小的点(或者选取x坐标最小的点,如果x相等,选取y坐标的最小的点)。定义了四个符号例如[Up]、[Left]、[Right]和[Down]来表示水平和垂直四个方向。每个方向后跟一个偏移值,指示边的长度。定义某一长度为最小单位1,起点和偏移的坐标被离散为[1,N]中的整数,1是最小距离单位,N是版图的最大长度。
版图中所有多边形包含在一对符号例如[SOB]和[EOB],分别表示版图序列化的头部和尾部。版图中所有多边形,根据多边形起始点坐标按照一定规则进行排序,例如根据多边形起始点y坐标做小到大排序,如果y坐标相同,x坐标较小的多变优先(或者根据多边形起始点x坐标做小到大排序,如果x坐标相同,y坐标较小的多变优先)。
在一种可能的实现中,所述多边形元件为存在内部镂空区域的多边形,所述多个边为所述多边形元件的外边,所述多边形元件还包括多个内边,所述内边为所述内部镂空区域的外边缘,所述外边为所述多边形元件的外边缘,所述序列信息还包括指示所述多个内边的信息。可选的,指示所述多个内边的信息可以为内边的上的一个点投影在外边上的一个投影点。
例如,电路版图中可以存在内部镂空的多边形(或者可以描述为,多边形元件存在中空区域或者内嵌图形),可以把图10看成两个多边形,外边的多边形根据正常多边形已经定义好的规则序列化,例如序列化为:[P0,P1,P2,P5,P0]。对于内嵌图形,可以统一定义规则进行序列化,例如以y坐标最大,如果y左边相同,以x左边最大点为起始点,按照顺时针排序[P7,P8,P9,P10]。然后以起始点P7垂直(或者水平)上投影到外边的多边形p6,并引入如图10的虚拟长度。因此可以将图X所示的多边形元件序列化为:[P0,P1,P2,P5,P6,P7,P8,P9,P10,P6,P0]。
可以通过上述方式对电路版图中的各个多边形元件进行编码,得到序列信息。
在一种可能的实现中,所述电路版图包括多个多边形元件,所述序列信息包括每个所述多边形元件的多边形信息,所述多边形信息包括多边形元件中每个边的边信息以及多边形元件包括的多个边之间的连接顺序;且所述多边形信息在所述序列信息中的排列顺序与所述多个多边形元件在所述电路版图中的位置关系有关。
其中,电路版图可以包括多个多边形元件,对于电路版图的序列信息来说,各个多边形信息可以按照一定的规则进行排布,其中,上述规则可以与多个多边形元件在所述电路版图中的位置关系有关。例如优先位置中y值较大的,在y值相同的情况下,优先x值较大的。
根据上述规则,电路版图可以无损压缩为符号序列,而且符合序列也可以无损恢复出电路版图。
702、通过机器学习模型,对所述序列信息进行处理,得到所述电路版图对应的处理结果。
在一种可能的实现中,所述机器学习模型可以用于实现光学邻近效应矫正任务;在进行光学邻近效应矫正任务时,原始电路版图中的多边形元件上边的至少一个段可以被指定为调整段,所谓调整段是指在矫正时,调整段可以被允许沿着一定的方向(例如朝向多边形元件内部或外部)偏移。在这种情况下,序列信息还可以包括调整段的位置信息。
在一种可能的实现中,机器学习模型用于实现光学邻近效应矫正任务;多边形元件的多个边上还包括断点,所述多边形元件的多个边上包括至少一个调整段,所述序列信息包括所述至少一个调整段的位置;例如,调整段可以理解为位置可以被移动的段,该段可以为多边形上一个边的部分。其中,调整段的位置可以通过两个端点(或者可以称之为断点)的位置来表示;也就是说,序列信息可以包括多个断点的位置;进而,通过机器学习模型,对序列信息进行处理,得到电路版图对应的处理结果,包括:通过机器学习模型,对序列信息进行处理,预测所述至少一个调整段的位置偏移。
应理解,调整段的位置可以为用户指定,也可以对电路版图进行识别得到的,识别方法可以是基于经验或者是通过神经网络等数值方法,这里并不限定。
在一种可能的实现中,所述序列信息还包括与每个所述调整段对应的初始特征表示(或者可以称之为可学习的语义向量);所述通过机器学习模型,对所述序列信息进行处理,预测所述至少一个调整段的位置偏移,包括:通过机器学习模型中的特征提取网络,对所述序列信息进行特征提取,得到所述序列信息的目标特征表示;根据所述目标特征表示,通过机器学习模型中的预测网络,预测所述至少一个调整段的位置偏移。
示例性的,电路版图中多边形可以存在至少一个调整边,OPC通过调整这些边的偏移产生满足OPC的图案。OPC可以理解为一种端到端过程,输入时集成电路设计的版图,输出是矫正后版图形状。序列化OPC预测学习方法将含有多边形断点的版图转换成序列,通过序列模型(Transformer,RNNs等)建模Polygon-Level信息来预测矫正后版图。
如图11所示含有断点的多边形可以根据集成电路版图序列化方法转换成如下序列:
[SOP],x0,y0,[Down],d1,[Right],d21,d22,d23,d24,[Down],d31,d32,d33,d34,[Right],d4,[Up],d51,,d52,d53,d54,d55,[Left],d61,d62,d63,d64,[EOP]。
针对断点处的每一条边引入一个可学习的向量表征该边的偏移量,用符号[M]表示。因此可以得到如下序列:
[SOP],x0,y0,[Down],d1,[Right],d21,[M],d22,[M],d23,[M],d24,[M],[Down],d31,[M],d32,[M],d33,[M],d34,[M],[Right],d4,[Up],d51,[M],d52,[M],d53,[M],d54,[M],d55,[M],[Left],d61,[M],d62,[M],d63,[M],d64,[M],[EOP]。(应理解:语义符号[M]也可以放断点处边的前面如……[M],d21,[M],d22,…)。
根据上述方法,可以将含有断点的版图序列化,并引入语义符号[M]和相应的可学习向量。然后采用Transformer等序列化模型建模[M]与序列中几何形状和位置关系,最后根据相应的可学习向量来预测断点处边的偏移量。采用两种方案对偏移量进行预测,一种方案是回归预测,另一种方案是通过断点处边的偏移量进行离散化,把偏移量预测转换成分类问题。
上述序列化OPC学习方法可以通过训练数据来学习OPC过程,最后实现矫正后版图形状预测,其具体学习预测框架可以示例性的如图12所示。通过上述方式,针对断点处每一条边引入可学习的语义向量M,通过建模多边形级别Polygon-level的信息对边的偏移进行预测。与现有基于图像进行的OPC相比,不仅运算更快,预测精度更高,不需要后处理。
在一种可能的实现中,所述机器学习模型用于实现电路版图生成任务;所述多个边为所述多边形元件上的部分边;所述通过机器学习模型,对所述序列信息进行处理,得到所述电路版图对应的处理结果,包括:通过机器学习模型,对所述序列信息进行处理,得到所述多边形元件上另一部分边的边信息。
示例性的,可以利用本申请实施例中的数据处理方法将真实的版图进行序列化,然后训练一个自回归生成模型,例如可以参照13所示,具体来讲,序列中每个符号可以是基于前面生成的符号合生成的,如图14所示,给定一个起始提示符作为输入,例如”[SOB],[SOP]",输入到序列化模型,得到一个关于所有符号的类别分布,从分布中采样一个符号作为生成符号,然后加入序列中作为预测后续符号输入到模型继续生成。重复上面的生成过程,直到遇到终止符号[EOB],生成结束。生成版图序列可以转换成版图。
生成的版图不仅要符合设计规则而且要与真实的版图相似。同时为更好应用于光刻建模、光学邻近校正,布局热点检测等半导体设计制造领域,生成版图的多样性要最大。从训练好的模型中生成100000个模式,并评估它们的多样性和合法性。通过工具Klayout检查版图是否符合设计规则。之后,进一步评估合法版图的多样性。具体结果如下表所示:
Figure BDA0003810047100000231
此外,评估了生成的合法版图与真实版图相似性,其结果如下:
Figure BDA0003810047100000232
在没有任何后处理的情况下,序列化版图生成方法在生成质量合法性和多样性性能明显好于现有加大量后处理的方法。
本申请在电路版图的生成质量、多样性等指标超过其他SOTA方法,而且不需要大量后处理。
在一种可能的实现中,所述机器学习模型用于实现电路版图的热点检测任务或者良率检测任务。
本申请实施例提供了一种数据处理方法,所述方法包括:获取电路版图的序列信息;其中,所述电路版图包括多边形元件,所述多边形元件包括多个边;所述序列信息包括每个边的边信息以及所述多个边之间的连接顺序,所述边信息包括边的方向和长度;通过机器学习模型,对所述序列信息进行处理,得到所述电路版图对应的处理结果。通过上述方式,可以显式建模电路版图的几何形状和版图布局等多边形级别的信息,更容易学习版图设计规则,而且可以高效无损压缩集成电路版图为符号序列(序列信息),使得机器学习模型可以提取更准确的特征。
参照图15,本申请实施例还提供了一种数据处理方法,所述方法包括:
1501、获取电路版图的图像,所述图像的图像内容包括多边形元件;
1502、根据所述图像,生成所述电路版图的序列信息;其中,所述多边形元件包括多个边;所述序列信息包括每个边的边信息以及所述多个边之间的连接顺序,所述边信息包括边的方向和长度。
关于步骤1502的具体描述可以参照上述实施例中步骤701的描述,这里不再赘述。
在一种可能的实现中,多个边包括第一边,第一边的方向为如下方向的一种:上下方向、左右方向、由上到下的方向、由下到上的方向、由左到右的方向或者由右到左的方向,方向为在电路版图的局部坐标系中所定义的方向。
在一种可能的实现中,第一边的方向通过标识指示。
在一种可能的实现中,多个边的边信息在序列信息中按照目标顺序排列,多个边之间的连接顺序通过目标顺序指示。
在一种可能的实现中,多个边包括第二边,第二边为以第三边以及第四边作为直角边的三角形中的斜边,第三边以及第四边不属于多边形元件,第二边的边信息通过第三边以及第四边的边信息表示,第三边的方向和第四边的方向为上下方向或者左右方向,第三边和第四边的方向为在电路版图的局部坐标系中所定义的方向。
在一种可能的实现中,所述电路版图包括多个多边形元件,所述序列信息包括每个所述多边形元件的多边形信息,所述多边形信息包括多边形元件中每个边的边信息以及多边形元件包括的多个边之间的连接顺序;且所述多边形信息在所述序列信息中的排列顺序与所述多个多边形元件在所述电路版图中的位置关系有关。
在一种可能的实现中,序列信息还包括多边形元件在电路版图中的位置。
在一种可能的实现中,位置通过多边形元件上的一个点在电路版图中的位置坐标表示。
在一种可能的实现中,多边形元件为存在内部镂空区域的多边形,多个边为多边形元件的外边,多边形元件还包括多个内边,内边为内部镂空区域的外边缘,外边为多边形元件的外边缘,序列信息还包括指示多个内边的信息。
参照图16,图16为本申请实施例提供的一种数据处理装置的结构示意,如图16所示,所述装置1600可以包括:
获取模块1601,用于获取电路版图的序列信息;其中,所述电路版图包括多边形元件,所述多边形元件包括多个边;所述序列信息包括每个边的边信息以及所述多个边之间的连接顺序,所述边信息包括边的方向和长度;
其中,关于获取模块1601的描述可以参照上述实施例中步骤701的描述,这里不再赘述。
处理模块1602,用于通过机器学习模型,对所述序列信息进行处理,得到所述电路版图对应的处理结果。
其中,关于处理模块1602的描述可以参照上述实施例中步骤702的描述,这里不再赘述。
在一种可能的实现中,多个边包括第一边,第一边的方向为如下方向的一种:上下方向、左右方向、由上到下的方向、由下到上的方向、由左到右的方向或者由右到左的方向,方向为在电路版图的局部坐标系中所定义的方向。
在一种可能的实现中,第一边的方向通过标识指示。
在一种可能的实现中,多个边的边信息在序列信息中按照目标顺序排列,多个边之间的连接顺序通过目标顺序指示。
在一种可能的实现中,多个边包括第二边,第二边为以第三边以及第四边作为直角边的三角形中的斜边,第三边以及第四边不属于多边形元件,第二边的边信息通过第三边以及第四边的边信息表示,第三边的方向和第四边的方向为上下方向或者左右方向,第三边和第四边的方向为在电路版图的局部坐标系中所定义的方向。
在一种可能的实现中,序列信息还包括多边形元件在电路版图中的位置。
在一种可能的实现中,位置通过多边形元件上的一个点在电路版图中的位置坐标表示。
在一种可能的实现中,所述电路版图包括多个多边形元件,所述序列信息包括每个所述多边形元件的多边形信息,所述多边形信息包括多边形元件中每个边的边信息以及多边形元件包括的多个边之间的连接顺序;且所述多边形信息在所述序列信息中的排列顺序与所述多个多边形元件在所述电路版图中的位置关系有关。
在一种可能的实现中,多边形元件为存在内部镂空区域的多边形,多个边为多边形元件的外边,多边形元件还包括多个内边,内边为内部镂空区域的外边缘,外边为多边形元件的外边缘,序列信息还包括指示多个内边的信息。
在一种可能的实现中,所述机器学习模型用于实现光学邻近效应矫正任务;所述多边形元件的多个边上包括至少一个调整段,所述序列信息包括所述至少一个调整段的位置;
所述处理模块,具体用于:
通过机器学习模型,对所述序列信息进行处理,预测所述至少一个调整段的位置偏移。
在一种可能的实现中,所述序列信息还包括与每个所述调整段对应的初始特征表示;
所述处理模块,具体用于:
通过机器学习模型中的特征提取网络,对所述序列信息进行特征提取,得到所述序列信息的目标特征表示;
根据所述目标特征表示,通过机器学习模型中的预测网络,预测所述至少一个调整段的位置偏移。
在一种可能的实现中,所述机器学习模型用于实现电路版图生成任务;所述多个边为所述多边形元件上的部分边;
所述处理模块,具体用于:
通过机器学习模型,对所述序列信息进行处理,得到所述多边形元件上另一部分边的边信息。
在一种可能的实现中,机器学习模型用于实现电路版图的热点检测任务或者良率检测任务。
参照图17,图17为本申请实施例提供的一种数据处理装置的结构示意,如图17所示,所述装置1700可以包括:
获取模块1701,用于获取电路版图的图像,所述图像的图像内容包括多边形元件;
其中,关于获取模块1701的描述可以参照上述实施例中步骤1501的描述,这里不再赘述。
生成模块1702,用于根据所述图像,生成所述电路版图的序列信息;其中,所述多边形元件包括多个边;所述序列信息包括每个边的边信息以及所述多个边之间的连接顺序,所述边信息包括边的方向和长度。
其中,关于生成模块1702的描述可以参照上述实施例中步骤1502的描述,这里不再赘述。
在一种可能的实现中,多个边包括第一边,第一边的方向为如下方向的一种:上下方向、左右方向、由上到下的方向、由下到上的方向、由左到右的方向或者由右到左的方向,方向为在电路版图的局部坐标系中所定义的方向。
在一种可能的实现中,第一边的方向通过标识指示。
在一种可能的实现中,多个边的边信息在序列信息中按照目标顺序排列,多个边之间的连接顺序通过目标顺序指示。
在一种可能的实现中,多个边包括第二边,第二边为以第三边以及第四边作为直角边的三角形中的斜边,第三边以及第四边不属于多边形元件,第二边的边信息通过第三边以及第四边的边信息表示,第三边的方向和第四边的方向为上下方向或者左右方向,第三边和第四边的方向为在电路版图的局部坐标系中所定义的方向。
在一种可能的实现中,序列信息还包括多边形元件在电路版图中的位置。
在一种可能的实现中,位置通过多边形元件上的一个点在电路版图中的位置坐标表示。
在一种可能的实现中,所述电路版图包括多个多边形元件,所述序列信息包括每个所述多边形元件的多边形信息,所述多边形信息包括多边形元件中每个边的边信息以及多边形元件包括的多个边之间的连接顺序;且所述多边形信息在所述序列信息中的排列顺序与所述多个多边形元件在所述电路版图中的位置关系有关。
在一种可能的实现中,多边形元件为存在内部镂空区域的多边形,多个边为多边形元件的外边,多边形元件还包括多个内边,内边为内部镂空区域的外边缘,外边为多边形元件的外边缘,序列信息还包括指示多个内边的信息。
接下来介绍本申请实施例提供的一种半导体设计装置,请参阅图18,图18为本申请实施例提供的半导体设计装置的一种结构示意图。具体的,半导体设计装置1800包括:接收器1801、发射器1802、处理器1803和存储器1804(其中半导体设计装置1800中的处理器1803的数量可以一个或多个,图18中以一个处理器为例),其中,处理器1803可以包括应用处理器18031和通信处理器18032。在本申请的一些实施例中,接收器1801、发射器1802、处理器1803和存储器1804可通过总线或其它方式连接。
存储器1804可以包括只读存储器和随机存取存储器,并向处理器1803提供指令和数据。存储器1804的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器1804存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。
上述本申请实施例揭示的方法可以应用于处理器1803中,或者由处理器1803实现。处理器1803可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1803中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1803可以是通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器,还可进一步包括专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器1803可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1804,处理器1803读取存储器1804中的信息,结合其硬件完成上述实施例提供的方法的步骤。
接收器1801可用于接收输入的数字或字符信息,以及产生与雷达系统的相关设置以及功能控制有关的信号输入。发射器1802可用于通过第一接口输出数字或字符信息;发射器1802还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据。
本申请实施例还提供了一种服务器,请参阅图19,图19是本申请实施例提供的服务器的一种结构示意图,服务器可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对训练设备中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本申请实施例中,中央处理器1922,用于执行上述实施例中描述的数据处理方法。
本申请实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中描述的方法。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如上述实施例中描述的方法。
本申请实施例提供的半导体设计装置具体可以为芯片,芯片包括:处理单元和通信单元,该处理单元例如可以是处理器,该通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使执行设备内的芯片执行上述实施例描述的图像增强方法,或者,以使训练设备内的芯片执行上述实施例描述的图像增强方法。可选地,该存储单元为该芯片内的存储单元,如寄存器、缓存等,该存储单元还可以是该无线接入设备端内的位于该芯片外部的存储单元,如只读存储器(read-onlymemory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
具体的,请参阅图20,图20为本申请实施例提供的芯片的一种结构示意图,该芯片可以表现为神经网络处理器NPU2000,NPU 2000作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路2003,通过控制器2004控制运算电路2003提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路2003内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路2003是二维脉动阵列。运算电路2003还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路2003是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器2002中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器2001中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)2008中。
统一存储器2006用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(direct memory access controller,DMAC)2005,DMAC被搬运到权重存储器2002中。输入数据也通过DMAC被搬运到统一存储器2006中。
BIU为Bus Interface Unit即,总线接口单元2010,用于AXI总线与DMAC和取指存储器(Instruction Fetch Buffer,IFB)2009的交互。
总线接口单元2010(Bus Interface Unit,简称BIU),用于取指存储器2009从外部存储器获取指令,还用于存储单元访问控制器2005从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器2006或将权重数据搬运到权重存储器2002中或将输入数据数据搬运到输入存储器2001中。
向量计算单元2007包括多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如Batch Normalization(批归一化),像素级求和,对特征平面进行上采样等。
在一些实现中,向量计算单元2007能将经处理的输出的向量存储到统一存储器2006。例如,向量计算单元2007可以将线性函数和/或非线性函数应用到运算电路2003的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元2007生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路2003的激活输入,例如用于在神经网络中的后续层中的使用。
控制器2004连接的取指存储器(instruction fetch buffer)2009,用于存储控制器2004使用的指令;
统一存储器2006,输入存储器2001,权重存储器2002以及取指存储器2009均为On-Chip存储器。外部存储器私有于该NPU硬件架构。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述实施例中描述的方法相关步骤的程序执行的集成电路。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例该的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。该计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。

Claims (43)

1.一种数据处理方法,其特征在于,所述方法包括:
获取电路版图的序列信息;其中,所述电路版图包括多边形元件,所述多边形元件包括多个边;所述序列信息包括每个边的边信息以及所述多个边之间的连接顺序,所述边信息包括边的方向和长度;
通过机器学习模型,对所述序列信息进行处理,得到所述电路版图对应的处理结果。
2.根据权利要求1所述的方法,其特征在于,所述多个边包括第一边,所述第一边的方向为如下方向的一种:上下方向、左右方向、由上到下的方向、由下到上的方向、由左到右的方向或者由右到左的方向,所述方向为在所述电路版图的局部坐标系中所定义的方向。
3.根据权利要求2所述的方法,其特征在于,所述第一边的方向通过标识指示。
4.根据权利要求1至3任一所述的方法,其特征在于,所述多个边的边信息在所述序列信息中按照目标顺序排列,所述多个边之间的连接顺序通过所述目标顺序指示。
5.根据权利要求1至4任一所述的方法,其特征在于,
所述多个边包括第二边,所述第二边为以第三边以及第四边作为直角边的三角形中的斜边,所述第三边以及所述第四边不属于所述多边形元件,所述第二边的边信息通过所述第三边以及第四边的边信息表示,所述第三边的方向和第四边的方向为上下方向或者左右方向,所述第三边和第四边的方向为在所述电路版图的局部坐标系中所定义的方向。
6.根据权利要求5所述的方法,其特征在于,所述序列信息还包括所述多边形元件在所述电路版图中的位置。
7.根据权利要求6所述的方法,其特征在于,所述位置通过所述多边形元件上的一个点在所述电路版图中的位置坐标表示。
8.根据权利要求1至7任一所述的方法,其特征在于,所述多边形元件为存在内部镂空区域的多边形,所述多个边为所述多边形元件的外边,所述多边形元件还包括多个内边,所述内边为所述内部镂空区域的外边缘,所述外边为所述多边形元件的外边缘,所述序列信息还包括指示所述多个内边的信息。
9.根据权利要求1至8任一所述的方法,其特征在于,所述电路版图包括多个多边形元件,所述序列信息包括每个所述多边形元件的多边形信息,所述多边形信息包括多边形元件中每个边的边信息以及多边形元件包括的多个边之间的连接顺序;且所述多边形信息在所述序列信息中的排列顺序与所述多个多边形元件在所述电路版图中的位置关系有关。
10.根据权利要求1至9任一所述的方法,其特征在于,所述机器学习模型用于实现光学邻近效应矫正任务;所述多边形元件的多个边上包括至少一个调整段,所述序列信息包括所述至少一个调整段的位置;
所述通过机器学习模型,对所述序列信息进行处理,得到所述电路版图对应的处理结果,包括:
通过机器学习模型,对所述序列信息进行处理,预测所述至少一个调整段的位置偏移。
11.根据权利要求10所述的方法,其特征在于,所述序列信息还包括与每个所述调整段对应的初始特征表示;
所述通过机器学习模型,对所述序列信息进行处理,预测所述至少一个调整段的位置偏移,包括:
通过机器学习模型中的特征提取网络,对所述序列信息进行特征提取,得到所述序列信息的目标特征表示;
根据所述目标特征表示,通过机器学习模型中的预测网络,预测所述至少一个调整段的位置偏移。
12.根据权利要求1至9任一所述的方法,其特征在于,所述机器学习模型用于实现电路版图生成任务;所述多个边为所述多边形元件上的部分边;
所述通过机器学习模型,对所述序列信息进行处理,得到所述电路版图对应的处理结果,包括:
通过机器学习模型,对所述序列信息进行处理,得到所述多边形元件上另一部分边的边信息。
13.根据权利要求1至9任一所述的方法,其特征在于,所述机器学习模型用于实现电路版图的热点检测任务或者良率检测任务。
14.一种数据处理方法,其特征在于,所述方法包括:
获取电路版图的图像,所述图像的图像内容包括多边形元件;
根据所述图像,生成所述电路版图的序列信息;其中,所述多边形元件包括多个边;所述序列信息包括每个边的边信息以及所述多个边之间的连接顺序,所述边信息包括边的方向和长度。
15.根据权利要求14所述的方法,其特征在于,所述多个边包括第一边,所述第一边的方向为如下方向的一种:上下方向、左右方向、由上到下的方向、由下到上的方向、由左到右的方向或者由右到左的方向,所述方向为在所述电路版图的局部坐标系中所定义的方向。
16.根据权利要求15所述的方法,其特征在于,所述第一边的方向通过标识指示。
17.根据权利要求14至16任一所述的方法,其特征在于,所述多个边的边信息在所述序列信息中按照目标顺序排列,所述多个边之间的连接顺序通过所述目标顺序指示。
18.根据权利要求14至17任一所述的方法,其特征在于,
所述多个边包括第二边,所述第二边为以第三边以及第四边作为直角边的三角形中的斜边,所述第三边以及所述第四边不属于所述多边形元件,所述第二边的边信息通过所述第三边以及第四边的边信息表示,所述第三边的方向和第四边的方向为上下方向或者左右方向,所述第三边和第四边的方向为在所述电路版图的局部坐标系中所定义的方向。
19.根据权利要求14至18任一所述的方法,其特征在于,所述电路版图包括多个多边形元件,所述序列信息包括每个所述多边形元件的多边形信息,所述多边形信息包括多边形元件中每个边的边信息以及多边形元件包括的多个边之间的连接顺序;且所述多边形信息在所述序列信息中的排列顺序与所述多个多边形元件在所述电路版图中的位置关系有关。
20.根据权利要求14至19任一所述的方法,其特征在于,所述多边形元件为存在内部镂空区域的多边形,所述多个边为所述多边形元件的外边,所述多边形元件还包括多个内边,所述内边为所述内部镂空区域的外边缘,所述外边为所述多边形元件的外边缘,所述序列信息还包括指示所述多个内边的信息。
21.一种数据处理装置,其特征在于,所述装置包括:
获取模块,用于获取电路版图的序列信息;其中,所述电路版图包括多边形元件,所述多边形元件包括多个边;所述序列信息包括每个边的边信息以及所述多个边之间的连接顺序,所述边信息包括边的方向和长度;
处理模块,用于通过机器学习模型,对所述序列信息进行处理,得到所述电路版图对应的处理结果。
22.根据权利要求21所述的装置,其特征在于,所述多个边包括第一边,所述第一边的方向为如下方向的一种:上下方向、左右方向、由上到下的方向、由下到上的方向、由左到右的方向或者由右到左的方向,所述方向为在所述电路版图的局部坐标系中所定义的方向。
23.根据权利要求22所述的装置,其特征在于,所述第一边的方向通过标识指示。
24.根据权利要求21至23任一所述的装置,其特征在于,所述多个边的边信息在所述序列信息中按照目标顺序排列,所述多个边之间的连接顺序通过所述目标顺序指示。
25.根据权利要求21至24任一所述的装置,其特征在于,
所述多个边包括第二边,所述第二边为以第三边以及第四边作为直角边的三角形中的斜边,所述第三边以及所述第四边不属于所述多边形元件,所述第二边的边信息通过所述第三边以及第四边的边信息表示,所述第三边的方向和第四边的方向为上下方向或者左右方向,所述第三边和第四边的方向为在所述电路版图的局部坐标系中所定义的方向。
26.根据权利要求25所述的装置,其特征在于,所述序列信息还包括所述多边形元件在所述电路版图中的位置。
27.根据权利要求26所述的装置,其特征在于,所述位置通过所述多边形元件上的一个点在所述电路版图中的位置坐标表示。
28.根据权利要求21至27任一所述的装置,其特征在于,所述多边形元件为存在内部镂空区域的多边形,所述多个边为所述多边形元件的外边,所述多边形元件还包括多个内边,所述内边为所述内部镂空区域的外边缘,所述外边为所述多边形元件的外边缘,所述序列信息还包括指示所述多个内边的信息。
29.根据权利要求21至28任一所述的装置,其特征在于,所述电路版图包括多个多边形元件,所述序列信息包括每个所述多边形元件的多边形信息,所述多边形信息包括多边形元件中每个边的边信息以及多边形元件包括的多个边之间的连接顺序;且所述多边形信息在所述序列信息中的排列顺序与所述多个多边形元件在所述电路版图中的位置关系有关。
30.根据权利要求21至29任一所述的装置,其特征在于,所述机器学习模型用于实现光学邻近效应矫正任务;所述多边形元件的多个边上包括至少一个调整段,所述序列信息包括所述至少一个调整段的位置;
所述处理模块,具体用于:
通过机器学习模型,对所述序列信息进行处理,预测所述至少一个调整段的位置偏移。
31.根据权利要求30所述的装置,其特征在于,所述序列信息还包括与每个所述调整段对应的初始特征表示;
所述处理模块,具体用于:
通过机器学习模型中的特征提取网络,对所述序列信息进行特征提取,得到所述序列信息的目标特征表示;
根据所述目标特征表示,通过机器学习模型中的预测网络,预测所述至少一个调整段的位置偏移。
32.根据权利要求21至29任一所述的装置,其特征在于,所述机器学习模型用于实现电路版图生成任务;所述多个边为所述多边形元件上的部分边;
所述处理模块,具体用于:
通过机器学习模型,对所述序列信息进行处理,得到所述多边形元件上另一部分边的边信息。
33.根据权利要求21至29任一所述的装置,其特征在于,所述机器学习模型用于实现电路版图的热点检测任务或者良率检测任务。
34.一种数据处理装置,其特征在于,所述装置包括:
获取模块,用于获取电路版图的图像,所述图像的图像内容包括多边形元件;
生成模块,用于根据所述图像,生成所述电路版图的序列信息;其中,所述多边形元件包括多个边;所述序列信息包括每个边的边信息以及所述多个边之间的连接顺序,所述边信息包括边的方向和长度。
35.根据权利要求34所述的装置,其特征在于,所述多个边包括第一边,所述第一边的方向为如下方向的一种:上下方向、左右方向、由上到下的方向、由下到上的方向、由左到右的方向或者由右到左的方向,所述方向为在所述电路版图的局部坐标系中所定义的方向。
36.根据权利要求35所述的装置,其特征在于,所述第一边的方向通过标识指示。
37.根据权利要求34至36任一所述的装置,其特征在于,所述多个边的边信息在所述序列信息中按照目标顺序排列,所述多个边之间的连接顺序通过所述目标顺序指示。
38.根据权利要求34至37任一所述的装置,其特征在于,
所述多个边包括第二边,所述第二边为以第三边以及第四边作为直角边的三角形中的斜边,所述第三边以及所述第四边不属于所述多边形元件,所述第二边的边信息通过所述第三边以及第四边的边信息表示,所述第三边的方向和第四边的方向为上下方向或者左右方向,所述第三边和第四边的方向为在所述电路版图的局部坐标系中所定义的方向。
39.根据权利要求34至38任一所述的装置,其特征在于,所述电路版图包括多个多边形元件,所述序列信息包括每个所述多边形元件的多边形信息,所述多边形信息包括多边形元件中每个边的边信息以及多边形元件包括的多个边之间的连接顺序;且所述多边形信息在所述序列信息中的排列顺序与所述多个多边形元件在所述电路版图中的位置关系有关。
40.根据权利要求34至39任一所述的装置,其特征在于,所述多边形元件为存在内部镂空区域的多边形,所述多个边为所述多边形元件的外边,所述多边形元件还包括多个内边,所述内边为所述内部镂空区域的外边缘,所述外边为所述多边形元件的外边缘,所述序列信息还包括指示所述多个内边的信息。
41.一种数据处理装置,其特征在于,包括:一个或多个处理器和存储器;其中,所述存储器中存储有计算机可读指令;
所述一个或多个处理器读取所述计算机可读指令,以使所述计算机设备实现如权利要求1至20任一所述的方法。
42.一种计算机可读存储介质,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算机设备上运行时,使得所述计算机设备执行权利要求1至20任一项所述的方法。
43.一种计算机程序产品,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算机设备上运行时,使得所述计算机设备执行如权利要求1至20任一所述的方法。
CN202211008671.3A 2022-08-22 2022-08-22 一种数据处理方法以及相关装置 Pending CN115510795A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211008671.3A CN115510795A (zh) 2022-08-22 2022-08-22 一种数据处理方法以及相关装置
PCT/CN2023/114008 WO2024041480A1 (zh) 2022-08-22 2023-08-21 一种数据处理方法以及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211008671.3A CN115510795A (zh) 2022-08-22 2022-08-22 一种数据处理方法以及相关装置

Publications (1)

Publication Number Publication Date
CN115510795A true CN115510795A (zh) 2022-12-23

Family

ID=84501557

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211008671.3A Pending CN115510795A (zh) 2022-08-22 2022-08-22 一种数据处理方法以及相关装置

Country Status (2)

Country Link
CN (1) CN115510795A (zh)
WO (1) WO2024041480A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116277037A (zh) * 2023-05-19 2023-06-23 泓浒(苏州)半导体科技有限公司 一种晶圆搬运机械臂控制系统及方法
CN117291137A (zh) * 2023-11-22 2023-12-26 全芯智造技术有限公司 用于生成版图元素的方法、设备和介质
CN117313636A (zh) * 2023-11-22 2023-12-29 全芯智造技术有限公司 用于生成版图的方法、设备和介质
CN117332745A (zh) * 2023-11-22 2024-01-02 全芯智造技术有限公司 用于生成版图的方法、设备和介质
WO2024041480A1 (zh) * 2022-08-22 2024-02-29 华为技术有限公司 一种数据处理方法以及相关装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10386726B2 (en) * 2017-09-29 2019-08-20 Globalfoundries Inc. Geometry vectorization for mask process correction
CN109656106B (zh) * 2019-01-25 2020-12-04 墨研计算科学(南京)有限公司 一种计算光刻中掩模版的处理方法及装置
US20220137503A1 (en) * 2019-02-21 2022-05-05 Asml Netherlands B.V. Method for training machine learning model to determine optical proximity correction for mask
CN111597768B (zh) * 2020-05-15 2024-01-19 全芯智造技术有限公司 用于构建版图图案集的方法、设备和计算机可读存储介质
CN111611766B (zh) * 2020-05-15 2024-01-26 全芯智造技术有限公司 用于确定电路版图约束条件的方法、设备和存储介质
CN114519328A (zh) * 2020-11-19 2022-05-20 Tcl科技集团股份有限公司 一种集成电路参数化方法、装置、存储介质及终端设备
CN114138726A (zh) * 2021-11-12 2022-03-04 国微集团(深圳)有限公司 一种针对存在相邻边均相互垂直的多边形的gdsii版图数据的处理方法
CN115510795A (zh) * 2022-08-22 2022-12-23 华为技术有限公司 一种数据处理方法以及相关装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024041480A1 (zh) * 2022-08-22 2024-02-29 华为技术有限公司 一种数据处理方法以及相关装置
CN116277037A (zh) * 2023-05-19 2023-06-23 泓浒(苏州)半导体科技有限公司 一种晶圆搬运机械臂控制系统及方法
CN116277037B (zh) * 2023-05-19 2023-07-25 泓浒(苏州)半导体科技有限公司 一种晶圆搬运机械臂控制系统及方法
CN117291137A (zh) * 2023-11-22 2023-12-26 全芯智造技术有限公司 用于生成版图元素的方法、设备和介质
CN117313636A (zh) * 2023-11-22 2023-12-29 全芯智造技术有限公司 用于生成版图的方法、设备和介质
CN117332745A (zh) * 2023-11-22 2024-01-02 全芯智造技术有限公司 用于生成版图的方法、设备和介质
CN117332745B (zh) * 2023-11-22 2024-02-13 全芯智造技术有限公司 用于生成版图的方法、设备和介质
CN117291137B (zh) * 2023-11-22 2024-02-13 全芯智造技术有限公司 用于生成版图元素的方法、设备和介质
CN117313636B (zh) * 2023-11-22 2024-02-23 全芯智造技术有限公司 用于生成版图的方法、设备和介质

Also Published As

Publication number Publication date
WO2024041480A1 (zh) 2024-02-29

Similar Documents

Publication Publication Date Title
CN115510795A (zh) 一种数据处理方法以及相关装置
US11574097B2 (en) Deep learning based identification of difficult to test nodes
US20190370647A1 (en) Artificial intelligence analysis and explanation utilizing hardware measures of attention
Zhang et al. Machine learning on FPGAs to face the IoT revolution
CN112257578B (zh) 人脸关键点检测方法、装置、电子设备及存储介质
CN113449859A (zh) 一种数据处理方法及其装置
US20210350230A1 (en) Data dividing method and processor for convolution operation
CN115512005A (zh) 一种数据处理方法及其装置
CN115686908A (zh) 一种数据处理方法及相关设备
Lokhmotov et al. Multi-objective autotuning of mobilenets across the full software/hardware stack
CN107870862B (zh) 新控件预测模型的构建方法、遍历测试方法和计算设备
JP2023552048A (ja) ハードウェアアクセラレータのためのニューラルアーキテクチャスケーリング
Mocerino et al. CoopNet: Cooperative convolutional neural network for low-power MCUs
CN110889290B (zh) 文本编码方法和设备、文本编码有效性检验方法和设备
CN116665219A (zh) 一种数据处理方法及其装置
US11861452B1 (en) Quantized softmax layer for neural networks
CN114662094A (zh) 标识硬件性能计数器事件的方法和装置
CN114419313A (zh) 影像辨识方法及影像辨识系统
Tu et al. Rap: a software framework of developing convolutional neural networks for resource-constrained devices using environmental monitoring as a case study
CN117319091B (zh) 基于深度学习的企业软件网络安全漏洞检测方法及系统
US11861492B1 (en) Quantizing trained neural networks with removal of normalization
CN113011580B (zh) 一种嵌入表征的处理方法以及相关设备
CN117891760B (zh) 一种dma稀疏化访存方法、智能计算子系统及智能计算平台
WO2023185917A1 (zh) 一种芯片的模块排布方法及相关设备
CN116664950B (zh) 极光图像自动分类方法、装置、计算机设备和存储介质

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