蚂蚁寻优软硬件划分中的初始信息素生成方法

著录项
  • CN200410046917.1
  • 20041110
  • CN1604090
  • 20050406
  • 中国人民解放军国防科学技术大学
  • 李思昆;熊志辉
  • G06F17/50(2006.01)
  • G06F17/50(2006.01)

  • 湖南省长沙市砚瓦池正街47号国防科学技术大学计算机学院
  • 中国,CN,湖南(43)
  • 湖南兆弘专利事务所
  • 赵洪
摘要
本发明公开了一种蚂蚁寻优软硬件划分中的初始信息素生成方法,目的是解决SoC芯片设计中蚂蚁寻优软硬件划分过程缺乏初始信息素的问题。技术方案是利用基于平台的SoC芯片设计方法强调并支持系统级重用的特点,在进行蚂蚁寻优软硬件划分之前重用已有同领域SoC芯片设计的软硬件划分结果,作为初始的软硬件划分解,并转换为蚂蚁寻优所需的初始信息素分布。具体方法是首先确定“当前设计”的初始划分解,然后将初始划分解转换为初始信息素。采用本发明提出的初始信息素生成方法,可消除蚂蚁寻优软硬件划分搜索中用于积累初始信息素所需的时间,提高SoC芯片设计效率和设计质量。
权利要求

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.定义“参考设计”中软硬件划分结果的重用置信度p ref-reuse,用来表示对“参考设 计”中已有软硬件划分结果进行重用时的置信值,p ref-reuse在0到1之间,该值越 大,说明对“参考设计”中软硬件划分结果重用的可信度越高;

1.2.第二步,将初始划分解转换为初始信息素,具体方法是:对于“当前设计”系统功 能集合中的每个系统功能节点,由该节点所有入边各自的重用置信度p ref-reuse的大 小决定相应边上初始信息素τ inital的值,并且使初始信息素τ inital的值随p ref-reuse在 [τ min,τ max]区间内均匀分布,将初始划分解转换为初始信息素的变换方程是: τ inital=τ min+p ref-reuse*(τ max-τ min),其中,τ inital是初始信息素值,τ min和τ max分 别是MMAS蚂蚁寻优搜索中信息素的最小值和最大值,p ref-reuse是“参考设计” 中已有软硬件划分解的重用置信度,当p ref-reuse=0时,初始信息素τ inital为最小值 τ min,当p ref-reuse=1时,初始信息素τ inital为最大值τ max,随着重用置信度 p ref-reuse增大,初始信息素也增强,从而可以更有效地指导蚂蚁寻优软硬件划分过 程向最优解方向进行。

2.如权利要求1所述的蚂蚁寻优软硬件划分中初始信息素生成方法,其特征在于本发 明确定“当前设计”的初始划分解时分三种重用情形对“参考设计”中的软硬件划 分结果进行重用:

2.1.重用情形1:“参考设计”与“当前设计”公共系统功能子集中的某个系统功能, 被划分到“参考设计”与“当前设计”公共目标系统软硬件结构单元子集中的某个 结构单元上,这种重用情形称为“重用情形1”,在“重用情形1”下,以100%的 置信度重用这个系统功能的划分结果,并将该系统功能节点所有入边的重用置信度 p ref-reuse都设置为100%;

2.2.重用情形2:“参考设计”与“当前设计”公共系统功能子集中的某个系统功能, 被划分到“当前设计”已被删除的目标系统软硬件结构单元子集中的某个结构单元 上,这种重用情形称为“重用情形2”,在“重用情形2”下,当该系统功能节点所 有入边的重用置信度p ref-reuse的最佳取值范围是[0.6,0.9],并且将p ref-reuse设置为 75%即0.75时通常可获得最佳的效果;

2.3.重用情形3:“当前设计”的添加的系统功能子集中的某个系统功能,被划分到“当 前设计”目标系统软硬件结构单元集合的某个结构单元上,将这种重用情形称为“重 用情形3”,在“重用情形3”下,当该系统功能节点所有入边的重用置信度p ref-reuse 的最佳取值范围是[0.3,0.6],并且将p ref-reuse设置为50%即0.50时通常可获得最佳 的效果。

说明书
技术领域

