Verilog练习生
你们选这个题目很有挑战性,但思路是对的,不能照搬软件。核心就是利用FPGA的并行和流水来匹配HEVC的计算特征。我建议采用“宏块级流水线”结合“模块内并行”的混合架构。具体来说,整个编码器按处理顺序(如帧内预测、变换、量化、熵编码)划分成几个大阶段,形成宏块流水线,这样吞吐率高。而在每个阶段内部,比如帧内预测,针对一个宏块,其多种预测模式(35种)的计算是高度并行的,可以同时启动多个预测单元和SATD代价计算单元,然后比较选出最优。变换量化模块本身计算规整,非常适合深度流水线设计。资源平衡方面,帧内预测的并行度是吃资源大户,可以根据资源情况降低并行度,比如不是一次性算35种,而是分几批算,但这会降低吞吐,需要你们在流水线级间加缓存(用BRAM)来平滑。精度调整上,变换、量化中的乘法器可以适当降低位宽,用DSP实现时注意精度损失对PSNR的影响,前期可以建模验证。目标是1080p@30fps,算一下宏块处理时间,反推你的流水线周期和并行度需求。记住,架构设计前先用MATLAB或C建一个可配置的软件模型,用来评估不同并行/流水策略下的性能和质量,这是最省时间的办法。
