草榴社区

针对高吞吐量、低延时且具灵活性的 5G 通信 SoC 的专用处理器

草榴社区 高级产物营销经理 Markus Willems

介绍

与 4G 相比,新一代 5G 无线通信技术有望将吞吐量提高两个数量级并将延时降低两个数量级。为此,5G 标准为高级手机和融合固定/移动网络应用定义了新的算法和协议。

尽管开发团队研究 5G 已有一段时间,但新无线电 (NR) 的 5G 标准在 2018 年才完成融合。 预计到 2020 年开始 5G 网络部署之后,片上系统 (SoC) 的开发窗口会非常短,而在过去两年中,芯片制造商一直在竞相开发 5G SoC,以便在 5G 技术首次亮相时及时投放市场。芯片制造商没有坐等标准成熟,而是选择在模块中 加入更多软件可编程解决方案,这些解决方案传统上会作为固定功能硬件在诸如物理层和数字前端等环节得以实现。 同时,5G 令人生畏的吞吐量和延时要求促使各级通信协议全面加速。 例如,第 2 层处理传统上是在标准处理器中完成,而其现在所需的性能水平则是标准处理器无法达到的。

ASIP 方案

专用指令集处理器 (ASIP) 成功弥合了高度优化的固定功能硬件实现与标准处理器 IP 之间的差距(图 1)。因而对于几乎任何 5G SoC 而言,在实现架构中的模块时,如果需要特种硬件性能并且还要求处理器 IP 具备可编程性和灵活性,ASIP 就会成为关键选项。

图 1: ASIP 弥合了固定功能 RTL 设计与通用处理器 IP 之间的差距

可以根据不同要求,开发 ASIP 来执行一个特定的系统模块,例如前向纠错;或者用于整个系统,例如用于第 1 层基带处理的矢量 DSP。在第一种情况下,它的可编程性使得模块能够容纳算法变量(例如,将其编程用于 LDPC、维特比或极化码)。在每种情况下,设计人员都可以进行权衡,以平衡性能、灵活性、能耗、可重用性(或通用性)和设计时间。

ASIP Designer

采用 ASIP 方案涉及多个领域的工作,包括定义合适的 ASIP 架构,以及实现处理器硬件和相应的软件开发工具包 (SDK)。草榴社区 的 ASIP Designer 工具可帮助自动创建 ASIP 及其相关的 SDK(图 2),后续章节将会详细介绍。

图 2:ASIP Designer 工具流

处理器建模

ASIP 是使用 nML 来描述的,nML 是一种条理清晰的体系结构描述语言,能够高效而简洁地描述与编程手册相同抽象级别的处理器体系结构。该语言用于定义设计的结构特征(存储器、寄存器、功能单元、连接等)和指令集体系结构。nML 还使用户能够描述数据路径和 I/O 接口的周期精确和位精确行为。

SDK 生成

ASIP Designer 使软件开发人员能够直接在候选架构上开发和分析 C/C ++ 软件。这之所以成为可能,是因为 ASIP Designer 提供了一个功能齐全的 SDK(图 2 中的第 1 步),可以自动适应 nML 中描述的已定义处理器架构。SDK 包含优化的 C/C ++ 编译器、汇编器/反汇编器、链接器、周期精确和指令精确的指令集仿真器,以及图形调试器。

编译器独具专利型编译器可重定向性,因而可以适应所有候选架构的细节。GNU 或 LLVM 等经典编译器框架需要去开发架构专用的编译器后端,并且还必须对每个候选架构重复此过程。编译器的即时可用性支持快速迭代,也支持用于架构探索的“循环内编译器”方法(图 2 中的第 2 步)。

循环内编译器方法意味着软件工程师可以向 ASIP 设计工程师提供反馈,因此处理器的动态性能可以得到研究和优化。在这个抽象级别进行这些调整和权衡比在生成 RTL 描述后再尝试这样做更有效。

硬件的生成和验证

设计人员一旦确信建模的 ASIP 满足所选算法的预期性能,就可以使用 ASIP Designer 生成可综合的 RTL,从而使用标准流程执行实现级细化和详细验证(图 2 中的第 3 步)。设计人员可以使用 草榴社区 的 Design Compiler 生成门级描述,并可以预测电路的功耗要求和面积,或使用布局布线工具(如 草榴社区 的 IC Compiler)来辨别布线拥塞的风险。采用这种“循环内综合”方法能够作出有根据的决策,从而避免在设计过程的后期出现意外情况。如果设计人员在实现过程中遇到问题,则可以回到 nML 描述进行调整。nML 中采用单源条目,所以 SDK 和 RTL 会保持同步。

