基于fpga的avs解码芯片验证平台装置及方法

文档序号:6354915阅读:260来源:国知局
专利名称:基于fpga的avs解码芯片验证平台装置及方法
技术领域
本发明涉及一种基于FPGA的AVS解码芯片验证平台装置及方法,属于集成电路的仿真验证领域。
背景技术
随着大规模集成电路技术和移动通信产业的飞速发展以及智能手机的普及,基于智能手机的各项数据业务也发展的如火如荼,流媒体、PTT、可视电话、手机电视等业务渐受追捧,可以预见,未来基于移动智能终端的音视频业务将会迅速增长,有极大的发展空间。AVS是《信息技术先进音视频编码》系列标准的简称,其第二部分——视频编码标准,主要用于高密度高质量视频图像的压缩处理。AVS标准是我国具有自主知识产权的第二代信源编码标准,其编码效率是MPEG2的2倍以上,与H. 264的编码效率相当,但其复杂度和实现成本远低于H.沈4,更为重要的是我国对AVS标准拥有自主知识产权,打破了国外音视频技术的垄断,从而拥有广阔的市场前景。伴随着视频编解码算法复杂度的增加,解码芯片的仿真难度也在日益增长,在这种情况下,传统的软件模拟仿真有着越来越多的局限性,一方面仅通过软件仿真的硬件设计还只是一个理想的硬件设计,并没有考虑到实际的物理器件特性,这会导致硬件物理实现与软件仿真的结果产生偏离;另一方面视频解码处理是一个相当复杂耗时的过程,在PC 机平台上建立的软件仿真环境中对硬件设计进行功能验证,耗费的时间是相当惊人的。第三,对于AVS解码SOC芯片来说,单纯只进行传统软件模拟仿真的可靠性不足,需要进行软硬件协同验证。如专利号为CN201010017109.8、发明名称为“大规模网络芯片验证平台的建立方法”的专利即属于此列。