技术领域:本发明涉及蚂蚁寻优软硬件划分的初始信息素生成方法,尤其是基于平台 的系统芯片(System-on-a-Chip,SoC;又称为片上系统)设计中蚂蚁寻优软硬件划分的 初始信息素生成方法。

背景技术:随着超大规模集成电路(Very Large Scale Integration,VLSI)制造技术的 迅速发展,半导体加工工艺进入深亚微米时代,器件特征尺寸越来越小,芯片规模越来 越大,已经可以在单个芯片上集成上千万甚至成亿个晶体管。集成电路与深亚微米制造 技术的高速发展,使SoC应用成为可能。SoC将电子系统的几乎全部功能集成到一块芯 片上,从而在单个硅芯片上实现信号采集、转换、存储、处理和输入/输出等功能,或者 说在单一硅芯片上集成数字电路、模拟电路、信号采集与转换电路、存储器等,实现一 个系统的功能。SoC具有速度快、集成度高、功耗低等优点,这些优点顺应了通讯、信 息家电、消费电子等产品向高性能、低功耗和低成本方向发展的趋势,使SoC得到越来 越广泛的应用。

但是,SoC在功能、集成度、设计难度等方面都比专用集成电路芯片更加复杂,需要 采用设计重用技术来提高SoC设计效率并确保设计质量。基于平台的SoC设计重用技术 是近年提出的系统级SoC设计与重用方法,该方法将平台看成满足一系列限制条件的软 硬件集成结构,在此结构下实现软件和硬件模块的重用。具体地说,平台是软、硬知识 产权(Intellectual Property,IP)模块以及片上通讯协议的结合体,在其中通常包括嵌入 式微处理器、实时操作系统、外围接口模块、中间件等。基于平台的SoC方法具有产品 开发周期短,重用效率高以及设计质量好等优点,已成为主要的SoC系统设计方法。

SoC芯片的功能非常复杂,其中部分功能由硬件实现,另一部分功能由软件实现。硬 件实现通常具有较快的速度和较低的功耗,但导致芯片面积较大且成本高;相反,软件 实现则芯片面积较小且成本较低,但运行速度慢而且功耗较高。如何决定哪些SoC系统 功能由硬件实现,哪些功能由软件实现,使最终SoC芯片在速度、功耗、面积、成本等 性能指标达到最优,是SoC芯片设计时需要解决的重要决策问题,这种决策过程就是长 期困扰人们的软硬件划分问题。

软硬件划分是SoC芯片设计中地关键步骤,它决定了最终SoC系统的实现方式和性 能,其基本任务是:在满足某些约束的条件下,将系统芯片的功能行为“最优地”分配 到一定的软硬件系统结构上。软硬件划分本质上是一种NP完全问题,G.Wang和Kastner 等在2003年加利福尼亚举办的并行与分布国际会议上提出了基于蚂蚁寻优搜索的软硬件 划分方法,他们把软硬件划分问题描述为有向无环图的双着模型,用两种不同颜分 别代表SoC芯片的某个功能被划分到软件或硬件实现;图的节点代表SoC芯片的功能, 有向边代表SoC芯片各功能之间的通讯和依赖关系,节点的颜取决于当前时刻该节点 所有入边(以该节点为目标节点的有向边)上的信息素值。G.Wang和Kastner等提出的 方法在SoC芯片设计的软硬件划分时间和质量上都取得了很好的效果,但是,该方法没 有为有向无环图双着模型中的每条有向边设置初始信息素,导致这种单纯的蚂蚁寻优 软硬件划分方法在运行初期缺乏初始信息素,从而大大限制了软硬件划分最优解搜索效 率的进一步提高。

蚂蚁寻优搜索方法是由意大利学者M.Dorigo在1996年第1期的“IEEE Transactions on Systems,Man and Cybernetics,Part-B”上提出的。为了避免蚂蚁寻优搜索方法过早收敛 到非全局最优解,T.Stutzle和H.H.Hoos在2000年第8期的“Journal of Future Generation Computer System”上进一步提出了“最大-最小蚂蚁系统(MAX-MIN Ant System即 MMAS)”,将蚂蚁寻优搜索中各路径上的信息素强度值限制在[τmin,τmax]之间,超出 这个范围的值被强制设为τmin或τmax。蚂蚁寻优搜索方法具有正反馈、高效收敛、随机 全局优化等优点,在许多组合优化问题的求解中取得了较好的效果,如二次分配问题, TSP问题和车间作业调度问题等。这种方法的主要缺点是:在寻优搜索初期缺乏初始信 息素,导致搜索初期积累信息素占用的时间过长。实验表明,蚂蚁搜索方法中形成最优 解上信息素强度的时间约占整个运算过程的65%。

