目前,多媒体芯片的开发面临着集成度高、产品上市时间紧迫、市场变化迅速等诸多挑战。不同于传统的asic,多媒体芯片通常是复杂的soc,在芯片中除了核心的音视频处理电路以外,一般都有mcu、dsp或cpu来协助音视频处理电路完成系统级的控制功能,或者由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所示。
传统的硬件加速器大多工作在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硬件加速解决方案,本文构建了一个全新的验证平台。该平台加速了多媒体的系统级验证,使得工程师可以在流片之前对芯片进行更充分的软硬件验证。
RFID读卡器在AGV小车上的应用
卓岚信息科技RS232/485转4GZLAN8305/8305L概述
变频器对电机有什么影响
特斯拉降价后宝马牧马人涨价
如何看待4G套餐下架的现象?
基于Palladium解决方案实现硬件加速器的设计
南卡runner Pro骨传导成为华强北爆款产品,官方也无能为力
如何使用RUI3制作一款用于电脑的多功能LoRa®适配器
机器视觉定位和视觉检测系统的区别
基于BOA和nRF24L01的智能家居系统
USI环旭电子智能制造关灯工厂升级至全新规模
关于AGV搬运车的常见的三个问题解答
数据采集网关助力数字乡村物联网系统搭建
如何应对日益复杂的物理和网络攻击,有什么网络安全解决方案
小米7概念设计曝光:还有哪些是你没有想到的?
针对工业应用中智能传感器和执行器点对点三线式接口的通信标准
梦芯科技喜获中国卫星导航定位创新应用奖“金奖”
开口互感器在越南美的工业云系统中的应用
芯存中国,千城行动——2023佰维工控存储全国巡展首站即将登陆成都!
猝不及防!Google人工智能助理开始“说人话”了!