发明名称 基于FPGA的AVS解码芯片验证平台装置及方法
摘要 基于FPGA的AVS解码芯片验证平台装置及方法,属集成电路的仿真验证领域。装置包括PC机、HDTV和子、母板验证平台,PC机通过USB接口和PCI接口与子、母板验证平台相连接,HDTV通过VGA接口与子、母板验证平台相连接,子板通过插槽与母板相连接;其方法步骤为:上电复位;下载AVS解码器硬件模块;嵌入式高层半解码;输入半解码码流;AVS解码器硬件模块解码;回送解码码流;检验结果是否正确;修改设计;下载整个设计;输入AVS码流;AVS解码器解码及格式转换;HDTV显示。本发明提高了仿真的效率和可靠性,缩短了产品的上市时间,降低了芯片研发成本;在流片完成后对芯片测试时,本发明具有良好的可重用性。
申请公布号 CN102176213B 申请公布日期 2012.12.26
申请号 CN201110045549.9 申请日期 2011.02.25
申请人 山东大学 发明人 王祖强;董红蕾;王照君;徐辉;邱晓光
分类号 G06F17/50(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 济南金迪知识产权代理有限公司 37219 代理人 许德山
主权项 一种使用基于FPGA的平台装置对AVS解码芯片进行软硬件协同验证的方法,该装置包括PC机、HDTV和子、母板验证平台,PC机通过USB接口和PCI接口与子、母板验证平台相连接,HDTV通过VGA接口与子、母板验证平台相连接,子板通过插槽与母板相连接;其中子板包括FPGA1和JTAG接口,母板包括FPGA2、USB接口、PCI接口、VGA接口、SRAM、SDRAM、DDR、FLASH、FIFO1、FIFO2以及时钟单元、电源和FPGA配置复位部分;其中子、母板验证平台中各个部分的连接关系如下:FPGA2通过其自身IO接口连接到USB接口上,并通过USB线与PC机上的USB接口相连;FPGA2通过其自身IO接口连接到PCI接口上,并通过PCI总线连接到PC机的PCI插槽;FPGA2通过其片上IO连接到VGA接口上,并通过15针VGA线连接到HDTV;子板通过插槽连接到母板上,其上的FPGA1通过IO接口跟插槽连接,从而与母板进行通信;FPGA配置复位部分直接与FPGA2相连接;SRAM、SDRAM、FLASH、FIFO1、FIFO2、DDR连接到母板的插槽处,跟子板上的FPGA1进行通信,作为FPGA1的片外资源使用;FIFO1、FIFO2、DDR连接到FPGA2的IO接口上;电源通过母板上铺设的电源线连接到母板上的各个芯片,时钟单元通过时钟线连接到需要提供时钟信号的FPGA1、FPGA2、PCI和DDR上,该方法步骤如下:1)验证平台上电并复位,FPGA配置复位部分将FIFO1、FIFO2、DDR存储器的控制器以及USB接口、PCI接口、VGA接口的接口控制器下载到FPGA2并进行初始化设置;2)下载AVS解码器硬件模块,即PC机通过子板上的JTAG接口将AVS解码器硬件模块的代码下载到FPGA1中,在对外功能上,FPGA1起到解码器硬件模块的功能,可以在PC的控制下完成相应解码功能,另外SDRAM控制器和FLASH控制器也将一起被下载到FPGA1中;3)嵌入式高层半解码,即在PC机端模拟实现AVS解码器的软件部分功能,首先读入储存在PC机硬盘上的标准avs码流而后经过PC机里面的嵌入式高层解码部分进行高层半解码,得到半解码数据;4)输入半解码码流,即将步骤3中所得的半解码数据传送给驱动程序,驱动程序将数据传送给PC机的PCI总线然后通过PCI总线传输给硬件验证平台,而验证平台母板上FPGA2中的PCI接口控制器完成数据的接收,经过FIFO1缓存,然后输入到FPGA1中的解码器部分5)AVS解码器硬件模块解码,即由FPGA1中的AVS解码器硬件模块,对输入的半解码数据进行解码,生成得到解码码流;6)回送解码码流,即将步骤5中所得的解码码流先经过FIFO2缓存,然后由PCI控制器读出FIFO2中的数据并传送到PCI端接口上,通过PCI总线由PC机采集回送的解码码流由于解码器输出的视频数据是连续的并且解码器输入输出的速率与PCI接口连续传输数据的速率并不匹配,于是在FPGA1与FPGA2之间加入了用于缓存的FIFO1和FIFO2,由接口控制器判断FIFO中的空满情况,将空满情况反馈给PC机和解码器硬件部分,以决定是否继续发送或接受数据,防止数据溢出;7)PC机采集到解码码流以后将其与通过标准软件模型解码的解码结果进行比较,如果 解码结果正确则进入步骤9),否则将在PC端显示解码有问题的具体帧和宏块位置,同时PC机停止读取avs码流,进入步骤8);8)根据步骤7)中PC机上显示的解码有问题的具体帧和宏块位置,找出设计中的问题并修改设计,而后进入步骤2),重复步骤2)到步骤7),直到完成验证;9)通过子板上的JTAG接口将整个AVS解码器的代码全部下载到FPGA1中,除了包括前述步骤2)中的AVS解码器硬件模块、还包括解码器中的RISC CPU,这样FPGA1在对外功能上相当于一个完整的AVS解码器,能够独立完成解码任务,步骤3)中的嵌入式高层解码任务由解码器中的RISC CPU来完成;10)输入AVS码流,PC机通过USB接口将AVS码流输送到验证平台上,FPGA2中的USB控制器控制完成数据的接收,先送入FIFO1进行缓存,而后输入到FPGA1进行解码;11)由AVS解码器对步骤10)中输入的码流进行完全的解码,解码器中RISC CPU中的嵌入式软件部分负责对码流进行高层解码,并协调硬件部分完成最终的解码任务,母板上其他片外资源中,SRAM用作RISC CPU的片外缓存,视频解码中间数据储存在SDRAM中,FLASH中放入解码器CPU中加载的操作系统软件uclinux,并作为AVS解码器启动时所需的ROM,经过解码器的解码和格式转换,生成可以直接在HDTV上播放的YUV格式的视频数据,这些数据通过IO接口暂存到一组DDR存储器之中;12)在解码器进行解码的同时,由VGA接口控制器控制已处理完成的视频数据从步骤11)中的DDR取出,通过VGA接口传送到HDTV上显示并播放。
地址 250100 山东省济南市历城区山大南路27号