AI驱动的设计应用
在开展下一代SoC设计的过程中,对客户需求和市场需求的预测无疑是最主要的驱动因素之一,相信大家都希望设计出跟别家不一样的、有卖点的产品,因此如何设计出具有差异化的芯片是开发者设计工作中的重中之重。
在考虑差异化的同时,当然也要考虑性能、功耗、面积(PPA)等关键指标,特别是对于那些用于边缘设备和电池驱动设备的SoC, 对于面积和功耗的要求会很严苛
若想让芯片实现差异化,在众多竞品中脱颖而出,同时又能实现理想的PPA,处理器作为芯片的“大脑”,其实是一个很好的切入点。如果可以定制化处理器IP,比如根据特定用例来实现理想PPA,那么情况也将大不相同。
过去,大型半导体公司针对特定应用自行开发并维护处理器的现象并不少见,但这种做法是相当费钱的,再加上这样做还需要自行搭建软件生态系统,一家公司很难完全应付得来。因此,现在比较普遍的做法是使用基于标准指令集(ISAs)的处理器IP。
通用处理器可以执行很多操作,但却可能无法根据特定需求对重要或重复的功能进行高效处理。在这种情况下,开发者可以考虑针对特定需求对拓展指令集进行定制。如果没有现成的处理器IP满足开发团队的PPA要求,开发者们可选择构建自己的专用处理器或加速器。这项工作任务艰巨,但却十分有必要,其工作量主要取决于设计方法是手动编码还是以某种方式自动化。所有处理器都适合的方案肯定是不存在的,在选择优化实现路径时,硬件优化水平、上市时间、编程难易程度都是重要的考量因素。
处理器IP的成败取决于编程的难易程度。要建立一个强大的软件开发生态系统,需要从商业伙伴到开源组织等多方资源的共同投入,绝非一己之力可以完成。标准指令集可以对程序开发者、工具供应商、操作系统供应商等多方软件投资进行汇总。但是如果不在指令集的多种实现路径中强制要求软件兼容性,拓展指令集将会有分散投资的风险。
现在的SoC可以处理大量的特定软件工作负载,以前那种用一个大型应用处理器完成所有任务的做法已经过时了。现在的普遍做法是将一组异构处理器内核集成在SoC架构中,每个内核处理特定的软件工作负载。特别是对于嵌入式设备而言,在每个逻辑和能量单位都很重要的情况下,类似于CPU、DSP、GPU、ISP、NPU和定制加速器等专用处理器的效率对设计的可行性至关重要。
处理器IP的受众也在发生变化。以前基本都是传统半导体公司才会自己设计芯片,现在,手机和汽车等行业的OEMs也在不断垂直整合业务,开始自己设计芯片,或处理器。无论是小型初创企业还是大型系统级公司,芯片和专用处理器对于开发者来说都是实现产品化的一种重要手段。
定制处理器的涵盖范围很广,包括以下类型:
新思科技的可授权处理器IP,如DesignWare® ARC®处理器IP可为开发者提供极大的灵活性。ARC内核具有高度可配置性,因此芯片上的每个实例都可以实现定制,从而获得理想PPA。开发者对于哪些逻辑和内存能够被实例化都了如指掌,他们可以自行决定如何满足特定应用程序的需求。
ARC处理器是可扩展的。ARC处理器拓展(APEX)技术已获得专利,用户不仅可以添加自己的指令,还可以添加寄存器、条件和状态代码,甚至可以添加自己的硬件设计(Verilog RTL)。这些定制化内容可以显著加快软件执行,减少代码长度和循环次数,进而降低能耗。
所有ARC处理器,包括CPU、DSP和基于AI的处理器,都构建在通用指令集上,利用通用编程环境和工具链简化整个产品组合中的软件迁移。新思科技、商业合作伙伴和开源组织提供了一个由操作系统、编译器、调试器、中间件等组成的生态系统,使ARC开发者能够在多个设计和多代设备上保留和使用初始嵌入的软件。
新思科技的ASIP Designer工具可以进一步加速处理器定制。该工具可基于模型来实现快速的架构探索和实现,自动创建专用于应用程序的指令集处理器(ASIP)和相应的SDK(包括编译器、调试器、分析器、模拟器)。
这一工具的主要价值之一是使开发者能够快速迭代处理器架构。ASIP Designer根据处理器模型自动生成SDK,使用户能够在设计上运行实际软件并调整架构,然后根据需要重复此操作,直至达到PPA目标。当满足需求时,该工具会自动生成可合成的RTL。如果现成的处理器IP无法满足PPA要求,ASIP Designer将为开发者们提供更大的灵活性,让他们能够根据特定的用例来设计可编程处理器或加速器。
当下芯片行业发展十分迅速,竞争激烈。开发者们都力求实现芯片差异化来站稳脚跟。定制处理器是助力开发者同时实现芯片差异化和理想PPA这两大的目标的方法之一。处理器实现定制化的方式很多,比如配置微调、扩展整合、从零开始构建自己的处理器等,但应用更广泛的方式是在设计上打上企业独有的标记。