论文部分内容阅读
软硬件协同设计是系统芯片(System-on-a-Chip,SoC)设计的基础。随着集成电路技术的不断发展,SoC集成度的日益提高,电子系统级设计已经成为当前SoC软硬件协同设计领域的研究热点。电子系统级设计的关键集中在SoC高层设计,包括系统建模、软硬件划分和设计映射细化等等。本文工作围绕电子系统级设计中的高层映射技术展开研究,利用应用驱动的设计、系统结构模板、智能算法和计算机支持的协同工作等理论和方法对已有的应用建模、体系结构建模、映射算法和专家决策等进行发展和改进,并开发了SoC事务级软硬件协同设计平台TL-Platform,并结合实际应用实验验证了本文给出的方法和技术的有效性。本文主要工作包括:1、在应用建模方面,提出了一种应用驱动的SoC系统设计方法,该方法使用应用特征分析,指导SoC的软硬件协同设计,可显著提高SoC平台和芯片体系结构的设计效率和质量;并通过挖掘应用特征,自动生成系统模型,可保证所生成的系统模型和领域应用特征的一致性和完备性;此外,面向SoC任务划分的需求进行应用特征分析,提取出应用程序中的控制流/数据流、计算/存储分布、关键代码块等信息,基于特征分析结果,得到任务分配的特征需求模型,作为SoC任务分配的启发信息和重要依据;同时,使用PIA-CDTG中提供的重要属性信息,如执行时间百分比、最大活跃变量的存储需求、目标代码的存储需求、节点间的数据通讯量、节点的并行性、以及节点的先后次序关系等,并通过进化蚁群优化算法,进行“分析-划分”的迭代优化,实现高效精确的任务划分。2、在体系结构建模方面,提出了基于系统结构模板的SoC事务级建模与仿真(SST-TLM)方法,SST-TLM方法在事务级构建一些领域SoC系统结构模板,模板集成了计算IP核、通讯模块和调度模块,使设计者通过模板的接口来配置SoC体系结构,包括IP核参数配置、通讯拓扑与协议配置和调度算法的选择等。事务级系统结构模板可支持计算、通讯和调度的协同仿真与性能分析,有效的解决了使用事务级模型来探索SoC系统的整体性能的问题,并高效的支持软硬件划分、平台设计空间探索和系统瓶颈与性能分析。此外,针对以通讯为核心的SoC领域,构建了SoC通讯系统结构模板和OCP通讯模板,以支持通讯仿真与性能分析。3、在专用领域的映射方面,提出了数据密集型应用中核心循环到粗粒度可重构体系结构(Coarse-grained Reconfigurable Architectures, CGRAs)的流水化映射方法,该粗粒度可重构阵列支持循环自流水,使用固定指令流多数据流执行模式,可获得较高的计算吞吐量。通过将控制流依赖图转换为数据依赖图,应用的高层表达式语句可直接映射到PEs上。我们定义了其循环自流水CGRAs体系结构模板,阐述了CGRAs的资源共享和流水方法,并给出核心循环流水映射方法,典型应用算法映射的实验结果表明,本文的自动映射方法与手工映射优化的性能相差很小;同时,与已有的先进的SPKM方法相比,我们的方法的资源占用率降低16.3%、吞吐量提高169.1%。4、在专家决策方面,提出了支持多专家决策的分布式协作软硬件划分方法。建立了可重构SoC多领域设计专家的协作设计环境,给出了其通讯支持协议,一致性维护与并发控制的机制;基于蚁群优化算法快速寻找全局最优划分解,并构建了自动化的协作划分流程。该方法既发挥了蚁群算法进行全局寻优的优势,又为多领域专家进行分布式协同工作提供了方便的平台。实验结果表明,我们的方法有效提高了可重构SoC软硬件划分的质量与效率。在上述研究的基础上,建立了支持SoC高层映射的软硬件协同设计环境原型系统框架TL-Platform,实现了应用特征分析、事务级建模与仿真工具和软硬件划分工具。该原型系统在嵌入式媒体处理SoC设计研究项目和军队项目中得到成功应用。