发明内容:本发明要解决的技术问题是解决SoC芯片设计中蚂蚁寻优软硬件划分过 程缺乏初始信息素的问题,消除蚂蚁寻优过程用于积累初始信息素占用的时间,从而提 高SoC设计中软硬件划分的效率。技术方案是:充分利用基于平台的SoC芯片设计中强 调并支持系统级重用的特点,在进行蚂蚁寻优软硬件划分之前重用已有同领域SoC芯片 设计的软硬件划分结果,作为初始的软硬件划分解,并转换为蚂蚁寻优所需的初始信息 素分布,从而克服蚂蚁寻优软硬件划分方法缺乏初始信息素的不足。

在基于平台的SoC芯片设计中,将领域中已有、可重用的SoC芯片设计称为“参考 设计”,将目前正在进行的SoC芯片设计称为“当前设计”。“当前设计”通常是“参 考设计”在功能上的完善与扩展,以满足应用领域中新的应用需求。因此,“当前设计” 与“参考设计”在功能、软硬件系统结构上的绝大部分是相同的,这是“当前设计”对 “参考设计”进行系统级设计重用的基础。

本发明生成初始信息素的方法是首先确定“当前设计”的初始划分解,然后将初始划 分解转换为初始信息素。

第一步,确定初始划分解。在SoC芯片设计中,软硬件划分的任务是将SoC芯片的 系统功能映射到SoC的目标系统结构上。进行软硬件划分时,通常用有向无环图描述SoC 系统功能,其中节点表示功能,边表示功能节点之间的通讯和依赖关系。在本发明中, 将SoC芯片中系统功能节点构成的集合称为该SoC芯片的系统功能集合。SoC芯片的目 标系统软硬件结构中包括软件单元和硬件单元,其中软件单元对应于划分到软件上运行 的SoC功能,硬件单元对应于划分到硬件上运行的SoC功能。在本发明中,将SoC芯 片目标系统软硬件结构中的软件单元和硬件单元统称为该SoC芯片目标系统的软硬件结 构单元,并将SoC芯片目标系统的软硬件结构单元构成的集合称为该SoC芯片的目标系 统软硬件结构单元集合。

本发明通过重用“参考设计”中已有的软硬件划分结果来确定“当前设计”的初始划 分解,在此之前,本发明先进行以下预处理操作或定义:a).对“参考设计”的系统功能 集合与“当前设计”的系统功能集合执行交集操作,分别计算出在“参考设计”与“当 前设计”中同时存在的公共系统功能部分、在“参考设计”中存在而在“当前设计”中 不存在的系统功能部分(即“当前设计”中被删除的系统功能)、在“参考设计”中不 存在而在“当前设计”中存在的系统功能部分(即“当前设计”中被添加的系统功能, 或“当前设计”中被修改的系统功能)。本发明将这三个系统功能部分依次称为公共系 统功能子集、删除的系统功能子集和添加的系统功能子集。b).对“参考设计”的目标系 统软硬件结构单元集合与“当前设计”的目标系统软硬件结构单元集合执行交集操作, 得到在“参考设计”与“当前设计”中同时存在的公共目标系统软硬件结构单元部分、 在“参考设计”中存在而在“当前设计”中不存在的目标系统软硬件结构单元部分(即 “当前设计”中被删除的目标系统软硬件结构单元,或“当前设计”中被修改的目标系 统软硬件结构单元)、在“参考设计”中不存在而在“当前设计”中存在的目标系统软 硬件结构单元部分(即“当前设计”中被添加的目标系统软硬件结构单元)。本发明将 这三个目标系统软硬件结构单元部分依次称为公共目标系统软硬件结构单元子集、删除 的目标系统软硬件结构单元子集和添加的目标系统软硬件结构单元子集。本发明在执行 系统功能集合的交集操作时,将“当前设计”中被修改的系统功能归入添加的系统功能 子集中,而在执行目标系统软硬件结构单元集合的交集操作时,将“当前设计”中被修 改的结构单元归入删除的系统功能子集中。这样可以更充分而简洁地讨论各种不同的对 “参考设计”中已有软硬件划分结果的重用情形。c).定义“参考设计”中软硬件划分结 果的重用置信度Pref-reuse,用来表示对“参考设计”中已有软硬件划分结果进行重用时 的置信值。Pref-reuse在0到1之间,该值越大,说明对“参考设计”中软硬件划分结果 重用的可信度越高。

