发明名称 蚂蚁寻优软硬件划分中的初始信息素生成方法
摘要 本发明公开了一种蚂蚁寻优软硬件划分中的初始信息素生成方法,目的是解决SoC芯片设计中蚂蚁寻优软硬件划分过程缺乏初始信息素的问题。技术方案是利用基于平台的SoC芯片设计方法强调并支持系统级重用的特点,在进行蚂蚁寻优软硬件划分之前重用已有同领域SoC芯片设计的软硬件划分结果,作为初始的软硬件划分解,并转换为蚂蚁寻优所需的初始信息素分布。具体方法是首先确定“当前设计”的初始划分解,然后将初始划分解转换为初始信息素。采用本发明提出的初始信息素生成方法,可消除蚂蚁寻优软硬件划分搜索中用于积累初始信息素所需的时间,提高SoC芯片设计效率和设计质量。
申请公布号 CN1300734C 申请公布日期 2007.02.14
申请号 CN200410046917.1 申请日期 2004.11.10
申请人 中国人民解放军国防科学技术大学 发明人 李思昆;熊志辉
分类号 G06F17/50(2006.01) 主分类号 G06F17/50(2006.01)
代理机构 湖南兆弘专利事务所 代理人 赵洪
主权项 1.一种蚂蚁寻优软硬件划分中的初始信息素生成方法,采用“最大-最小蚂蚁系统”,即MMAS的策略,将蚂蚁搜索中的初始信息素强度限制在[τmin,τmax ]之间,其特征在于充分利用基于平台的SoC芯片设计方法强调并支持系统级重用的特点,在进行蚂蚁寻优软硬件划分之前重用已有同领域SoC芯片设计的软硬件划分结果,作为初始的软硬件划分解,并转换为蚂蚁寻优所需的初始信息素分布,从而克服蚂蚁寻优软硬件划分方法缺乏初始信息素的不足,具体方法是首先确定“当前设计”的初始划分解,然后将初始划分解转换为初始信息素:1.1.第一步,确定初始划分解,具体方法是:1.1.1.将SoC芯片中系统功能节点构成的集合称为该SoC芯片的系统功能集合,SoC芯片的目标系统软硬件结构中包括软件单元和硬件单元,其中软件单元对应于划分到软件上运行的SoC功能,硬件单元对应于划分到硬件上运行的SoC功能,本发明将SoC芯片目标系统软硬件结构中的软件单元和硬件单元统称为该SoC芯片目标系统的软硬件结构单元,并将SoC芯片目标系统的软硬件结构单元构成的集合称为该SoC芯片的目标系统软硬件结构单元集合;1.1.2.进行以下预处理操作或定义:1.1.2.1.对“参考设计”的系统功能集合与“当前设计”的系统功能集合执行交集操作,分别计算出:在“参考设计”与“当前设计”中同时存在的公共系统功能部分;在“参考设计”中存在而在“当前设计”中不存在的系统功能部分,即“当前设计”中被删除的系统功能;在“参考设计”中不存在而在“当前设计”中存在的系统功能部分,即“当前设计”中被添加的系统功能或“当前设计”中被修改的系统功能;本发明将这三个系统功能部分依次称为公共系统功能子集、删除的系统功能子集和添加的系统功能子集;1.1.2.2.对“参考设计”的目标系统软硬件结构单元集合与“当前设计”的目标系统软硬件结构单元集合执行交集操作,得到:在“参考设计”与“当前设计”中同时存在的公共目标系统软硬件结构单元部分;在“参考设计”中存在而在“当前设计”中不存在的目标系统软硬件结构单元部分,即“当前设计”中被删除的目标系统软硬件结构单元或“当前设计”中被修改的目标系统软硬件结构单元;在“参考设计”中不存在而在“当前设计”中存在的目标系统软硬件结构单元部分,即“当前设计”中被添加的目标系统软硬件结构单元;本发明将这三个目标系统软硬件结构单元部分依次称为公共目标系统软硬件结构单元子集、删除的目标系统软硬件结构单元子集和添加的目标系统软硬件结构单元子集;1.1.2.3.定义“参考设计”中软硬件划分结果的重用置信度pref-reuse,用来表示对“参考设计”中已有软硬件划分结果进行重用时的置信值,pref-reuse在0到1之间,该值越大,说明对“参考设计”中软硬件划分结果重用的可信度越高;1.1.3.重用“参考设计”中已有的软硬件划分结果来确定“当前设计”的初始划分解,具体分三种重用情形:重用情形1:“参考设计”与“当前设计”公共系统功能子集中的某个系统功能,被划分到“参考设计”与“当前设计”公共目标系统软硬件结构单元子集中的某个结构单元上,这种重用情形称为“重用情形1”,在“重用情形1”下,以100%的置信度重用这个系统功能的划分结果,并将该系统功能节点所有入边的重用置信度pref-reuse都设置为100%;重用情形2:“参考设计”与“当前设计”公共系统功能子集中的某个系统功能,被划分到“当前设计”已被删除的目标系统软硬件结构单元子集中的某个结构单元上,这种重用情形称为“重用情形2”,在“重用情形2”下,该系统功能节点所有入边的重用置信度pref-reuse的最佳取值范围是[0.6,0.9];重用情形3:“当前设计”的添加的系统功能子集中的某个系统功能,被划分到“当前设计”目标系统软硬件结构单元集合的某个结构单元上,将这种重用情形称为“重用情形3”,在“重用情形3”下,该系统功能节点所有入边的重用置信度pref-reuse的最佳取值范围是[0.3,0.6];1.2.第二步,将初始划分解转换为初始信息素,具体方法是:对于“当前设计”系统功能集合中的每个系统功能节点,由该系统功能节点所有入边各自的重用置信度pref-reuse的大小决定该系统功能节点的入边上初始信息素τinital的值,并且使初始信息素τinital的值随pref-reuse在[τmin,τmax]区间内均匀分布,将初始划分解转换为初始信息素的变换方程是:τinital=τmin+pref-reuse*(τmax-τmin),其中,τinital是初始信息素值,τmin和τmax分别是MMAS蚂蚁寻优搜索中信息素的最小值和最大值,pref-reuse是“参考设计”中已有软硬件划分解的重用置信度,当pref-reuse=0时,初始信息素τinital为最小值τmin,当pref-reuse=1时,初始信息素τinital为最大值τmax,随着重用置信度pref-reuse增大,初始信息素也增强,从而可以更有效地指导蚂蚁寻优软硬件划分过程向最优解方向进行。
地址 410073湖南省长沙市砚瓦池正街47号国防科学技术大学计算机学院