0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Palladium解决方案实现硬件加速器的设计

电子设计 来源:电子设计应用 作者:霍晓方 2020-09-28 09:42 次阅读

目前,多媒体芯片的开发面临着集成度高、产品上市时间紧迫、市场变化迅速等诸多挑战。不同于传统的ASIC,多媒体芯片通常是复杂的SoC,在芯片中除了核心的音视频处理电路以外,一般都有MCUDSPCPU来协助音视频处理电路完成系统级的控制功能,或者由DSP、CPU完成某些音视频算法。有的多媒体芯片内部甚至集成了多个MCU、DSP或CPU内核。另外,大部分多媒体芯片都需要与外部CPU协同工作,如PC摄像头多媒体芯片需要和PC一起工作,移动终端多媒体芯片需要和基带处理器一起工作。

中星微电子公司致力于多媒体芯片的开发,并可提供完整的软件和系统解决方案。根据功能的不同,软件可分为驱动程序、固件和应用程序。对多媒体芯片进行系统级验证要同时验证驱动程序、固件等软件部分。基于NC-SystemC,中星微开发出系统级的验证平台,该平台用SystemC集成芯片的驱动程序和应用程序,用Perl来解析测试命令,用NC仿真器进行SystemC和Verilog的联合仿真,较好地解决了软硬件联合仿真的问题,大大提高了验证效率。但由于多媒体芯片规模比较大,依据一个系统级的仿真向量对芯片进行仿真时往往需要几个小时,比如仿真一秒钟的声音需要7~10个小时,仿真一幅1.3M或3M的图像需要1~2个小时。在验证初期,系统的硬件和软件都不稳定,往往需要花费大量时间来验证一个很小的问题,这严重影响了芯片的开发进度。在验证后期,迫于流片时间的压力,又没有时间对芯片进行充分验证。因此,工程师迫切需要一种新的验证方法来加快仿真速度,这就是硬件加速器。

目前,EDA市场上有许多硬件加速器的解决方案,Cadence的Palladium是基于定制CPU的解决方案,其它都是基于FPGA的。本文采用Palladium作为硬件加速解决方案。

基于ARM的STB

STB的硬件结构

基于ARM的STB(可综合测试平台)的硬件结构如图1所示。

基于Palladium解决方案实现硬件加速器的设计

传统的硬件加速器大多工作在ICE(电路内仿真)模式下,这种模式的测试激励由外部硬件设备提供。但是,由于硬件加速器的工作速度有限,无法实现与外部高速设备的直接连接,因此,需要采用Cadence的速率适配器(Speedbridge)来进行速率转换,这样又会增加整个验证系统的复杂程度。STB的基本思想是用可综合的RTL来实现SoC验证中用到的所有仿真模型。由于不同的SoC芯片对各个仿真模型的要求不完全相同,所以,仿真模型必须是可配置的。STB中利用ARM来配置各个仿真模型,并控制各个仿真模型对芯片进行操作,比如读/写芯片的寄存器、为芯片提供音视频输入数据等。同时,ARM也可以运行芯片的驱动程序和应用程序(实际上许多手机基带处理器都是ARM内核)。STB可以对中星微的所有多媒体芯片进行系统级的软硬件联合验证,能够降低验证环境的复杂度,实现更灵活的配置,同时不会降低性能。

STB的ARM子系统

ARM子系统包括ARM内核、多层AHB总线、连接到AHB总线上的SRAM控制器SDRAM控制器、DMA控制器、外部异步接口CPU_BFM、AHB-APB接口电路,以及连接到APB总线上的中断控制器、定时器等。

多层AHB总线可以连接8个AHB主设备和8个AHB从设备。不同的AHB主设备可以同时访问不同的AHB从设备,从而提高了系统的数据吞吐能力。为了简化设计,多层AHB总线不支持Burst、Split、Retry和Error传输。为了适应不同仿真模型的需求,多层AHB总线对AHB总线的传输类型没有限制,支持SINGLE和所有INCR及WRAP传输类型。

DMA控制器协助ARM完成数据搬运工作。DMA控制器提供了4个硬件通道和4个软件通道,每个通道可以独立设置源地址、目的地址、传输长度和控制字。DMA控制器支持嵌套操作,即高优先级的数据传输可以暂时打断低优先级的数据传输,高优先级的数据传输结束后再继续进行低优先级的数据传输。为了提高数据传输的速率并尽量减少对多层AHB总线的占用,DMA控制器使用了两个AHB主设备:一个AHB主设备负责从源地址读取数据,然后把数据存人FIFO中;另一个AHB主设备则从FIFO中读取数据,并写到目的地址中。

CPU_BFM模拟手机基带处理器的异步接口,用来访问其它异步接口。CPU_BFM是STB控制DUV的主要途径,ARM通过CPU_BFM可以读写DUV的寄存器,DMA控制器可以通过CPU_BFM把需要解码的音视频数据快速写到DUV中,或者把解码后的数据读入到STB中。ARM可以配置CPU_BFM的读写宽度,从而具有更大的灵活性。