本发明确定“当前设计”的初始划分解时分三种重用情形对“参考设计”中的软硬件 划分结果进行重用:a).重用情形1。“参考设计”与“当前设计”公共系统功能子集中 的某个系统功能,被划分到“参考设计”与“当前设计”公共目标系统软硬件结构单元 子集中的某个结构单元上,本发明将这种重用情形称为“重用情形1”。在“重用情形1” 下,以100%的置信度重用这个系统功能的划分结果,并将该系统功能节点所有入边的重 用置信度Pref-reuse都设置为100%。b).重用情形2。“参考设计”与“当前设计”公共系 统功能子集中的某个系统功能,被划分到“当前设计”已被删除的目标系统软硬件结构 单元子集中的某个结构单元上,本发明将这种重用情形称为“重用情形2”。实验发现, 在“重用情形2”下,当该系统功能节点所有入边的重用置信度Pref-reuse的最佳取值范 围是[0.6,0.9],并且将Pref-reuse设置为75%(即0.75)时通常可获得最佳的效果。c).重 用情形3。“当前设计”的添加的系统功能子集中的某个系统功能,被划分到“当前设计” 目标系统软硬件结构单元集合的某个结构单元上,本发明将这种重用情形称为“重用情 形3”。实验发现,在“重用情形3”下,当该系统功能节点所有入边的重用置信度Pref-reuse 的最佳取值范围是[0.3,0.6],并且将Pref-reuse设置为50%(即0.50)时通常可获得最佳 的效果。

第二步,将初始划分解转换为初始信息素。为了避免蚂蚁寻优软硬件划分搜索的过早 收敛,本发明采用“最大-最小蚂蚁系统(MMAS)”的策略,将蚂蚁搜索中的信息素强 度限制在[τmin,τmax]之间。将初始划分解转换为初始信息素的方法是:对于“当前设计” 系统功能集合中的每个系统功能节点,由该节点所有入边各自的重用置信度Pref-reuse的 大小决定相应边上初始信息素τinital的值,并且使初始信息素τinital的值随Pref-reuse在 [τmin,τmax]区间内均匀分布。因此,初始信息素τinital在单位长度的[τmin,τmax]区间上的 概率分布密度是1/τmax-τmin,并且τinital与Pref-reuse之间的关系方程是:

p ref - reuse = τ min τ initial 1 τ max - τ min dt       公式1

对上述方程的右边进行积分并化简,可得

p ref - reuse = τ min τ initial 1 τ max - τ min dx = x τ max - τ min | τ min τ initial = τ initial - τ min τ max - τ min       公式2

由上述推导可见,将初始划分解转换为初始信息素的变换方程是:

τinital=τmin+Pref-reuse*(τmax-τmin)                    公式3

其中,τinital是初始信息素值,τmin和τmax分别是MMAS蚂蚁寻优搜索中信息素的 最小值和最大值,Pref-reuse是“参考设计”中已有软硬件划分解的重用置信度。当 Pref-reuse=0时,初始信息素τinital为最小值τmin,当Pref-reuse=1时,初始信息素τinital 为最大值τmax。随着重用置信度Pref-reuse增大,初始信息素也增强,从而可以更有效地 指导蚂蚁寻优软硬件划分过程向最优解方向进行。

采用本发明可以达到以下有益技术效果:

1.提高SoC芯片设计效率。采用本发明提出的初始信息素生成方法,可消除蚂蚁寻 优软硬件划分搜索中用于积累初始信息素所需的时间,缩短进行软硬件划分的时 间。而软硬件划分是SoC芯片设计中最耗时的过程之一,缩短该过程所占用的时 间能有效提高SoC芯片设计的效率。

