3、FIFO数据的读取
第2节代码中可以看到,sdata的数据是从lbuf和rbuf中取的,那么下面的模块就是如何将数据从FIFO中取出,并放到lbur和rbuf中了。
// Fetch Audio Data From FIFO
assign lfifo_rd_clk = clk;
assign rfifo_rd_clk = clk;
always@(negedge clk) begin
case(lrclk_cnt)
125:
begin
if(!rfifo_empty) rfifo_rd_en <= 1;
end
126:
begin
rfifo_rd_en <= 0;
rbuf <= rfifo_dout;
end
253:
begin
if(!lfifo_empty) lfifo_rd_en <= 1;
end
254:
begin
lfifo_rd_en <= 0;
lbuf <= lfifo_dout;
end
endcase
end