第二预测步用流水线实现时的 VerilogHDL 代码如下:
result_c_add=c_reg1+c_reg3;// c_reg1 和 c_reg3 分别存储系数 c6 和 c8
result_c_shift1=result_c_add+result_c_add>>1;
……
/*
小波系数 γ 为 0.1100110011001100,用 HONER 法则和树高度做数学变换,
然后采用多级流水线来提高系统吞吐量;
pipe_c_reg 是实现系数 c 中的流水线结构用到的寄存器。
*/
……
pipe_c_reg1<=result_c_shift1;
pipe_c_reg2<=result_c_shift1;
pipe_c_reg3<=result_c_shift1;
pipe_c_reg4<=result_c_shift1;
……
pipe_c_reg5<=pipe_c_reg1;
pipe_c_reg6<=pipe_c_reg2;
pipe_c_reg7<=pipe_c_reg3+pipe_c_reg4>>4;
……
pipe_c_reg8<=pipe_c_reg5;
pipe_c_reg9<=pipe_c_reg6+pipe_c_reg7>>4;
……
result_c_shift2<=pipe_c_reg8+pipe_c_reg9>>4;
……
result_c_shift=result_c_shift2>>1;
result_c_mac=c_reg2+result_c_shift;
……