FPGA-音频模块开发(三)

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

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中几个主要的信号:

  1. 其中有两个异步时钟,read_clk(FPGA CLK)以及mem_clk(SDRAM CLK)
  2. 写使能/wrreq(write_en)、读使能/rdreq(wr_burst_data_req)

其中write_en由之前我们分析的模块audio_record_play_ctrl输出的

而wr_burst_data_req是由sdram_core这个模块输出的,前文我们已经详细介绍了SDRAM的读写控制。

  1. rdusedw指fifo里有多少数据可以读。
  2. aclr(write_fifo_aclr) 清空信号。
  3. data/q表示输入输出的数据,输入数据的位宽64位,输出数据的位宽16位。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值