一种基于编解码芯片的虚拟验证方法
【技术领域】
[0001]本发明属于集成电路设计技术,涉及一种基于编解码芯片的虚拟验证方法。
【背景技术】
[0002]音视频信息具有直观、高效等特点,目前已广泛应用于网络媒体、数字电视、卫星传输等领域,但音视频信息数据量巨大,在传输之前往往使用特定算法进行压缩,然后在接收端对数据进行解码。
[0003]本发明涉及的H.264/AVC解码芯片是一款集成了嵌入式处理器、PCI主机接口、
H.264/AVC视频解码核、MPEG-2/4AAC音频解码核、DDR2存储器接口、DMA控制器、以太网终端、IDE记录接口等资源的片上系统,是一款智能化、通用化、小型化的满足实时高清解码功能的视音频处理芯片。芯片功能模块众多、规模庞大、应用场景复杂,给验证工作带来了很大挑战。
【发明内容】
[0004]本发明目的是提供一种可以实现对芯片各模块功能、接口时序、系统功能和性能验证的基于编解码芯片的虚拟验证系统设计,用以发现和解决编解码芯片设计中出现的错误和缺陷,分别从主观方面和客观方面进行了验证,具有定位准确、调试灵活、显示直观和验证覆盖面全的特点。
[0005]本发明的技术方案是:
[0006]—种基于编解码芯片的虚拟验证方法,包括以下步骤:
[0007]步骤1:开发验证测试用模型
[0008]1.1)使用仿真验证工具构建系统验证平台,开发芯片功能模型;所述仿真验证工具包括NCsim和/或QuestaSim,所述芯片功能模型包括GP1模型、UART模型、VIC模型、ETH模型、ASRAM模型、SSRAM模型、IDE模型、12C模型、DDR2模型、PCI模型、VOC模型、12S模型和STREAM 模型;
[0009]1.2)开发具有芯片视频编解码功能的C语言模型;
[0010]步骤2:各模块功能验证
[0011]2.1)模拟编解码芯片实际的工作环境,对所述各个功能模型进行验证;
[0012]2.2)观测、监控并保存编解码芯片工作时C语言模型所有子单元的电路状态,判断编解码芯片各子单元功能是否正确,若功能不正确,对C语言模型进行修改电路、添加或修缮功能验证项,重复本步骤,若功能验证结果正确,则转入步骤3 ;
[0013]步骤3:音视频流输入验证
[0014]3.1)在编解码系统中输入音视频验证源,输出并保存;
[0015]3.2)在C语言模型中输入音视频验证源,输出并保存;
[0016]3.3)将编解码系统与C语言模型的输出进行比对,结果不一致时,分别给出实际值和期望值,返回步骤I;
[0017]所述音视频验证源包括多种典型符合H.264/AVC标准、MainProfiIe的压缩视频源、符合MPEG-2/4的所有压缩算法的压缩音频源;
[0018]步骤4:对芯片编解码后的视频数据进行格式转换正确性检查,格式转换不正确时,返回步骤I;格式转换正确,结束验证;所述格式转换正确性是指芯片输出的视频数据符合业界通用的电脑制式或电视制式格式。
[0019]上述步骤4还可包括:人眼观察芯片解码后的视频数据,从视觉的角度主观判断视频解码的正确性。
[0020]本发明的有益效果:
[0021]1、本发明可以及时、准确的发现芯片设计过程的错误和缺陷,为编解码芯片的设计更改、优化提供全面、快速和准确的验证,保障芯片功能、性能的正确性,降低芯片流片失败的风险。
[0022]2、本发明采用硬件逻辑功能开发手段,完成符合协议要求、功能要求及性能要求的各模块功能模型开发。
[0023]3、本发明采用分级验证的手段,完成各模块符合协议要求、功能要求及性能要求的各模块的验证,解决了音视频解码芯片验证覆盖率低的问题。
[0024]4、本发明采用符合标准、多种类型的音视频源作为系统验证的输入,并通过结果比对,完成音视频数据编解码是否正确的判断;如有必要,采用人眼观察、人耳听对音视频结果进行主观判断,错误定位困难的技术问题,为解码芯片的设计更改、优化提供全面、快速和准确的验证。
【附图说明】
[0025]图1是基于编解码芯片的虚拟验证方法所使用的系统示意图;
[0026]图2是本发明基于编解码芯片的虚拟验证方法流程图。
【具体实施方式】
[0027]本发明针对编解码芯片的系统功能虚拟验证方法(实现H.264/AVC标准中所定义的满足MainProf iIe的高清视频编解码、MPEG-2/4AAC音频编解码),包括以下步骤:
[0028]步骤I:归纳开发验证测试用模型及用例
[0029]使用仿真验证工具(NCsim、QuestaSim)构建系统验证平台,开发芯片功能模型(包括GP1模型、UART模型、VIC模型、ETH模型、ASRAM模型、SSRAM模型、IDE模型、I2C模型、DDR2模型、PCI模型、VOC模型、I2S模型和STREAM模型);
[0030]开发多种典型符合H.264/A VC标准MainProfile的压缩视频源、符合MPEG-2/4的压缩音频源作为验证激励,验证激励覆盖H.264/A VC标准MainProfile和MPEG-2/4的所有压缩算法;
[0031 ]开发芯片视频编解码功能的C语言模型。
[0032]步骤2:各模块功能验证
[0033]模拟编解码芯片实际的工作环境,对上述用例展开针对各个功能模块的验证工作;具体包括:
[0034]观测、监控并保存编解码芯片工作时所有子单元的电路状态,判断编解码芯片各子单元功能是否正确,若功能不正确,依据功能验证结果修改电路,添加或修缮功能验证项并返回步骤I,若功能验证结果正确,则转入步骤3;
[0035]步骤3:音视频流输入验证
[0036]为编解码芯片输入步骤I中开发的音视频验证激励,输出并保存;然后在在C语言模型中输入步骤I中开发的音视频验证源,输出并保存;如果C语言模型的验证结果不正确,则返回步骤I调整芯片视频编解码功能的C语言模型;
[0037]最后将编解码芯片及C语言模型的输出进行比对,结果不一致时,分别给出实际值和期望值,返回步骤I;结果一致,则进行步骤4;
[0038]步骤4:对芯片编解码后的视频数据进行格式转换正确性检查,确保芯片输出的视频数据符合业界通用的电脑制式或电视制式格式,如果格式转换不正确,返回步骤I。
[0039]必要时,步骤4还可采用人眼观察芯片解码后的视频数据,从视觉的角度主观判断视频解码的正确性。
【主权项】
1.一种基于编解码芯片的虚拟验证方法,其特征在于:包括以下步骤: 步骤1:开发验证测试用模型 1.1)使用仿真验证工具构建系统验证平台,开发芯片功能模型;所述仿真验证工具包括NCsim和/或QuestaSim,所述芯片功能模型包括GP1模型、UART模型、VIC模型、ETH模型、ASRAM模型、SSRAM模型、IDE模型、I2C模型、DDR2模型、PCI模型、VOC模型、12S模型和STREAM丰旲型; 1.2)开发具有芯片视频编解码功能的C语言模型; 步骤2:各模块功能验证 2.1)模拟编解码芯片实际的工作环境,对所述各个功能模型进行验证; 2.2)观测、监控并保存编解码芯片工作时C语言模型所有子单元的电路状态,判断编解码芯片各子单元功能是否正确,若功能不正确,对C语言模型进行修改电路、添加或修缮功能验证项,重复本步骤,若功能验证结果正确,则转入步骤3 ; 步骤3:音视频流输入验证 3.1)在编解码系统中输入音视频验证源,输出并保存; 3.2)在C语言模型中输入音视频验证源,输出并保存; 3.3)将编解码系统与C语言模型的输出进行比对,结果不一致时,分别给出实际值和期望值,返回步骤I; 所述音视频验证源包括多种典型符合H.264/AVC标准、MainProfiIe的压缩视频源、符合MPEG-2/4的所有压缩算法的压缩音频源; 步骤4:对芯片编解码后的视频数据进行格式转换正确性检查,所述格式转换正确性是指芯片输出的视频数据符合业界通用的电脑制式或电视制式格式。2.根据权利要求1所述基于编解码芯片的虚拟验证方法,其特征在于:步骤4还包括:人眼观察芯片解码后的视频数据,从视觉的角度主观判断视频解码的正确性。
【专利摘要】本发明涉及一种基于编解码芯片的虚拟验证方法,首先采用硬件逻辑功能开发手段,完成符合协议要求、功能要求及性能要求的各模块功能模型开发,再采用分级验证的手段,完成各模块符合协议要求、功能要求及性能要求的各模块的验证。本发明可以及时、准确的发现芯片设计过程的错误和缺陷,为编解码芯片的设计更改、优化提供全面、快速和准确的验证,保障芯片功能、性能的正确性,降低芯片流片失败的风险,解决了音视频解码芯片验证覆盖率低的问题。
【IPC分类】G06F17/50
【公开号】CN105550445
【申请号】CN201510931048
【发明人】马超, 许宏杰, 安博锋, 陈威宇, 卢俊, 王婷
【申请人】中国航空工业集团公司西安航空计算技术研究所
【公开日】2016年5月4日
【申请日】2015年12月12日