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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 10782|回复: 23

[求助] 关于后仿真问题?

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

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

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

x
大家好,我用DC逻辑综合完成后,没有时序违例,但是,当我用modelsim对综合后的.v网表进行后仿真时,有很多保持时间违例,都是500ps,这是怎么回事啊,应该怎样修改呢?谢谢
发表于 2010-7-24 12:37:07 | 显示全部楼层
1,你有没有用sdf反标?
2,你检查一下standard cell的.v文件,看看里面的timing check语句里面有没有默认的hold time值?
3,找一下500ps这个数字可能从哪里来,然后根据这个debug一下。是不是你的clock cycle?
 楼主| 发表于 2010-7-24 14:06:42 | 显示全部楼层
yohuang兄,你好,
1、我用过sdf反标了。
2、你说的stand_cell的.v文件,我找到了,并且找到了违例的地方,就是下面这些:
// timing checks
    $setuphold(posedge CK, posedge RN, tsetup$RN$CK ,thold$RN$CK , NOTIFIER);
    $width(negedge RN, tminpwl$RN, 0, NOTIFIER);
    $setuphold(posedge CK &&& (SandRandSEb == 1), posedge D, tsetup$D$CK  ,thold$D$CK  , NOTIFIER);
    $setuphold(posedge CK &&& (SandRandSEb == 1), negedge D, tsetup$D$CK  ,thold$D$CK  , NOTIFIER);
    $setuphold(posedge CK &&& (SandRandSE == 1), posedge SI, tsetup$SI$CK, thold$SI$CK , NOTIFIER);
    $setuphold(posedge CK &&& (SandRandSE == 1), negedge SI, tsetup$SI$CK, thold$SI$CK , NOTIFIER);
    $setuphold(posedge CK &&& (SandR == 1), posedge SE, tsetup$SE$CK, thold$SE$CK , NOTIFIER);
    $setuphold(posedge CK &&& (SandR == 1), negedge SE, tsetup$SE$CK, thold$SE$CK , NOTIFIER);
    $width(negedge CK &&& (SandR == 1), tminpwl$CK, 0, NOTIFIER);
    $width(posedge CK &&& (SandR == 1), tminpwh$CK, 0, NOTIFIER);
endspecify
endmodule // SDFFRX1
`endcelldefine

    但是,我看不懂这些,他们都是什么意思啊?
3、时序仿真报告的部分内容如下:
# ** Error: /export/home/st5/h.264/sim/tsmc18.v(19720): $hold( posedge CK &&& (SandRandSEb == 1):64245 ns, posedge D:64245 ns, 500 ps );
#    Time: 64245 ns  Iteration: 2  Instance: :me_tb:ME_and_MC_u:sad_4x4_gen:h_1x4_sad_u5:sum9_reg_reg_2_
# ** Error: /export/home/st5/h.264/sim/tsmc18.v(19720): $hold( posedge CK &&& (SandRandSEb == 1):64245 ns, posedge D:64245 ns, 500 ps );
#    Time: 64245 ns  Iteration: 2  Instance: :me_tb:ME_and_MC_u:sad_4x4_gen:h_1x4_sad_u5:sum6_reg_reg_3_
# ** Error: /export/home/st5/h.264/sim/tsmc18.v(19720): $hold( posedge CK &&& (SandRandSEb == 1):64245 ns, posedge D:64245 ns, 500 ps );
#    Time: 64245 ns  Iteration: 2  Instance: :me_tb:ME_and_MC_u:sad_4x4_gen:h_1x4_sad_u5:sum3_reg_reg_0_
# ** Error: /export/home/st5/h.264/sim/tsmc18.v(19720): $hold( posedge CK &&& (SandRandSEb == 1):64245 ns, posedge D:64245 ns, 500 ps );
#    Time: 64245 ns  Iteration: 2  Instance: :me_tb:ME_and_MC_u:sad_4x4_gen:h_1x4_sad_u5:sum1_reg_reg_1_
上面这些内容中,“19720”表示的是stand_cell的.v文件的第19720行,可以看出,都是同一stand_cell的违例,我看过了,这个stand_cell是SDFFRX1。
但是,该如何解决这些违例呢?
谢谢! 2# yohuang
发表于 2010-7-24 15:08:04 | 显示全部楼层
本帖最后由 yohuang 于 2010-7-24 16:50 编辑

很明显我们可以看到ck rising edge (当SandRandSEb == 1时)是在64245ns发生的,而数据D的变化也是在64245ns发生的,可能违反了holdtime的要求。我怀疑你的sdf文件是不是正确,或者有没有成功反标?你在生成.sdf文件的时候.lib(.db)文件用对了没有? 看看.sdf文件中这个违例的cell的timing check部分hold time是多少?是不是和.v里面默认的是一样的,如果是,就可能是没有反标对
发表于 2010-7-24 18:23:57 | 显示全部楼层
继续关注。。。
发表于 2010-7-24 18:55:40 | 显示全部楼层
关注中
 楼主| 发表于 2010-7-24 21:12:57 | 显示全部楼层
yohuang兄,你好。下面是.sdf文件中对一个SDFFRX1的延迟描述,你觉得该如何分析呢?谢谢了。
(CELL
  (CELLTYPE "SDFFRX1")
  (INSTANCE sad_4x4_gen/h_1x4_sad_u0/sum9_reg_reg_2_)
  (DELAY
    (ABSOLUTE
    (IOPATH (posedge CK) Q (1.017:1.017:1.017) (0.669:0.669:0.669))
    (IOPATH (negedge RN) Q () (0.573:0.573:0.573))
    (IOPATH (posedge CK) QN (0.273:0.273:0.273) (0.353:0.353:0.353))
    (IOPATH (negedge RN) QN (0.178:0.178:0.178) ())
    )
  )
  (TIMINGCHECK
    (WIDTH (posedge CK) (0.129:0.129:0.129))
    (WIDTH (negedge CK) (0.221:0.221:0.221))
    (SETUP (posedge D) (posedge CK) (0.131:0.132:0.132))
    (SETUP (negedge D) (posedge CK) (0.393:0.394:0.394))
    (HOLD (posedge D) (posedge CK) (-0.110:-0.110:-0.110))
    (HOLD (negedge D) (posedge CK) (-0.287:-0.289:-0.289))
    (SETUP (posedge RN) (posedge CK) (0.053:0.053:0.053))
    (HOLD (posedge RN) (posedge CK) (-0.034:-0.034:-0.034))
    (WIDTH (negedge RN) (0.192:0.192:0.192))
  )
)
4# yohuang
发表于 2010-7-25 16:13:06 | 显示全部楼层
综合后即使出现hold违例也没有必要看,因为是假的,在CTS之后才开始关注hold违例
发表于 2010-7-26 11:30:49 | 显示全部楼层
设置:
timescale 1ns/10ps
试试看。
发表于 2010-7-28 13:47:29 | 显示全部楼层
高手过招啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-6-3 06:19 , Processed in 0.037128 second(s), 8 queries , Gzip On, Redis On.

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