2.提高SoC芯片设计质量。“参考设计”中的软硬件划分结果是已经得到实际应用 检验的,本发明在“当前设计”中重用这样的软硬件划分方案,有利于使最终设 计出的SoC芯片在速度、功耗、面积、成本等性能指标达到最优。此外,由于软 硬件划分效率的提高,使得SoC芯片设计者能够在有限的设计时间内探索更多的 软硬件划分方案,从而进一步提高SoC芯片的设计质量。

附图说明:

图1是已有蚂蚁寻优软硬件划分过程的速度-时间曲线示意图;

图2是采用本发明生成初始信息素之后蚂蚁寻优软硬件划分过程的速度-时间曲线示 意图;

图3是“参考设计”的软硬件划分方案实例图;

图4是“当前设计”对“参考设计”的软硬件划分结果进行重用,并生成“当前设计” 初始划分解的原理图;

图5是重用置信度Pref-reuse与初始信息素τinital值的对应关系示意图;

图6是已有的蚂蚁寻优软硬件划分过程与采用本发明生成初始信息素之后的蚂蚁寻 优软硬件划分过程对比图;

图7是采用本发明生成初始信息素后的蚂蚁寻优软硬件划分方法与背景技术中无初 始信息素的蚂蚁寻优软硬件划分方法搜索最优解的平均搜索迭代次数对比图;

具体实施方式:

图1是已有蚂蚁寻优软硬件划分过程的速度-时间曲线示意图。该曲线依次分为盲目 搜索期、崛起期、高效收敛期、衰退期和冗余迭代期。其中,盲目搜索期和崛起期是积 累初始信息素的阶段,蚂蚁寻优搜索的速度很低;在高效收敛期,信息素强度达到较高 的值,使蚂蚁寻优搜索形成了高效的正反馈机制,蚂蚁寻优搜索速度很高;在衰退期和 冗余迭代期,由于蚂蚁已经搜索到最优解,这时搜索过程开始无限逼近理论最优解,搜 索速度越来越低。

图2是采用本发明生成初始信息素之后蚂蚁寻优软硬件划分过程的速度-时间曲线示 意图。生成初始信息素后,蚂蚁寻优搜索过程在开始运行时就已经具有较高浓度的初始 信息素,可形成高效的正反馈搜索机制,不存在盲目搜索期,从而避免了积累初始信息 素的过程。与图1相比,本发明能够消除已有蚂蚁寻优搜索过程的盲目搜索期并显著缩 短崛起期,使蚂蚁寻优搜索过程在开始时就具有较高的搜索速度,并得到最优解。

图3是“参考设计”的软硬件划分方案实例图。图中上半部分表示“参考设计”的系 统功能集合,节点A、B、C、D、E、F、G都是“参考设计”系统功能集合中的元素, 节点间的有向边代表“参考设计”系统功能之间的通讯和依赖关系;图中下半部分表示 “参考设计”的目标系统软硬件结构单元集合,其中“嵌入式微处理器”和“协处理器” 是软件单元,“ASIC”、“I/O控制器1”、“I/O控制器2”、“数模/模数转换器” 和“总线桥”是硬件单元。在该图所描述的软硬件划分方案中,节点B、C和D所代表 的SoC芯片系统功能被划分到软件单元(嵌入式微处理)上实现,节点A、E、F和G 所代表的SoC芯片系统功能被划分到硬件单元(分别是I/O控制器1、ASIC、I/O控制器 2、数模/模数转换器)上实现。