AHB-APB接口电路提供了ARM控制大多数仿真模型的通路。ARM子系统中的中断控制器和定时器都连接到APB总线上。

STB的其它仿真模型

除了ARM子系统外,STB还集成了其它仿真模型,如USB OTG、UTMI PHY、图像传感器ADC、SCI、SPI、IIC、NOR闪存、NAND闪存、SD卡等。这些仿真模型都连接到APB总线上,ARM通过AHB-APB来配置和控制这些仿真模型。

STB的软件架构

eCos(嵌入式可配置操作系统)是一种针对16位、32位和64位处理器的可移植嵌入式实时操作系统。eCos的源代码是公开的,其最大的特点是模块化,内核可配置。它的另一个优点是使用多任务抢占机制,具有最小的中断延迟,支持嵌入式系统所需的所有同步原语,并拥有灵活的调度策略和中断处理机制,因而具有良好的实时性。

STB的软件基于eCos构建,如图2所示。HAL、eCos内核、eCos内核API、硬件驱动程序构成了eCos的基本架构。DUV驱动程序可以调用STB硬件驱动程序、eCos内核API和HAL硬件抽象层。DUV应用程序调用DUV驱动程序和文件系统对DUV进行系统级验证。如果对相对比较简单的DUV进行验证,可以不使用文件系统和eCos。

Palladium的使用流程

Palladium是基于定制CPU的硬件加速解决方案。和传统的基于FPGA的硬件加速器相比,Palladium的编译速度快、调试能力强,并支持多用户。

Palladium支持SA(模拟加速)和ICE两种模式,后者的运行速度更快,但要求测试平台完全可综合。本文选用ICE模式,其流程顺序为模型替换、代码综合、编译硬件、编译软件、运行和测试。

模型替换

由于ICE模式只能处理可综合的RTL代码,所以需要把测试平台和DUV中所有不可综合的仿真模型(如存储器的仿真模型)都替换为可综合的仿真模型,把所有不可综合的语句如initial、PLI调用等放入∥synopsys translate_off/on语句块中。Palladium可以支持Pullup和Pulldown。

代码综合

对验证的测试平台和DUV进行综合,把RTL代码转化为门级网表。典型的综合脚本如下:

综合结束后可以检查报告文件hdlIce.log,如果有错误提示,就需要修改RTL代码并重新综合;如果有警告提示,则需要确认是否有问题。

编译硬件

对综合后的门级网表进行编译,把门级网表转化为可以在Palladium上运行的数据库。编译过程分为如下步骤:输入门级网表、设置设计、设置仿真器配置、设置时钟、设置编译、选项、预编译、ICE准备、编译。

编译软件

编译STB中在ARM上运行的软件,把编译后的软件代码存为数据文件。同时准备其它的数据文件,如音视频输入数据等。

运行

在Palladium上运行编译好的数据库,运行过程分为如下步骤:下载设计的数据库和各个存储器的初始化文件、设置内置逻辑分析仪的触发条件、设置波形信息、复位芯片、运行芯片、上载存储器内容和仿真波形。

调试

检查上载的存储器内容和仿真波形,如果不符合设计的要求,则查找相应原因。如果是测试平台和DUV的错误,则需要修改相应的RTL代码并重新进行综合、编译硬件和运行;如果是ARM软件的错误,则需要修改ARM软件、编译软件并运行。

Palladium的测试结果

对Palladium的使用可分为三个阶段:第一阶段主要测试Palladium的基本流程,重点是STB的硬件和基本软件;第二阶段用已经流片的设计进行测试,测试重点是STB的软件和Palladium的功能、运行性能以及测试能力;第三阶段用Palladium对正待开发的芯片进行验证。

Palladium可以正确仿真数字逻辑,并且能够处理多时钟和异步时钟。Palladium的运行速度大约是200 kHz~500kHz,比RTL仿真快了100倍~500倍。

使用Palladium时的限制在于,Palladium只能做数字逻辑的功能验证,不能做模拟电路的验证,也不能验证建立时间和保持时间等时序问题。为了达到更好的运行性能,需要对DUV中相关的时钟电路进行优化,所以该部分电路不能通过Palladium进行验证。另外,由于替换了存储器仿真模型和其它不可综合的仿真模型,所以该部分也不能通过Palladium进行验证。所有Palladium不能验证的部分必须采用传统的逻辑仿真器进行充分验证。

可以看出,Palladium不可能取代传统的逻辑仿真和FPGA原型验证,Palladium只是这些验证手段的补充。

结语

基于Cadence提供的Palladium硬件加速解决方案,本文构建了一个全新的验证平台。该平台加速了多媒体的系统级验证,使得工程师可以在流片之前对芯片进行更充分的软硬件验证。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    446

    文章

    47769

    浏览量

    409068
  • 摄像头
    +关注

    关注

    59

    文章

    4607

    浏览量

    92882
  • 多媒体
    +关注

    关注

    0

    文章

    481

    浏览量

    36676
