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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3494|回复: 9

[求助] 触发器仿真的问题

[复制链接]
发表于 2013-6-6 15:28:12 | 显示全部楼层 |阅读模式

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

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

x
对一个D触发器仿真:
如果同步端D在CK有效沿变化,Q端输出会延迟一个时钟周期。
如果我将D和CK同时延迟1ns后再接到D触发器上,Q却和输入D保持一致,请问这是什么原因?是同步的原因吗?
发表于 2013-6-6 16:18:44 | 显示全部楼层
贴出代码一看

可能跟你仿真的激励产生方法有关
 楼主| 发表于 2013-6-6 16:40:14 | 显示全部楼层
本帖最后由 alexsss 于 2013-6-6 16:43 编辑

TOP



  1. wire d_w, ck_w;

  2. BUFX3M buf1_i (.A(d_f), .Y(d_w));       // 1ns delay
  3. BUFX3M buf2_i (.A(ck_f), .Y(ck_w));     // 1ns delay

  4. ff      ff_i (
  5. .d      (d_w),
  6. .ck     (ck_w),
  7. .q      (q_f)
  8. );


复制代码
 楼主| 发表于 2013-6-6 16:41:04 | 显示全部楼层
TB



  1. reg ck;
  2. reg d;


  3. full    u_full  (
  4.         .d_f    (d),
  5.         .ck_f   (ck),
  6.         .q_f    (q)
  7. );

  8. initial
  9. begin
  10.         ck = 0;
  11. end

  12. always  #50         ck = ~ck;

  13. initial
  14. begin
  15.         @(posedge ck) d <= 0;
  16.         @(posedge ck) d <= 1;
  17.         # 500 $finish;
  18. end


复制代码
发表于 2013-6-6 16:54:28 | 显示全部楼层
是在modelsim里面看的吗?

试试把ck比d延迟1ns看看结果有不同?
发表于 2013-6-6 16:59:47 | 显示全部楼层
如果是在modelsim下,注意仿真时把vopt关掉
 楼主| 发表于 2013-6-6 17:09:20 | 显示全部楼层
在VCS下
 楼主| 发表于 2013-6-6 17:23:49 | 显示全部楼层
本帖最后由 alexsss 于 2013-6-6 17:25 编辑

如果ck延迟d 1ns,ck和d经过buf后各自延迟1ns,输出和没有buf的情况应该一致吧?都在ck有效时采,不存在 在有效沿 采之前状态的数据还是之后的问题 吧?
发表于 2013-6-6 17:26:37 | 显示全部楼层
回复 7# alexsss


   FF的D端数据怎么能在时钟沿变化呢?   setup和hold问题怎么处理?
发表于 2013-6-7 09:00:15 | 显示全部楼层
vcs下不清楚

modelsim下,如果未关掉vopt选项,并且时钟和数据完全无相偏的话,仿真器的行为不可预计

lz可以在vcs下试验下,是否存在相同的问题?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-19 23:13 , Processed in 0.027590 second(s), 8 queries , Gzip On, Redis On.

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