您的位置:首页 > 其它

针对jpeg codec的FPGA测试总结

2009-03-25 00:25 323 查看
一、简介
最近一个多月,一直在做一件事情,这就是在FPGA上对Jpeg codec的芯片设计进行全方面的验证。至于什么是FPGA验证,可查看
http://www.chituwang.com/Article/IT/detail.aspx?articleid=18093
Jpeg codec是我们团队所设计的一款手机多媒体芯片的其中一个功能。它包括Jpeg encoder,Jpeg decoder以及Jpeg decoder与encoder的联合使用。用于手机的拍照,浏览图片以及播放Motion jpeg视频流。
下面,我将会对FPGA验证的条件、环境及过程做以描述。
二、FPGA验证的条件及环境描述
1、软件环境
根据功能,我们将Jpeg codec的FPGA验证分为三大部分:jpeg encoder,jpeg decoder和jpeg de-encoder。
这里需要说明的是jpeg de-encoder,它是先进行jpeg图片的解码,然后对解析出来的YUV数据进行编码。
在上述三大部分的每个部分中,我们根据测试源的性质,划分为VIP测试源和普通测试源。按照硬件的实际存储模式,分为一维存储(后面称为1d)和二维存储(后面称为2d),而2d中按照二维pitch的大小又分为512bits、1024bits和2048bits。
根据上面的描述,所有的测试集合总结为:
Jpeg encoder:
encoder_vip_1d
encoder_vip_2d_512
encoder_vip_2d_1024
encoder_vip_2d_2048
encoder_normal_1d
encoder_normal_2d_512
encoder_normal_2d_1024
encoder_normal_2d_2048
Jpeg decoder:
decoder_vip_1d
decoder_vip_2d_512
decoder_vip_2d_1024
decoder_vip_2d_2048
decoder_normal_1d
decoder_normal_2d_512
decoder_normal_2d_1024
decoder_normal_2d_2048
Jpeg de-encoder:
de-encoder_vip_1d
de-encoder_vip_2d_512
de-encoder_vip_2d_1024
de-encoder_vip_2d_2048
de-encoder_normal_1d
de-encoder_normal_2d_512
de-encoder_normal_2d_1024
de-encoder_normal_2d_2048

2、硬件环境
由于FPGA板卡非常昂贵,我们部门只有两块可以使用,而其中一块用于视频码流的FPGA验证,也就是说jpeg的FPGA验证只有一块FPGA板卡可以使用。
另外,通过JTAG来输送码流,由于某些原因,其Uart口非常不稳定,经常会出现Uart口挂死的现象,导致批处理过程中死掉。

三、FPGA验证过程描述
所有的FPGA验证都是以批处理的形式进行的。在这三大部分中,某些集合的批处理是可以连在一起进行。于是,如果硬件环境不出问题的话,FPGA验证就可以夜以继日地进行。但在实际验证过程中,硬件环境经常出现问题,导致FPGA验证进行比较缓慢。
经过将近一个月的努力,整个Jpeg的FPGA验证总算是划上了圆满的句号。

四、FPGA验证总结
通过这段时间的FPGA验证,作如下总结。
1、 码流及config测试集合
在FPGA验证之前,这个集合应该尽可能地完善。这种完善包括码流的齐全,比如各种color space,图像大小等。也包括config的齐全,必须能够覆盖尽可能多的芯片测试点。这些集合必须在验证开始之前就确定下来;在验证过程中尽可能不要做修改。
2、 验证日志
验证日志是比较重要的。在日志中,需要记录在哪个时间段,使用哪个bit文件,验证了哪个集合,以及验证结果。通过这些信息,就可以评估整个FPGA验证的工作量和进度,以方便后期工作的安排和FPGA验证工作的按时完成。
3、 验证环境
磨刀不误砍柴工。在验证开始之前,应该尽可能地让验证环境稳定,简单易用。这将对整个验证工作起着举足轻重的作用。
4、 验证集合的安排
在验证过程中,有些集合是不能放在一起验证的。所以得根据当前验证的情况,决定剩下的集合如何安排,应该动态地调整集合验证的次序,以保证晚上不会出现空闲期。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: