论文部分内容阅读
硬件电路中片上系统SoC(System on Chip)的设计主要采用基于IP核的配置并执行方法。由于IP核的多样性及其可优化参数的矛盾性,使得SoC的设计空间极其复杂。能否在庞大的SoC参数设计空间中找到一组相对最优的配置参数,直接关系到设计的成败。因此,SoC系统综合的主要任务之一就是针对具体的应用在可能的设计空间中找到一组满足设计约束的1P可行配置集,其本质是求多目标优化问题的最优解。
鉴于SoC参数设计问题的复杂性,本文提出了将基于拥挤度和动态惯性权重聚合的多目标粒子群优化算法(IPSO)应用于SoC参数设计的思路。IPSO算法以Pareto支配关系来更新粒子的个体最优值,用外部存档策略保存搜索过程中发现的非支配解;采用适应值拥挤度裁剪归档中的非支配解,并从归档中的稀松区域随机选取精英作为粒子的全局最优位置,以保持解的多样性;采用动态惯性权重聚合的方法以使算法尽可能地逼近各目标的最优解.
本文通过与普通的粒子群多目标优化方法和非劣性分层遗传算法的比较,说明基于拥挤度和动态惯性权重聚合多目标粒子群优化算法(IPSO)在解决多目标优化问题上具有一定的优越性。针对粒子群方法在SoC实际领域的应用,本文对算法做了如下修改:粒子速度向量的离散化方法;粒子群的编码方式;领导者的选择方案;不合理配置的筛选。将改良多目标粒子群优化算法(IPSO)应用于参数优化算法能够在SoC设计空间中快速搜索到最优的参数配置,同时得益于适应值拥挤度裁剪技术的应用使得参数配置在目标空间中保持一定的差异性。
本文使用Matlab的m脚本建立了IPSO方法的数学模型,并将IPSO方法以C++语言编写成计算机程序,与美国加利福尼亚大学开发的高度参数化的SoC设计平台Platune集成,选择了三种衡量多目标优化算法优劣的指标,将基于参数依赖性的搜索策略、多目标遗传算法的搜索策略以及改良粒子群算法分别在如下三个不同的应用上进行了对比:1)image,将一个位图从内存的一个区域拷贝到另一个区域;2)key,对一个位图进行反色处理;3)matrix,对一个10×10的整数矩阵进行转置操作。
通过对三种方法仿真结果的精确性和执行效率两方面的统计对比,用数据定量地说明本文IPSO方法与同类方法相比较所体现出的有优越性,用Pareto集在目标空间上的分布情况定性地反映本文IPSO方法解决多目标优化问题的能力。仿真结果说明本文采用的SoC结构参数配置优化方法,在以功耗和执行时间组成的二维目标空间中具有良好的分散性和非支配性,并且搜索时间大大缩短,搜索效率和准确度上都相对优于参数相关性方法和遗传算法。