论文部分内容阅读
随着各种嵌入式设备的快速发展,FPGA技术的日渐成熟,片上系统规模也变得越来越大。为了在有限的时间内设计出功能更加强大的SoC嵌入式设备,同时达到理想的性能指标,对该设备的系统各个功能模块的具体实现方式以及不同模块间的协同配合就提出了更高的要求。传统的设计方法已经无法满足日益增长的系统需求,软硬件协同设计成为了解决该问题的主要设计方法。软硬件划分则是软硬件协同设计中至关重要的一步。针对多性能指标约束的SoC软硬件模块划分问题,本文提出了一种基于猫群优化的软硬件划分算法,相对于传统的划分算法,该算法可以在满足系统约束条件下,加快收敛速度,提高收敛精度。本文对软硬件划分算法的基本原理、系统描述的模型、以及系统结构和划分目标进行了详细分析,对经典的划分算法遗传算法、模拟退火算法以及粒子群算法进行了分析比较。由于三种算法各自存在的问题,论文对软硬件划分提出了采用猫群算法进行软硬件划分的解决方案,并对猫群算法的基本原理和实现方法进行了深入研究,具体的研究内容及主要成果如下:(1)为了获得更好的解决方案,对猫群算法里面追踪比较、猫群位置和扰动范围进行分析研究,确定了合适的参数范围,并实现了连续猫群算法的离散化。(2)为了将猫群算法应用于SoC软硬件划分,对系统目标的结构以及划分的模型进行选择。并将系统成本、执行时间、系统功耗、系统面积等性能约束条件引入到目标函数。针对实际的划分问题,创建多约束条件的带惩罚项的目标函数,该函数作为划分结果的评价标准。根据猫群算法流程,设计实现基于猫群算法的SoC软硬件划分算法。首先随机生成的初始猫群,并使用猫群算法特有的扰动模式和追踪模式同时进行寻优,两种不同的模式可以同时进行全局和局部的搜索。当猫群个体搜寻结果趋于某些局部最优时,采用随机扰动搜寻范围和猫个体位置的方法避免陷入局部最优,最终找出全局最优解。(3)划分算法的仿真验证。利用TGFF工具生成多组模拟测试数据,对遗传算法、粒子群算法以及本算法的性能和寻优结果进行测试验证以及对比。仿真结果表明,与传统的遗传算法和粒子群算法相比,该算法更容易且更快速的找到软硬件划分的全局最优解,其寻优能力和执行时间均优于以上两种算法。为了检测算法的实用性,本文采用电话系统以及音视频播放系统两个实例系统,对以上两种算法和该算法进行了比较验证,对比结果也证明了该算法在优化效率和优化结果上均优于传统的划分算法。本文对今后的SoC嵌入式系统软硬件划分算法及优化研究具有参考意义。