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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3675|回复: 7

[求助] 关于Quartus的FIFO IP核时序设计问题

[复制链接]
发表于 2017-7-31 11:36:24 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 sureking 于 2017-7-31 14:31 编辑

在实际设计中,有个模块控制fifo写入数据A,假设全局时钟global_clk以时序逻辑的方式驱动FIFO的写使能(fifo_wr)和写数据(data),而FIFO的时钟信号就直接赋上global_clk,那么就会得到如图1所示的时序图。
写使能和数据都在global_clk上升沿发生变化。
1.png

那么问题就来了,按道理说,FIFO写入数据是在wr拉高前提下,在fifo_clk上升沿写入数据。那么是不是这样设计就不满足数据的保持时间?
换一种设计,FIFO的写使能(fifo_wr)和写数据(data)依然基于global_clk的时序逻辑,但是fifo_clk相对于global_clk有个相移,比如说反相。那么就得到了图2的时序图,这样就满足设计需求了吗?
2.png

我想请问的是,一般工程设计,怎样设计FIFO的时序(主要是时钟吧)是怎样的呢?
发表于 2017-7-31 12:23:04 | 显示全部楼层
1、如果只写一个数据,写使能只能有效一拍
2、当前时钟沿有效写使能和数据,是在下一个时钟沿写入数据的
 楼主| 发表于 2017-7-31 14:32:33 | 显示全部楼层
回复 2# huster


画图的时候不严谨,重新修改了一下。你的2,我理解的是第一个FIFO_clk上升沿有效写使能和数据,但是此时FIFO_clk上升沿下,写使能和数据都在处于变换阶段,处于建立时间状态。难道不会存在不稳定情况下吗?
发表于 2017-8-17 16:39:42 | 显示全部楼层
最好别按照第二个方法来。 按照第一个方式。   注意,图一中,fifo不是在第一个红线处采你写入的数据的,是在下一拍采的。
发表于 2017-8-21 16:57:47 | 显示全部楼层



同步设计,施加适当的时序约束,且涉及满足时序约束,不存在不稳定的状态
 楼主| 发表于 2017-8-31 17:47:57 | 显示全部楼层


最好别按照第二个方法来。 按照第一个方式。   注意,图一中,fifo不是在第一个红线处采你写入的数据的,是 ...
18601159496 发表于 2017-8-17 16:39




   但是我的数据A在第二个时钟上升沿到来时,恰好变换为数据B,这个时候会有问题吗?
 楼主| 发表于 2017-8-31 17:51:33 | 显示全部楼层


同步设计,施加适当的时序约束,且涉及满足时序约束,不存在不稳定的状态
lxq124lxq 发表于 2017-8-21 16:57




   工程中用到很多FIFO做缓存,那么所有的FIFO时钟都要添加时序约束吗?
发表于 2018-12-18 17:03:49 | 显示全部楼层
学习中。。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-4-19 16:43 , Processed in 0.027712 second(s), 9 queries , Gzip On, Redis On.

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