простите великодушно, буфер истории я собрал (не понял про кольцевой, сделал обычный):
Код:
reg [127:0]soundbuff;
reg [15:0]soundsum;
always @( posedge cpu_clk )begin
    soundbuff <= {soundbuff[126:0], beep};
end
зачем собирать 128, если надо сумму с накоплением 96 значений.