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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: 杰克淡定

[原创] Verilog基本电路设计之三(异步FIFO)

[复制链接]
 楼主| 发表于 2016-6-22 11:22:57 | 显示全部楼层
回复 28# cqugjw


  看了回复发现,可能你主要是面向FPGA设计的。我所有的讨论,是面向IC设计的,IP设计或者SOC设计,在整个IC设计流程中,我们只在FPGA验证环节使用到FPGA,FPGA只作为IC设计的验证手段之一。所以大家的出发点可能存在差异,IC设计着眼点在于最终流片得到的芯片功能面积功耗最优,而面向FPGA设计的可能需要根据FPGA资源作出取舍。不过,FPGA设计或者IC设计,它们也有很多相通的地方。
 楼主| 发表于 2016-6-22 13:56:25 | 显示全部楼层
回复 28# cqugjw

看了回复发现,可能你主要面向的是FPGA设计。我这里讨论的,都是面向IC设计的,以硅流片为最终形态,FPGA只是作为一种验证手段存在于整个IC设计流程的FPGA验证阶段。IC设计着眼点都以最终芯片的功能面积功耗最优为出发点,而专门面向FPGA的设计可能会根据资源作出取舍。不过这两者在RTL设计阶段很多是相通的,但是从网表以后差别就很大了
发表于 2016-6-22 16:21:07 | 显示全部楼层
回复 31# 杰克淡定

我都有所了解。FPGA中是有built-in的fifo的,可以直接例化。
IC设计中的memory库据我了解,像two-port register file最小可以支持到4bitx8depth。
所以我一般不会采用二维数组,只是直接调用register file,个人习惯吧。
发表于 2016-9-8 09:00:02 | 显示全部楼层
总结的很nice,正在学习异步fifo
发表于 2016-9-8 14:26:53 | 显示全部楼层
学习,很受启发!!!!!!!!!
发表于 2016-9-9 14:31:54 | 显示全部楼层
不太明白满信号是怎么判断的?
assign af_full = (wptr_gray == {~rptr_sp2[4],~rptr_sp2[3],rptr_sp2[2:0]}) ;
 楼主| 发表于 2016-9-9 15:52:18 | 显示全部楼层
回复 36# 雪山一角


   用格雷码直接比较得到满信号。你要是觉得难理解,转成二进制码再看看就明白了。
发表于 2016-9-10 23:00:57 | 显示全部楼层
请问楼主,读写有可能在同时进行吗?
发表于 2016-9-10 23:10:16 | 显示全部楼层
assign af_full  = (wptr_gray == {~rptr_sp2[4],~rptr_sp2[3],rptr_sp2[2:0]}) ; 这句话中的wptr_gray 和rptr_sp2相差连个时钟(假如读写同时变化的),会不会出现延迟问题,不知道这样说楼主是否理解,换个说法就是假如来个rptr_sp100(rptr_sp延时100个时钟),这是是不是就会出现问题。
 楼主| 发表于 2016-9-12 09:03:05 | 显示全部楼层
回复 39# komatsu001


    当前周期的写指针与两周期前的读指针比较,只会出现FIFO实际上还没有满但是报出“满”信号,而不会出现已经写爆了才报出“满”信号。没有满但是报出满信号,是不会有问题的,相当于FIFO空间留了裕量而已。而实际已经写爆了才报出“满”信号就错了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-26 22:38 , Processed in 0.020873 second(s), 6 queries , Gzip On, Redis On.

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