论文部分内容阅读
随着嵌入式应用的快速发展,多处理器系统芯片(MPSoC)设计日趋复杂。如何高效可靠的设计多处理器系统芯片逐渐成为集成电路设计的一个巨大挑战。本文研究工作从MPSoC设计出发,对其相关技术研究领域进行探索,提出构建了一套面向特定应用的、从应用到物理实现完整的MPSoC设计流程平台,并通过音视频编解码应用对其予以验证。本文MPSoC设计流程平台研究工作主要分成以下四个方面逐步展开:(一) CKSoC平台及其粗粒度系统芯片集成开发设计流程。本文首先研究并构建了以CKCore处理器为核心的CKSoC平台及其粗粒度任务划分设计流程。CKSoC平台是一个基于CKCore和AMBA总线的底层硬件设计集成开发平台,它有效利用SPIRIT标准搭建IP库,使得平台不仅兼容各方IP,而且支持其它SoC EDA开发工具,促使平台数据交换更为标准通用化。该流程平台可以对特定应用进行粗略的人工任务划分,通过配置可重用的CKSoC平台快速生成相应硬件平台,在底层FPGA原型上完成软硬件协同仿真。通过H.264帧内编码器和OGG解码播放器两个应用深入介绍了该系统芯片设计开发流程平台应用实现,从软硬件划分和异构双核SoC设计两个方面验证了该流程平台的实用性和有效性。(二)基于Simulink的MPSoC系统级设计流程。为满足面向细粒度、高复杂度和高性能的MPSoC设计需求,我们在CKSoC平台基础上,扩充提出并构建了基于Simulink的MPSoC系统级设计流程平台。该流程采用Simulink对应用的软件算法和硬件体系结构进行混和建模,并通过三个高抽象层对软硬件进行不断细化和性能评估,引导任务划分和软硬件映射,实现软硬件体系结构探索。在从Simulink模型到RTL实现的细化过程中,流程提出并采用了四个算法和体系架构混和模型(CAAM):Simulink CAAM、虚拟体系架构CAAM、传输精确体系架构CAAM和虚拟原型CAAM。(三)基于Simulink的MPSoC系统级设计平台及其多处理器模型。基于该流程的软硬件平台通过兼容ARM、XTENSA和CKCore等多种处理器以及GFIFO、HWFIFO和DMS等通信架构,有效提高流程平台的灵活可配性,并确保MPSoC体系结构设计空间的可扩展性。该设计平台还包含了一些面向存储和通信优化的技术:通过细化探索处理器间通信架构和优化多线程通信通道来提高系统通信效率和减少通信负载;通过对多线程软件的调度优化和硬件存储架构的配置优化来提高存储器效率和减少存储器面积功耗;通过系统有效的性能分析来实现准确的性能评估,从而为体系结构探索提供支持。在基于Simulink的MPSoC设计流程平台基础上,本文还提出了一种多处理器软硬件原型,将MPSoC的处理器及其通信统一建模于一个多层次的软硬件原型中。多处理器原型作为可重用的处理器架构原型,具备灵活可配的软硬件架构和接口,可根据应用的需求和软硬件协同仿真结果,相应调节多处理器原型的软硬件架构,从而实现系统最佳性能。(四)通过视频解码应用来验证本文MPSoC系统级设计流程平台。面向Motion-JPEG的MPSoC设计实验验证了基于Simulink的MPSoC设计流程多层建模和逐步细化功能的可行性,并通过多种不同的处理器和互连通信机制来进一步验证该流程平台的通用、灵活和高效性。面向H.264基本档次解码应用的MPSoC设计实验通过从粗粒度到细粒度的不同任务划分策略,基于多处理器模型逐步优化MPSOC系统性能;通过多线程代码优化,进一步验证了流程平台中多线程代码优化技术的有效性;通过基于FPGA和SMIC工艺分别实现了多处理器原型,验证了流程平台的物理可实现性。