发明内容
针对以上现有仿真系统的不足,为提高仿真的效率和可靠性、降低软硬件整合时出错的概率以及缩短设计的验证时间,本发明提供了一种基于FPGA的AVS解码芯片验证平台装置及方法。本发明的技术方案如下一种基于FPGA的AVS解码芯片验证平台装置,包括PC机、HDTV和子、母板验证平台,其特征在于PC机通过USB接口和PCI接口与子、母板验证平台相连接,HDTV通过VGA接口与子、母板验证平台相连接,子板通过插槽与母板相连接;其中子板包括FPGAl和JTAG接口,母板包括 FPGA2、USB 接口、PCI 接口、VGA 接口、SRAM、SDRAM、DDR、FLASH、FIFOl、FIF02 以及时钟单元、电源和FPGA配置复位部分;其中子、母板验证平台中各个部分的连接关系如下FPGA2通过其自身IO接口连接到USB (通用串行总线)接口上,并通过USB线与PC机上的USB接口相连;FPGA2通过其自身IO接口连接到PCI接口上,并通过PCI总线连接到PC机的PCI插槽;FPGA2通过其片上 IO连接到VGA接口上,并通过15针VGA线连接到HDTV ;子板通过插槽连接到母板上,其上的FPGAl通过IO接口跟插槽连接,从而与母板进行通信;FPGA配置复位部分直接与FPGA2 相连接;SRAM、SDRAM、FLASH、FIFOl、FIF02、DDR连接到母板的插槽处,跟子板上的FPGAl进行通信,作为FPGAl的片外资源使用;?正011正02、001 连接到? 642的IO接口上;电源通过母板上铺设的电源线连接到母板上的各个芯片,时钟单元通过时钟线连接到需要提供时钟信号的 FPGAl、FPGA2、PCI 禾口 DDR 上。上述FPGAl用于下载待验证的AVS视频解码系统的硬件模块部分或者整个AVS视频解码系统,SDRAM控制器和FLASH控制器也将下载到FPGAl中,JTAG接口用于对FPGAl进行下载和调试。FPGA配置复位部分由FPGA配置芯片及JTAG接口构成,用于对FPGA2进行下载配置及复位,支持JTAG以及AS两种配置方式;FPGA2用于下载FIF01、FIF02、DDR存储器的控制器以及USB接口、PCI接口、VGA接口的接口控制器;USB接口及PCI接口用来跟 PC机端进行通信,将AVS码流、半解码码流传送到验证平台上,并可以将解码数据回送到PC 机端进行验证;VGA接口用于将从DDR中读出的解码数据直接传输到HDTV进行连续播放; SRAM读写简单,用以作为AVS解码解码器CPU的片外Cache ;SDRAM的容量大且速度快,用来存储大量的视频解码中间数据,以满足视频信号实时快速处理的要求;DDR用来存储解码完成的YUV格式数据供后期HDTV播放;FLASH中放入解码器CPU中加载的操作系统软件 uclinux,作为AVS解码器启动时所需的ROM ;FIFOl和FIF02作为FPGAl与FPGA2之间信号传输的缓冲器。此外,电源单元产生各个器件所需的不同的电压,时钟单元负责产生系统运行时各种器件所需的时钟信号。上述FPGA是英文Field-Programmable Gate Array的缩写,S卩现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。上述HDTV是英文High Definition Television的缩写,即高清晰度电视。一种使用上述装置对AVS解码芯片进行软硬件协同验证的方法,步骤如下1)验证平台上电并复位,FPGA配置复位部分将FIFOl、FIF02、DDR存储器的控制器以及USB接口、PCI接口、VGA接口的接口控制器下载到FPGA2并进行初始化设置;2)下载AVS解码器硬件模块,即PC机通过子板上的JTAG接口将AVS解码器硬件模块的代码下载到FPGAl中,在对外功能上,FPGAl起到解码器硬件模块的功能,可以在PC 的控制下完成相应解码功能,另外SDRAM控制器和FLASH控制器也将一起被下载到FPGAl 中;3)嵌入式高层半解码,即在PC机端模拟实现AVS解码器的软件部分功能,首先读入储存在PC机硬盘上的标准avs码流,而后经过PC机里面的嵌入式高层解码部分进行高层半解码,得到半解码数据;4)输入半解码码流,即将步骤3中所得的半解码数据传送给驱动程序,驱动程序将数据传送给PC机的PCI总线,然后通过PCI总线传输给硬件验证平台,而验证平台母板上FPGA2中的PCI接口控制器完成数据的接收,经过FIFOl缓存,然后输入到FPGAl中的解码器部分;5) AVS解码器硬件模块解码,即由FPGAl中的AVS解码器硬件模块,对输入的半解码数据进行解码,生成得到解码码流;6)回送解码码流,即将步骤5中所得的解码码流先经过FIF02缓存,然后由PCI控制器读出FIF02中的数据并传送到PCI端接口上,通过PCI总线由PC机采集回送的解码码流,由于解码器输出的视频数据是连续的并且解码器输入输出的速率与PCI接口连续传输数据的速率并不匹配,于是在FPGAl与FPGA2之间加入了用于缓存的FIFOl和FIF02,由接口控制器判断FIFO中的空满情况,将空满情况反馈给PC机和解码器硬件部分,以决定是否继续发送或接受数据,防止数据溢出;7)PC机采集到解码码流以后将其与通过标准软件模型解码的解码结果进行比较, 如果解码结果正确则进入步骤9),否则将在PC端显示解码有问题的具体帧和宏块位置,同时PC机停止读取avs码流,进入步骤8);8)根据步骤7)中PC机上显示的解码有问题的具体帧和宏块位置,找出设计中的问题并修改设计,而后进入步骤幻,重复步骤2、到步骤7),直到完成验证;9)通过子板上的JTAG接口将整个AVS解码器的代码全部下载到FPGAl中,除了包括前述步骤幻中的AVS解码器硬件模块、还包括解码器中的RISC CPU,这样FPGAl在对外功能上相当于一个完整的AVS解码器,能够独立完成解码任务,步骤3)中的嵌入式高层解码任务由解码器中的RISC CPU来完成;10)输入AVS码流,PC机通过USB接口将AVS码流输送到验证平台上,FPGA2中的 USB控制器控制完成数据的接收,先送入FIFOl进行缓存,而后输入到FPGAl进行解码;11)由AVS解码器(已下载到FPGAl中)对步骤10)中输入的码流进行完全的解码,解码器中RISC CPU中的嵌入式软件部分负责对码流进行高层解码,并协调硬件部分完成最终的解码任务,板上其他片外资源中,SRAM用作RISC CPU的片外缓存,视频解码中间数据储存在SDRAM中,FLASH中放入解码器CPU中加载的操作系统软件uclinux,并作为AVS 解码器启动时所需的ROM,经过解码器的解码和格式转换,生成可以直接在HDTV上播放的 YUV格式的视频数据,这些数据通过IO接口暂存到一组DDR存储器之中;12)在解码器进行解码的同时,由VGA接口控制器控制已处理完成的视频数据从步骤11)中的DDR取出,通过VGA接口传送到HDTV上显示并播放。本发明采用基于FPGA的验证平台装置及方法对AVS解码芯片进行软硬件协同验证,提高了仿真的效率和可靠性,缩短了产品的上市时间,从而降低了芯片研发成本;在流片完成后对芯片进行测试时,只需要将子板更换为载有解码器芯片的子板,就可以对芯片进行测试,从而使得本发明具有良好的可重用性。


