专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
FPGA
怎么解决EDK中rdpfifo溢出的问题?
2020-02-23 10:44
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
FPGA
14534
3
3
前一阵子发了帖子,但是一直没人回,估计是各位大牛都没看到,
这里给出帖子的链接
http://bbs.21ic.com/icview-713730-1-1.html
希望大家帮我看看,给个建议,谢谢!
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
machairodus
1楼-- · 2020-02-23 12:30
一般情况下FIFO的长度为2的n次方,这样地址位可以全部使用上,有利于FIFO的循环使用。判断溢出和读空的方法有很多,网上也有介绍,我只在这里说一下我认为比较好的一个方法,就是FIFO的地址位设为n+1位(如:{n+1, n}),这样地址的低n位指向FIFO的实际空间,最高的那个n+1位可以做判断用。初始化时读地址和写地址都清空,设为相等值,读时读地址+1,写时写地址+1,如果读写地址完全相同,表示FIFO为空,此时禁止读;如果低n位相同,但是n+1位相反,表示FIFO为满,此时禁止写,如果不禁止的话就是溢出了(如果地址转换成格雷码,那么FIFO的状态比较就要参考高2位地址信息了)。另外异步FIFO要注意信号的跨时钟域同步问题,一般采用双锁存器同步法,可靠性适中,方法简单。
always @ (posedge Wr_CLK) //注意是写时钟频率信号
begin
Rd_Addr2 <= Rd_Addr1; //Rd_Addr2就是同步到写时钟频率上的读地址
Rd_Addr1 <= Rd_Addr; //Rd_Addr就是在读时钟频率上的读地址
end
当然用三寄存器锁存的方法可靠性更高,但是性能会受到影响。
加载中...
失恋的小草儿
2楼-- · 2020-02-23 15:23
精彩回答 2 元偷偷看……
加载中...
一周热门
更多
>
相关问题
如何用FPGA驱动LCD屏?
5 个回答
请教一下各位专家如何用FPGA做eDP接口?
6 个回答
FPGA CH7301c DVI(显示器数字接口)没有数字输出
7 个回答
100颗FPGA的板子,开开眼界
6 个回答
求教自制最小系统版
10 个回答
基于FPGA的X射线安检设备控制器
2 个回答
CycolneIVGX核心板,可扩展PCIE,光纤接口,大家来鉴赏一下
6 个回答
关于VHDL或Verllog程序稳定性的问题
11 个回答
相关文章
嵌入式领域,FPGA的串口通信接口设计,VHDL编程,altera平台
0个评论
Xilinx的FPGA开发工具——ISE开发流程
0个评论
基于FPGA的详细设计流程
0个评论
干货分享,FPGA硬件系统的设计技巧
0个评论
一种通过FPGA对AD9558时钟管理芯片进行配置的方法
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
FPGA
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
always @ (posedge Wr_CLK) //注意是写时钟频率信号
begin
Rd_Addr2 <= Rd_Addr1; //Rd_Addr2就是同步到写时钟频率上的读地址
Rd_Addr1 <= Rd_Addr; //Rd_Addr就是在读时钟频率上的读地址
end
当然用三寄存器锁存的方法可靠性更高,但是性能会受到影响。
一周热门 更多>