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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7268|回复: 21

[求助] 【求助讨论】一个简单的关于时序的问题

[复制链接]
发表于 2011-7-5 17:21:16 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 lvlv2011 于 2011-7-5 17:24 编辑

最近学verilog,还没有涉及时序仿真,关于时序有一个问题很困惑,求各路大神分析:
代码:

always @(posedge clock)
       if(valid)    cnt  = cnt+1;
       else  if(!valid)  cnt = 0;

假设输入信号在理想情况下,clock和valid的上跳沿是重合的,在clock的上跳沿看不能分辨valid是0还是1,如下图;


2011-07-05_171527.jpg



为了避免出现这样的情况,我试图通过时序约束将valid的上跳沿控制在clock的上跳沿偏后一点的地方,如下图;

2011-07-05_170816_副本.jpg


不知道这样时序约束是否可行
发表于 2011-7-5 19:10:56 | 显示全部楼层
valid信号本身需要是clock时钟域下的信号,这样就可以按同步设计考虑。
 楼主| 发表于 2011-7-5 20:39:37 | 显示全部楼层
回复 2# justshuashua


    valid是clock时钟域下的信号没错,但是如果在理想情况下:clock的上跳沿会和valid(输入信号,不受我控制)的上跳沿重合
发表于 2011-7-5 20:59:54 | 显示全部楼层
本帖最后由 追天鹅的青蛙 于 2011-7-5 21:12 编辑

if语句综合出来是组合电路, 应该以当前值为条件吧,仿真的时候认为 valid是1
发表于 2011-7-5 21:10:46 | 显示全部楼层
我觉得应该先有数据vaild,再出现时钟上升沿,因为要满足建立时间和保持时间的约束条件要求!
发表于 2011-7-5 21:11:10 | 显示全部楼层
功能仿真的话加不加延时无所谓的。
 楼主| 发表于 2011-7-5 22:27:28 | 显示全部楼层




    仿真归仿真,但是我想知道实际的时候(也就是经过时序约束之后)的情况应该是怎么样的
发表于 2011-7-6 08:17:28 | 显示全部楼层
回复 3# lvlv2011
如果是异步signal,则需要先进行同步处理,存在一拍的沿打沿是正常的,同步逻辑,则不存在问题。
 楼主| 发表于 2011-7-6 09:21:06 | 显示全部楼层
回复 8# justshuashua


    的确是同步逻辑,但是出现的沿打沿怎么解释呢?
发表于 2011-7-6 10:09:55 | 显示全部楼层


我觉得应该先有数据vaild,再出现时钟上升沿,因为要满足建立时间和保持时间的约束条件要求!
Guanming1234 发表于 2011-7-5 21:10


持相同意见 不过你只要避免vaild的跳变沿和时钟上升沿重合就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-23 18:48 , Processed in 0.022570 second(s), 8 queries , Gzip On, Redis On.

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