1.一种基于云平台的芯片多端协同设计方法,其特征在于,该方法包括:
为每个芯片设计端分配设计任务,每个芯片设计端分别根据设计任务对模块进行布局,将布局结果定时上传至云平台;其中,模块包括IO单元、宏单元、标准单元放置单元;布局结果中包括已布局模块和未布局模块;
云平台基于每次接收到的所有芯片设计端的布局结果求解最优布局结果,并根据每个芯片设计端的布局结果与最优布局结果计算设计任务的重布局代价指数和每个芯片设计端的设计能力指数,在进行下一次设计任务分配时将重布局代价指数高的设计任务分配给设计能力指数高的芯片设计端。
2.如权利要求1所述的方法,其特征在于,根据所有芯片设计端的布局结果得到多个优化布局结果,利用自动布局方法对所有优化布局结果进行布局,得到最优布局结果;其中,多个优化布局结果的获取方法为:步骤a,获取每个芯片设计端布局结果的伪最优布局结果,每个伪最优布局结果都对应一个第一图网络;每个芯片设计端布局结果对应的第一图网络融合得到第二图网络,将第二图网络划分为子图网络,子图网络的个数多于第一图网络的个数,基于第一图网络和子图网络得到优化布局结果;
步骤b,在芯片设计端的布局结果中删除已存在于优化布局结果中的模块;
步骤c,步骤b得到的芯片设计端的布局结果作为步骤a的输入,迭代执行步骤a、b,直至每个芯片设计端的布局结果中都不包括模块。
3.如权利要求2所述的方法,其特征在于,基于现有芯片设计大数据构建经验图网络,经验图网络中模块与模块通过连接边相连,连接边对应一个边权值;所述每个伪最优布局结果都对应一个第一图网络的方法为:对于该伪最优布局结果中的每个模块,在经验图网络中基于边权值大小寻找与该模块相连的经验模块,每个经验模块都存在于某一芯片设计端的布局结果中;将该伪最优布局结果中的所有模块以及寻找到的所有经验模块融合得到第一图网络,融合时统计每个经验模块的出现次数,第一图网络中每个模块的表征值为该模块的出现次数。
4.如权利要求3所述的方法,其特征在于,所述基于第一图网络和子图网络得到优化布局结果的方法为:计算每个子图网络的准确度,准确度越大,表示子图网络中的模块摆放在一起越合适;计算任意一个第一图网络与任意一个子图网络的第一相似度,基于准确度和第一相似度得到特征点Pmn=(βm,γmn),βm表示第m个子图网络的准确度,γmn表示第m个子图网络与第n个第一图网络的第一相似度,对特征点进行第一次分类后,得到若干第一类别,基于对应的第一图网络对第一类别中的特征点进行第二次分类,得到若干第二类别,计算每个第二类别的重要程度,将重要程度最大的第二类别中所有特征点对应的第一图网络和子图网络融合后进行切图处理得到优化布局结果。
5.如权利要求4所述的方法,其特征在于,所述对第一类别中的特征点进行第二次分类具体为:若该第一类别中仅包括一个特征点,则该特征点对应一个第二类别;若该第一类别中特征点个数大于1,判断是否存在特征点对应相同的子图网络,若不存在,则每个特征点分别对应一个第二类别,若存在,将对应同一子图网络的特征点归于一个集合中并基于集合中特征点对应的第一图网络之间的第二相似度对集合中的特征点进行第二次分类,其他对应不同子图网络的特征点分别对应不同的第二类别。
6.如权利要求5所述的方法,其特征在于,所述每个第一类别的重要程度的计算方法为:基于该类别中所有特征点对应的准确度、第一相似度计算准确度均值 第一相似度均值为 则 为该类别的重要程度,其中,为该类别中所有特征点对应的第一图网络中任意两个第一图网络之间第二相似度的均值;计算该类别中每个特征点对应的第一图网络的完整度,为完整度的均值;获取该类别中每个特征点对应的第一图网络,计算每个第一图网络对应的伪最优布局结果的可优化程度,为该类别中所有特征点对应的可优化程度的均值。
7.如权利要求6所述的方法,其特征在于,第一图网络的完整度的计算方法为:获取该第一图网络对应的伪最优布局结果,属于该第一图网络不属于该伪最优布局结果的模块构成模块集合,根据模块集合中的模块数量与第一图网络的模块数量的比值计算该第一图网络的完整度;
第一图网络对应的伪最优布局结果的可优化程度的计算方法为:该伪最优布局结果对应一个初始图网络,模块集合中每个模块融入初始图网络后任意两个模块间边权值的均值为该模块对应的可接受程度,模块对应的可接受程度小于该初始图网络的可接受程度时,该模块对应的可接受程度值变为0;模块集合中每个模块对应的可接受程度与该模块在第一图网络中的表征值相乘都得到一个数值,所有数值之和为该伪最优布局结果的可优化程度。
8.如权利要求7所述的方法,其特征在于,基于两个模块之间的最短绕线距离与连接距离计算边权值,连接距离为两个模块之间串联的标准单元的个数,若两个模块之间串联的标准单元的个数为0,则连接距离为1。
9.如权利要求8所述的方法,其特征在于,设计任务的重布局代价指数的计算方法为:
对所有芯片设计端的布局结果进行整合,得到初始布局图,根据最优布局结果得到最优布局图,将初始布局图、最优布局图依次输入神经网络得到两个合理值;计算初始布局图中每个模块与最优布局图中电压域和电源线的重叠面积,基于两个合理值的差值和重叠面积计算每个模块的重布局代价指数;根据每个模块的重布局代价指数计算设计任务的重布局代价指数;设计任务包括模块或伪最优布局结果;
每个芯片设计端的设计能力指数的计算方法为:基于该芯片设计端的布局结果得到的伪最优布局结果的可接受程度、可优化程度、重布局代价指数计算该芯片设计端的设计能力指数。
10.一种基于云平台的芯片多端协同设计系统,其特征在于,该系统包括:
模块布局子系统:为每个芯片设计端分配设计任务,每个芯片设计端分别根据设计任务对模块进行布局,将布局结果定时上传至云平台;其中,模块包括IO单元、宏单元、标准单元放置单元;布局结果中包括已布局模块和未布局模块;
任务再分配子系统:云平台基于每次接收到的所有芯片设计端的布局结果求解最优布局结果,并根据每个芯片设计端的布局结果与最优布局结果计算设计任务的重布局代价指数和每个芯片设计端的设计能力指数,在进行下一次设计任务分配时将重布局代价指数高的设计任务分配给设计能力指数高的芯片设计端。