图4是“当前设计”对“参考设计”的软硬件划分结果进行重用,并生成“当前设计” 初始划分解的原理图。图中上半部分描述了“当前设计”的系统功能集合,节点A、B、 C、E、F、G、H、I都是“当前设计”系统功能集合中的元素,节点间的有向边代表“参 考设计”系统功能之间的通讯和依赖关系;图中下半部分描述了“当前设计”的目标系 统软硬件结构单元集合,其中“嵌入式微处理器”和“协处理器”是软件单元,“ASIC”、 “I/O控制器2”、“数模/模数转换器”、“总线桥”和“新增ASIC”是硬件单元。“当 前设计”重用“参考设计”中已有软硬件划分结果的过程是:a)计算公共、删除及添加 的系统功能子集。将图4描述的“当前设计”的系统功能集合与图3所描述的“参考设 计”的系统功能集合执行交集操作,可知“当前设计”与“参考设计”的公共系统功能 子集中包括系统功能节点A、B、C、E、F和G,删除的系统功能子集中包括系统功能节 点D,添加的系统功能子集中包括系统功能节点H和I。b).计算公共、删除及添加的目 标系统软硬件结构单元子集。将图4描述的“当前设计”的目标系统软硬件结构单元集 合与图3所描述的“参考设计”的目标系统软硬件结构单元集合执行交集操作,可知“当 前设计”与“参考设计”的公共目标系统软硬件结构单元子集中包括结构单元“嵌入式 微处理器”、“协处理器”、“ASIC”、“I/O控制器2”和“总线桥”,删除的目标系 统软硬件结构单元子集中包括结构单元“I/O控制器1”和“数模/模数转换器”(由于 “数模/模数转换器”已被修改,因此它归入删除的目标系统软硬件结构单元子集中), 添加的目标系统软硬件结构单元子集中包括结构单元“新增ASIC”。c).在“当前设计” 的系统功能集合中分别出属于“重用情形1”、“重用情形2”和“重用情形3”的系 统功能节点。首先,考虑系统功能节点A,从图3可知节点A在“参考设计”中被划分 到“参考设计”的结构单元“I/O控制器1”中,由于节点A属于“当前设计”与“参考 设计”的公共系统功能子集,并且“I/O控制器1”属于“当前设计”与“参考设计”的 删除的目标系统软硬件结构单元子集,因此,系统功能节点A属于“重用情形2”;同 理,系统功能节点G也属于“重用情形2”。然后,考虑系统功能节点B,从图3可知 节点B在“参考设计”中被划分到“参考设计”的结构单元“嵌入式微处理器”中,由 于节点B属于“当前设计”与“参考设计”的公共系统功能子集,并且“嵌入式微处理 器”属于“当前设计”与“参考设计”的公共目标系统软硬件结构单元子集,因此,系 统功能节点B属于“重用情形1”;同理,系统功能节点C、E和F也属于“重用情形1”。 然后,考虑系统功能节点H,由于节点H属于“当前设计”的添加的公共系统功能子集, 需要被划分到“当前设计”目标系统软硬件结构单元集合的某个结构单元上,因此,系 统功能节点H属于“重用情形3;同理,系统功能节点I也属于“重用情形3”。这样, 最终的重用结果是,节点B、C、E和F属于“重用情形1”,节点A和G属于“重用情 形2”,节点H和I属于“重用情形3”;节点D不属于任何重用情形,因为节点D所 代表的系统功能在“当前设计”中已被删除,不需考虑该节点划分到软件还是硬件的问 题。d).在“当前设计”中,将属于“重用情形1”的各系统功能节点的所有入边的重用 置信度Pref-reuse设置为100%,将属于“重用情形2”的各系统功能节点的所有入边的重 用置信度Pref-reuse设置为75%,将属于“重用情形3”的各系统功能节点的所有入边的 重用置信度Pref-reuse设置为50%。例如,系统功能节点E属于“重用情形1”,该节点 的所有入边是有向边BE、AE和CE,因此将有向边BE、AE和CE上的重用置信度 Pref-reuse都设置为100%;系统功能节点G属于“重用情形2”,该节点的所有入边是有 向边FG、EG和IG,因此将有向边FG、EG和IG上的重用置信度Pref-reuse都设置为75%; 系统功能节点H属于“重用情形3”,该节点只有一条入边,即有向边CH,因此将有向 边CH上的重用置信度Pref-reuse设置为50%。在此过程中有一个特殊情况,就是“当前 设计”中的系统功能节点A不存在入边,在蚂蚁寻优软硬件划分方法的实际应用中,该 问题的解决方法是为SoC芯片的系统功能图引入一个虚拟起始节点(如图4中的虚拟起 始节点Z),对于系统功能图中每个不存在入边的系统功能节点(如图4中的节点A), 建立一条从这个虚拟起始节点到该系统功能节点的有向边(如图4中的有向边ZA)。这 样,系统功能节点A就有了一条入边,即有向边ZA,而节点A属于“重用情形2”, 因此将有向边ZA上的重用置信度Pref-reuse设置为75%。e).利用初始划分解转换为初始 信息素的变换方程(即:τinital=τmin+Pref-reuse*(τmax-τmin)),计算出“当前设计” 的系统功能图中各系统功能节点所有入边上的初始信息素。其中,τmin和τmax分别是 MMAS蚂蚁寻优搜索中信息素的最小值和最大值,它们的值由蚂蚁寻优软硬件划分方法 设定。在完成对所有系统功能节点的所有入边上的初始信息素的转换后,就完成了本发 明所提出的初始信息素生成过程。