图1为本发明装置的结构框图;其中1、USB接口,2、FPGA 配置复位部分,3、SRAM,4、SDRSM,5、FLASH,6、PCI 接口, 7、FPGA2,8、FPGA1,9、VGA 接口,10、时钟单元,11,FIFOl, 12、FIF02,13、D DDR, 14、电源,15、 PC 机,16、HDTV。图2为本发明方法的流程图;其中1)-12)为其各个步骤。
具体实施例方式下面结合附图和实施例对本发明做进一步说明,但不限于此。实施例1 一种基于FPGA的AVS解码芯片验证平台装置,包括PC机15、HDTV16和子、母板验证平台,其特征在于PC机15通过USB接口 1和PCI接口 6与子、母板验证平台相连接, HDTV16通过VGA接口 9与子、母板验证平台相连接,子板通过插槽与母板相连接;其中子板包括 FPGA18 和 JTAG 接口,母板包括(FPGA^ 7、USB 接口 1、PCI 接口 6、VGA 接口 9、SRAM3、 SDRAM4、DDR13、FLASH5、(FIFOl) 11、(FIF02) 12 以及时钟单元 10、电源 14 和 FPGA 配置复位部分2;其中子、母板验证平台中各个部分的连接关系如下(FPGA2)7通过其自身IO接口连接到USB(通用串行总线)接口 1上,并通过USB线与PC机15上的USB接口 1相连; (FPGA2) 7通过其自身IO接口连接到PCI接口 6上,并通过PCI总线连接到PC机15的PCI 插槽;(FPGA2) 7通过其片上IO连接到VGA接口 9上,并通过15针VGA线连接到HDTV16 ; 子板通过插槽连接到母板上,其上的(FPGAl) 8通过IO接口跟插槽连接,从而与母板进行通信;FPGA 配置复位部分直接与(FPGA2)7 相连接;SRAM3、SDRAM4、FLASH5、(FIFOl) 11、 (FIF02)12、DDR13连接到母板的插槽处,跟子板上的(FPGAl) 8进行通信,作为(FPGAl) 8的片外资源使用;(FIFOl) 11、(FIF02)12、DDR13连接到(FPGA2) 7的IO接口上;电源通过母板上铺设的电源线连接到母板上的各个芯片,时钟单元10通过时钟线连接到需要提供时钟信号的(FPGAl)8、(FPGA2)7、PCI 和 DDR13 上。实施例2 一种使用上述装置对AVS解码芯片进行软硬件协同验证的方法,步骤如下1)验证平台上电并复位,FPGA配置复位部分将FIFOl、FIF02、DDR存储器的控制器以及USB接口、PCI接口、VGA接口的接口控制器下载到FPGA2并进行初始化设置;2)下载AVS解码器硬件模块,即PC机通过子板上的JTAG接口将AVS解码器硬件模块的代码下载到FPGAl中,在对外功能上,FPGAl起到解码器硬件模块的功能,可以在PC 的控制下完成相应解码功能,另外SDRAM控制器和FLASH控制器也将一起被下载到FPGAl 中;3)嵌入式高层半解码,即在PC机端模拟实现AVS解码器的软件部分功能,首先读入储存在PC机硬盘上的标准avs码流,而后经过PC机里面的嵌入式高层解码部分进行高层半解码,得到半解码数据;4)输入半解码码流,即将步骤3中所得的半解码数据传送给驱动程序,驱动程序将数据传送给PC机的PCI总线,然后通过PCI总线传输给硬件验证平台,而验证平台母板上FPGA2中的PCI接口控制器完成数据的接收,经过FIFOl缓存,然后输入到FPGAl中的解码器部分;5) AVS解码器硬件模块解码,即由FPGAl中的AVS解码器硬件模块,对输入的半解码数据进行解码,生成得到解码码流;6)回送解码码流,即将步骤5中所得的解码码流先经过FIF02缓存,然后由PCI控制器读出FIF02中的数据并传送到PCI端接口上,通过PCI总线由PC机采集回送的解码码流;由于解码器输出的视频数据是连续的并且解码器输入输出的速率与PCI接口连续传输数据的速率并不匹配,于是在FPGAl与FPGA2之间加入了用于缓存的FIFOl和FIF02,由接口控制器判断FIFO中的空满情况,将空满情况反馈给PC机和解码器硬件部分,以决定是否继续发送或接受数据,防止数据溢出;7)PC机采集到解码码流以后将其与通过标准软件模型解码的解码结果进行比较,如果解码结果正确则进入步骤9),否则将在PC端显示解码有问题的具体帧和宏块位置,同时PC机停止读取avs码流,进入步骤8);8)根据步骤7)中PC机上显示的解码有问题的具体帧和宏块位置,找出设计中的问题并修改设计,而后进入步骤幻,重复步骤2、到步骤7),直到完成验证;9)通过子板上的JTAG接口将整个AVS解码器的代码全部下载到FPGAl中,除了包括前述步骤幻中的AVS解码器硬件模块、还包括解码器中的RISC CPU,这样FPGAl在对外功能上相当于一个完整的AVS解码器,能够独立完成解码任务,步骤3)中的嵌入式高层解码任务由解码器中的RISC CPU来完成;10)输入AVS码流,PC机通过USB接口将AVS码流输送到验证平台上,FPGA2中的 USB控制器控制完成数据的接收,先送入FIFOl进行缓存,而后输入到FPGAl进行解码;11)由AVS解码器(已下载到FPGAl中)对步骤10)中输入的码流进行完全的解码,解码器中RISC CPU中的嵌入式软件部分负责对码流进行高层解码,并协调硬件部分完成最终的解码任务,板上其他片外资源中,SRAM用作RISC CPU的片外缓存,视频解码中间数据储存在SDRAM中,FLASH中放入解码器CPU中加载的操作系统软件uclinux,并作为AVS 解码器启动时所需的ROM,经过解码器的解码和格式转换,生成可以直接在HDTV上播放的 YUV格式的视频数据,这些数据通过IO接口暂存到一组DDR存储器之中;12)在解码器进行解码的同时,由VGA接口控制器控制已处理完成的视频数据从步骤11)中的DDR取出,通过VGA接口传送到HDTV上显示并播放。
权利要求
1.一种基于FPGA的AVS解码芯片验证平台装置,包括PC机、HDTV和子、母板验证平台,其特征在于PC机通过USB接口和PCI接口与子、母板验证平台相连接,HDTV通过VGA接口与子、母板验证平台相连接,子板通过插槽与母板相连接;其中子板包括FPGAl和JTAG接口,母板包括 FPGA2、USB 接口、PCI 接口、VGA 接口、SRAM、SDRAM、DDR、FLASH、FIFOl、FIF02 以及时钟单元、电源和FPGA配置复位部分;其中子、母板验证平台中各个部分的连接关系如下FPGA2通过其自身IO接口连接到 USB接口上,并通过USB线与PC机上的USB接口相连;FPGA2通过其自身IO接口连接到PCI 接口上,并通过PCI总线连接到PC机的PCI插槽;FPGA2通过其片上IO连接到VGA接口上, 并通过15针VGA线连接到HDTV ;子板通过插槽连接到母板上,其上的FPGAl通过IO接口跟插槽连接,从而与母板进行通信;FPGA配置复位部分直接与FPGA2相连接;SRAM、SDRAM、 FLASH、FIFOU FIF02、DDR连接到母板的插槽处,跟子板上的FPGAl进行通信,作为FPGAl 的片外资源使用;?正01、?正02、001 连接到? 642的IO接口上;电源通过母板上铺设的电源线连接到母板上的各个芯片,时钟单元通过时钟线连接到需要提供时钟信号的FPGA1、 FPGA2、PCI 禾口 DDR 上。
2.一种使用权利要求1所述装置对AVS解码芯片进行软硬件协同验证的方法,步骤如下1)验证平台上电并复位,FPGA配置复位部分将FIFOl、FIF02、DDR存储器的控制器以及USB接口、PCI接口、VGA接口的接口控制器下载到FPGA2并进行初始化设置;2)下载AVS解码器硬件模块,即PC机通过子板上的JTAG接口将AVS解码器硬件模块的代码下载到FPGAl中,在对外功能上,FPGAl起到解码器硬件模块的功能,可以在PC的控制下完成相应解码功能,另外SDRAM控制器和FLASH控制器也将一起被下载到FPGAl中;3)嵌入式高层半解码,即在PC机端模拟实现AVS解码器的软件部分功能,首先读入储存在PC机硬盘上的标准avs码流,而后经过PC机里面的嵌入式高层解码部分进行高层半解码,得到半解码数据;4)输入半解码码流,即将步骤3中所得的半解码数据传送给驱动程序,驱动程序将数据传送给PC机的PCI总线,然后通过PCI总线传输给硬件验证平台,而验证平台母板上 FPGA2中的PCI接口控制器完成数据的接收,经过FIFOl缓存,然后输入到FPGAl中的解码器部分;5)AVS解码器硬件模块解码,即由FPGAl中的AVS解码器硬件模块,对输入的半解码数据进行解码,生成得到解码码流;6)回送解码码流,即将步骤5中所得的解码码流先经过FIF02缓存,然后由PCI控制器读出FIF02中的数据并传送到PCI端接口上,通过PCI总线由PC机采集回送的解码码流; 由于解码器输出的视频数据是连续的并且解码器输入输出的速率与PCI接口连续传输数据的速率并不匹配,于是在FPGAl与FPGA2之间加入了用于缓存的FIFOl和FIF02,由接口控制器判断FIFO中的空满情况,将空满情况反馈给PC机和解码器硬件部分,以决定是否继续发送或接受数据,防止数据溢出;7)PC机采集到解码码流以后将其与通过标准软件模型解码的解码结果进行比较,如果解码结果正确则进入步骤9),否则将在PC端显示解码有问题的具体帧和宏块位置,同时PC 机停止读取avs码流,进入步骤8);8)根据步骤7)中PC机上显示的解码有问题的具体帧和宏块位置,找出设计中的问题并修改设计,而后进入步骤幻,重复步骤2、到步骤7),直到完成验证;9)通过子板上的JTAG接口将整个AVS解码器的代码全部下载到FPGAl中,除了包括前述步骤幻中的AVS解码器硬件模块、还包括解码器中的RISC CPU,这样FPGAl在对外功能上相当于一个完整的AVS解码器,能够独立完成解码任务,步骤3)中的嵌入式高层解码任务由解码器中的RISC CPU来完成;10)输入AVS码流,PC机通过USB接口将AVS码流输送到验证平台上,FPGA2中的USB 控制器控制完成数据的接收,先送入FIFOl进行缓存,而后输入到FPGAl进行解码;11)由AVS解码器对步骤10)中输入的码流进行完全的解码,解码器中RISCCPU中的嵌入式软件部分负责对码流进行高层解码,并协调硬件部分完成最终的解码任务,板上其他片外资源中,SRAM用作RISC CPU的片外缓存,视频解码中间数据储存在SDRAM中,FLASH 中放入解码器CPU中加载的操作系统软件uclinux,并作为AVS解码器启动时所需的ROM, 经过解码器的解码和格式转换,生成可以直接在HDTV上播放的YUV格式的视频数据,这些数据通过IO接口暂存到一组DDR存储器之中;12)在解码器进行解码的同时,由VGA接口控制器控制已处理完成的视频数据从步骤 11)中的DDR取出,通过VGA接口传送到HDTV上显示并播放。
全文摘要
基于FPGA的AVS解码芯片验证平台装置及方法,属集成电路的仿真验证领域。装置包括PC机、HDTV和子、母板验证平台,PC机通过USB接口和PCI接口与子、母板验证平台相连接,HDTV通过VGA接口与子、母板验证平台相连接,子板通过插槽与母板相连接;其方法步骤为上电复位;下载AVS解码器硬件模块;嵌入式高层半解码;输入半解码码流;AVS解码器硬件模块解码;回送解码码流;检验结果是否正确;修改设计;下载整个设计;输入AVS码流;AVS解码器解码及格式转换;HDTV显示。本发明提高了仿真的效率和可靠性,缩短了产品的上市时间,降低了芯片研发成本;在流片完成后对芯片测试时,本发明具有良好的可重用性。
文档编号G06F17/50GK102176213SQ201110045549
公开日2011年9月7日 申请日期2011年2月25日 优先权日2011年2月25日
发明者徐辉, 王照君, 王祖强, 董红蕾, 邱晓光 申请人:山东大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1