收藏 人收藏

    评论

    相关推荐

    MCU厂推多样解决方案 DSP/FPU硬件加速芯片整合

    方面就可仅整合FPU、DSP硬件加速定位市场区 隔,在高阶的微控制应用上,甚至有解决方案直接整合硬件绘图引擎,直接看准工业用人机介面终端的应用需求,另针对如车用电子、IoT物联网等不
    发表于 10-14 17:17

    无法导入硬件加速器

    嗨!我已经创建了一个硬件加速器(在vhdl中)并且合成成功完成。但是,当我使用创建和导入外围设备向导时,它向我显示我的包在库中不可用,尽管它是。我能做什么 ???L'enfer,c'est l
    发表于 02-27 14:15

    协调屏幕旋转和硬件加速器

    )。而且,在我的测试中,我发现关闭“硬件加速器”允许屏幕在旋转时正确地绘制,但是这使得系统使用起来非常缓慢和痛苦(坏的用户体验)。谢谢任何帮助。
    发表于 04-03 10:56

    机器学习实战:GNN加速器的FPGA解决方案

    ,其算法的软件实现方式非常低效,所以业界对GNN的硬件加速有着非常迫切的需求。我们知道传统的CNN(卷积神经网络网络)硬件加速方案已经有非常多的解决
    发表于 10-20 09:48

    如何充分利用数字信号处理上的片内FIR和IIR硬件加速器

    上的片内FIR和IIR硬件加速器也分别称为FIRA和IIRA,我们可以利用这些硬件加速器来分担FIR和IIR处理任务,让内核去执行其他处理任务。在本文中,我们将借助不同的使用模型以及实时测试示例来探讨如何在实践中利用这些加速器
    发表于 12-28 06:26

    H.264解码中CABAC硬件加速器怎么实现

    H.264解码中CABAC硬件加速器怎么实现
    发表于 06-07 06:48

    GNN(图神经网络)硬件加速的FPGA实战解决方案

    算法的软件实现方式非常低效,所以业界对GNN的硬件加速有着非常迫切的需求。我们知道传统的CNN(卷积神经网络网络)硬件加速方案已经有非常多的解决方案
    发表于 07-07 08:00

    问下ARM3的硬件加速器只能用verilog写吗?

    问下ARM3的硬件加速器只能用verilog写吗?
    发表于 09-30 10:45

    Intel媒体加速器参考软件用户指南

    英特尔媒体加速器参考软件是用于数字标志、交互式白板(IWBs)和亭位使用模型的参考媒体播放应用软件,它利用固定功能硬件加速来提高媒体流速、改进工作量平衡和资源利用,以及定制的图形处理股(GPU)管道
    发表于 08-04 07:07

    利用硬件加速器提高处理器的性能

    处理器内部集成的硬件加速器可以实现三种广泛使用的信号处理操作:FIR(有限冲激响应)、IIR(无限冲激响应)和FFT(快速傅里叶变换)。硬件加速器减轻了核处理器的负担,能潜在的提升处理器的计算吞吐
    发表于 12-04 15:22 1078次阅读

    Veloce仿真环境下的SoC端到端硬件加速器功能验证

    很多人认为硬件加速器无非是一种速度更快的仿真器而已。毫无疑问,由于硬件加速器使用物理硬件进行仿真,使用硬件加速器验证复杂的集成电路和大型片上系统(SoC)能比软件仿真器快若干数量级。与
    发表于 03-28 14:50 3228次阅读
    Veloce仿真环境下的SoC端到端<b class='flag-5'>硬件加速器</b>功能验证

    基于Xilinx FPGA的Memcached硬件加速器的介绍

    本教程讨论基于Xilinx FPGA的Memcached硬件加速器的技术细节,该硬件加速器可为10G以太网端口提供线速Memcached服务。
    的头像 发表于 11-27 06:41 3461次阅读

    OpenHarmony 分论坛-华秋电子新硬件加速器

    OpenHarmony 分论坛-华秋电子新硬件加速器 今天的华为开发者大会2021上,OpenHarmony分论坛上展示了华秋电子新硬件加速器 。 HDC分论坛-OpenHarmony 分论坛推荐链接:http://t.elecfans.com/live/1708.htm
    的头像 发表于 10-23 16:53 1524次阅读
    OpenHarmony 分论坛-华秋电子新<b class='flag-5'>硬件加速器</b>

    借助硬件加速器开发您的设计

    借助硬件加速器开发您的设计
    的头像 发表于 01-03 09:45 629次阅读

    Alveo卡的区块链硬件加速器解决方案

    电子发烧友网站提供《Alveo卡的区块链硬件加速器解决方案.pdf》资料免费下载
    发表于 09-15 14:42 0次下载
    Alveo卡的区块链<b class='flag-5'>硬件加速器</b><b class='flag-5'>解决方案</b>