5G SoC 专用 ASIP 示例

许多即将推出的 5G SoC 中都部署了 ASIP,并且在基站和移动终端中均有部署。主要应用领域包括需要大规模信号处理的领域,例如第 1 层中的数字前端和基带处理,以及第 2 层控制功能的加速。

如图 1 所示,ASIP 可以满足各种架构的需求,并且 ASIP Designer 客户可以进行任何级别的架构设计。这种 5G 专用 ASIP 包括具有专用数据类型、存储器和寄存器配置以及指令集的宽矢量 DSP,其性能优于标准现成 DSP 的性能/mW。 虽然 ASIP Designer 客户如今已推出多种 5G 专用 ASIP 架构,但是本文将通过两个 草榴社区 拥有的示例设计来说明相同的概念,这些示例设计可供 ASIP Designer 的授权方使用。

FFT/DFT 加速

PrimeCore 是一款针对 FFT/DFT 操作进行了调整的处理器。它支持从 8 到 2048 的所有 2 次幂大小的 FFT,以及从 6 到 1536 的所有质因数分解大小的 DFT。图 3 显示了 PrimeCore 架构。 

图 3:PrimeCore 架构

PrimeCore 是一个 256 位 8 通道 SIMD 架构,具有三个矢量数据路径单元,全都处理复杂的定点操作数。VU0 执行专用蝶形运算,从定制的寄存器文件中读取数据。VU1 执行向量乘法和加法,VU2 专门执行基数 6 蝶形计算。它具有两个矢量存储器,其中一个存储器分配给 VU1 使用的系数。加载/加载-存储操作与向量操作并行发生,从而产生多达 5 路的指令级并行。架构虽然经过高度专业化,但通过 ASIP Designer 生成的编译器充分利用并行,完全可以进行 C 编程。一些数据点说明了性能:256-FFT 需要 172 个周期,2048-FFT 需要 1189 个周期,1296-DFT 需要 798 个周期。700 MHz 时钟的综合 (16nm FF) 结果是35 万门。  

MMSE 加速

第二示例处理器可实现最小均方误差 (MMSE) 均衡器算法,用于基站中的 5G NR 信道均衡。该算法在矩阵元素是复杂浮点数的矩阵运算中占有主导地位。最终形成一个非常宽(4096 位)的 SIMD 架构,具有 4 路指令级并行。该架构特别关注高效存储器概念。由于成本原因,使用了单端口存储器,进行一次复杂的乘法累加运算需要访问存储器两次,并且是流水线运算。为处理特定于该算法的三角矩阵,实现了许多专门的索引寻址模式。同样,这种架构完全可以进行 C 编程,能够利用 ASIP Designer 的编译器处理流水线运算。基于 MMSE 算法的嵌套循环结构,编译器就具备为内循环和外循环执行软件流水运算的独特能力,从而显著减少周期数。 

结语

向 5G 的转变促使系统架构师在设计中寻找针对各个模块的实现方法,突破了在 a) 商用处理器 IP 上运行软件或 b) 人工、定制的固定 RTL 之间二选一的局面。ASIP 是一种成熟的实现方案,具备高度优化的 RTL 和软件可编程性等优势。许多公司借助 草榴社区 的 ASIP Designer 来设计 ASIP,从而降低了风险并加快了设计进度。ASIP Designer 独特的循环内编译器和循环内综合方法能够高效地指导架构的选择。ASIP Designer 自动提供质量优异、功能齐全的专业 SDK,无需聘请编译器、仿真器或调试 GUI 专家,可以快速支持软件开发团队。

因此,依赖 ASIP Designer 的设计团队现在可以考虑:

  • 用 ASIP 取代固定功能硬件实现,将设计和验证复杂状态机这一复杂、费神且容易出错的过程转移到软件中,这样就可以在软件中解决出现的问题,从而加快产物上市时间
  • 设计自己的专用 DSP 和算法特定的加速器,例如 5G 物理层和数字前端处理,以及第 2 层加速所需的加速器。

几十年来,几乎每个市场的领先公司都采用了 ASIP 方法,而现在大多数开发 5G SoC 的顶级公司都将 ASIP Designer 作为自动化设计流程的首选工具。ASIP Designer 是设计具有竞争力的 5G SoC 的必备工具。

 

网站:草榴社区 专用指令集处理器

数据手册:ASIP Designer:专用指令集处理器的设计工具