芯片及其验证方法和系统、处理器端的制作方法

文档序号:2264849阅读:226来源:国知局
专利名称:芯片及其验证方法和系统、处理器端的制作方法
技术领域
本发明涉及芯片验证技术领域,尤其是一种带有硬件加速器的芯片及其验证方法和系统以及处理器端。
背景技术
随着半导体技术的飞速发展,单个硅片上的集成度越来越高,如何更快、更有效的完成基于SoC (System on Chip,片上系统,也称为系统级芯片)的检验逐渐成为人们关注的隹占。
ν 、、/、、人 °芯片的验证(也称为芯片的检验)一直是芯片制造的重要步骤,芯片的检验占据了芯片制造的大半过程。尤其是对集成有硬件加速器的芯片,例如集成有音频加速器的芯片、集成有视频加速器的芯片等的检验,其检验效率和检验质量一直不高。这是由于芯片本身的性能有限,集成硬件加速器后,检验程序和硬件加速器同时在芯片上工作,加重了芯片的负担,致使芯片的检验时间和检验质量愈发下降。下面以视频算法加速器的软硬件协同验证为例,具体说明。多媒体设备中,通常会将视频编解码算法集成在其主控芯片(即SoC芯片)上。但是一方面由于多媒体设备的主控芯片计算能力较弱,另一方面由于视频编解码算法的计算复杂度非常高,因此很容易降低多媒体设备的工作效率,影响视频的播放效果。为了解决这一矛盾,在主控芯片设计时,通常会增加一个视频算法加速器硬件模块(Video Signal ftOcessor,简称VSP), VSP 实际包括 ASIC(Application Specific Integrated Circuit,专用集成电路)以及 Firmware(也称固件,设备内部保存的设备的驱动程序)两个部分。具体的加速视频编码的技术可以参考公开号为US2007204318A1的美国专利申请。为了保证主控芯片的工作效率及工作质量,需要确保VSP能正确的编解码,因此对VSP的一致性验证是必要的。所述一致性验证是指验证经过VSP处理后的视频码流与原始的视频码流是否一致。由于VSP所支持的视频标准的种类众多,每个视频标准需要验证的视频码流也数量庞大。在验证主控芯片时,主控芯片上需要执行两套程序,一个是Firmware,另一个是验证VSP的验证程序。由于主控芯片上的存储空间有限,并且主控芯片的性能也不高,因此在验证环境下,主控芯片执行两套程序,再加上视频码流需要一帧编码/解码完后再比对,导致检验主控芯片的过程复杂而且漫长,对主控芯片的VSP的一致性验证效率很低,并且庞大的视频码流的运行,还会降低对主控芯片的验证质量。鉴于上述情况如何提高对集成有硬件加速器的芯片的验证效率和质量,成为目前亟待解决的问题之一。

发明内容
本发明解决的问题是如何提高对集成有硬件加速器的芯片的验证效率和质量。为解决上述问题,本发明的技术方案提供了一种芯片的验证方法,包括
所述芯片向处理器端发送验证开始请求;所述处理器端接收到所述验证开始请求,将验证码流发送至所述芯片;所述芯片与所述处理器端处理所述验证码流,所述处理所述验证码流包括编码或解码所述验证码流;所述芯片将其处理所述验证码流的结果数据发送至所述处理器端;所述处理器端匹配其处理所述验证码流的结果数据与所述芯片处理所述验证码流的结果数据。本发明的技术方案还提供了一种芯片,包括硬件加速器;消息发送单元,用以向处理器端发送验证开始请求;芯片验证码流处理单元,用以在所述消息发送单元向所述处理器端发送验证开始请求后,接收并处理所述处理器端发送的验证码流;所述处理所述处理器端发送的验证码流包括解码或编码所述验证码流;数据发送单元,用以将所述芯片验证码流处理单元处理所述验证码流的结果数据发送至所述处理器端。本发明的技术方案还提供了一种处理器端,包括消息接收单元,用于接收如上所述的芯片发送的验证开始请求;验证码流发送单元,用以在所述消息接收单元接收所述验证开始请求后,将验证码流发送至所述芯片;处理器验证码流处理单元,用以处理所述验证码流,所述处理所述验证码流包括解码或编码所述验证码流;数据接收单元,用以接收所述芯片处理所述验证码流的结果数据;匹配单元,用以匹配所述处理器验证码流处理单元处理所述验证码流的结果数据与所述数据接收单元接收的所述芯片处理所述验证码流的结果数据。本发明的技术方案还提供了一种芯片检验系统,包括如上所述的芯片;如上所述的处理器端。与现有技术相比,本发明的技术方案具有以下优点在进行芯片的验证时,在处理器端模拟芯片上执行的硬件加速器的工作过程并将其处理验证码流的结果数据作为匹配标准,芯片仅运行硬件加速器。利用处理器端较强的运算能力模拟硬件加速器的工作过程并进行两者的结果数据的匹配,这不仅减轻了芯片的负担,而且处理器端较强的运算能力还可以提高编解码的速度,提高验证的工作效率。验证码流存储在处理器端,当处理器端获取芯片发送的验证开始请求后,将验证码流发送至芯片,并在接收到芯片反馈的帧处理开始请求时,进行后续的验证。这不仅降低了对芯片的存储空间的要求,而且保证处理器端和芯片验证的是同一验证码流,提高了验证质量。芯片将其处理所述验证码流的结果数据发送至处理器端,由处理器端匹配两者的结果数据。由于处理器端的运算能力强,这不仅可以提高验证速度,提高验证质量,而且减少结果数据对芯片的存储空间的占用,进一步的提高芯片的处理速度。
结果数据的比对是一帧一帧进行的,这可以保证验证的质量。在整个验证过程中, 处理器端与芯片通过消息或指令通信确定对方的进度,不仅可以有效的平衡双方处理速度的差异,而且确认一帧处理完成之后进行下一帧的处理,提高了验证精度。由于庞大的数据传输不仅会影响验证速度,而且在传输过程中容易丢失数据,因此芯片将其处理所述验证码流的结果数据压缩后发送至处理器端。这不仅可以缩短传输时间,减少对传输资源的利用,而且减少数据丢失,增强了整个系统的鲁棒性。


