CN117561515A - 拥塞预测模型训练方法、图像处理方法及装置 - Google Patents
拥塞预测模型训练方法、图像处理方法及装置 Download PDFInfo
- Publication number
- CN117561515A CN117561515A CN202180099695.1A CN202180099695A CN117561515A CN 117561515 A CN117561515 A CN 117561515A CN 202180099695 A CN202180099695 A CN 202180099695A CN 117561515 A CN117561515 A CN 117561515A
- Authority
- CN
- China
- Prior art keywords
- prediction
- congestion
- layer
- training
- map
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
- G06F30/3947—Routing global
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种拥塞预测模型训练方法、图像处理方法及装置。训练方法包括:将多个金属层划分为至少两个预测层;其中,多个金属层为K个半导体芯片中每个半导体芯片包含的金属层,K为正整数;确定每个预测层对应的M个第一特征图;其中,M个第一特征图分别用于描述每个预测层的M个芯片特征,M为正整数;将K个半导体芯片中每个预测层对应的M个第一特征图加入数据集,并利用数据集训练拥塞预测模型。采用本方法,能够在提高半导体芯片拥塞预测准确率的同时降低拥塞预测的耗时。
Description
本申请涉及电子设计自动化(Electronic Design automation,EDA)技术领域,尤其涉及一种拥塞预测模型训练方法、图像处理方法及装置。
拥塞预测(Congestion Prediction)作为芯片电子设计自动化EDA物理设计中的重要环节,贯穿于整个设计流程之中。布局方案的拥塞与否直接决定芯片的时延、热功耗等指标。拥塞预测的目标在于:在全局布局(Global Placement,GP)过程中,根据当前单元(Cell)摆放位置估计芯片的绕线拥塞程度,从而为全局布局提供优化依据,使得布局器(Placer)能够把拥塞严重区域的单元推散,减少该区域的布局拥塞程度,从而降低芯片的整体拥塞。其本质在于预测栅格化的芯片上,每一个栅格(Grid)的绕线资源需求(Routing Tracks Demand)和给定的绕线资源量(Routing TrackCapacity)之差。
受限于芯片巨大的规模和复杂的结构,现有拥塞预测方法存在如下局限性:拥塞预测准确率低、计算拥塞耗时长、以及难以同时兼顾准确率与拥塞预测耗时。
发明内容
本申请实施例公开了一种拥塞预测模型训练方法、图像处理方法及装置,该拥塞预测方法能够在提高半导体芯片拥塞预测准确率的同时降低拥塞预测的耗时。
第一方面,本申请实施例公开了一种拥塞预测模型训练方法,该方法包括:将多个金属层划分为至少两个预测层;其中,所述多个金属层为K个半导体芯片中每个半导体芯片包含的金属层,K为正整数;确定每个所述预测层对应的M个第一特征图;其中,所述M个第一特征图分别用于描述每个所述预测层的M个芯片特征,所述M为正整数;将所述K个半导体芯片中每个所述预测层对应的M个第一特征图加入数据集,并利用所述数据集训练拥塞预测模型。
应当理解,本申请实施例可以基于不同的方式将每个半导体芯片中的金属层划分为至少两个预测层,从而使得划分后同一预测层中的不同金属层的部分或全部特征数据呈现出较强的相关性和一致性;其中,每个预测层包含至少一个金属层。
可以看出,在本申请实施例中,通过对半导体芯片中的金属层进行分组,使得每个半导体芯片被划分为至少两个预测层。由于每个预测层中包含的金属层对应的特征数据(即特征图)呈现出较强的相关性和一致性,一方面可以避免现有技术中由于未进行分层,而导致的采用不同金属层对应的差异较大特征数据进行训练时的相互影响,另一方面在分别使用不同预测层对应的特征数据对拥塞预测模型进行训练时,由于不同预测层中的特征数据表现出不同的趋势,因而在利用不同预测层各自对应的特征数据对拥塞预测模型进行训练后,所得到的模型可以分别对不同趋势的特征数据进行有效地识别,并基于识别出的特征进行相应地预测,即模型具有精细化的识别和预测能力。综上,采用本申请实施例中训练方法可以有效提升模型的预测准确率和泛化能力。
在一种可行的实施方式中,上述方法还包括:对所述K个半导体芯片进行全局绕线,根据全局绕线后的所述K个半导体芯片得到每个所述预测层对应的真实拥塞图;将所述K个半导体芯片中每个所述预测层对应的真实拥塞图加入所述数据集。
可以看出,在本申请实施例中,基于全局绕线后的K个半导体芯片计算得到每个预测层的真实拥塞图,以便后续利用该真实拥塞图与每个预测层的预测拥塞图进行比较,以调整拥塞预测模型参数,进而得到最优的拥塞预测模型。
在一种可行的实施方式中,上述将所述多个金属层划分为至少两个预测层,包括:根据每个所述半导体芯片中金属层的制造工艺或功能模块分布将所述多个金属层划分为至少两个预测层。
可以看出,在本申请实施例中,可以通过每个半导体芯片中各金属层的制造工艺和/或各金属层上的功能模块分布将每个半导体芯片中的多个金属层划分为至少两个预测层,例如,可以根据是否有宏单元可将每个半导体芯片中的金属层分为两个预测层,一个预测层包含宏单元和标准单元,另一预测层仅包含标准单元;或者基于每个金属层的绕线资源量差异将多个金属层分为至少两个预测层,每个预测层内各金属层的绕线资源量数量相当。基于上述划分方式将多个金属层划分不同预测层,从而使得同一预测层中金属层的特征数据呈现高度的一致性,不同预测层对应的特征数据具有较大差异,因而在利用不同预测层各自对应的特征数据对拥塞预测模型进行训练后,所得到的模型可以分别对不同趋势的特征数据进行有效地识别,并基于识别出的特征进行相应地预测,即模型具有精细化的识别和预测能力。
在一种可行的实施方式中,上述确定每个所述预测层对应的M个第一特征图,包括:获取每个所述预测层中每个金属层对应的M个第二特征图;其中,所述M个第二特征图分别用于描述所述每个金属层的所述M个芯片特征;基于所述每个金属层的M个第二特征图,生成每个所述预测层对应的M个第一特征图;其中,所述M个第一特征图中用于描述任一芯片特征的第一特征图是基于所述每个金属层中描述该任一芯片特征的第二特征图得到的。
应当理解,上述基于每个金属层中描述任一芯片特征的第二特征图得到描述该任一芯片特征的第一特征图的方式可以包括:对描述各金属层同一芯片特征的各第二特征图上对应像素点采取加权平均、取最大值或最小值等方式得到描述该同一芯片特征的第一特征图上对应像素点的像素值。
可以看出,在本申请实施例中,每个金属层对应M个第二特征图,该M个第二特征图用于分别描述每个金属层的M个芯片特征。基于上述分层方式,在每个预测层中,对于同一芯片特征而言,由于各金属层对应的第二特征图具有较强的相关性和一致性,因而基于上述取均值、最大值或最小值等方式得到的描述该同一芯片特征的第一特征图可以准确表征各金属层的该同一芯片特征,即描述同一芯片特征的第一特征图与每个金属层中描述该同一芯片特征的第二特征图具有较好的相关性和一致性;避免了因为同一预测层中各金属层描述该同一芯片特征的第一特征图差异较大,使得最终得到的描述该同一芯片特征的第一特征图与每个金属层描述该同一芯片特征的第二特征图差异较大。综上,对于同一芯片特征而言,通过上述分层方式和第一特征图的确定方式可以获得准确反映每个预测层中 各金属层上该同一芯片特征的第一特征图,因而在利用不同预测层各自对应的第一特征图对拥塞预测模型进行训练后,所得到的模型可以分别对不同趋势的特征数据进行有效地识别,并基于识别出的特征进行相应地预测,即采用本申请实施例训练得到的模型具有精细化的识别和预测能力。
在一种可行的实施方式中,每个所述预测层对应的真实拥塞图包括第一水平真实拥塞图和第一垂直真实拥塞图,每个所述预测层中每个金属层对应的真实拥塞图包括第二水平真实拥塞图和第二垂直真实拥塞图;所述第一水平真实拥塞图是基于每个所述预测层中每个金属层对应的第二水平真实拥塞图得到的,所述第一垂直真实拥塞图是基于每个所述预测层中每个金属层对应的第二垂直真实拥塞图得到的。
应当理解,上述基于每个预测层中各金属层对应的第二水平真实拥塞图得到该预测层对应的第一水平真实拥塞图的方式可以包括:对各金属层对应的第二水平真实拥塞图进行求取均值、加权平均或取最大值等方式,得到该预测层对应的第一水平真实拥塞图;此外,本领域技术人员也可采用其它方式基于各金属层对应的第二水平真实拥塞图得到该预测层对应的第一水平真实拥塞图,本申请对此不限定。同理,该预测层对应的第一垂直真实拥塞图的获取方式与第一水平真实拥塞图的获取方式相同,此处不再赘述。
可以看出,在本申请实施例中,基于上述分层方式,在每个预测层中,由于各金属层对应的真实拥塞图具有较强的相关性和一致性,因而基于上述确定每个预测层的真实拥塞图(即真实拥塞图)的方式所得到的每个预测层的真实拥塞图与预测层中各金属层的真实拥塞图具有较好的一致性,即可以得到准确反映每个预测层拥塞程度的真实拥塞图,进而确保后续利用每个预测层的真实拥塞图训练得到的拥塞预测模型的预测精度。
在一种可行的实施方式中,上述将所述K个半导体芯片中每个所述预测层对应的M个第一特征图加入数据集,并利用所述数据集训练拥塞预测模型,包括:利用所述数据集对所述拥塞预测模型进行迭代训练;其中,每次迭代训练,包括:将所述数据集中任一预测层对应的M个第一特征图输入所述拥塞预测模型,得到所述任一预测层对应的预测拥塞图;基于所述预测拥塞图和所述任一预测层对应的真实拥塞图更新所述拥塞预测模型。
可以看出,在本申请实施例中,拥塞预测模型可以是经过多次训练得到的,且在每次迭代训练的过程中,模型输入数据为每个预测层的特征数据(M个第一特征图),由于每个预测层的特征数据可以准确反映该预测层中各金属层的对应特征,且不同预测层对应的特征数据存在较大差异,因而预测模型可以精细化地基于不同预测层的特征数据进行拥塞预测,得到能够准确反映每个预测层拥塞程度的预测拥塞图,然后基于每个预测层的预测拥塞图和真实拥塞图更新模型参数,从而使得训练得到的模型具有较高的预测准确率和较强的泛化能力。
在一种可行的实施方式中,上述每个半导体芯片包含的预测层分别为宏单元层和非宏单元层,所述拥塞预测模型包括第一拥塞预测模型和第二拥塞预测模型;所述将所述K个半导体芯片中每个所述预测层对应的M个第一特征图加入数据集,并利用所述数据集训练拥塞预测模型,包括:利用所述数据集中宏单元层对应的第一特征图和对应的真实拥塞图对所述第一拥塞预测模型进行训练;利用所述数据集中非宏单元层对应的第一特征图和对应的真实拥塞图对所述第二拥塞预测模型进行训练。
可以看出,在本申请实施例中,当每个半导体芯片中的多个金属层被划分为宏单元层和非宏单元层时(即分为两个预测层),由于宏单元层和非宏单元层分别对应的特征数据差异较大,可以利用宏单元层对应的特征数据对第一拥塞预测模型进行训练,利用非宏单元层对应的特征数据对第二拥塞预测模型进行训练,从而可以得到基于宏单元层的特征数据进行精准预测的预测模型,以及基于非宏单元特征进行精准预测的预测模型,即提升模型预测准确率;此外,利用两个模型同时对同一半导体芯片的不同预测层进行预测,可以提升对同一半导体芯片进行拥塞预测的速度。
在一种可行的实施方式中,上述M个芯片特征包括引脚密度、网络连接密度、模块掩码或绕线资源量中的一个或多个。
应当理解,每个金属层和预测层对应的M个芯片特征还可以包括除上述四种芯片特征外的其它芯片特征,本申请对此不限定。
可以看出,在本申请实施例中,上述M个芯片特征可以包括反映芯片功能和片上器件的引脚密度、网络连接密度、模块掩码或绕线资源量中的一个或多个。通过获取每个预测层所对应芯片特征的第一特征图,并基于准确反映芯片功能和片上器件特点的M个第一特征图对预测模型进行训练,从而提升训练得到的预测模型的预测准确率。
第二方面,本申请实施例公开了一种图像处理方法,该方法包括:确定待预测半导体芯片中每个预测层对应的M个第一特征图;其中,待预测半导体芯片包括至少两个预测层,所述M为正整数;利用拥塞预测模型对每个预测层对应的M个第一特征图进行处理,得到每个所述预测层对应的预测拥塞图;其中,所述拥塞预测模型是通过数据集进行训练后得到的,所述数据集包括多个训练半导体芯片中每个训练半导体芯片包含的训练预测层分别对应的训练数据,每个所述训练预测层对应的训练数据包括M个第一训练特征图和真实拥塞图,所述M个第一训练特征图分别用于描述每个所述训练预测层的M个芯片特征,所述真实拥塞图用于描述每个所述训练预测层的真实拥塞程度,每个所述训练半导体芯片包括至少两个所述训练预测层,每个所述训练预测层包括至少一个金属层。
应当理解,每个预测层对应的M个第一特征图的确定方式与每个训练预测层的M个第一训练特征图的确定方式相同,此处不再赘述。
可以看出,在本申请实施例中,在采用利用上述第一方面中模型训练方法训练得到的拥塞预测模型进行拥塞预测的过程中,由于训练得到的模型具有较好的预测准确性和泛化能力,因而可以得到待预测半导体芯片中每个预测层对应的更加准确的预测拥塞图,即提升预测拥塞图的准确度,进而便于在芯片生产过程中利用所得到每个预测层准确的预测拥塞图对芯片布局进行相应的优化。
在一种可行的实施方式中,上述方法还包括:对待预测半导体芯片中所有预测层对应的预测拥塞图进行聚合,得到所述待预测半导体芯片对应的预测拥塞图。
可以看出,在本申请实施例中,由于每个预测层对应预测拥塞图准确度较高,因而在基于每个预测层对应的预测拥塞图进行聚合后,所得到描述该待预测芯片拥塞程度的预测拥塞图也具有较高的准确性,进而便于在芯片生产过程中利用所得到待预测芯片的预测拥塞图对芯片布局进行相应的优化。
在一种可行的实施方式中,每个所述预测层对应的预测拥塞图包含垂直预测拥塞图和水平预测拥塞图;所述对每个所述预测层对应的预测拥塞图进行聚合,得到所述待预测半导体芯片对应的预测拥塞图,包括:利用层级聚合算子对每个所述预测层对应的垂直预测拥塞图进行聚合,得到参考垂直预测拥塞图;利用所述层级聚合算子对每个所述预测层对应的水平预测拥塞图进行聚合,得到参考水平预测拥塞图;利用方向性聚合算子对所述参考垂直预测拥塞图和所述参考水平预测拥塞图进行聚合,得到所述待预测半导体芯片对应的预测拥塞图;或利用所述方向性聚合算子对每个所述预测层对应的垂直预测拥塞图和水平预测拥塞图进行聚合,得到每个所述预测层对应的参考预测拥塞图;利用所述层级聚合算子对每个所述预测层对应的参考预测拥塞图进行聚合,得到所述待预测半导体芯片对应的预测拥塞图。
可以看出,在本申请实施例中,对于待预测芯片而言,可以利用层级聚合算子和方向性聚合算子对每个预测层对应的预测拥塞图进行聚合,得到待预测芯片的预测拥塞图。其中,层级聚合算子和方向性聚合算子的操作包括但不限于对预测拥塞图进行加权平均、取最大值或取最小值等操作。由于基于预测模型得到的每个预测层对应的预测拥塞图具有较高的准确度,因而后续根据具体场景所确定的层级聚合算子和方向性聚合算子的具体操作后,基于聚合算子得到的待预测芯片的预测拥塞图也具有较高的准确性。
在一种可行的实施方式中,每个所述训练预测层对应的真实拥塞图是基于全局绕线后的所述K个训练半导体芯片得到的。
在一种可行的实施方式中,每个所述训练半导体芯片中包含的训练预测层是基于每个所述训练半导体芯片中金属层的制造工艺或功能模块分布划分得到的。
在一种可行的实施方式中,每个所述训练预测层对应的M个第一训练特征图是根据每个所述训练预测层中每个金属层对应的M个第二特征图得到的;其中,所述M个第一训练特征图中用于描述任一芯片特征的第一训练特征图是基于所述每个金属层中描述该任一芯片特征的第二特征图得到的。
在一种可行的实施方式中,每个所述训练预测层对应的真实拥塞图包括第一水平真实拥塞图和第一垂直真实拥塞图,每个所述训练预测层中每个金属层对应的真实拥塞图包括第二水平真实拥塞图和第二垂直真实拥塞图;所述第一水平真实拥塞图是基于每个所述训练预测层中每个金属层对应的第二水平真实拥塞图得到的,所述第一垂直真实拥塞图是基于每个所述训练预测层中每个金属层对应的第二垂直真实拥塞图得到的。
在一种可行的实施方式中,在所述拥塞预测模型每次迭代训练的过程中,通过所述数据集中任一训练预测层对应的预测拥塞图和该任一训练预测层对应的真实拥塞图更新所述拥塞预测模型;所述任一训练预测层对应的预测拥塞图是通过将所述任一训练预测层对应的M个第一训练特征图输入所述拥塞预测模型得到的。
在一种可行的实施方式中,所述多个训练预测层分为宏单元层和非宏单元层,所述拥塞预测模型包括第一拥塞预测模型和第二拥塞预测模型;所述第一拥塞预测模型是通过所述数据集中宏单元层对应的第一训练特征图和对应的真实拥塞图进行训练得到的;所述第二拥塞预测模型是通过所述数据集中非宏单元层对应的第一训练特征图和对应的真实拥塞图进行训练得到的。
在一种可行的实施方式中,所述M个芯片特征包括引脚密度、网络连接密度、模块掩码或绕线资源量中的一个或多个。
应当理解,上述描述拥塞预测模型训练过程的各实施例的有益效果可以对应参照第一方面中对应训练方法的有效效果,此处不再赘述。
第三方面,本申请公开了一种拥塞预测模型的训练装置,该装置包括:分层单元,用于将多个金属层划分为至少两个预测层;其中,所述多个金属层为K个半导体芯片中每个半导体芯片包含的金属层,K为正整数;确定单元,用于确定每个所述预测层对应的M个第一特征图;其中,所述M个第一特征图分别用于描述每个所述预测层的M个芯片特征,M为正整数;训练单元,用于将所述K个半导体芯片中每个半导体芯片包含的所述预测层对应的M个第一特征图和真实拥塞图作为数据集,并利用所述数据集训练拥塞预测模型;其中,每个所述预测层对应的真实拥塞图用于描述每个所述预测层的真实拥塞程度。
在一种可行的实施方式中,上述训练单元还用于:基于全局绕线后的所述K个半导体芯片得到每个所述预测层对应的真实拥塞图;将所述K个半导体芯片中每个所述预测层对应的真实拥塞图加入所述数据集。
在一种可行的实施方式中,上述分层单元具体用于:根据每个所述半导体芯片中金属层的制造工艺或功能模块分布将所述多个金属层划分为至少两个预测层。
在一种可行的实施方式中,上述确定单元具体用于:获取每个所述预测层中每个金属层对应的M个第二特征图;其中,所述M个第二特征图分别用于描述所述每个金属层的所述M个芯片特征;基于所述每个金属层的M个第二特征图,生成每个所述预测层对应的M个第一特征图;其中,所述M个第一特征图中用于描述任一芯片特征的第一特征图是基于所述每个金属层中描述所述任一芯片特征的第二特征图得到的。
在一种可行的实施方式中,每个所述预测层对应的真实拥塞图包括第一水平真实拥塞图和第一垂直真实拥塞图,每个所述预测层中每个金属层对应的真实拥塞图包括第二水平真实拥塞图和第二垂直真实拥塞图;所述第一水平真实拥塞图是基于每个所述预测层中每个金属层对应的第二水平真实拥塞图得到的,所述第一垂直真实拥塞图是基于每个所述预测层中每个金属层对应的第二垂直真实拥塞图得到的。
在一种可行的实施方式中,在所述利用所述数据集训练拥塞预测模型的方面,上述训练单元具体用于:利用所述数据集对所述拥塞预测模型进行迭代训练;其中,每次迭代训练,包括:利用所述拥塞预测模型对所述数据集中任一预测层对应的M个第一特征图进行处理,得到所述任一预测层对应的预测拥塞图;基于所述预测拥塞图和所述任一预测层对应的真实拥塞图更新所述拥塞预测模型。
在一种可行的实施方式中,上述每个半导体芯片包含的预测层分别为宏单元层和非宏单元层;在所述利用所述数据集训练拥塞预测模型的方面,上述训练单元具体用于:利用所述数据集中宏单元层对应的第一特征图和对应的真实拥塞图对所述第一拥塞预测模型进行训练;利用所述数据集中非宏单元层对应的第一特征图和对应的真实拥塞图对所述第二拥塞预测模型进行训练。
在一种可行的实施方式中,上述M个芯片特征包括引脚密度、网络连接密度、模块掩 码或绕线资源量中的一个或多个。
第四方面,本申请公开了一种图像处理装置,该装置包括:确定单元,用于确定待预测半导体芯片中每个预测层对应的M个第一特征图;其中,所述待预测半导体芯片包括至少两个所述预测层,所述M为正整数;处理单元,用于利用拥塞预测模型对每个所述预测层对应的M个第一特征图进行处理,得到每个所述预测层对应的预测拥塞图;其中,所述拥塞预测模型是通过数据集进行训练后得到的,所述数据集包括K个训练半导体芯片中每个训练半导体芯片包含的训练预测层分别对应的训练数据,每个所述训练预测层对应的训练数据包括M个第一训练特征图和真实拥塞图,所述M个第一训练特征图分别用于描述每个所述训练预测层的M个芯片特征,所述真实拥塞图用于描述每个所述训练预测层的真实拥塞程度,每个所述训练半导体芯片包括至少两个所述训练预测层,每个所述训练预测层包括至少一个金属层。
在一种可行的实施方式中,上述装置还包括:聚合单元,用于对所述待预测半导体芯片中所有预测层对应的预测拥塞图进行聚合,得到所述待预测半导体芯片对应的预测拥塞图。
在一种可行的实施方式中,每个所述预测层对应的预测拥塞图包含垂直预测拥塞图和水平预测拥塞图;上述聚合单元具体用于:利用层级聚合算子对每个所述预测层对应的垂直预测拥塞图进行聚合,得到参考垂直预测拥塞图;利用所述层级聚合算子对每个所述预测层对应的水平预测拥塞图进行聚合,得到参考水平预测拥塞图;利用方向性聚合算子对所述参考垂直预测拥塞图和所述参考水平预测拥塞图进行聚合,得到所述待预测半导体芯片对应的预测拥塞图;或,利用所述方向性聚合算子对每个所述预测层对应的垂直预测拥塞图和水平预测拥塞图进行聚合,得到每个所述预测层对应的参考预测拥塞图;利用所述层级聚合算子对每个所述预测层对应的参考预测拥塞图进行聚合,得到所述待预测半导体芯片对应的预测拥塞图。
在一种可行的实施方式中,每个所述训练预测层对应的真实拥塞图是基于全局绕线后的所述K个训练半导体芯片得到的。
在一种可行的实施方式中,每个所述训练半导体芯片中包含的训练预测层是基于每个所述训练半导体芯片中金属层的制造工艺或功能模块分布划分得到的。
在一种可行的实施方式中,每个所述训练预测层对应的M个第一训练特征图是根据每个所述训练预测层中每个金属层对应的M个第二特征图得到的;其中,所述M个第一训练特征图中用于描述任一芯片特征的第一训练特征图是基于所述每个金属层中描述该任一芯片特征的第二特征图得到的。
在一种可行的实施方式中,每个所述训练预测层对应的真实拥塞图包括第一水平真实拥塞图和第一垂直真实拥塞图,每个所述训练预测层中每个金属层对应的真实拥塞图包括第二水平真实拥塞图和第二垂直真实拥塞图;所述第一水平真实拥塞图是基于每个所述训练预测层中每个金属层对应的第二水平真实拥塞图得到的,所述第一垂直真实拥塞图是基于每个所述训练预测层中每个金属层对应的第二垂直真实拥塞图得到的。
在一种可行的实施方式中,在所述拥塞预测模型每次迭代训练的过程中,通过所述数 据集中任一训练预测层对应的预测拥塞图和该任一训练预测层对应的真实拥塞图更新所述拥塞预测模型;所述任一训练预测层对应的预测拥塞图是通过将所述任一训练预测层对应的M个第一训练特征图输入所述拥塞预测模型得到的。
在一种可行的实施方式中,所述多个训练预测层分为宏单元层和非宏单元层,所述拥塞预测模型包括第一拥塞预测模型和第二拥塞预测模型;所述第一拥塞预测模型是通过所述数据集中宏单元层对应的第一训练特征图和对应的真实拥塞图进行训练得到的;所述第二拥塞预测模型是通过所述数据集中非宏单元层对应的第一训练特征图和对应的真实拥塞图进行训练得到的。
在一种可行的实施方式中,所述M个芯片特征包括引脚密度、网络连接密度、模块掩码或绕线资源量中的一个或多个。
第五方面,本申请公开了一种芯片系统,其特征在于,所述芯片系统包括至少一个处理器、存储器和接口电路,所述存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述处理器执行时,上述第一方面和/或第二方面中任一项所述的方法得以实现。
第六方面,本申请公开了一种终端设备,其特征在于,所述终端设备包括如上述第三方面中所述芯片系统,以及耦合至所述芯片系统的分立器件。
第七方面,本申请公开了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序指令,当所述程序指令在处理器上运行时,实现上述第一方面和/或第二方面中任一所述的方法。
第八方面,本申请公开了一种计算机程序产品,其特征在于,当所述计算机程序产品在终端上运行时,上述第一方面和/或第二方面中任一所述的方法得以实现。
以下对本申请实施例用到的附图进行介绍。
图1是本申请实施例提供的一种系统架构的结构示意图;
图2是本申请实施例提供的一种网络模型的结构示意图;
图3是本申请实施例提供的一种芯片硬件结构示意图;
图4是本申请实施例提供的另一种系统架构结构示意图;
图5是本申请实施例提供的一种拥塞预测模型的训练方法流程图示意图;
图6是本申请实施例提供的一种半导体芯片的层级划分示意图;
图7是本申请实施例提供的一种图像处理方法的流程示意图;
图8是本申请实施例提供的一种第一特征图和第四特征图空间关系示意图;
图9是本申请实施例提供的一种拥塞预测的流程示意图;
图10是本申请实施例提供的一种模型训练装置的结构示意图;
图11是本申请实施例提供的一种图像处理装置的结构示意图;
图12是本申请实施例中一种模型训练装置的硬件结构示意图;
图13是本申请实施例提供的图像处理装置的硬件结构示意图。
下面结合本申请实施例中的附图对本申请实施例进行描述。
本申请实施例可以应用在图像处理任务中,例如,在芯片电子设计自动化(Electronic Design Automation,EDA)物理设计中环节中的拥塞预测(Congestion Prediction)中,即基于半导体芯片的特征图(特征数据)来预测芯片的拥塞程度,从而为全局布局提供优化依据,使得布局器(Placer)能够把拥塞严重区域的单元推散,减少该区域的布局拥塞程度,从而降低芯片的整体拥塞。
应理解,本申请实施例中的图像可以为静态图像(或称为静态画面)或动态图像(或称为动态画面),例如,本申请中的图像可以为视频或动态图片,或者,本申请中的图像也可以为静态图片或照片。为了便于描述,本申请在下述实施例中将静态图像或动态图像统一称为图像。
应此外,上文介绍的拥塞预测只是本申请实施例的方法所应用的具体场景,本申请实施例的方法在应用时并不限于上述场景,本申请实施例的方法能够应用到任何需要进行图像处理的场景中。或者,本申请实施例中的方法也可以类似地应用于其他领域,例如,语音识别及自然语言处理等,本申请实施例中对此并不限定。
下面从模型训练侧和模型应用侧对本申请提供的方法进行描述:
本申请实施例提供的拥塞预测模型的训练方法,涉及计算机视觉的处理,具体可以应用于数据训练、机器学习、深度学习等数据处理方法,对训练数据(如本申请中的第一特征图)进行符号化和形式化的智能信息建模、抽取、预处理、训练等,最终得到训练好的拥塞预测模型;并且,本申请实施例提供的图像处理方法可以运用上述训练好的拥塞预测模型,将输入数据(如本申请中的特征图)输入到训练好的拥塞预测模型中,得到输出数据(如本申请中的待预测芯片的预测拥塞图)。需要说明的是,本申请实施例提供的拥塞预测模型的训练方法和图像处理方法是基于同一个构思产生的发明,也可以理解为一个系统中的两个部分,或一个整体流程的两个阶段:如模型训练阶段和模型应用阶段。
本申请实施例涉及了大量神经网络的相关应用,为了更好地理解本申请实施例的方案,下面先对本申请实施例可能涉及的神经网络和计算机视觉领域的相关术语和概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以x
s和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,W
s为x
s的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输 入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(2)深度神经网络
深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准。从DNN按不同层的位置划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:
其中,
是输入向量,
是输出向量,
是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量
经过如此简单的操作得到输出向量
由于DNN层数多,则系数W和偏移向量
的数量也就很多了。这些参数在DNN中的定义如下所述:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为
上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。总结就是:第L-1层的第k个神经元到第L层的第j个神经元的系数定义为
需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(3)卷积神经网络
卷积神经网络(CNN,convolutional neuron network)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(4)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(5)反向传播算法
卷积神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的超分辨率模型中参数的大小,使得超分辨率模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的超分辨率模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的超分辨率模型的参数,例如权重矩阵。
(6)像素值s
图像的像素值可以是一个红绿蓝(RGB)颜色值,像素值可以是表示颜色的长整数。例如,像素值为256*Red+100*Green+76Blue,其中,Blue代表蓝色分量,Green代表绿色分量,Red代表红色分量。各个颜色分量中,数值越小,亮度越低,数值越大,亮度越高。对于灰度图像来说,像素值可以是灰度值。
下面介绍本申请实施例提供的系统架构。
参见附图1,图1为本申请实施例提供的一种系统架构100的结构示意图。如系统架构100所示,数据采集设备160用于采集训练数据,本申请实施例中训练数据包括所有预测层对应的第一特征图和真实拥塞图。
在采集到训练数据之后,数据采集设备160将这些训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标模型101(即为本申请实施例中的拥塞预测模型)。
下面将以实施例一更详细地描述训练设备120如何基于训练数据得到目标模型101,该目标模型101能够用于实现本申请实施例提供的图像处理方法,即,将待预测芯片每个预测层对应的M张第一特征图通过相关预处理后输入该目标模型101,即可得到每个预测层对应的预测拥塞图。本申请实施例中的目标模型101具体可以为拥塞预测模型,在本申请提供的实施例中,该拥塞预测模型是通过至少一次训练得到的。需要说明的是,在实际的应用中,数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标模型101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备120训练得到的目标模型101可以应用于不同的系统或设备中,如应用 于图1所示的执行设备110,执行设备110可以是终端,如平板电脑,笔记本电脑,手机终端,车载终端等,还可以是服务器或者云端等。在附图1中,执行设备110配置有输入/输出(input/output,I/O)接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据,输入数据在本申请实施例中可以包括待预测芯片各预测层对应的第一特征图。
在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。
最后,I/O接口112将处理结果,如上述得到的待预测芯片各预测层的预测拥塞图(或待预测芯片对应的预测拥塞图)返回给客户设备140,从而提供给用户。
值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型101,该相应的目标模型101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
在附图1中所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向I/O接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。
值得注意的是,附图1仅是本发明实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在附图1中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。
如图1所示,根据训练设备120训练得到目标模型101,该目标模型101在本申请实施例中可以是基于本申请实施例拥塞预测模型的训练方法进行训练得到的;具体的,本申请实施例提供的拥塞预测模型可以是卷积神经网络、生成对抗神经网络,变分自动编码器或语义分割神经网络等模型,本方案对此不做具体限定。
如前文的基础概念介绍所述,卷积神经网络是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning,DL)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元可以对输入其中的图像作出响应。
如图2所示,卷积神经网络(CNN)200可以包括输入层210,卷积层/池化层220(其中池化层为可选的),以及神经网络层230。
卷积层/池化层220:
卷积层:
如图2所示卷积层/池化层220可以包括如示例221-226层,举例来说:在一种实现中,221层为卷积层,222层为池化层,223层为卷积层,224层为池化层,225为卷积层,226为池化层;在另一种实现方式中,221、222为卷积层,223为池化层,224、225为卷积层,226为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
下面将以卷积层221为例,介绍一层卷积层的内部工作原理。
卷积层221可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depth dimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用多个尺寸(行×列)相同的权重矩阵,即多个同型矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度,这里的维度可以理解为由上面所述的“多个”来决定。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化等。该多个权重矩阵尺寸(行×列)相同,经过该多个尺寸相同的权重矩阵提取后的特征图的尺寸也相同,再将提取到的多个尺寸相同的特征图合并形成卷积运算的输出。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以用来从输入图像中提取信息,从而使得卷积神经网络200进行正确的预测。
当卷积神经网络200有多个卷积层的时候,初始的卷积层(例如221)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络200深度的加深,越往后的卷积层(例如226)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,在如图2中卷积层/池化层220所示例的221-226各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值作为平均池化的结果。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像尺 寸相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
神经网络层230:
在经过卷积层/池化层220的处理后,卷积神经网络200还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层220只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或其他相关信息),卷积神经网络200需要利用神经网络层230来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层230中可以包括多层隐含层(如图2所示的231、232至23n)以及输出层240,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到。
在神经网络层230中的多层隐含层之后,也就是整个卷积神经网络200的最后层为输出层240,该输出层240具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络200的前向传播(如图2由210至240方向的传播为前向传播)完成,反向传播(如图2由240至210方向的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络200的损失,及卷积神经网络200通过输出层输出的结果和理想结果之间的误差。
需要说明的是,如图2所示的卷积神经网络200仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在。
下面介绍本申请实施例提供的一种芯片硬件结构。
图3为本发明实施例提供的一种芯片硬件结构,该芯片包括神经网络处理器50。该芯片可以被设置在如图1所示的执行设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图1所示的训练设备120中,用以完成训练设备120的训练工作并输出目标模型101。如图2所示的卷积神经网络中各层的算法均可在如图3所示的芯片中得以实现。
神经网络处理器NPU 50作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路503,控制器504控制运算电路503提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实现中,运算电路503内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器502中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器501中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器508(accumulator)中。
向量计算单元507可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元507可以用于神经网络中非卷积/非FC 层的网络计算,如池化(Pooling),批归一化(batch normalization),局部响应归一化(local response normalization)等。
在一些实现种,向量计算单元507能将经处理的输出的向量存储到统一存储器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。
统一存储器506用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器505(direct memory access controller,DMAC)将外部存储器中的输入数据搬运到输入存储器501和/或统一存储器506、将外部存储器中的权重数据存入权重存储器502,以及将统一存储器506中的数据存入外部存储器。
总线接口单元(bus interface unit,BIU)510,用于通过总线实现主CPU、DMAC和取指存储器509之间进行交互。
与控制器504连接的取指存储器(instruction fetch buffer)509,用于存储控制器504使用的指令。
控制器504,用于调用取指存储器509中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器506,输入存储器501,权重存储器502以及取指存储器509均为片上(on-chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic random access memory,简称DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。
其中,图2所示的卷积神经网络中各层的运算可以由运算电路503或向量计算单元507执行。
上文中介绍的图1中的训练设备120能够执行本申请实施例中拥塞预测模型训练方法的各个步骤,图1中的执行设备110能够执行本申请实施例的图像处理方法中的各个步骤,图2所示的神经网络模型和图3所示的芯片也可以用于执行本申请实施例的图像处理方法的各个步骤,图3所示的芯片也可以用于执行本申请实施例中拥塞预测模型训练方法的各个步骤。
如图4所示,图4为本申请实施例提供一种系统架构300的结构示意图。该系统架构包括本地设备301、本地设备302以及执行设备210和数据存储系统250;其中,本地设备301和本地设备302通过通信网络与执行设备210连接。
执行设备210可以由一个或多个服务器实现。可选的,执行设备210可以与其它计算设备配合使用,例如:数据存储器、路由器、负载均衡器等设备。执行设备210可以布置在一个物理站点上,或者分布在多个物理站点上。执行设备210可以使用数据存储系统250中的数据,或者调用数据存储系统250中的程序代码来实现本申请实施例的拥塞预测模型训练方法或图像处理方法。
具体地,执行设备210可以执行以下过程:
将多个金属层划分为至少两个预测层;其中,所述多个金属层为K个半导体芯片中每个半导体芯片包含的金属层,N为大于1的整数,K为正整数;确定每个所述预测层对应的M个第一特征图;其中,所述M个第一特征图分别用于描述每个所述预测层的M个芯片特征,M为正整数;将所述K个半导体芯片中每个所述预测层对应的M个第一特征图加入数据集,并利用所述数据集训练拥塞预测模型。
通过上述执行设备210能够训练得到拥塞预测模型,该拥塞预测模型可以用于图像处理、语音处理及自然语言处理等,例如,该拥塞预测模型可以用于实现本申请实施例中的拥塞预测方法。
或者,通过上述过程执行设备210能够搭建成一个图像处理装置,该图像处理装置可以用于图像处理(例如,可以用于实现本申请实施例中的半导体芯片的拥塞预测)。
用户可以操作各自的用户设备(例如本地设备301和本地设备302)与执行设备210进行交互。每个本地设备可以表示多种计算设备,例如个人计算机、计算机工作站、智能手机、平板电脑等。
每个用户的本地设备可以通过任何通信机制/通信标准的通信网络与执行设备210进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。
在一种实现方式中,本地设备301、本地设备302从执行设备210获取到拥塞预测模型的相关参数,将拥塞预测模型部署在本地设备301、本地设备302上,利用该拥塞预测模型对待预测芯片进行拥塞预测,得到待预测芯片的预测拥塞图。
在另一种实现中,执行设备210上可以直接部署训练好的拥塞预测模型,执行设备210通过从本地设备301和本地设备302获取待预测芯片的特征数据,并利用该训练好的拥塞预测模型对待预测芯片进行拥塞预测,得到待预测芯片的预测拥塞图。
在一种实现方式中,本地设备301、本地设备302从执行设备210获取到图像处理装置的相关参数,将图像处理装置部署在本地设备301、本地设备302上,利用该图像处理装置对待预测芯片进行拥塞预测,得到待预测芯片的预测拥塞图。
在另一种实现中,执行设备210上可以直接部署图像处理装置,执行设备210通过从本地设备301和本地设备302获取待预测芯片的特征数据,并利用该图像处理装置对待预测芯片进行拥塞预测,得到待预测芯片的预测拥塞图。
也就是说,上述执行设备210也可以为云端设备,此时,执行设备210可以部署在云端;或者,上述执行设备210也可以为终端设备,此时,执行设备210可以部署在用户终端侧,本申请实施例对此并不限定。
下面结合附图对本申请实施例的拥塞预测模型的训练方法及图像处理方法(例如,EDA中的拥塞预测方法)进行详细的介绍。
请参见图5,图5是本申请实施例提供的一种拥塞预测模型训练方法500的流程示意图,该方法包括但不限于如下步骤:
步骤S510:将多个金属层划分为至少两个预测层;其中,所述多个金属层为K个半导体芯片中每个半导体芯片包含的金属层,K为正整数。
具体地,将每个半导体芯片中包含的金属层划分为至少两个预测层;其中,每个预测层包含至少一个金属层。请参见图6,图6为本申请实施例提供的一种半导体芯片的层级划分示意图。如图6所示,半导体芯片可以包含多个金属层(从上至下依次为金属层1-1…金属层N-B),该半导体芯片可划分为至少两个预测层(从上至下依次为预测层1…预测层N),每个预测层包含至少一个金属层,例如预测层1可以包含金属层1-1…金属层1-A,预测层N可以包含金属层N-1…金属层N-B;其中,A和B为正整数,N为大于或等于2的整数。
在一种可行的实施方式中,上述将多个金属层划分为至少两个预测层,包括:根据每个所述半导体芯片中金属层的制造工艺或功能模块分布将所述多个金属层划分为至少两个预测层。
具体地,预测层的分层依据为金属层的制造工艺或者金属层是否包含相同的功能模块(Module),即在同一半导体芯片上,可以将制造工艺类似的金属层划分到同一预测层中,或将包含相同功能模块的金属层划分到同一预测层中。其中,各金属层的制造工艺可以由各金属层的绕线资源量(Routingtrack capacity)进行表征,绕线资源量具体为每个金属层上绕线轨道(Routing track)的数量;当金属层的制造工艺越先进时,其绕线资源量越大,例如,7nm制造工艺的金属层上绕线资源量大于14nm制造工艺的金属层上的绕线资源量。功能模块指金属层中的一些硬件结构,例如,宏单元(Macro Cell)层或寄存器等。
举例来说,当根据各金属层的绕线资源量的差异性对同一半导体芯片中的多个金属层划分为至少两个预测层时,可以将绕线资源量的差异小于或等于预设阈值的金属层划分到同一预测层中,该预设阈值可以根据具体地应用场景进行确定。假设半导体芯片包含6个金属层,且该6个金属层芯片的绕线资源量分别为15、15、14、10、10和2,预设阈值为2;此时,可以将该6个金属层划分为3个预测层;其中,绕线资源量的单位为条。具体地,可以将绕线资源量分别为15、15和14的三个金属层划分到同一预测层;将绕线资源量为10的两个金属层划分到同一预测层;将绕线资源量为2的金属层划分到同一预测层。
举例来说,当根据各金属层包含的功能模块对同一半导体芯片中的多个金属层划分为至少两个预测层时,可以根据半导体芯片中是否包含宏单元层或者是否包含寄存器来将同一半导体芯片中的多个金属层划分为至少两个预测层。例如,可以将同一半导体芯片中包含宏单元层的金属层划分到同一预测层,将包含非宏单元层的金属层划分到同一预测层;或将同一半导体芯片中包含寄存器的金属层划分到同一预测层,将不包含寄存器的金属层划分到同一预测层。
可以看出,基于上述划分方式将多个金属层划分不同预测层,使得同一预测层中金属层的特征数据呈现高度的一致性,不同预测层对应的特征数据具有较大差异,因而在利用不同预测层各自对应的特征数据对拥塞预测模型进行训练后,所得到的模型可以分别对不同趋势的特征数据进行有效地识别,并基于识别出的特征进行相应地预测,即模型具有精细化的识别和预测能力。
步骤S520:确定每个所述预测层对应的M个第一特征图;其中,所述M个第一特征图分别用于描述每个所述预测层的M个芯片特征,M为正整数。
具体地,可以根据具体地应用场景确定用于进行拥塞预测的M个芯片特征。获取芯片相关数据,包括网表、宏模块位置、晶体管的位置、晶体管引脚位置和绕线资源量等。基于上述芯片相关数据计算得到与每个预测层的M个芯片特征对应的M个第一特征图,预测层的每个芯片特征对应一个描述该芯片特征的第一特征图。
在一种可行的实施方式中,上述M个芯片特征可以包括引脚密度、网络连接密度、模块掩码或绕线资源量中的一个或多个。
应当理解,上述芯片特征只是本申请实施例列出的几个具体示例,本领域技术人员也可利用其它芯片特征来对预测层进行相应的描述。此外,采用上述预测层分层依据进行分层后,每个预测层中的各金属层具有类似的芯片特征;例如,在同一预测层中,一个金属层的引脚密度与另一金属层的引脚密度类似。
在一种可行的实施方式中,上述确定每个所述预测层对应的M个第一特征图,包括:获取每个所述预测层中每个金属层对应的M个第二特征图;其中,所述M个第二特征图分别用于描述所述每个金属层的所述M个芯片特征;基于所述每个金属层的M个第二特征图,生成每个所述预测层对应的M个第一特征图;其中,所述M个第一特征图中用于描述任一芯片特征的第一特征图是基于所述每个金属层中描述所述任一芯片特征的第二特征图得到的。
具体地,每个半导体芯片包含的各金属层都对应上述M个芯片特征,即每个金属层的芯片特征可以包括引脚密度、网络连接密度、模块掩码或绕线资源量中的一个或多个;其中,引脚密度和模块掩码是没有方向性的;绕线资源量和网络连接密度是有方向性的。在同一金属层中,绕线资源量为水平方向或垂直方向,网络连接密度为水平方向或垂直方向。
其中,绕线资源量具体为每个金属层上绕线轨道(Routing track)的数量,由于每个金属层上绕线轨道是有方向性的,为水平方向或垂直方向,因而绕线资源量也相应地具有方向性。网络连接密度是指单位面积上的绕线数量,绕线是缠绕于上述绕线轨道上,因而网络连接密度也具有方向性,即相应地为水平或垂直方向。应当理解,对于有方向性的芯片特征,描述该芯片特征的第一特征图也相应地具有方向性;例如,当绕线资源量为水平方向时,描述绕线资源量的第一特征图也为水平方向。
进一步,上述获取每个所述预测层中每个金属层对应的M个第二特征图,包括:基于每个预测层中各金属层的布线数据进行特征提取,得到各金属层对应的M个第二特征图。上述基于每个金属层的M个第二特征图,生成每个预测层对应的M个第一特征图,包括:对于同一芯片特征而言,基于描述每个金属层上该同一芯片特征的第二特征图,得到描述该同一芯片特征的第一特征图,该第一特征图即是每个预测层对应的M个第一特征图中的一个。具体地,对描述同一预测层中各金属层上同一芯片特征的各第二特征图上对应像素点进行加权平均、取最大值或最小值,得到该同一芯片特征所对应第一特征图上对应像素点的像素值。对各第二特征图上的每个像素点进行上述操作,得到该同一芯片特征对应的第一特征图上各像素点的像素值,即得到描述该同一芯片特征的第一特征图。
应当理解,本领域技术人员除采用上述加权平均、取最大值或最小值之外,也可以采用其它方式对描述各金属层上同一芯片特征的各第二特征图进行处理,得到描述该同一芯片特征的第一特征图,本申请对此不限定。
举例来说,当一个预测层中包含四个金属层,M个芯片特征包含引脚密度时,该预测层引脚密度对应的第一特征图的确定方式如下:首先基于该四个金属层中每个金属层的布线数据得到分别描述该四个金属层引脚密度的四个第二特征图;对该四个第二特征图中同一位置的像素值采用加权平均、取最大值或最小值等方式进行处理,得到描述该预测层上引脚密度的第一特征图中同一位置处的像素值。对上述四个第二特征图中每个像素点都采用上述方式进行处理,得到该预测层上引脚密度对应的第一特征图。
应当注意,当一个金属层不存在上述M个芯片特征中的第一芯片特征时,即该金属层不存在用于描述该第一芯片特征的真实第二特征图,此时可以采用预设操作得到描述该金属层第一芯片特征的第二特征图。该预设操作可以是:首先确定该一个金属层所位于的预测层,基于该预测层中描述其它各金属层上第一芯片特征的各第二特征图确定描述该一个金属层上第一芯片特征的第二特征图,例如,可以对描述其它各金属层第一芯片特征的各第二特征图上对应像素点进行加权平均、取最大值或最小值或其它处理方式,得到描述该一个金属层第一芯片特征的第二特征图。
可以看出,在本申请实施例中,每个金属层对应M个第二特征图,该M个第二特征图用于分别描述每个金属层的M个芯片特征。基于上述分层方式,在每个预测层中,对于同一芯片特征而言,由于各金属层对应的第二特征图具有较强的相关性和一致性,因而基于上述取均值、最大值或最小值等方式得到的描述该同一芯片特征的第一特征图可以准确表征各金属层的该同一芯片特征,即描述同一芯片特征的第一特征图与每个金属层中描述该同一芯片特征的第二特征图具有较好的相关性和一致性;避免了因为同一预测层中各金属层描述该同一芯片特征的第一特征图差异较大,使得最终得到的描述该同一芯片特征的第一特征图与每个金属层描述该同一芯片特征的第二特征图差异较大。综上,对于同一芯片特征而言,通过上述分层方式和第一特征图的确定方式可以获得准确反映每个预测层中各金属层上该同一芯片特征的第一特征图,因而在利用不同预测层各自对应的第一特征图对拥塞预测模型进行训练后,所得到的模型可以分别对不同趋势的特征数据进行有效地识别,并基于识别出的特征进行相应地预测,即采用本申请实施例训练得到的模型具有精细化的识别和预测能力。
步骤S530:基于所述K个半导体芯片中每个半导体芯片包含的所述预测层对应的M个第一特征图和真实拥塞图确定数据集,并利用所述数据集训练拥塞预测模型;其中,每个所述预测层对应的真实拥塞图用于描述每个所述预测层的真实拥塞程度。
其中,拥塞程度指绕线资源需求和绕线资源量的差值。绕线资源量指绕线轨道的数量。绕线资源需求指将所有网表进行连通所需的绕线数量,该所需绕线缠绕于绕线轨道中,因而绕线资源需求和绕线资源量的差值即为拥塞程度。例如,绕线资源需求为10条,即需要10条绕线才能把所有网表进行连通;若绕线资源量为8,即绕线轨道为8条,此时,有两条绕线会与其它绕线共同缠绕于同一轨道中,即此时的拥塞程度为2。
在一种可行的实施方式中,上述方法还包括:对所述K个半导体芯片进行全局绕线,根据全局绕线后的所述K个半导体芯片得到每个所述预测层对应的真实拥塞图;将所述K个半导体芯片中每个所述预测层对应的真实拥塞图加入所述数据集。
其中,芯片设计可以分为芯片布局和全局绕线(Global routing)两个阶段。芯片布局阶段主要确定芯片上每个金属层中的网表、宏模块位置、晶体管的位置、晶体管引脚位置和绕线资源量等。全局绕线阶段主要将金属线缠绕于绕线资源量对应的绕线轨道中。
具体地,上述根据全局绕线后的所述K个半导体芯片得到每个所述预测层对应的真实拥塞图,包括:在对半导体芯片进行全局绕线后,可以确定芯片上绕线的数量,即绕线资源需求(Routing track demand);然后基于绕线资源需求和绕线资源量计算得到每个预测层的真实拥塞图。
本申请实施例中的图像处理方法(也可称为拥塞预测方法)主要用于芯片布局阶段,在未进行全局绕线时,基于该方法预测芯片的拥塞程序从而相应调整芯片布局。
在一种可行的实施方式中,每个所述预测层对应的真实拥塞图包括第一水平真实拥塞图和第一垂直真实拥塞图,每个所述预测层中每个金属层对应的真实拥塞图包括第二水平真实拥塞图和第二垂直真实拥塞图;所述第一水平真实拥塞图是基于每个所述预测层中每个金属层对应的第二水平真实拥塞图得到的,所述第一垂直真实拥塞图是基于每个所述预测层中每个金属层对应的第二垂直真实拥塞图得到的。
具体地,获取每个半导体芯片中各金属层对应的真实拥塞图,每个金属层对应的真实拥塞图包括第二水平真实拥塞图和第二垂直真实拥塞图;其中,第二水平真实拥塞图用于描述金属层在水平方向上的拥塞程度,第二垂直真实拥塞图用于描述金属层在垂直方向上的拥塞程度。其中,每个金属层对应的真实拥塞图是在进行全局绕线后,基于每个金属层的绕线资源需求和绕线资源量进行计算得到的。
可选地,基于预测层中各金属层对应的第二水平真实拥塞图得到的该预测层对应的第一水平真实拥塞图的具体过程,可以对应参照上述确定预测层对应的第一特征图的具体过程,即利用各金属层上同一芯片特征对应的第二特征图,得到描述该同一芯片特征的第一特征图的具体过程,此处不再赘述。同理,确定预测层对应的第一垂直真实拥塞图的具体过程与第一水平真实拥塞图的确定过程对应相同,此处不再赘述。
应当理解,每个预测层对应的M个第一特征图和真实拥塞图的尺寸相同。
可以看出,在本申请实施例中,基于上述分层方式,在每个预测层中,由于各金属层对应的真实拥塞图具有较强的相关性和一致性,因而基于本申请实施例中的方式所得到的每个预测层的真实拥塞图与预测层中各金属层的真实拥塞图具有较好的一致性,即可以得到准确反映每个预测层拥塞程度的真实拥塞图,进而确保后续利用每个预测层的真实拥塞图训练得到的拥塞预测模型的预测精度。
在一种可行的实施方式中,上述将所述K个半导体芯片中每个所述预测层对应的M个第一特征图加入数据集,并利用所述数据集训练拥塞预测模型,包括:利用所述数据集对所述拥塞预测模型进行迭代训练;其中,每次迭代训练,包括:利用所述拥塞预测模型对所述数据集中任一预测层对应的M个第一特征图进行处理,得到所述任一预测层对应的预测拥塞图;基于所述预测拥塞图和所述任一预测层对应的真实拥塞图更新所述拥塞预测模型。
具体地,上述每次迭代训练包括:从任一预测层对应的M个第一特征图和2张真实拥 塞图中确定单次迭代训练样本。其中,单次迭代训练样本包含M张第三特征图和2张目标真实拥塞图。将M张第三特征图输入拥塞预测模型,得到模型输出的预测拥塞图;基于预测拥塞图和2张目标真实拥塞图确定预测误差。根据预测误差,采用梯度下降法或其它反向传播算法更新拥塞预测模型中的模型参数。最后,判断该次训练过程是否达到预设条件。当满足预设条件时,结束拥塞预测模型的训练过程;当不满足预设条件时,开始下一次迭代训练。该预设条件可以是训练次数大于或等于预设次数、预测误差小于或等于预设误差或其它可行的条件,本申请对此不限定。其中,上述拥塞预测模型可以是生成对抗神经网络,变分自动编码器,语义分割神经网络等模型,本申请对此不限定。
其中,上述确定单次迭代训练样本的过程具体如下:
从预测层对应的M个第一特征图上任意相同区域分别选取M个第三特征图,从预测层对应的2张真实拥塞图上的该任意相同区域分别选取2张目标真实拥塞图,该M个第三特征图和2张目标真实拥塞图的尺寸等于目标尺寸;将该M个第三特征图和2张目标真实拥塞图作为单次迭代训练样本。其中,目标尺寸为拥塞预测模型允许输入图像的尺寸,目标尺寸可以小于或等于第一特征图的尺寸。
进一步地,当目标尺寸等于预测层所对应的M个第一特征图的尺寸时,将该M个第一特征图分别作为上述M张第三特征图,将该预测层所对应的2张真实拥塞图分别作为上述2张目标真实拥塞图,即此时单次迭代训练样本包括M个第一特征图和2张真实拥塞图。
在一种可行的实施方式中,所述每个半导体芯片包含的预测层分别为宏单元层和非宏单元层,所述拥塞预测模型包括第一拥塞预测模型和第二拥塞预测模型;所述将所述K个半导体芯片中每个所述预测层对应的M个第一特征图加入数据集,并利用所述数据集训练拥塞预测模型,包括:利用所述数据集中宏单元层对应的第一特征图和对应的真实拥塞图对所述第一拥塞预测模型进行训练;利用所述数据集中非宏单元层对应的第一特征图和对应的真实拥塞图对所述第二拥塞预测模型进行训练。
可选地,将每个半导体芯片中的多个金属层划分为两个预测层,分别为宏单元层和非宏单元层。第一拥塞预测模型和第二拥塞预测模型的模型结构完全相同、初始模型模型参数可以相同或不同。
具体地,上述利用数据集中宏单元层对应的第一特征图和对应的真实拥塞图对第一拥塞预测模型进行训练,包括:从任一宏单元层对应的M个第一特征图和真实拥塞图中确定单次迭代训练样本,然后利用单次迭代训练样本对第一拥塞预测模型进行训练。其中,用于对第一拥塞预测模型进行训练的单次迭代训练样本的确定过程可以参见前述拥塞预测模型的单次迭代训练样本的确定过程,此处不再赘述;第一拥塞预测模型的具体训练过程可以与上述实施例中拥塞预测模型的训练过程对应相同,此处不再赘述。
同理,第二拥塞预测模型的训练过程与第一拥塞预测模型的训练过程对应相同,此处不再赘述。
请参见图7,图7是本申请实施例提供的一种图像处理方法700的流程示意图,该方法包括但不限于如下步骤:
步骤S710:确定待预测半导体芯片中每个预测层对应的M个第一特征图;其中,所述待预测半导体芯片包括至少两个所述预测层,所述M为正整数;
具体地,上述每个预测层对应的M个第一特征图的确定方式可以参照图5所示实施例的具体描述,此处不再赘述。
步骤S720:利用拥塞预测模型对每个所述预测层对应的M个第一特征图进行处理,得到每个所述预测层对应的预测拥塞图;
其中,所述拥塞预测模型是通过数据集进行训练后得到的,所述数据集包括K个训练半导体芯片中每个训练半导体芯片包含的训练预测层分别对应的训练数据,每个所述训练预测层对应的训练数据包括M个第一训练特征图和真实拥塞图,所述M个第一训练特征图分别用于描述每个所述训练预测层的M个芯片特征,所述真实拥塞图用于描述每个所述训练预测层的真实拥塞程度,每个所述训练半导体芯片包括至少两个所述训练预测层,每个所述训练预测层包括至少一个金属层,K为正整数。
可选地,当第一特征图的尺寸大于拥塞预测模型输入图像的目标尺寸时,可以采用滑动窗口方式分别从M个第一特征图上获取模型进行单次预测的M个第四特征图。其中,每个第四特征图的尺寸为目标尺寸,如图8所示,目标尺寸的长和宽可以分别为E和F,E和F为正整数,其单位可以为像素点。
具体地,下面将参照图8描述拥塞预测模型用于单次预测的模型输入数据的组成:
图8所示第一特征图为预测层对应的M个第一特征图中的任意一个。如图8所示,该第一特征图可以包含D个第四特征图,且任意两个相邻的第四特征图之间重叠部分的宽度为G,G为大于或等于零的整数,单位可以为像素点。即M个第一特征图中的每个第一特征图包含D个第四特征图。将M个第一特征图上相同区域处的M个第四特征图作为模型进行单次预测的输入数据。综上可知,每个预测层对应的M个第一特征图共包含D组用于拥塞预测的输入数据,每组输入数据对应第一特征图上的特定区域,也对应该预测层上的特定区域,D为正整数。
可选地,上述利用拥塞预测模型对每个预测层对应的M个第一特征图进行处理,得到每个预测层对应的预测拥塞图,包括:将每个预测层对应的D组输入数据依次输入一个或多个拥塞预测模型中,得到每组输入数据对应的预测拥塞图,共D组预测拥塞图。其中,每组预测拥塞图包括一个水平预测拥塞图和一个垂直预测拥塞图。将D组预测拥塞图中的水平预测拥塞图进行拼接,得到每个预测层对应的水平预测拥塞图;将D组预测拥塞图中的垂直预测拥塞图进行拼接,得到每个预测层对应的垂直拥塞图。应当注意,在对两张预测拥塞图进行拼接的过程中,在该两张预测拥塞图上的重叠部分,该重叠部分的每个像素点分别在两张预测拥塞图上对应两个像素值,可以对每个像素点对应的两个像素值采取加权平均或取最大值等方式确定拼接后每个像素点的像素值。
进一步,可选地,上述将每个预测层对应的D组输入数据依次输入一个或多个拥塞预测模型中,包括:将上述D组输入数据依次输入训练得到的一个拥塞预测模型中,得到每组输入数据对应的预测拥塞图;或将D组输入数据中的每组输入数据分别输入多个拥塞预测模型中的一个拥塞预测模型中,以进行并行化预测,得到每组输入数据对应的预测拥塞图;其中,该多个拥塞预测模型中的每个拥塞预测模型的模型结构和参数与训练得到的拥 塞预测模型相同。
可以看出,本申请实施例中,采用并行化预测方式,可以极大节省拥塞预测的时间,提高效率。
可选地,上述将每个预测层对应的D组输入数据依次输入一个或多个拥塞预测模型中,包括:当待预测半导体芯片被划分为两个预测层,分别为宏单元层和非宏单元层时,将宏单元层对应的D组输入数据输入一个或多个第一拥塞预测模型中,得到宏单元层对应的预测拥塞图。将非宏单元层对应的D组输入数据输入一个或多个第二拥塞预测模型中,得到非宏单元层对应的预测拥塞图。
具体地,上述拥塞预测模型的具体训练过程可以参见图5所述的实施例,此处不再赘述。
在一种可行的实施方式中,上述方法还包括:对所述待预测半导体芯片中所有预测层对应的预测拥塞图进行聚合,得到所述待预测半导体芯片对应的预测拥塞图。
具体地,将待预测半导体芯片中各预测层对应的垂直预测拥塞图和水平预测拥塞图进行聚合,得到所述待预测半导体芯片对应的预测拥塞图。
在一种可行的实施方式中,每个所述预测层对应的预测拥塞图包含垂直预测拥塞图和水平预测拥塞图;所述对每个所述预测层对应的预测拥塞图进行聚合,得到所述待预测半导体芯片对应的预测拥塞图,包括:利用层级聚合算子对每个所述预测层对应的垂直预测拥塞图进行聚合,得到参考垂直预测拥塞图;利用所述层级聚合算子对每个所述预测层对应的水平预测拥塞图进行聚合,得到参考水平预测拥塞图;利用方向性聚合算子对所述参考垂直预测拥塞图和所述参考水平预测拥塞图进行聚合,得到所述待预测半导体芯片对应的预测拥塞图;或利用所述方向性聚合算子对每个所述预测层对应的垂直预测拥塞图和水平预测拥塞图进行聚合,得到每个所述预测层对应的参考预测拥塞图;利用所述层级聚合算子对每个所述预测层对应的参考预测拥塞图进行聚合,得到所述待预测半导体芯片对应的预测拥塞图。
可选地,上述层级聚合算子可以是取均值或取最大值等运算。具体地,将任意两个进行层级聚合的预测拥塞图上对应的像素点进行取均值或取最大值等运算,得到聚合后预测拥塞图上对应像素点的像素值。同理,上述方向性聚合算子也可以是取均值或最大值等运算,本申请对此不限定。此外,方向性聚合算子具体地运算过程可以参见层级聚合算子对应的运算过程,此处不再赘述。
综上可知,待预测半导体芯片包含至少两个预测层,可以先利用方向性聚合算子对各预测层对应的水平预测拥塞图和垂直预测拥塞图进行聚合,得到每个预测层对应的参考预测拥塞图;再利用层级聚合算子对每个预测层对应的参考预测拥塞图进行聚合,得到待预测半导体芯片对应的预测拥塞图。或者先利用层级聚合算子分别对各预测层对应水平预测拥塞图进行聚合,得到参考水平预测拥塞图;利用层级聚合算子分别对各预测层对应垂直预测拥塞图进行聚合,得到参考垂直预测拥塞图;再利用方向性聚合算子对参考水平预测拥塞图和参考垂直预测拥塞图进行聚合,得到待预测半导体芯片对应的预测拥塞图。或者采用其它聚合顺序,利用层级聚合算子和方向性聚合算子对个预测层对应的预测拥塞图进 行聚合,得到待预测半导体芯片对应的预测拥塞图,本申请对此不限定。
在一种可行的实施方式中,每个所述训练预测层对应的真实拥塞图是基于全局绕线后的所述K个训练半导体芯片得到的。
在一种可行的实施方式中,每个所述训练半导体芯片中包含的训练预测层是基于每个所述训练半导体芯片中金属层的制造工艺或功能模块分布划分得到的。
在一种可行的实施方式中,每个所述训练预测层对应的M个第一训练特征图是根据每个所述训练预测层中每个金属层对应的M个第二特征图得到的;其中,所述M个第一训练特征图中用于描述任一芯片特征的第一训练特征图是基于所述每个金属层中描述该任一芯片特征的第二特征图得到的。
在一种可行的实施方式中,每个所述训练预测层对应的真实拥塞图包括第一水平真实拥塞图和第一垂直真实拥塞图,每个所述训练预测层中每个金属层对应的真实拥塞图包括第二水平真实拥塞图和第二垂直真实拥塞图;所述第一水平真实拥塞图是基于每个所述训练预测层中每个金属层对应的第二水平真实拥塞图得到的,所述第一垂直真实拥塞图是基于每个所述训练预测层中每个金属层对应的第二垂直真实拥塞图得到的。
在一种可行的实施方式中,在所述拥塞预测模型每次迭代训练的过程中,通过所述数据集中任一训练预测层对应的预测拥塞图和该任一训练预测层对应的真实拥塞图更新所述拥塞预测模型;所述任一训练预测层对应的预测拥塞图是通过将所述任一训练预测层对应的M个第一训练特征图输入所述拥塞预测模型得到的。
在一种可行的实施方式中,所述多个训练预测层分为宏单元层和非宏单元层,所述拥塞预测模型包括第一拥塞预测模型和第二拥塞预测模型;所述第一拥塞预测模型是通过所述数据集中宏单元层对应的第一训练特征图和对应的真实拥塞图进行训练得到的;所述第二拥塞预测模型是通过所述数据集中非宏单元层对应的第一训练特征图和对应的真实拥塞图进行训练得到的。
在一种可行的实施方式中,所述M个芯片特征包括引脚密度、网络连接密度、模块掩码或绕线资源量中的一个或多个。
具体地,上述利用训练半导体芯片对拥塞预测模型进行训练的具体过程可以参见图5所示的实施例的具体描述,此处不再赘述。
请参见图9,图9为本申请实施例提供的一种拥塞预测的流程示意图。如图9所示,半导体芯片的拥塞预测过程具体如下:将待预测半导体芯片分为两个预测层,分别为宏单元层和非宏单元层。按照前述实施例中的方法分别确定宏单元层和非宏单元层对应的M个第一特征图。利用第一拥塞预测模型对宏单元层对应的M个第一特征图进行处理,得到宏单元层对应的水平预测拥塞图和垂直预测拥塞图;利用第二拥塞预测模型对非宏单元层对应的M个第一特征图进行处理,得到非宏单元层对应的水平预测拥塞图和垂直预测拥塞图。最后利用层级聚合算子和方向性聚合算子对宏单元层对应的水平预测拥塞图、宏单元层对应的垂直预测拥塞图、非宏单元层对应的水平预测拥塞图和非宏单元层对应的垂直预测拥塞图进行聚合,得到待预测半导体芯片对应的预测拥塞图。
具体地,上述待预测半导体芯片拥塞预测的具体过程可参见前述图5和图7实施例中 的对应过程,此处不再赘述。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
请参见图10,图10是本申请实施例提供的一种模型训练装置1000的结构示意图,该装置1000可以包括分层单元1010、确定单元1020和训练单元1030,其中,各个单元的详细描述如下。
分层单元1010,用于将多个金属层划分为至少两个预测层;其中,所述多个金属层为K个半导体芯片中每个半导体芯片包含的金属层,K为正整数;确定单元1020,用于确定每个所述预测层对应的M个第一特征图;其中,所述M个第一特征图分别用于描述每个所述预测层的M个芯片特征,M为正整数;训练单元1030,用于将所述K个半导体芯片中每个所述预测层对应的M个第一特征图加入数据集,并利用所述数据集训练拥塞预测模型。
在一种可行的实施方式中,上述训练单元还用于:基于全局绕线后的所述K个半导体芯片得到每个所述预测层对应的真实拥塞图;将所述K个半导体芯片中每个所述预测层对应的真实拥塞图加入所述数据集。
在一种可行的实施方式中,上述分层单元具体用于:根据每个所述半导体芯片中金属层的制造工艺或功能模块分布将所述多个金属层划分为至少两个预测层。
在一种可行的实施方式中,上述确定单元具体用于:获取每个所述预测层中每个金属层对应的M个第二特征图;其中,所述M个第二特征图分别用于描述所述每个金属层的所述M个芯片特征;基于所述每个金属层的M个第二特征图,生成每个所述预测层对应的M个第一特征图;其中,所述M个第一特征图中用于描述任一芯片特征的第一特征图是基于所述每个金属层中描述所述任一芯片特征的第二特征图得到的。
在一种可行的实施方式中,每个所述预测层对应的真实拥塞图包括第一水平真实拥塞图和第一垂直真实拥塞图,每个所述预测层中每个金属层对应的真实拥塞图包括第二水平真实拥塞图和第二垂直真实拥塞图;所述第一水平真实拥塞图是基于每个所述预测层中每个金属层对应的第二水平真实拥塞图得到的,所述第一垂直真实拥塞图是基于每个所述预测层中每个金属层对应的第二垂直真实拥塞图得到的。
在一种可行的实施方式中,在所述利用所述数据集训练拥塞预测模型的方面,上述训练单元具体用于:利用所述数据集对所述拥塞预测模型进行迭代训练;其中,每次迭代训练,包括:利用所述拥塞预测模型对所述数据集中任一预测层对应的M个第一特征图进行处理,得到所述任一预测层对应的预测拥塞图;基于所述预测拥塞图和所述任一预测层对应的真实拥塞图更新所述拥塞预测模型。
在一种可行的实施方式中,上述每个半导体芯片包含的预测层分别为宏单元层和非宏单元层;在所述利用所述数据集训练拥塞预测模型的方面,上述训练单元具体用于:利用所述数据集中宏单元层对应的第一特征图和对应的真实拥塞图对所述第一拥塞预测模型进行训练;利用所述数据集中非宏单元层对应的第一特征图和对应的真实拥塞图对所述第二拥塞预测模型进行训练。
在一种可行的实施方式中,上述M个芯片特征包括引脚密度、网络连接密度、模块掩 码或绕线资源量中的一个或多个。
需要说明的是,各个单元的实现还可以对应参照图5和图7所示的方法实施例的相应描述。
请参见图11,图11是本申请实施例提供的一种图像处理装置1100的结构示意图。装置1100包括确定单元1110和处理单元1120。
确定单元1110,用于确定待预测半导体芯片中每个预测层对应的M个第一特征图;其中,所述待预测半导体芯片包括至少两个所述预测层,所述M为正整数;处理单元1120,用于利用拥塞预测模型对每个所述预测层对应的M个第一特征图进行处理,得到每个所述预测层对应的预测拥塞图;其中,所述拥塞预测模型是通过数据集进行训练后得到的,所述数据集包括K个训练半导体芯片中每个训练半导体芯片包含的训练预测层分别对应的训练数据,每个所述训练预测层对应的训练数据包括M个第一训练特征图和真实拥塞图,所述M个第一训练特征图分别用于描述每个所述训练预测层的M个芯片特征,所述真实拥塞图用于描述每个所述训练预测层的真实拥塞程度,每个所述训练半导体芯片包括至少两个所述训练预测层,每个所述训练预测层包括至少一个金属层。
在一种可行的实施方式中,上述装置还包括:聚合单元,用于对所述待预测半导体芯片中所有预测层对应的预测拥塞图进行聚合,得到所述待预测半导体芯片对应的预测拥塞图。
在一种可行的实施方式中,每个所述预测层对应的预测拥塞图包含垂直预测拥塞图和水平预测拥塞图;上述聚合单元具体用于:利用层级聚合算子对每个所述预测层对应的垂直预测拥塞图进行聚合,得到参考垂直预测拥塞图;利用所述层级聚合算子对每个所述预测层对应的水平预测拥塞图进行聚合,得到参考水平预测拥塞图;利用方向性聚合算子对所述参考垂直预测拥塞图和所述参考水平预测拥塞图进行聚合,得到所述待预测半导体芯片对应的预测拥塞图;或,利用所述方向性聚合算子对每个所述预测层对应的垂直预测拥塞图和水平预测拥塞图进行聚合,得到每个所述预测层对应的参考预测拥塞图;利用所述层级聚合算子对每个所述预测层对应的参考预测拥塞图进行聚合,得到所述待预测半导体芯片对应的预测拥塞图。
在一种可行的实施方式中,每个所述训练半导体芯片中包含的训练预测层是基于每个所述训练半导体芯片中金属层的制造工艺或功能模块分布划分得到的。
在一种可行的实施方式中,每个所述训练预测层对应的M个第一训练特征图是根据每个所述训练预测层中每个金属层对应的M个第二特征图得到的;其中,所述M个第一训练特征图中用于描述任一芯片特征的第一训练特征图是基于所述每个金属层中描述该任一芯片特征的第二特征图得到的。
在一种可行的实施方式中,每个所述训练预测层对应的真实拥塞图包括第一水平真实拥塞图和第一垂直真实拥塞图,每个所述训练预测层中每个金属层对应的真实拥塞图包括第二水平真实拥塞图和第二垂直真实拥塞图;所述第一水平真实拥塞图是基于每个所述训练预测层中每个金属层对应的第二水平真实拥塞图得到的,所述第一垂直真实拥塞图是基于每个所述训练预测层中每个金属层对应的第二垂直真实拥塞图得到的。
在一种可行的实施方式中,在所述拥塞预测模型每次迭代训练的过程中,通过所述数据集中任一训练预测层对应的预测拥塞图和该任一训练预测层对应的真实拥塞图更新所述拥塞预测模型;所述任一训练预测层对应的预测拥塞图是通过将所述任一训练预测层对应的M个第一训练特征图输入所述拥塞预测模型得到的。
在一种可行的实施方式中,所述多个训练预测层分为宏单元层和非宏单元层,所述拥塞预测模型包括第一拥塞预测模型和第二拥塞预测模型;所述第一拥塞预测模型是通过所述数据集中宏单元层对应的第一训练特征图和对应的真实拥塞图进行训练得到的;所述第二拥塞预测模型是通过所述数据集中非宏单元层对应的第一训练特征图和对应的真实拥塞图进行训练得到的。
在一种可行的实施方式中,所述M个芯片特征包括引脚密度、网络连接密度、模块掩码或绕线资源量中的一个或多个。
具体地,图像处理装置1100可以用于处理图7中所述的图像处理方法700的对应步骤,此处不再赘述。
请参见图12,图12是本申请实施例提供的一种模型训练装置1200的硬件结构示意图。图12所示的模型训练装置1200(该装置1200具体可以是一种计算机设备)包括存储器1201、处理器1202、通信接口1203以及总线1204。其中,存储器1201、处理器1202、通信接口1203通过总线1204实现彼此之间的通信连接。
存储器1201可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器1201可以存储程序,当存储器1201中存储的程序被处理器1202执行时,处理器1202和通信接口1203用于执行本申请实施例的拥塞预测模型的训练方法的各个步骤。
处理器1202可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例中拥塞预测模型的训练装置中的单元所需执行的功能,或者执行本申请方法实施例的拥塞预测模型训练方法。
处理器1202还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的拥塞预测模型的训练方法的各个步骤可以通过处理器1202中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1202还可以是通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1201,处理器1202读取存储器1201中的信息,结合其硬件完成本申请实施例 的拥塞预测模型的训练装置中包括的单元所需执行的功能,或者执行本申请方法实施例的拥塞预测模型的训练方法。
通信接口1203使用例如但不限于收发器一类的收发装置,来实现装置1200与其他设备或通信网络之间的通信。例如,可以通过通信接口1203获取训练数据。
总线1204可包括在装置1200各个部件(例如,存储器1201、处理器1202、通信接口1203)之间传送信息的通路。
请参见图13,图13是本申请实施例提供的图像处理装置1300的硬件结构示意图。其中,图像处理装置1300可以是电脑、手机、平板电脑或其它可能的终端设备,本申请对此不限定。图13所示的图像处理装置1300(该装置1300具体可以是一种计算机设备)包括存储器1301、处理器1302、通信接口1303以及总线1304。其中,存储器1301、处理器1302、通信接口1303通过总线1304实现彼此之间的通信连接。
存储器1301可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器1301可以存储程序,当存储器1301中存储的程序被处理器1302执行时,处理器1302和通信接口1303用于执行本申请实施例的图像处理方法的各个步骤。
处理器1302可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的图像处理装置中的单元所需执行的功能,或者执行本申请方法实施例的图像处理方法。
处理器1302还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的图像处理方法的各个步骤可以通过处理器1302中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1302还可以是通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1301,处理器1302读取存储器1301中的信息,结合其硬件完成本申请实施例的图像处理装置中包括的单元所需执行的功能,或者执行本申请方法实施例的图像处理方法。
通信接口1303使用例如但不限于收发器一类的收发装置,来实现装置1300与其他设备或通信网络之间的通信。例如,可以通过通信接口1303获取训练数据。
总线1304可包括在装置1300各个部件(例如,存储器1301、处理器1302、通信接口1303)之间传送信息的通路。
应注意,尽管图12和图13所示的装置1200和装置1300仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置1200和装置1300 还包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置1200和装置1300还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置1200和装置1300也可仅仅包括实现本申请实施例所必须的器件,而不必包括图12或图13中所示的全部器件。
可以理解,上述装置1200相当于图1中的训练设备120,装置1300相当于图1中的执行设备110。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例还提供一种芯片系统,所述芯片系统包括至少一个处理器、存储器和接口电路,所述存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述处理器执行时,上述图5和/或图7所述的方法得以实现。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在网络设备上运行时,图5/或图7所示的方法流程得以实现。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在终端上运行时,图5/或图7所示的方法流程得以实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (33)
- 一种拥塞预测模型的训练方法,其特征在于,所述方法包括:将多个金属层划分为至少两个预测层;其中,所述多个金属层为K个半导体芯片中每个半导体芯片包含的金属层,K为正整数;确定每个所述预测层对应的M个第一特征图;其中,所述M个第一特征图分别用于描述每个所述预测层的M个芯片特征,M为正整数;将所述K个半导体芯片中每个所述预测层对应的M个第一特征图加入数据集,并利用所述数据集训练拥塞预测模型。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:对所述K个半导体芯片进行全局绕线,根据全局绕线后的所述K个半导体芯片得到每个所述预测层对应的真实拥塞图;将所述K个半导体芯片中每个所述预测层对应的真实拥塞图加入所述数据集。
- 根据权利要求1或2所述的方法,其特征在于,所述将所述多个金属层划分为至少两个预测层,包括:根据每个所述半导体芯片中金属层的制造工艺或功能模块分布将所述多个金属层划分为至少两个预测层。
- 根据权利要求1-3中任一项所述的方法,其特征在于,所述确定每个所述预测层对应的M个第一特征图,包括:获取每个所述预测层中每个金属层对应的M个第二特征图;其中,所述M个第二特征图分别用于描述所述每个金属层的所述M个芯片特征;基于所述每个金属层的M个第二特征图,生成每个所述预测层对应的M个第一特征图;其中,所述M个第一特征图中用于描述任一芯片特征的第一特征图是基于所述每个金属层中描述所述任一芯片特征的第二特征图得到的。
- 根据权利要求2-4中任一项所述的方法,其特征在于,每个所述预测层对应的真实拥塞图包括第一水平真实拥塞图和第一垂直真实拥塞图,每个所述预测层中每个金属层对应的真实拥塞图包括第二水平真实拥塞图和第二垂直真实拥塞图;所述第一水平真实拥塞图是基于每个所述预测层中每个金属层对应的第二水平真实拥塞图得到的,所述第一垂直真实拥塞图是基于每个所述预测层中每个金属层对应的第二垂直真实拥塞图得到的。
- 根据权利要求2-5中任一项所述的方法,其特征在于,所述将所述K个半导体芯片中每个所述预测层对应的M个第一特征图加入数据集,并利用所述数据集训练拥塞预测模型,包括:利用所述数据集对所述拥塞预测模型进行迭代训练;其中,每次迭代训练,包括:利用所述拥塞预测模型对所述数据集中任一预测层对应的M个第一特征图进行处理,得到所述任一预测层对应的预测拥塞图;基于所述预测拥塞图和所述任一预测层对应的真实拥塞图更新所述拥塞预测模型。
- 根据权利要求2-5中任一项所述的方法,其特征在于,所述每个半导体芯片包含的预测层分别为宏单元层和非宏单元层;所述拥塞预测模型包括第一拥塞预测模型和第二拥塞预测模型;所述将所述K个半导体芯片中每个所述预测层对应的M个第一特征图加入数据集,并利用所述数据集训练拥塞预测模型,包括:利用所述数据集中宏单元层对应的第一特征图和对应的真实拥塞图对所述第一拥塞预测模型进行训练;利用所述数据集中非宏单元层对应的第一特征图和对应的真实拥塞图对所述第二拥塞预测模型进行训练。
- 根据权利要求1-7中任一项所述的方法,其特征在于,所述M个芯片特征包括引脚密度、网络连接密度、模块掩码或绕线资源量中的一个或多个。
- 一种图像处理方法,其特征在于,所述方法包括:确定待预测半导体芯片中每个预测层对应的M个第一特征图;其中,所述待预测半导体芯片包括至少两个所述预测层,所述M为正整数;利用拥塞预测模型对每个所述预测层对应的M个第一特征图进行处理,得到每个所述预测层对应的预测拥塞图;其中,所述拥塞预测模型是通过数据集进行训练后得到的,所述数据集包括K个训练半导体芯片中每个训练预测层分别对应的训练数据,每个所述训练预测层对应的训练数据包括M个第一训练特征图和真实拥塞图,所述M个第一训练特征图分别用于描述每个所述训练预测层的M个芯片特征,所述真实拥塞图用于描述每个所述训练预测层的真实拥塞程度,每个所述训练半导体芯片包括至少两个所述训练预测层,每个所述训练预测层包括至少一个金属层。
- 根据权利要求9所述的方法,其特征在于,所述方法还包括:对所述待预测半导体芯片中所有预测层对应的预测拥塞图进行聚合,得到所述待预测半导体芯片对应的预测拥塞图。
- 根据权利要求10所述的方法,其特征在于,每个所述预测层对应的预测拥塞图包含垂直预测拥塞图和水平预测拥塞图;所述对每个所述预测层对应的预测拥塞图进行聚合,得到所述待预测半导体芯片对应的预测拥塞图,包括:利用层级聚合算子对每个所述预测层对应的垂直预测拥塞图进行聚合,得到参考垂直预测拥塞图;利用所述层级聚合算子对每个所述预测层对应的水平预测拥塞图进行聚合,得到参考水平预测拥塞图;利用方向性聚合算子对所述参考垂直预测拥塞图和所述参考水 平预测拥塞图进行聚合,得到所述待预测半导体芯片对应的预测拥塞图;或利用所述方向性聚合算子对每个所述预测层对应的垂直预测拥塞图和水平预测拥塞图进行聚合,得到每个所述预测层对应的参考预测拥塞图;利用所述层级聚合算子对每个所述预测层对应的参考预测拥塞图进行聚合,得到所述待预测半导体芯片对应的预测拥塞图。
- 根据权利要求9-11中任一项所述的方法,其特征在于,每个所述训练预测层对应的真实拥塞图是基于全局绕线后的所述K个训练半导体芯片得到的。
- 根据权利要求9-12中任一项所述的方法,其特征在于,每个所述训练半导体芯片中包含的训练预测层是基于每个所述训练半导体芯片中金属层的制造工艺或功能模块分布划分得到的。
- 根据权利要求9-13中任一项所述的方法,其特征在于,每个所述训练预测层对应的M个第一训练特征图是根据每个所述训练预测层中每个金属层对应的M个第二特征图得到的;其中,所述M个第一训练特征图中用于描述任一芯片特征的第一训练特征图是基于所述每个金属层中描述该任一芯片特征的第二特征图得到的。
- 根据权利要求9-14中任一项所述的方法,其特征在于,每个所述训练预测层对应的真实拥塞图包括第一水平真实拥塞图和第一垂直真实拥塞图,每个所述训练预测层中每个金属层对应的真实拥塞图包括第二水平真实拥塞图和第二垂直真实拥塞图;所述第一水平真实拥塞图是基于每个所述训练预测层中每个金属层对应的第二水平真实拥塞图得到的,所述第一垂直真实拥塞图是基于每个所述训练预测层中每个金属层对应的第二垂直真实拥塞图得到的。
- 根据权利要求9-15中任一项所述的方法,其特征在于,在所述拥塞预测模型每次迭代训练的过程中,通过所述数据集中任一训练预测层对应的预测拥塞图和该任一训练预测层对应的真实拥塞图更新所述拥塞预测模型;所述任一训练预测层对应的预测拥塞图是通过将所述任一训练预测层对应的M个第一训练特征图输入所述拥塞预测模型得到的。
- 根据权利要求9-16中任一项所述的方法,其特征在于,所述多个训练预测层分为宏单元层和非宏单元层,所述拥塞预测模型包括第一拥塞预测模型和第二拥塞预测模型;所述第一拥塞预测模型是通过所述数据集中宏单元层对应的第一训练特征图和对应的真实拥塞图进行训练得到的;所述第二拥塞预测模型是通过所述数据集中非宏单元层对应的第一训练特征图和对应的真实拥塞图进行训练得到的。
- 根据权利要求9-17中任一项所述的方法,其特征在于,所述M个芯片特征包括引脚密度、网络连接密度、模块掩码或绕线资源量中的一个或多个。
- 一种拥塞预测模型的训练装置,其特征在于,所述装置包括:分层单元,用于将多个金属层划分为至少两个预测层;其中,所述多个金属层为K个半导体芯片中每个半导体芯片包含的金属层,K为正整数;确定单元,用于确定每个所述预测层对应的M个第一特征图;其中,所述M个第一特征图分别用于描述每个所述预测层的M个芯片特征,M为正整数;训练单元,用于将所述K个半导体芯片中每个所述预测层对应的M个第一特征图加入数据集,并利用所述数据集训练拥塞预测模型。
- 根据权利要求19所述的装置,其特征在于,所述训练单元还用于:基于全局绕线后的所述K个半导体芯片得到每个所述预测层对应的真实拥塞图;将所述K个半导体芯片中每个所述预测层对应的真实拥塞图加入所述数据集。
- 根据权利要求19或20中所述的装置,其特征在于,所述分层单元具体用于:根据每个所述半导体芯片中金属层的制造工艺或功能模块分布将所述多个金属层划分为至少两个预测层。
- 根据权利要求19-21中任一项所述的装置,其特征在于,所述确定单元具体用于:获取每个所述预测层中每个金属层对应的M个第二特征图;其中,所述M个第二特征图分别用于描述所述每个金属层的所述M个芯片特征;基于所述每个金属层的M个第二特征图,生成每个所述预测层对应的M个第一特征图;其中,所述M个第一特征图中用于描述任一芯片特征的第一特征图是基于所述每个金属层中描述所述任一芯片特征的第二特征图得到的。
- 根据权利要求20-22中任一项所述的装置,其特征在于,每个所述预测层对应的真实拥塞图包括第一水平真实拥塞图和第一垂直真实拥塞图,每个所述预测层中每个金属层对应的真实拥塞图包括第二水平真实拥塞图和第二垂直真实拥塞图;所述第一水平真实拥塞图是基于每个所述预测层中每个金属层对应的第二水平真实拥塞图得到的,所述第一垂直真实拥塞图是基于每个所述预测层中每个金属层对应的第二垂直真实拥塞图得到的。
- 根据权利要求20-23中任一项所述的装置,其特征在于,在所述利用所述数据集训练拥塞预测模型的方面,所述训练单元具体用于:利用所述数据集对所述拥塞预测模型进行迭代训练;其中,每次迭代训练,包括:利用所述拥塞预测模型对所述数据集中任一预测层对应的M个第一特征图进行处理,得到所述任一预测层对应的预测拥塞图;基于所述预测拥塞图和所述任一预测层对应的真实拥塞图更新所述拥塞预测模型。
- 根据权利要求20-23中任一项所述的装置,其特征在于,所述每个半导体芯片包含的预测层分别为宏单元层和非宏单元层;在所述利用所述数据集训练拥塞预测模型的方面, 所述训练单元具体用于:利用所述数据集中宏单元层对应的第一特征图和对应的真实拥塞图对所述第一拥塞预测模型进行训练;利用所述数据集中非宏单元层对应的第一特征图和对应的真实拥塞图对所述第二拥塞预测模型进行训练。
- 根据权利要求19-25中任一项所述的装置,其特征在于,所述M个芯片特征包括引脚密度、网络连接密度、模块掩码或绕线资源量中的一个或多个。
- 一种图像处理装置,其特征在于,所述装置包括:确定单元,用于确定待预测半导体芯片中每个预测层对应的M个第一特征图;其中,所述待预测半导体芯片包括至少两个所述预测层,所述M为正整数;处理单元,用于利用拥塞预测模型对每个所述预测层对应的M个第一特征图进行处理,得到每个所述预测层对应的预测拥塞图;其中,所述拥塞预测模型是通过数据集进行训练后得到的,所述数据集包括K个训练半导体芯片中每个训练半导体芯片包含的训练预测层分别对应的训练数据,每个所述训练预测层对应的训练数据包括M个第一训练特征图和真实拥塞图,所述M个第一训练特征图分别用于描述每个所述训练预测层的M个芯片特征,所述真实拥塞图用于描述每个所述训练预测层的真实拥塞程度,每个所述训练半导体芯片包括至少两个所述训练预测层,每个所述训练预测层包括至少一个金属层。
- 根据权利要求27所述的装置,其特征在于,所述装置还包括:聚合单元,用于对所述待预测半导体芯片中所有预测层对应的预测拥塞图进行聚合,得到所述待预测半导体芯片对应的预测拥塞图。
- 根据权利要求28所述的装置,其特征在于,每个所述预测层对应的预测拥塞图包含垂直预测拥塞图和水平预测拥塞图;所述聚合单元具体用于:利用层级聚合算子对每个所述预测层对应的垂直预测拥塞图进行聚合,得到参考垂直预测拥塞图;利用所述层级聚合算子对每个所述预测层对应的水平预测拥塞图进行聚合,得到参考水平预测拥塞图;利用方向性聚合算子对所述参考垂直预测拥塞图和所述参考水平预测拥塞图进行聚合,得到所述待预测半导体芯片对应的预测拥塞图;或,利用所述方向性聚合算子对每个所述预测层对应的垂直预测拥塞图和水平预测拥塞图进行聚合,得到每个所述预测层对应的参考预测拥塞图;利用所述层级聚合算子对每个所述预测层对应的参考预测拥塞图进行聚合,得到所述待预测半导体芯片对应的预测拥塞图。
- 一种芯片系统,其特征在于,所述芯片系统包括至少一个处理器、存储器和接口电路,所述存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储 器中存储有指令;所述指令被所述处理器执行时,权利要求1-18任一所述的方法得以实现。
- 一种终端设备,其特征在于,所述终端设备包括如权利要求30中所述芯片系统,以及耦合至所述芯片系统的分立器件。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序指令,当所述程序指令在处理器上运行时,实现权利要求1-18任一所述的方法。
- 一种计算机程序产品,其特征在于,当所述计算机程序产品在终端上运行时,权利要求1-18任一项所述的方法得以实现。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2021/101860 WO2022266888A1 (zh) | 2021-06-23 | 2021-06-23 | 拥塞预测模型训练方法、图像处理方法及装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN117561515A true CN117561515A (zh) | 2024-02-13 |
Family
ID=84545031
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202180099695.1A Pending CN117561515A (zh) | 2021-06-23 | 2021-06-23 | 拥塞预测模型训练方法、图像处理方法及装置 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN117561515A (zh) |
| WO (1) | WO2022266888A1 (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117787171B (zh) * | 2023-12-25 | 2024-07-02 | 苏州异格技术有限公司 | 基于多判别器的cgan图像转换的fpga拥塞预测方法及装置 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104636546B (zh) * | 2015-01-23 | 2017-07-21 | 武汉理工大学 | 一种基于不均匀网格的模拟电路布线评估方法 |
| US10831969B2 (en) * | 2019-02-13 | 2020-11-10 | International Business Machines Corporation | Predicting routability of interconnects |
| US11010529B2 (en) * | 2019-09-16 | 2021-05-18 | Taiwan Semiconductor Manufacturing Company Limited | Integrated circuit layout validation using machine learning |
| CN112233115B (zh) * | 2020-12-11 | 2021-05-07 | 西安国微半导体有限公司 | 基于深度学习的布局后布线违例预测方法及可读存储介质 |
| CN112711930B (zh) * | 2020-12-24 | 2023-02-10 | 西安国微半导体有限公司 | 一种基于线网分布的可布线性驱动的全局布局方法及装置 |
-
2021
- 2021-06-23 WO PCT/CN2021/101860 patent/WO2022266888A1/zh not_active Ceased
- 2021-06-23 CN CN202180099695.1A patent/CN117561515A/zh active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| WO2022266888A1 (zh) | 2022-12-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112561027B (zh) | 神经网络架构搜索方法、图像处理方法、装置和存储介质 | |
| CN114255361B (zh) | 神经网络模型的训练方法、图像处理方法及装置 | |
| CN112308200B (zh) | 神经网络的搜索方法及装置 | |
| CN111914997B (zh) | 训练神经网络的方法、图像处理方法及装置 | |
| CN110188795B (zh) | 图像分类方法、数据处理方法和装置 | |
| CN111291809B (zh) | 一种处理装置、方法及存储介质 | |
| CN112183718B (zh) | 一种用于计算设备的深度学习训练方法和装置 | |
| CN113570029B (zh) | 获取神经网络模型的方法、图像处理方法及装置 | |
| CN113807399B (zh) | 一种神经网络训练方法、检测方法以及装置 | |
| CN113326930B (zh) | 数据处理方法、神经网络的训练方法及相关装置、设备 | |
| CN112287954B (zh) | 图像分类方法、图像分类模型的训练方法及其装置 | |
| CN112529146B (zh) | 神经网络模型训练的方法和装置 | |
| CN113011562B (zh) | 一种模型训练方法及装置 | |
| CN111882031B (zh) | 一种神经网络蒸馏方法及装置 | |
| CN111797882B (zh) | 图像分类方法及装置 | |
| CN112446270B (zh) | 行人再识别网络的训练方法、行人再识别方法和装置 | |
| CN112215332B (zh) | 神经网络结构的搜索方法、图像处理方法和装置 | |
| CN112418392A (zh) | 一种神经网络构建方法以及装置 | |
| CN113065645B (zh) | 孪生注意力网络、图像处理方法和装置 | |
| CN110175671A (zh) | 神经网络的构建方法、图像处理方法及装置 | |
| CN112561028B (zh) | 训练神经网络模型的方法、数据处理的方法及装置 | |
| CN111797983A (zh) | 一种神经网络构建方法以及装置 | |
| WO2019192588A1 (zh) | 图像超分方法及装置 | |
| CN118781408A (zh) | 图像分类方法及装置 | |
| CN117501245A (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 |