frame_read_write.v

从RTL视图中可以看出,该模块由多个子模块(afifo_64i_16o_64、afifo_16i_64o_256、frame_fifo_write、frame_fifo_read)组成。
其中afifo_64i_16o_64.v作为一个连接audio_record_play_ctrl与frame_fifo_write的跨时域数据交互,前者的时钟为系统时钟,后者的时钟为MEM_CLK。我们可以看到在RTL视图中连接到这个fifo中几个主要的信号:
- 其中有两个异步时钟,read_clk(FPGA CLK)以及mem_clk(SDRAM CLK)
- 写使能/wrreq(write_en)、读使能/rdreq(wr_burst_data_req)
其中write_en由之前我们分析的模块audio_record_play_ctrl输出的
而wr_burst_data_req是由sdram_core这个模块输出的,前文我们已经详细介绍了SDRAM的读写控制。
- rdusedw指fifo里有多少数据可以读。
- aclr(write_fifo_aclr) 清空信号。
- data/q表示输入输出的数据,输入数据的位宽64位,输出数据的位宽16位。

本文深入剖析了音视频处理中的frame_read_write模块,包括其子模块如afifo_64i_16o_64及frame_fifo_write的功能与工作流程。通过详细解读状态机逻辑,阐述了模块如何实现跨时钟域的数据交互与突发读写控制。
110

被折叠的 条评论
为什么被折叠?



