在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 31116|回复: 56

[资料] First Word Fall Through Mode异步Fifo

[复制链接]
发表于 2009-4-7 21:29:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 kejie 于 2012-7-11 21:20 编辑



异步fifo作为一个基本单元,在电路设计,尤其是通信类电路设计不可或缺,本人也是在设计之中发现使用
Xilinx的First Word Fall Thouth Mode异步fifo设计电路非常不错,又因其代码不可见,数据输出非寄存器输出,
故特写了一个该模式的fifo,并对其FIFO做了输出为寄存器输出的改进,具体功能特性如下:

功能特性:
1,异步fifo。
2,First Word Fall Through 模式,就是第一个写入数据将被从ram中提前读出到读数据线,第一个数据有效与empty无效同时,即当empty无效时,不必读取,数据线上的数据已经有效,读信号有效后,读数据线将显示下一数据地址。
3,Ram地址使用格雷码跨时钟域。
4,输出全部寄存器输出,这样可以直接接组合逻辑电路,时序将会大大提高。
5,Fifo深度比普通多2(Xilinx高模式fifo多1)。即若设置其中双口ram地址线宽度为n,那么深度就是2^n+2。奇怪吧?为何只在ram的输出数据之后添加了一级寄存器深度肯定会多1,但怎么会多2呢?我也曾有此困惑,原因是这样:若是做asic,那么多的一级为Ram数据输出的Latch,因为做ASIC使用的同步Ram(当前工艺下全部变为同步Ram)库,库为数据的输出添加了Latch;若是FPGA,自行综合或者将Ram用自带Ram生成工具生成(不必要寄存器输出),都是可以的,功能时序上不会有问题。
我不告诉您其是否通过仿真验证,需要您亲自写个简单测试文件去验证:)
另外,将异步部分删除即可获得同步Fifo

代码见附件。
Asyn_Fifo.rar (2 KB, 下载次数: 259 )



[ 本帖最后由 kejie 于 2009-4-7 21:36 编辑 ]

Asyn_Fifo.rar

2 KB, 下载次数: 272 , 下载积分: 资产 -2 信元, 下载支出 2 信元

发表于 2009-4-8 09:24:34 | 显示全部楼层
支持支持!!
发表于 2009-4-20 11:34:25 | 显示全部楼层
谢谢分享!
发表于 2009-4-27 09:21:47 | 显示全部楼层
ddddddddddddddd
发表于 2009-4-28 11:06:51 | 显示全部楼层
附件里只有代码吗?
至少怎么做的还是要讲一下嘛
不管怎样,还是下来看看
谢谢LZ
发表于 2009-5-22 16:59:57 | 显示全部楼层
先下了, 再慢慢看
发表于 2009-5-27 15:43:30 | 显示全部楼层

fffffffffffffff

101ffffffffffffffffffffffffff
发表于 2009-6-14 15:36:25 | 显示全部楼层
好东西  顶顶顶
发表于 2009-6-14 17:08:01 | 显示全部楼层
支持一下
发表于 2009-8-5 17:17:12 | 显示全部楼层
thanks!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-8 12:29 , Processed in 0.042605 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表