新闻中心

EEPW首页>嵌入式系统>设计应用> 基于SoC的MPEG-4视频解码加速器

基于SoC的MPEG-4视频解码加速器

作者: 时间:2012-12-13 来源:网络 收藏

3 仿真验证和性能分析

本文的设计流程是首先确定IDCT算法, 并用其C语言描述作为设计规范。然后根据设计规范用verilog RTL 描述硬件, 用verisity公司(已被Cadence公司收购)的E语言搭建验证环境, 并将C语言的设计规范嵌入E验证环境中, 通过E语言产生随机激励, 同时发给verilogRTL和C设计规范, 并将两者的结果作比较。这样既保证了硬件实现和C设计规范完全一致, 又通过C设范的重用缩短了验证周期。

我们使用SYNOPSYS 的Design Compiler 对本设计进行了综合, 综合采用SMIC的0.8um的标准单元库。结果显示本设计的关键路径在反量化处, 因为此处直接使用了一次乘加操作。表3给出了本设计的特性。本设计完成更多功能, 主频更高, 乘法器更少, 而且引入了可与系统复用的片上内存。

我们分I帧和非I帧两种情况分析本设计的处理时间。在处理I 帧时要进行反量化, 不需要运动补偿叠加。由于反量化是在数据输入的同时进行的, 所以处理时间由非零值的写入时间Tinput , IDCT 计算间Tidct和写回显存的时间Toutput三部分组成。这三部分如图6 (a) 所示的并行处理。在处理非I 帧时, IDCT的结果需要与运动补偿的结果叠加, 所以处理时间时由非零值的写入时间Tinput , IDCT 计算时间Tidct,取运动补偿数据时间Tfetch , 叠加并写回显存的时间Toutput四部分组成。如图6 (b) 所示的并行处理。

(a)I 帧处理时间 (b) 非I 帧处理时间

图6 处理时间

其中取运动补偿的结果和最后写回现存都要占用总线接口, 所以要依次进行。从这两幅图可以看出, 并行处理使得这两种情况总的处理时间是相同的。以行IDCT一般情况15% ,OnlyDC情况70% , Halfzero情况10% 计算, 一个block 的IDCT 所需的周期Tidct为:

T idct = (0 × 70%+ 14 × 10%+ 20 × 20% ) × 8 + 20 × 8 = 203.2 (个周期)

如不考虑回写时由显存造成的延时,M PEG24处理的处理时间T 为:

T = Tinput + 6 × Tidct + Toutput = 6 × 64 × 15%+ 6 × 203 + 64 = 1340.8 (周期/宏块)

4 结论

本文给出了一种应用于嵌入式系统芯片的加速模块。本设计面向简单层, 将四个亮度块和两个色差块一起并行处理, 使流水线更加紧凑; 由于内部存储器的带宽有限, 我们只使用两个乘法器完成IDCT , 并使用较小面积的代价将于IDCT密切相关的反量化和运动补偿叠加一起实现, 这样进一步减少了数据在总线上的传输, 更有利于提高速度和减小功耗。本设计在以北京大学微处理器研究中心UN ITY-1为内核的-UN ITY805+ 中, 已经得到应用。实验表明可以实现简单层CIF格式的


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