图1是本发明实施例提供的芯片的验证方法的流程图;图2为本发明实施例提供的一种数据的传输格式示意图;图3为本发明实施例提供的另一种数据的传输格式示意图;图4是本发明实施例提供的芯片的结构示意图;图5是本发明实施例提供的处理器端的结构示意图;图6是本发明实施例提供的芯片检验系统的工作流程图。
具体实施例方式为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式
做详细的说明。在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的具体实施方式
的限制。图1是本发明实施例提供的芯片的验证方法的流程图,下面结合图1详细说明。所述芯片带有硬件加速器,所述芯片的验证方法包括步骤Si,芯片向处理器端发送验证开始请求;步骤S2,所述处理器端接收到所述验证开始请求,将验证码流发送至所述芯片;步骤S3,所述芯片与所述处理器端处理所述验证码流,所述处理所述验证码流包括编码或解码所述验证码流;步骤S4,所述芯片将其处理所述验证码流的结果数据发送至所述处理器端;步骤S5,所述处理器端匹配其处理所述验证码流的结果数据与所述芯片处理所述验证码流的结果数据。所述步骤Sl中,带有硬件加速器的芯片(以下简称芯片)和处理器端双方上电初始化后,由芯片向处理器端发送验证开始请求,处理器端接收到所述验证开始请求后,进行后续的工作,若未收到则等待直至收到。在其他实施例中,也可以由处理器端向芯片发送开始请求,并在接收到芯片的反馈之后进行后续的工作。所述步骤S2中,所述处理器端接收到所述验证开始请求,将验证码流发送至所述芯片。由于处理器端的性能较强,因此可以将验证码流储存在处理器端,在验证所述验证码流时,再由处理器端将所述验证码流发送至芯片。这可以节省芯片的存储空间,提高芯片的运行速度。另外,也可以将所述验证码流储存在第三方介质中,在进行验证时,处理器端和芯片分别去第三方介质中读取或者由第三方介质分别向处理器端和芯片发送。
具体实施中,所述处理器端将未检验的验证码流发送至所述芯片,处理器端在将验证码流发送至芯片之前,检验所有的验证码流是否都已经过验证,仅将未检验的验证码流发送至芯片,若全部都已验证,则结束对芯片的检验。具体地,所述处理器端将验证码流发送至所述芯片前,所述处理器端建立验证码流列表;所述处理器端检验所述验证码流列表中的验证码流是否都已检验完成,若是则结束对芯片的验证,否则所述处理器端依次发送所述验证码流列表中的未检验的验证码流至所述芯片。所述步骤S3中,所述芯片与所述处理器端处理所述验证码流指的是所述芯片与所述处理器端同步处理所述验证码流。进一步讲,所述芯片与所述处理器端同步处理同一个验证码流。所述处理验证码流包括编码或解码所述验证码流,所述处理器端和所述芯片以帧为单位处理所述验证码流,具体来讲是一帧一帧处理所述验证码流的,处理完一帧之后再处理下一帧。所述硬件加速器包括视频加速器或者音频加速器,或者两者都有,所述验证码流为视频验证码流或者音频验证码流。对带有硬件加速器的芯片进行验证时,在芯片上既要执行硬件加速器的验证程序(模拟芯片上执行的硬件加速器的工作过程),还要运行硬件加速器,对于性能较低的芯片来讲,效率是十分低下的。以带有视频加速器的芯片为例说明,带有音频加速器的芯片原理与其相同,此处不再赘述。传统的验证带有视频加速器的芯片(简称视频加速芯片)的方法是在视频加速芯片上运行两套程序,一个是Firmware,另一个是验证VSP的验证程序。由于视频加速芯片上的存储空间有限,并且视频加速芯片的性能也不高,而在验证环境下,视频加速芯片需要同步执行两套程序,再加上视频验证码流需要一帧一帧的处理,因此导致检验视频加速芯片的过程复杂且漫长,对视频加速芯片的VSP的一致性验证效率很低,并且庞大的视频码流的运行,还会降低对视频加速芯片的验证质量。本实施例中,在处理器端模拟芯片上执行的硬件加速器的工作过程并将其处理验证码流的结果数据作为匹配标准,芯片仅运行硬件加速器,借助处理器端的高性能提高验证效率,减轻视频加速芯片的负担。为保证验证质量,在验证过程中,要求视频加速芯片和处理器端同步处理同一个视频验证码流,这才能够保证双方处理的视频验证码流一致,所得的结果数据是同一个视频验证码流的结果数据,处理器端才能正确的协助检验所述视频加速芯片的一致性。也就是说,在处理器端模拟视频加速芯片的工作过程,相当于执行验证VSP的验证程序,并得到处理所述视频验证码流的结果数据。视频加速芯片和处理器端同步检验同一个视频验证码流,然后由处理器端以其处理视频验证码流的结果数据作为标准比对双方的结果数据,判断视频加速芯片是否合格。为保证比对结果数据的准确性,处理器端进行的验证VSP的验证程序是经过反复试验和调试的,保证其准确无误,这才能将其处理视频验证码流的结果数据作为检验视频加速芯片一致性的标准。在具体实施中,为保证芯片与处理器端处理的是同一验证码流,需要对双方的工作进行同步控制,主要是依靠双方进行指令交互来确保同步,具体的同步方式如下所述芯片获取到所述验证码流后,向所述处理器端发送帧处理开始请求;验证码流由处理器端发送至芯片,为保证双方同步开始处理所述发送的验证码流,芯片在接收到所述验证码流后,向所述处理器端发送帧处理开始请求,请求所述处理器端开始处理所述验证码流;所述处理器端接收到所述帧处理开始请求后,检验当前帧是否为当前的验证码流的最后一帧;处理器端和芯片都是以帧为单位,一帧一帧处理所述验证码流的,处理器端检验当前帧是否为当前的验证码流的最后一帧,开始进行验证码流的处理;若所述当前帧不是所述当前的验证码流的最后一帧,则所述处理器端向所述芯片发送帧处理开始指令,并处理所述当前的验证码流的当前帧;处理器端向所述芯片发送帧处理开始指令,通知芯片开始处理当前的验证码流的当前帧,且所述处理器端也开始处理所述当前的验证码流的当前帧;所述芯片接收到所述帧处理开始指令后,处理所述当前的验证码流的当前帧。本实施例中,若所述当前帧为所述当前的验证码流的最后一帧,则所述处理器端向所述芯片发送下一个验证码流处理指令;所述芯片接收到所述下一个验证码流处理指令后,重新向处理器端发送验证开始请求;此时当前的验证码流的检验结束,进入下一验证码流的检验。在其他实施例中,若所述当前帧为所述当前的验证码流的最后一帧,则所述处理器端在向所述芯片发送下一个验证码流处理指令前还发送帧处理停止指令;所述芯片接收到所述帧处理停止指令后,停止对所述当前帧的处理;此时无论当前帧是否已经进行了编码或解码的处理,都会停止,芯片停止对所述当前帧的处理后,等待处理器端后续发送的下一个验证码流处理指令,进入下一验证码流的处理。另外,若当前帧为当前的验证码流的最后一帧,所述处理器端向所述芯片发送下一个验证码流处理指令之前,还会检验是否所有的验证码流都已进行检验,若还存在没有检验的验证码流,则向所述芯片发送下一个验证码流处理指令;若所有的验证码流都已完成检验,则结束对芯片的检验。所述步骤S4中,所述芯片将其处理所述验证码流的结果数据发送至所述处理器端,具体实施过程为所述处理器端处理完所述当前帧后,向所述芯片发出当前帧结束指令,所述芯片在处理完所述当前帧且接收到所述当前帧结束指令后,将其处理所述当前帧的结果数据发送至所述处理器端。若所述芯片还未处理完所述当前帧,则延迟发送当前帧的结果数据,直至处理完所述当前帧,再发送当前帧的结果数据。本实施例中,若所述芯片未接收到所述当前帧结束指令,则即使完成了当前帧的处理,也不会将当前帧的结果数据发送至所述处理器端,只有接收到所述当前帧结束指令后,才将当前帧的结果数据发送至所述处理器端。在其他实施例中,若所述芯片未接收到所述当前帧结束指令,在完成了当前帧的处理后,所述芯片可以向所述处理器端发送结果数据发送请求,在得到处理器端的反馈后,将结果数据发送至处理器端。所述芯片每处理完一帧,将该帧的结果数据发送至所述处理器端,因此所述芯片以帧为单位将其处理所述验证码流的结果数据发送至所述处理器端。所述步骤S5中,所述芯片以帧为单位将其处理所述验证码流的结果数据发送至所述处理器端,所述处理器端以帧为单位匹配每一帧的结果数据。所述处理器端匹配其处理所述验证码流的结果数据与所述芯片处理所述验证码流的结果数据包括匹配双方对当前帧处理的结果数据,若一致,则记录正确,表示验证无误,若不一致,则记录错误及错误原因,表示芯片有误。将上述匹配结果记录或保存在所述处理器端,完成对芯片的检验之后可以查询匹配结果。当前帧的结果数据匹配完成之后,所述处理器端将下一帧设置为当前帧,并继续检验新的当前帧是否为当前的验证码流的最后一帧,进入新的当前帧的处理。在上述步骤Sl至S5中,为缩短发送请求或指令所需的时间,可以将所述请求或指令以固定的传输格式发送。这一方面缩短传输时间,提高传输速率,另一方面减少传输的数据量,防止数据在传输过程中的遗失。为节省数据的传输时间,所述芯片将其处理所述验证码流的结果数据压缩后发送至所述处理器端。所述芯片采用 MD5、DES、IDEA、AES、RSA、ECC、Elgamal、DSS、SHA, RC4 中的至少一种算法压缩其处理所述验证码流的结果数据。请求,指令可以采用固定长度的通信包格式。但对于编码或解码之后的结果数据的传输,都是经过压缩的,这是为了提高传输速度,节省传输时间。具体的操作方式如下图2为本发明实施例提供的一种数据的传输格式示意图,请求、指令类型的数据以图2所示的格式传输,即十六字节的格式,包括四字节起始码+四字节数据长度+四字节消息内容+四字节结束码。其中起始码表示指令或请求的起始标记,数据长度表示整条指令或请求的长度,消息内容表示指令或请求的内容,结束码表示指令或请求的结束标记。以验证开始请求为例说明0xFF00FF00+0x00000004+0xAAAAAAAA+0xFE01FE01上述示例表示验证开始请求,该请求从“OxFFOOFFOO”开始,长度为4,消息内容” OxAAAAAAAA”为验证开始,以“OxFEOlFEOl ”结束。图3为本发明实施例提供的另一种数据的传输格式示意图,图3为处理验证码流的结果数据的压缩后传输格式示意图,显示了处理验证码流的结果数据的压缩格式和传输格式。处理验证码流的结果数据的压缩可以采用等价但不可逆的算法。作为一个示例,可以采用MD5算法。该压缩格式为MD5算法的格式,即十六字节的格式压缩,压缩之后以图3 所述的格式传输,包括四字节起始码+四字节数据长度+十六字节数据内容+四字节结束码。其中起始码表示验证码流(用以表示当前的结果数据是处理哪个验证码流的结果数据)及处理所述验证码流的结果数据的起始标记,数据长度表示压缩之后的验证码流的结果数据的长度,数据内容表示验证码流的结果数据的内容,结束码表示验证码流及处理所述验证码流的结果数据的结束标记。对于验证码流的传输,也可以采取先压缩再传输的方式以提高传输速度和传输质量。验证码流的压缩可以采用可逆并等价的压缩算法进行压缩后传输。作为一个示例,可以采用7zip算法。压缩之后也采取图3所示的格式传输。验证码流及处理所述验证码流的结果数据经过压缩后传输的格式与指令或请求的传输格式相同,仅是指令或请求的数据长度固定为4,验证码流及处理所述验证码流的结果数据的数据长度为经过压缩后的数据的长度。目前常用的压缩算法还有DES、IDEA、AES、 RSA、ECC、Elgamal、DSS、SHA、RC4等,此处仅是以MD5和7zip为例说明,在具体实施过程中,也可以采用其他算法或压缩格式。根据实际实验的数据所得,对于解码分辨率为720X576的视频验证码流来说,解码后需要传输和比对的数据量是720X576X 1. 5 = 622080字节的结果数据,经过压缩之后,变换成数据长度只有16字节长的MD5数据,压缩后的数据为原始数据的1/38880。由于数据传输过程中,数据量越大,出错的可能性越大,因此高效的数据压缩,不仅可以缩短传输时间,而且极大的缩小了通信传输的数据量,提高了验证系统的鲁棒性。图4是本发明实施例提供的芯片的结构示意图,下面结合图4详细说明。所述芯片带有硬件加速器(图中未显示),所述芯片包括消息发送单元1,用以向处理器端发送验证开始请求;芯片验证码流处理单元3,用以在所述消息发送单元向所述处理器端发送验证开始请求后,接收并处理所述处理器端发送的验证码流;所述处理所述处理器端发送的验证码流包括解码或编码所述验证码流;芯片验证码流处理单元3与消息发送单元1相连,从消息发送单元1获知消息发送单元1向处理器端发送验证开始请求的时间;数据发送单元5,用以将所述芯片验证码流处理单元处理所述验证码流的结果数据发送至所述处理器端;数据发送单元5与芯片验证码流处理单元3相连,从芯片验证码流处理单元3获取芯片验证码流处理单元3处理所述验证码流的结果数据;压缩单元7,用以压缩芯片验证码流处理单元3处理所述验证码流的结果数据;数据发送单元5将压缩后的芯片验证码流处理单元3处理所述验证码流的结果数据发送至所述处理器端;压缩单元7与数据发送单元5相连,从数据发送单元5获取处理所述验证码流的结果数据,压缩后发送至数据发送单元5,由数据发送单元5发送至所述处理器端;压缩单元7与数据发送单元5可以集成在一起;在其他实施例中,压缩单元与芯片验证码流处理单元相连,从芯片验证码流处理单元获取处理所述验证码流的结果数据并压缩;数据发送单元仅与压缩单元相连,压缩单元将压缩后的结果数据发送至数据发送单元,由数据发送单元发送至所述处理器端。芯片验证码流处理单元3以帧为单位处理所述验证码流,数据发送单元5以帧为单位将所述芯片验证码流处理单元3处理所述验证码流的结果数据发送至所述处理器端。具体的,芯片验证码流处理单元3包括验证码流接收单元(图中未显示),用以接收所述处理器端发送的验证码流;指令接收单元(图中未显示),用以接收所述处理器端发送的指令;操作单元(图中未显示),用以在所述验证码流接收单元接收到所述处理器端发送的验证码流后向所述处理器端发送帧处理开始请求,在所述指令接收单元接收到的指令为帧处理开始指令时,处理当前的验证码流的当前帧;在所述指令接收单元接收到的指令为下一个验证码流处理指令时,控制所述消息发送单元向所述处理器端发送验证开始请求。所述操作单元还在所述指令接收单元接收到的指令为帧处理停止指令时,停止对所述当前帧的处理。数据发送单元5在所述操作单元处理完所述当前帧且所述指令接收单元接收到的指令为当前帧结束指令时,将处理所述当前帧的结果数据发送至所述处理器端。图5是本发明实施例提供的处理器端的结构示意图,下面结合图5详细说明。
所述处理器端包括消息接收单元2,用于接收如上所述的芯片发送的验证开始请求;验证码流发送单元4,用以在消息接收单元2接收所述验证开始请求后,将验证码流发送至所述芯片;验证码流发送单元4与消息接收单元2相连,监控消息接收单元2接收所述验证开始请求的时间,在消息接收单元2接收所述验证开始请求后,将验证码流发送至所述芯片;验证码流发送单元4可以集成压缩单元,将验证码流压缩后发送至所述芯片;处理器验证码流处理单元6,用以处理所述验证码流,所述处理所述验证码流包括解码或编码所述验证码流;处理器验证码流处理单元6与验证码流发送单元4相连,从验证码流发送单元4获取需要进行处理的验证码流;数据接收单元8,用以接收所述芯片处理所述验证码流的结果数据;匹配单元10,用以匹配处理器验证码流处理单元6处理所述验证码流的结果数据与数据接收单元8接收的所述芯片处理所述验证码流的结果数据;匹配单元10与处理器验证码流处理单元6和数据接收单元8相连,从处理器验证码流处理单元6获取其处理验证码流的结果数据,从数据接收单元8获取所述芯片处理所述验证码流的结果数据。处理器验证码流处理单元6以帧为单位处理所述验证码流,数据接收单元8以帧为单位接收所述芯片处理所述验证码流的结果数据;匹配单元10以帧为单位匹配每一帧的结果数据。匹配单元10还在匹配处理器验证码流处理单元6处理所述当前帧的结果数据与所述芯片处理所述当前帧的结果数据后,将下一帧设置为当前帧。所述处理器端还可以包括存储单元(图中未显示),与匹配单元10相连,用以记录匹配单元10匹配所述处理器验证码流处理单元6处理的所述验证码流的结果数据与所述芯片处理所述验证码流的结果数据的匹配结果。具体实施中,验证码流发送单元4包括检验单元(图中未显示),用以检验所有的验证码流是否都已检验完成;发送单元(图中未显示),用以在所述检验单元检验到存在未检验的验证码流时, 将所述未检验的验证码流发送至所述芯片。所述处理器端还可以包括列表建立单元(图中未显示),用以在验证码流发送单元4将所述验证码流发送至所述芯片前,建立所述验证码流的列表。验证码流发送单元4与所述列表建立单元相连,所述检验单元检验所述验证码流列表中的验证码流是否都已检验完成,若是则结束芯片的验证,否则所述发送单元依次发送所述验证码流列表中的未检验的验证码流至所述芯片。具体实施中,处理器验证码流处理单元6包括验证单元(图中未显示),用以在接收到所述芯片的操作单元发送的帧处理开始请求后,检验当前帧是否为当前的验证码流的最后一帧;指令发送单元(图中未显示),用以在所述验证单元检验到所述当前帧不是所述当前的验证码流的最后一帧时,向所述芯片发送帧处理开始指令;在所述验证单元检验到所述当前帧为所述当前的验证码流的最后一帧时,向所述芯片发送下一个验证码流处理指令;
13
处理单元(图中未显示),用以在所述验证单元检验到所述当前帧不是所述当前的验证码流的最后一帧时,处理所述当前的验证码流的当前帧。在所述验证单元检验到所述当前帧为所述当前的验证码流的最后一帧时,所述指令发送单元在发送下一个验证码流处理指令前还向所述芯片发送帧处理停止指令。所述指令发送单元在所述验证单元在检验到所有的验证码流都未完成检验时,向所述芯片发送下一个验证码流处理指令。所述处理单元处理完所述当前帧后,所述指令发送单元向所述芯片发出当前帧结束指令。所述处理器端可以为计算机或计算机群,也可以是处理器或处理器群。本发明实施例还提供了一种芯片验证系统,包括如上所述的芯片和如上所述的处理器端,所述芯片带有硬件加速器。具体的,所述芯片验证系统可以是视频加速芯片检验系统或者音频加速芯片检验系统。图4所示的芯片和图5所示的处理器端可以组成所述芯片验证系统,实现图1所示的芯片的验证方法。图6是本发明实施例提供的芯片检验系统的工作流程图,具体的是一种视频加速芯片检验系统的工作流程图,下面结合图4至图6详细说明。图6中所示的视频加速芯片100是一种带有视频加速器的芯片,该芯片一般为SoC 芯片,处理器端200为图5所示的处理器端。视频加速芯片100与处理器端200同步处理视频验证码流,并通过处理器端200匹配双方的结果数据。双方上电初始化之后,处于图6中所示的开始状态,视频加速芯片100进行步骤 S101,消息发送单元1向处理器端200发送验证开始请求;处理器端200在上电初始化之后,等待视频加速芯片100发送验证开始请求的过程中建立视频验证码流列表,并进行步骤S102判断是否获得验证开始请求,在消息接收单元2接收到所述验证开始请求后,进行步骤S103,验证码流发送单元4检验视频验证码流列表中的视频验证码流是否都已完成检验,若都已完成检验,则结束芯片100的检验,若还存在未检验的视频验证码流,进行步骤S104,验证码流发送单元4将未检验的视频验证码流压缩后,发送至视频加速芯片100 ;视频加速芯片100在完成步骤SlOl后,进行步骤S105,检验是否获得视频验证码流,若芯片验证码流处理单元3接收到视频验证码流,在接收到视频验证码流后,进行解压缩,然后进行步骤S106向处理器端200发送消息包,也就是芯片验证码流处理单元3向处理器端200发送帧处理开始请求;若视频加速芯片100未接收到视频验证码流,则持续等待至接收到视频验证码流后,芯片验证码流处理单元3向处理器端200发送帧处理开始请求;处理器端200完成步骤S104后,进入步骤S107检验是否获得帧处理请求,若接收到帧处理开始请求后,进入步骤S108,处理器验证码流处理单元6检验当前帧是否为当前的视频验证码流的最后一帧,并进行步骤S110,处理器验证码流处理单元6向视频加速芯片100发送消息包,所述消息包的内容包括帧处理开始指令或帧处理停止指令;若所述当前帧不是所述当前的视频验证码流的最后一帧,则处理器端200的处理器验证码流处理单元6向视频加速芯片100发送帧处理开始指令,并进行步骤Slll编码或解码当前帧,即处理所述当前的视频验证码流的当前帧,若所述当前帧为所述当前的视频验证码流的最后一帧,则向视频加速芯片100发送帧处理停止指令,并进行步骤S117,验证码流发送单元4再次检验视频验证码流列表中的视频验证码流是否都已完成检验,若都已完成检验,则结束对芯片100的检验,若还存在未检验的视频验证码流,则进行步骤S118, 处理器验证码流处理单元6向视频加速芯片100发送下一个视频验证码流处理指令;视频加速芯片100在完成步骤S106后,进入步骤S120,判断是否接收到处理器端 200的指令,若接收到处理器端200的指令,根据指令,进行下一步操作,若未接收到,则持续等待;视频加速芯片100的芯片验证码流处理单元3接收到处理器端200发送的指令后,进行步骤S109判断是何种消息(指令)若是帧处理开始指令,则芯片验证码流处理单元3同步处理所述当前帧,进行步骤Slll'编码或解码当前帧,即处理所述当前的视频验证码流的当前帧;若是帧处理停止指令,则芯片验证码流处理单元3停止对所述当前帧的处理,进入步骤Sl 19判断是否接收到获得下一个视频验证码流处理指令,若未接收到则持续等待处理器端200发送下一个视频验证码流处理指令;视频加速芯片100接收到处理器端200发送的下一个视频验证码流处理指令后, 返回步骤SlOl,消息发送单元1重新向处理器端200发送检验开始请求,进入下一视频验证码流的检验;处理器端200处理完所述当前帧后,进行步骤Sl 12,处理器验证码流处理单元6向视频加速芯片100发送消息包,也就是向视频加速芯片100发出当前帧结束指令;视频加速芯片100在完成步骤Slll'之后,或者在进行步骤Sill'的过程中,进行步骤S113,判断是否接收到当前帧结束指令;视频加速芯片100在处理完所述当前帧接收到所述当前帧结束指令后,压缩单元 7将处理所述当前帧的结果数据压缩为MD5格式的数据,由数据发送单元5发送至处理器端200,若未处理完所述当前帧,则在完成当前帧的处理之后,压缩单元7将处理所述当前帧的结果数据压缩为MD5格式的数据,由数据发送单元5发送处理所述当前帧的结果数据, 若未接收到所述当前帧结束指令,则接收到所述当前帧结束指令且处理完所述当前帧后, 压缩单元7将处理所述当前帧的结果数据压缩为MD5格式的数据,由数据发送单元5发送至处理器端200 ;视频加速芯片100将处理所述当前帧的结果数据压缩为MD5格式的数据,发送至处理器端200后(步骤S114),芯片验证码流处理单元3将下一帧设置为新的当前帧,返回步骤S106,进入新的当前帧的处理;处理器端200进行步骤S115接收视频加速芯片100发送的处理当前帧的结果数据,数据接收单元8接收到所述当前帧的结果数据后,进行步骤S116,匹配单元10将其与处理器验证码流处理单元6处理视频验证码流的结果数据进行匹配和比对,并记录匹配结果;若一致,则记录正确,表示验证无误,若不一致,则记录错误及错误原因,表示视频加速芯片有误;处理器端200匹配其处理所述当前帧的结果数据与视频加速芯片100处理所述当前帧的结果数据之后,匹配单元10将下一帧设置为当前帧,重新进入步骤S107,处理器验证码流处理单元6继续检验当前帧是否为当前的视频验证码流的最后一帧,直至该视频验证码流检验结束,进行下一视频验证码流的检验至视频验证码流列表中所有的视频验证码流验证结束。
本实施例中,处理器端的工作过程相当于对视频加速芯片的视频加速器(VSP)的验证过程,处理器端模拟视频加速芯片上执行的视频加速器的工作过程,并将其处理视频验证码流的结果数据作为匹配标准。视频加速芯片仅运行视频加速器,将处理所述视频验证码流的结果数据发送至处理器端,由处理器端进行两者结果数据的匹配,以匹配的结果来验证视频加速芯片的质量。在其他实施例中,若视频加速芯片100或处理器端200持续未接收到对方发送的请求、指令或数据,可以在经过预定时间之后向对方发送取指请求,例如,若视频加速芯片 100和处理器端200上电初始化后,经过预定时间五分钟之后,处理器端200未接收到视频加速芯片100发送的验证开始请求,则处理器端200可以向视频加速芯片100发送取指请求,询问是否可以开始验证视频验证码流。本发明的技术方案还适用于集成有音频加速器的芯片的验证,其验证方法与集成有视频加速器的芯片的方法相同,此处不再赘述。在具体实施中,所述芯片还可以集成有图像处理加速器、Flash播放加速器等硬件加速器,上述芯片的检验都可以采取本发明的技术方案。本发明的技术方案至少具有以下优势在进行芯片的验证时,在处理器端模拟芯片上执行的硬件加速器的工作过程并将其处理验证码流的结果数据作为匹配标准,芯片仅运行硬件加速器。利用处理器端较强的运算能力模拟硬件加速器的工作过程并进行两者的结果数据的匹配,这不仅减轻了芯片的负担,而且处理器端较强的运算能力还可以提高编解码的速度,提高验证的工作效率。验证码流存储在处理器端,当处理器端获取芯片发送的验证开始请求后,将验证码流发送至芯片,并在接收到芯片反馈的帧处理开始请求时,进行后续的验证。这不仅降低了对芯片的存储空间的要求,而且保证处理器端和芯片验证的是同一验证码流,提高了验证质量。芯片将其处理所述验证码流的结果数据发送至处理器端,由处理器端匹配两者的结果数据。由于处理器端的运算能力强,这不仅可以提高验证速度,提高验证质量,而且减少结果数据对芯片的存储空间的占用,进一步的提高芯片的处理速度。结果数据的比对是一帧一帧进行的,这可以保证验证的质量。在整个验证过程中, 处理器端与芯片通过消息或指令通信确定对方的进度,不仅可以有效的平衡双方处理速度的差异,而且确认一帧处理完成之后进行下一帧的处理,提高了验证精度。由于庞大的数据传输不仅会影响验证速度,而且在传输过程中容易丢失数据,因此芯片将其处理所述验证码流的结果数据压缩后发送至处理器端。这不仅可以缩短传输时间,减少对传输资源的利用,而且减少数据丢失,增强了整个系统的鲁棒性。本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
权利要求
1.一种芯片的验证方法,所述芯片带有硬件加速器,其特征在于,包括 所述芯片向处理器端发送验证开始请求;所述处理器端接收到所述验证开始请求,将验证码流发送至所述芯片; 所述芯片与所述处理器端处理所述验证码流,所述处理所述验证码流包括编码或解码所述验证码流;所述芯片将其处理所述验证码流的结果数据发送至所述处理器端; 所述处理器端匹配其处理所述验证码流的结果数据与所述芯片处理所述验证码流的结果数据。
2.如权利要求1所述的芯片的验证方法,其特征在于,所述芯片将其处理所述验证码流的结果数据压缩后发送至所述处理器端。
3.如权利要求2所述的芯片的验证方法,其特征在于,所述芯片采用MD5、DES、IDEA、 AES、RSA、ECC、Elgamal, DSS, SHA, RC4中的至少一种算法压缩其处理所述验证码流的结果数据。
4.如权利要求1所述的芯片的验证方法,其特征在于,所述处理器端和所述芯片以帧为单位处理所述验证码流。
5.如权利要求4所述的芯片的验证方法,其特征在于,所述芯片以帧为单位将其处理所述验证码流的结果数据发送至所述处理器端;所述处理器端以帧为单位匹配每一帧的结果数据。
6.如权利要求4所述的芯片的验证方法,其特征在于,所述芯片与所述处理器端处理所述验证码流包括所述芯片获取到所述验证码流后,向所述处理器端发送帧处理开始请求; 所述处理器端接收到所述帧处理开始请求后,检验当前帧是否为当前的验证码流的最后一帧;若所述当前帧不是所述当前的验证码流的最后一帧,则所述处理器端向所述芯片发送帧处理开始指令,并处理所述当前的验证码流的当前帧;所述芯片接收到所述帧处理开始指令后,处理所述当前的验证码流的当前帧; 若所述当前帧为所述当前的验证码流的最后一帧,则所述处理器端向所述芯片发送下一个验证码流处理指令;所述芯片接收到所述下一个验证码流处理指令后,向处理器端发送验证开始请求。
7.如权利要求6所述的芯片的验证方法,其特征在于,所述芯片与所述处理器端处理所述验证码流还包括若所述当前帧为所述当前的验证码流的最后一帧,则所述处理器端在向所述芯片发送下一个验证码流处理指令前还发送帧处理停止指令;所述芯片接收到所述帧处理停止指令后,停止对所述当前帧的处理。
8.如权利要求6所述的芯片的验证方法,其特征在于,所述处理器端在检验到所有的验证码流都未完成检验,向所述芯片发送下一个验证码流处理指令。
9.如权利要求6所述的芯片的验证方法,其特征在于,所述芯片与所述处理器端处理所述验证码流还包括所述处理器端处理完所述当前帧后,向所述芯片发出当前帧结束指令;所述芯片将其处理所述验证码流的结果数据发送至所述处理器端包括所述芯片在处理完所述当前帧且接收到所述当前帧结束指令后,将处理所述当前帧的结果数据发送至所述处理器端。
10.如权利要求1所述的芯片的验证方法,其特征在于,所述处理器端将验证码流发送至所述芯片包括所述处理器端将未检验的验证码流发送至所述芯片。
11.如权利要求10所述的芯片的验证方法,其特征在于,还包括所述处理器端建立验证码流列表;所述处理器端将未检验的验证码流发送至所述芯片包括所述处理器端检验所述验证码流列表中的验证码流是否都已检验完成,若是则结束验证,否则所述处理器端依次发送所述验证码流列表中的未检验的验证码流至所述芯片。
12.如权利要求6所述的芯片的验证方法,其特征在于,还包括所述处理器端匹配其处理所述当前帧的结果数据与所述芯片处理所述当前帧的结果数据之后,将下一帧设置为当前帧。
13.如权利要求1所述的芯片的验证方法,其特征在于,还包括所述处理器端记录匹配所述处理器端的处理所述验证码流的结果数据与所述芯片处理所述验证码流的结果数据的匹配结果。
14.如权利要求1所述的芯片的验证方法,其特征在于,所述硬件加速器包括视频加速器和/或音频加速器,所述验证码流为视频验证码流或音频验证码流。
15.一种芯片,包括硬件加速器,其特征在于,还包括消息发送单元,用以向处理器端发送验证开始请求;芯片验证码流处理单元,用以在所述消息发送单元向所述处理器端发送验证开始请求后,接收并处理所述处理器端发送的验证码流;所述处理所述处理器端发送的验证码流包括解码或编码所述验证码流;数据发送单元,用以将所述芯片验证码流处理单元处理所述验证码流的结果数据发送至所述处理器端。
16.如权利要求15所述的芯片,其特征在于,还包括压缩单元,用以压缩所述芯片验证码流处理单元处理所述验证码流的结果数据;所述数据发送单元将压缩后的所述芯片验证码流处理单元处理所述验证码流的结果数据发送至所述处理器端。
17.如权利要求15所述的芯片,其特征在于,所述芯片验证码流处理单元以帧为单位处理所述验证码流。
18.如权利要求17所述的芯片,其特征在于,所述数据发送单元以帧为单位将所述芯片验证码流处理单元处理所述验证码流的结果数据发送至所述处理器端。
19.如权利要求17所述的芯片,其特征在于,所述芯片验证码流处理单元包括验证码流接收单元,用以接收所述处理器端发送的验证码流;指令接收单元,用以接收所述处理器端发送的指令;操作单元,用以在所述验证码流接收单元接收到所述处理器端发送的验证码流后向所述处理器端发送帧处理开始请求,在所述指令接收单元接收到的指令为帧处理开始指令时,处理当前的验证码流的当前帧;在所述指令接收单元接收到的指令为下一个验证码流处理指令时,控制所述消息发送单元向所述处理器端发送验证开始请求。
20.如权利要求19所述的芯片,其特征在于,所述操作单元还在所述指令接收单元接收到的指令为帧处理停止指令时,停止对所述当前帧的处理。
21.如权利要求19所述的芯片,其特征在于,所述数据发送单元在所述操作单元处理完所述当前帧且所述指令接收单元接收到的指令为当前帧结束指令时,将处理所述当前帧的结果数据发送至所述处理器端。
22.如权利要求15所述的芯片,其特征在于,所述硬件加速器包括视频加速器和/或音频加速器,所述验证码流为视频验证码流或音频验证码流。
23.一种处理器端,其特征在于,包括消息接收单元,用于接收如权利要求15至22任一项所述的芯片发送的验证开始请求;验证码流发送单元,用以在所述消息接收单元接收到所述验证开始请求后,将验证码流发送至所述芯片;处理器验证码流处理单元,用以处理所述验证码流,所述处理所述验证码流包括解码或编码所述验证码流;数据接收单元,用以接收所述芯片处理所述验证码流的结果数据; 匹配单元,用以匹配所述处理器验证码流处理单元处理所述验证码流的结果数据与所述数据接收单元接收的所述芯片处理所述验证码流的结果数据。
24.如权利要求23所述的处理器端,其特征在于,所述处理器验证码流处理单元以帧为单位处理所述验证码流。
25.如权利要求M所述的处理器端,其特征在于,所述数据接收单元以帧为单位接收所述芯片处理所述验证码流的结果数据;所述匹配单元以帧为单位匹配每一帧的结果数据。
26.如权利要求23所述的处理器端,其特征在于,所述处理器验证码流处理单元包括 验证单元,用以在接收到所述芯片的操作单元发送的帧处理开始请求后,检验当前帧是否为当前的验证码流的最后一帧;指令发送单元,用以在所述验证单元检验到所述当前帧不是所述当前的验证码流的最后一帧时,向所述芯片发送帧处理开始指令;在所述验证单元检验到所述当前帧为所述当前的验证码流的最后一帧时,向所述芯片发送下一个验证码流处理指令;处理单元,用以在所述验证单元检验到所述当前帧不是所述当前的验证码流的最后一帧时,处理所述当前的验证码流的当前帧。
27.如权利要求沈所述的处理器端,其特征在于,在所述验证单元检验到所述当前帧为所述当前的验证码流的最后一帧时,所述指令发送单元在发送下一个验证码流处理指令前还向所述芯片发送帧处理停止指令。
28.如权利要求沈所述的处理器端,其特征在于,所述指令发送单元在所述验证单元在检验到所有的验证码流都未完成检验时,向所述芯片发送下一个验证码流处理指令。
29.如权利要求沈所述的处理器端,其特征在于,所述处理单元处理完所述当前帧后, 所述指令发送单元向所述芯片发出当前帧结束指令。
30.如权利要求23所述的处理器端,其特征在于,所述验证码流发送单元包括检验单元,用以检验所有的验证码流是否都已检验完成;发送单元,用以在所述检验单元检验到存在未检验的验证码流时,将所述未检验的验证码流发送至所述芯片。
31.如权利要求30所述的处理器端,其特征在于,还包括,列表建立单元,用以建立所述验证码流的列表;所述检验单元检验所述验证码流列表中的验证码流是否都已检验完成,若是则所述处理器端结束对所述验证码流的验证,否则所述发送单元依次发送所述验证码流列表中的未检验的验证码流至所述芯片。
32.如权利要求沈所述的处理器端,其特征在于,所述匹配单元还在匹配所述处理器验证码流处理单元处理所述当前帧的结果数据与所述芯片处理所述当前帧的结果数据后, 将下一帧设置为当前帧。
33.如权利要求23所述的处理器端,其特征在于,还包括存储单元,用以记录所述匹配单元匹配所述处理器验证码流处理单元处理的所述验证码流的结果数据与所述芯片处理所述验证码流的结果数据的匹配结果。
34.一种芯片验证系统,其特征在于,包括如权利要求15-22任一项所述的芯片;如权利要求23-33任一项所述的处理器端。
全文摘要
一种芯片的验证方法,芯片、处理器端和芯片检验系统,所述芯片的验证方法包括所述芯片向处理器端发送验证开始请求;所述处理器端接收到所述验证开始请求,将验证码流发送至所述芯片;所述芯片与所述处理器端处理所述验证码流;所述芯片将其处理所述验证码流的结果数据发送至所述处理器端;所述处理器端匹配其处理所述验证码流的结果数据与所述芯片处理所述验证码流的结果数据。本发明的技术方案提高了对集成有硬件加速器的芯片的一致性验证的效率和质量。
文档编号H04N7/26GK102420982SQ201110338800
公开日2012年4月18日 申请日期2011年10月31日 优先权日2011年10月31日
发明者林福辉, 罗小伟 申请人:展讯通信(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1