基于FPGA的帧级异步FIFO设计
发布时间:2021-01-26 12:47
为了解决FIFO对整帧数据的缓存问题,文章设计完成了一种基于FPGA的帧级异步FIFO,该异步FIFO是基于Verilog HDL高级可编程语言实现的,它可以很方便的用于互联网数据帧的中间缓存,保证互联网数据帧在大吞吐量情况下不易发生丢失。采用modelsim 10.6仿真验证该设计,并应用于实际项目中进行大规模测试,结果表明该方案工作性能可靠稳定。
【文章来源】:声学与电子工程. 2020,(02)
【文章页数】:3 页
【部分图文】:
异步FIFO的信号接口
wptr_full模块主要功能是产生写地址和写满的控制信号。每写入一拍数据地址加1,如此递增产生写地址。当数据包为正常包,数据包length大于剩余空间,写满信号置1;当数据包为坏包,虽然数据包length大于剩余空间,写满信号仍然为0。rptr_empty模块主要功能是产生读地址和读空的控制信号。读地址与写地址产生方式相同,读出去一拍数据则自增。读写指针一致产生读空信号。sync_r2w和sync_w2r模块主要是负责两个不同时钟域的单比特信号处理。空满信号的产生,需要跨时钟域信号处理。单比特跨时钟域信号处理使用寄存器打拍方式。rframe_in_fifo模块主要是通过状态机的方式产生读取BRAM的控制信息。本模块主要根据rq2_wframe信号即整帧数据写完成标志和fifo_mem模块读出的数据状态,产生FIFO控制信息。主要状态机处理见图4。图3 写RAM的处理流程图
写RAM的处理流程图
【参考文献】:
期刊论文
[1]处理整帧数据的FIFO的巧妙控制设计[J]. 房海东,潘长勇,杨知行. 电讯技术. 2003(04)
本文编号:3001140
【文章来源】:声学与电子工程. 2020,(02)
【文章页数】:3 页
【部分图文】:
异步FIFO的信号接口
wptr_full模块主要功能是产生写地址和写满的控制信号。每写入一拍数据地址加1,如此递增产生写地址。当数据包为正常包,数据包length大于剩余空间,写满信号置1;当数据包为坏包,虽然数据包length大于剩余空间,写满信号仍然为0。rptr_empty模块主要功能是产生读地址和读空的控制信号。读地址与写地址产生方式相同,读出去一拍数据则自增。读写指针一致产生读空信号。sync_r2w和sync_w2r模块主要是负责两个不同时钟域的单比特信号处理。空满信号的产生,需要跨时钟域信号处理。单比特跨时钟域信号处理使用寄存器打拍方式。rframe_in_fifo模块主要是通过状态机的方式产生读取BRAM的控制信息。本模块主要根据rq2_wframe信号即整帧数据写完成标志和fifo_mem模块读出的数据状态,产生FIFO控制信息。主要状态机处理见图4。图3 写RAM的处理流程图
写RAM的处理流程图
【参考文献】:
期刊论文
[1]处理整帧数据的FIFO的巧妙控制设计[J]. 房海东,潘长勇,杨知行. 电讯技术. 2003(04)
本文编号:3001140
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3001140.html