2.3 软硬件协同设计涉及的内容
目前,SoPC中的软硬件协同设计主要涉及到以下内容:系统功能描述方法、设计空间搜索(DSE)支持、资源使用最优化的评估方法、软硬件划分理论、软硬件详细设计、硬件综合和软件编译、代码优化、软硬件协同仿真和验证等几个方面,以及同系统设计相关的低压、低功耗、多布线层数、高总线时钟频率、I/O引脚布线等相关内容。
系统功能描述方法解决系统的统一描述。这种描述应当是对软硬件通用的,目前一般采用系统描述语言的方式。在软硬件划分后,能编译并映射成为硬件描述语言和软件实现语言,为目标系统的软硬件协同工作提供强有力的保证。
设计空间搜索提供了一种实现不同设计方式、理解目标系统的机制,设计出不同的软硬件体系结构,使最优化的设计实现成为可能。
最优化的评估方法解决软硬件的计量和评估指标,从而能够对不同的设计进行资源占用评估,并进而选出最优化的设计。
FPGA的评估可以做到以引脚为基本核算单位。软硬件划分理论从成本和性能出发,决定软硬件的划分依据和方法。基本原则是高速、低功耗由硬件实现;多品种、小批量由软件实现;处理器和专用硬件并用以提高处理速度和降低功耗。划分的方法从两方面着手:一是面向软件,从软件到硬件满足时序要求;二是面向硬件,从硬件到软件降低成本。在划分时,要考虑目标体系结构、粒度、软硬件实现所占用的成本等各种因素。划分完后,产生软硬件分割界面,供软硬件沟通、验证和测试使用。
软硬件详细设计完成划分后的软件和硬件的设计实现。硬件综合是在厂家综合库的支持下,完成行为级、RTL以及逻辑级的综合。代码优化完成对设计实现后的系统进行优化,主要是与处理器相