论文部分内容阅读
嵌入式系统与微电子技术的飞速发展,使得SoC逐步成为当前嵌入式系统设计技术的主流。传统的嵌入式系统设计开发方法无法满足SoC设计的特殊要求,并已经成为制约SoC设计实现的主要因素。软硬件协同设计技术是获取高品质SoC产品的有效手段,而软硬件划分又是软硬件协同设计的关键技术之一,但它的求解却是一个NP完全问题。一个SoC如果功能复杂,部件众多,其巨大的解空间,会使得传统算法“望而生畏”,划分结果难以令人满意。本文对现有的SoC软硬件划分方法进行了系统、全面地分析,完成的主要工作如下:1)对比了传统设计方法与软硬件设计协同设计方法,给出了两种设计方法的流程和特点。总结了现有的软硬件划分方法,得出了大规模问题是面临的新问题,需要新的思路来探寻大规模问题的解决方法的结论,并指出了大规模SoC软硬件划分问题的关键和步骤。在这些基础之上,详细描述了SoC软硬件划分系统的体系模型和规范模型,给出了SoC软硬件划分的目标,以及系统的参数设置。2)提出了一种实数编码的软硬件划分框架,并给出了该编码方式下的一种非均匀映射方式。在系统性能约束下,研究分析了实数编码机制在SoC软硬件划分问题中的性能,比较了均匀映射与非均匀映射优化系统功耗的效果。3)给出了约束优化的定义,以及其研究现状;研究了Runarsson和Yao的SR和ISR,以及张敏的DSS-MDE;以Runarsson和Yao的工作为基础,通过对搜索选择的分析和差分进化的研究,提出了一种新的SRDE算法。最后通过13个常用测试函数与软硬件划分问题的性能比较实验,验证了提出的SRDE的有效性。4)通过对协同优化算法的三个关键问题,以及差分进化算法的研究,给出了一个大规模SoC软硬件划分的协同差分优化算法。重点研究了如何采用降低维数的方式进行问题分解,给出了一种把随机排序应用于差分进化平台与在适应度评估中问题合并的方法。5)研究了多处理器结构的软硬件划分方法。首先采用提出的协同差分优化算法进行分配处理单元,再用任务调度算法确定系统执行时间。通过分析已有的任务调度算法,结合处理单元已经分配的前提条件,给出了系统算法的框架设计。