图5是重用置信度Pref-reuse与初始信息素τinital值的对应关系示意图。其中,重用置 信度Pref-reuse取值范围是[0,1]之间的实数,初始信息素τinital的取值范围是[τmin,τmax] 之间的实数。本发明在进行初始划分解到初始信息素的转换时,使初始信息素τinital的值 随Pref-reuse在[τmin,τmax]区间内均匀分布。技术方案中的推导证明,重用置信度 Pref-reuse与初始信息素τinital之间的变换方程是τinital=τmin+Pref-reuse*(τmax-τmin)。当 Pref-reuse=0时,初始信息素τinital为最小值τmin;当Pref-reuse=1时,初始信息素τtnital 为最大值τmax;当Pref-reuse=0.5时,初始信息素τinital为[τmin,τmax]区间上的中值 τmax+τmin/2。

图6是已有的蚂蚁寻优软硬件划分过程与采用本发明生成初始信息素之后的蚂蚁寻 优软硬件划分过程对比图。进行软硬件划分过程时,采用本发明先生成初始信息素,然 后执行蚂蚁寻优搜索过程,其余操作与已有的单纯的蚂蚁寻优软硬件划分过程完全相同。 因此,采用本发明所提出的初始信息素生成方法不需对已有的蚂蚁寻优软硬件划分方法 进行大的改动。此外,生成初始信息素的操作在软硬件划分过程中不需反复执行,生成 初始信息素占用的时间开销相对于蚂蚁寻优搜索的迭代过程可忽略不计。

图7是采用本发明生成初始信息素后的蚂蚁寻优软硬件划分方法与背景技术中无初 始信息素的蚂蚁寻优软硬件划分方法搜索最优解的平均搜索迭代次数对比图。横轴表示 SoC芯片的功能节点数,纵轴表示软硬件划分中蚂蚁寻优搜索过程的平均迭代次数。采 用背景技术中G.Wang和Kastner等在2003年加利福尼亚举办的并行与分布国际会议上 提出的方法生成测试样本,并且使用Xilinx VirtexII Pro Platform FPGA(它最多可包含4 个处理器核、13,404个可编程逻辑块)作为目标系统结构模型进行实验,分别测试“参 考设计”与“当前设计”的公共系统功能子集和公共目标系统软硬件结构单元子集占整 个“参考设计”系统功能集合与目标系统软硬件结构单元集合60%、70%、80%和90% 的情况。图7给出的测试结果表明:在无初始信息素的情况下,蚂蚁寻优软硬件划分过 程搜索最优解的迭代次数在37~69次之间,平均迭代次数为49.5次;当“参考设计”的 重用部分为60%时,蚂蚁寻优软硬件划分过程搜索最优解的迭代次数在25~43次之间, 平均迭代次数为31.6次;当“参考设计”的重用部分为70%时,蚂蚁寻优软硬件划分过 程搜索最优解的迭代次数在22~36次之间,平均迭代次数为28.1次;当“参考设计”的 重用部分为80%时,蚂蚁寻优软硬件划分过程的搜索最优解的迭代次数在19~39次之间, 平均迭代次数为26.4次;当“参考设计”的重用部分为90%时,蚂蚁寻优软硬件划分过 程的搜索最优解的迭代次数在18~32次之间,平均迭代次数为25.1次。因此采用本发明 生成初始信息素后的蚂蚁寻优软硬件划分方法,比无初始信息素的蚂蚁寻优软硬件划分 方法在性能上有了很大提高。

本文发布于:2024-09-22 18:20:15,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/84973.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议