SoC有针对的目标市场和应用场景,其产品定义描述了功能和性能,如对处理器的性能要求,对多种外设的需求,以及整个芯片的频率、面积和功耗指标等。
基于场景分析,SoC由处理器、存储、互连、外设和应用等子系统组成,并且包含芯片管理设计、低功耗设计、可测性设计等模块,系统设计将确定各个子系统和模块的硬件特性。处理器子系统至少包含一个微控制器或微处理器,也可以包含CPU(中央处理器)、G P U(图像处理器)等同构或异构的计算单元。存储子系统会采用只读存储器、随机访问存储器和Flash中的一种或多种。互连子系统分为星形连接、环状连接和网状连接,以及基于多种总线拓扑的混合连接。外设子系统包含系统外设和不同标准的I/O接口。芯片管理设计包含稳压器等电源管理设计、振荡器和锁相环等时钟管理设计,以及复位管理设计。低功耗设计的目的在于降低芯片整体的静态和动态功耗。可测性设计是指在保证功能的前提下,加入特殊的测试结构,以便芯片制造完成后进行测试,筛选出有瑕疵的芯片。
架构设计一般分为微架构设计和SoC架构设计。微架构设计偏重于模块级的架构,一般用于IP或小型系统的架构设计。SoC架构设计狭义上是指SoC的软硬件架构设计,包括计算架构、总线互连架构、存储架构等;广义上则包括SoC的工艺和封装选型、PPA(性能、功耗和面积)估算、需求确认和分解、IP选型、软硬件划分、硬件架构规划(总线、计算子系统、存储子系统等)、ESL(电子系统级)评估、低功耗方案设计、信息安全策略规划、可测性目标建议等。
为了设计出性能、功耗和面积最优的芯片,需要合理地设计软硬件架构和系统。例如,在芯片设计的早中期,借助ESL架构仿真,对设计架构进行探索和试错,并进行静态和动态评估,从而指导设计,规避性能风险,节省时间和人力成本。
一个多媒体应用的SoC如图1.1所示。
本章分为两个部分:第一部分将依次简要介绍处理器子系统设计、存储子系统设计、互连子系统设计、外设子系统设计、芯片管理设计、低功耗设计和可测性设计;第二部分将分别介绍架构评估和ESL设计。
图1.1 一个多媒体应用的SoC