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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 18227|回复: 16

[求助] vcs后仿遇到$hold问题

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

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

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

x
本帖最后由 univerw 于 2013-12-20 22:14 编辑

代码用modelsim反标sdf的方法仿真波形是对的,但是用vcs后仿的时候,遇到以下问题:
"csm18ic.v", 8026: Timing violation in testbench.bs_modify.comp_h_reg_reg
    $hold( posedge CK:900000, posedge RN:900000, limit: 500 );
"csm18ic.v", 8026: Timing violation in testbench.bs_modify.comp_l_reg_reg
    $hold( posedge CK:900000, posedge RN:900000, limit: 500 );
"csm18ic.v", 8026: Timing violation in testbench.bs_modify.count_reg_0_
    $hold( posedge CK:900000, posedge RN:900000, limit: 500 );
"csm18ic.v", 8270: Timing violation in testbench.bs_modify.count_reg_1_
    $hold( posedge CK:900000, posedge SN:900000, limit: 500 );
"csm18ic.v", 11567: Timing violation in testbench.bs_modify.sp_reg
    $hold( posedge CK:900000, posedge SN:900000, limit: 500 );
"csm18ic.v", 11207: Timing violation in testbench.bs_modify.sn_reg
    $hold( posedge CK:900000, posedge RN &&& (xSN == 1'b1):900000, limit: 500 );
"csm18ic.v", 7967: Timing violation in testbench.bs_modify.comp_reg_reg
    $hold( posedge CK:900000, posedge RN:900000, limit: 500 );
还有一些,问题跟上面的这两类一样,不明所以。。。求指教。。。上个仿真图:
QQ截图20131220221425.png
发表于 2013-12-20 23:40:38 | 显示全部楼层
之前听过一段话:后仿的时候sdf不能有hold违反吧。
同向各位大神求助这句话是否有问题
 楼主| 发表于 2013-12-21 10:01:34 | 显示全部楼层
reset结束之前波形都是对的,但是在reset结束的时候sp、sn出现了x态,是vcs哪里没用对还是时序确实有问题,求指教。
 楼主| 发表于 2013-12-21 16:26:40 | 显示全部楼层
好吧,之前的问题是因为sdf没标上。。。。但是标上以后出现了下面的问题:
SDF Info: +pulse_r/100, +pulse_e/100 in effect

Warning-[SDFCOM_IWSBA] INTERCONNECT will still be annotated
DSM_201302.SDF, 377
module: XOR2XL, "instance: testbench.dsm_201302_inst.add_38.U2"
  SDF Warning: INTERCONNECT from add_38.U2.Y to
  add_0_root_add_0_root_add_41_2.U36.B0 has Instance at DSM_201302_HIER.v:393,
  delay will still be annotated.


Warning-[SDFCOM_UHICD] Up-hierarchy Interconnect Delay ignored
DSM_201302.SDF, 902
module: DFFSRHQX1, "instance: testbench.dsm_201302_inst.P_reg_0_"
  SDF Warning: INTERCONNECT Delay to up-hierarchy destination accOutput is
  ignored, DEVICE Delay on port 'Q' applied.
  Up-hierarchy interconnect delay arises when the load is hierarchically above
  the source.


Warning-[SDFCOM_UHICD] Up-hierarchy Interconnect Delay ignored
DSM_201302.SDF, 903
module: DFFSRHQX1, "instance: testbench.dsm_201302_inst.P_reg_1_"
  SDF Warning: INTERCONNECT Delay to up-hierarchy destination accOutput is
  ignored, DEVICE Delay on port 'Q' applied.
  Up-hierarchy interconnect delay arises when the load is hierarchically above
  the source.


Warning-[SDFCOM_UHICD] Up-hierarchy Interconnect Delay ignored
DSM_201302.SDF, 904
module: DFFSRHQX1, "instance: testbench.dsm_201302_inst.P_reg_2_"
  SDF Warning: INTERCONNECT Delay to up-hierarchy destination accOutput is
  ignored, DEVICE Delay on port 'Q' applied.
  Up-hierarchy interconnect delay arises when the load is hierarchically above
  the source.


Warning-[SDFCOM_UHICD] Up-hierarchy Interconnect Delay ignored
DSM_201302.SDF, 905
module: DFFSRHQX1, "instance: testbench.dsm_201302_inst.P_reg_3_"
  SDF Warning: INTERCONNECT Delay to up-hierarchy destination accOutput is
  ignored, DEVICE Delay on port 'Q' applied.
  Up-hierarchy interconnect delay arises when the load is hierarchically above
  the source.


Warning-[SDFCOM_UHICD] Up-hierarchy Interconnect Delay ignored
DSM_201302.SDF, 906
module: DFFSRHQX1, "instance: testbench.dsm_201302_inst.P_reg_4_"
  SDF Warning: INTERCONNECT Delay to up-hierarchy destination accOutput is
  ignored, DEVICE Delay on port 'Q' applied.
  Up-hierarchy interconnect delay arises when the load is hierarchically above
  the source.


Warning-[SDFCOM_UHICD] Up-hierarchy Interconnect Delay ignored
DSM_201302.SDF, 907
module: DFFSRHQX1, "instance: testbench.dsm_201302_inst.P_reg_5_"
  SDF Warning: INTERCONNECT Delay to up-hierarchy destination accOutput is
  ignored, DEVICE Delay on port 'Q' applied.
  Up-hierarchy interconnect delay arises when the load is hierarchically above
  the source.


Warning-[SDFCOM_CFTC] Cannot find timing check
DSM_201302.SDF, 4836
module: DFFRXL, "instance: testbench.dsm_201302_inst.Out_offset_reg_0_"
  SDF Warning: Cannot find timing check $recovery(posedge RN,posedge CK,...)
      


Warning-[SDFCOM_CFTC] Cannot find timing check
DSM_201302.SDF, 4858
module: DFFSRHQX1, "instance: testbench.dsm_201302_inst.K_out_reg_1_"
  SDF Warning: Cannot find timing check $recovery(posedge SN,posedge CK,...)
      

All future warnings not reported; use +sdfverbose to report them.

Warning-[SDFCOM_CFTC] Cannot find timing check
DSM_201302.SDF, 4860
module: DFFSRHQX1, "instance: testbench.dsm_201302_inst.K_out_reg_1_"
  SDF Warning: Cannot find timing check $recovery(posedge RN,posedge CK,...)
      


          Total errors: 0
          Total warnings: 105
   ***    SDF annotation completed: Sat Dec 21 15:23:05 2013


Starting vcs inline pass...
478 modules and 17 UDPs read.
        However, due to incremental compilation, no re-compilation is necessary.
ld -r -m elf_i386 -o pre_vcsobj_1_1.o --whole-archive pre_vcsobj_1_1.a --no-whole-archive
ld -r -m elf_i386 -o pre_vcsobj_1_2.o --whole-archive pre_vcsobj_1_2.a --no-whole-archive
if [ -x ../simv ]; then chmod -x ../simv; fi
g++  -o ../simv -melf_i386   -Wl,-whole-archive    -Wl,-no-whole-archive   SIM_l.o 5NrI_d.o 5NrIB_d.o    pre_vcsobj_1_1.o pre_vcsobj_1_2.o  rmapats_mop.o rmapats.o      /home/tian/programs/synopsys/vcs/linux/lib/libvirsim.so /home/tian/programs/synopsys/vcs/linux/lib/librterrorinf.so /home/tian/programs/synopsys/vcs/linux/lib/libsnpsmalloc.so /home/tian/programs/verdi/share/PLI/vcs/LINUX/pli.a     /home/tian/programs/synopsys/vcs/linux/lib/libvcsnew.so /home/tian/programs/synopsys/vcs/linux/lib/libuclinative.so         /home/tian/programs/synopsys/vcs/linux/lib/vcs_save_restore_new.o /home/tian/programs/synopsys/vcs/linux/lib/ctype-stubs_32.a -ldl -lm  -lc -lpthread -ldl
../simv up to date
Chronologic VCS simulator copyright 1991-2011
Contains Synopsys proprietary information.
Compiler version E-2011.03; Runtime version E-2011.03;  Dec 21 15:23 2013

Doing SDF annotation ...... Done

"csm18ic.v", 9109: Timing violation in testbench.dsm_201302_inst.K_out_reg_2_
    $hold( posedge RN:882, posedge SN:1369, limit: 1000 );


"csm18ic.v", 9109: Timing violation in testbench.dsm_201302_inst.P_reg_2_
    $hold( posedge RN:882, posedge SN:1370, limit: 1000 );


"csm18ic.v", 9109: Timing violation in testbench.dsm_201302_inst.P_reg_3_
    $hold( posedge RN:885, posedge SN:1374, limit: 1000 );

"csm18ic.v", 9109: Timing violation in testbench.dsm_201302_inst.K_out_reg_3_
    $hold( posedge RN:885, posedge SN:1374, limit: 1000 );


"csm18ic.v", 9109: Timing violation in testbench.dsm_201302_inst.K_out_reg_0_
    $hold( posedge RN:777, posedge SN:1376, limit: 1000 );

"csm18ic.v", 9109: Timing violation in testbench.dsm_201302_inst.P_reg_0_
    $hold( posedge RN:777, posedge SN:1376, limit: 1000 );


"csm18ic.v", 9109: Timing violation in testbench.dsm_201302_inst.K_out_reg_5_
    $hold( posedge RN:885, posedge SN:1392, limit: 1000 );


"csm18ic.v", 9109: Timing violation in testbench.dsm_201302_inst.P_reg_5_
    $hold( posedge RN:885, posedge SN:1393, limit: 1000 );


"csm18ic.v", 9109: Timing violation in testbench.dsm_201302_inst.P_reg_4_
    $hold( posedge RN:901, posedge SN:1400, limit: 1000 );


"csm18ic.v", 9109: Timing violation in testbench.dsm_201302_inst.K_out_reg_4_
    $hold( posedge RN:901, posedge SN:1401, limit: 1000 );


"csm18ic.v", 9109: Timing violation in testbench.dsm_201302_inst.K_out_reg_1_
    $hold( posedge RN:880, posedge SN:1404, limit: 1000 );


"csm18ic.v", 9109: Timing violation in testbench.dsm_201302_inst.P_reg_1_
    $hold( posedge RN:880, posedge SN:1406, limit: 1000 );


"csm18ic.v", 9110: Timing violation in testbench.dsm_201302_inst.K_out_reg_0_
    $hold( posedge SN:80505, posedge RN:80777, limit: 1000 );

"csm18ic.v", 9110: Timing violation in testbench.dsm_201302_inst.P_reg_0_
    $hold( posedge SN:80505, posedge RN:80777, limit: 1000 );


"csm18ic.v", 9110: Timing violation in testbench.dsm_201302_inst.K_out_reg_1_
    $hold( posedge SN:80539, posedge RN:80880, limit: 1000 );

"csm18ic.v", 9110: Timing violation in testbench.dsm_201302_inst.P_reg_1_
    $hold( posedge SN:80541, posedge RN:80880, limit: 1000 );


"csm18ic.v", 9110: Timing violation in testbench.dsm_201302_inst.P_reg_2_
    $hold( posedge SN:80495, posedge RN:80882, limit: 1000 );

"csm18ic.v", 9110: Timing violation in testbench.dsm_201302_inst.K_out_reg_2_
    $hold( posedge SN:80494, posedge RN:80882, limit: 1000 );


"csm18ic.v", 9110: Timing violation in testbench.dsm_201302_inst.P_reg_3_
    $hold( posedge SN:80471, posedge RN:80885, limit: 1000 );

"csm18ic.v", 9110: Timing violation in testbench.dsm_201302_inst.K_out_reg_3_
    $hold( posedge SN:80471, posedge RN:80885, limit: 1000 );


"csm18ic.v", 9110: Timing violation in testbench.dsm_201302_inst.P_reg_4_
    $hold( posedge SN:80503, posedge RN:80901, limit: 1000 );

"csm18ic.v", 9110: Timing violation in testbench.dsm_201302_inst.K_out_reg_4_
    $hold( posedge SN:80504, posedge RN:80901, limit: 1000 );

经检查,所有出现violation的均为output端口,不知道是不是因为有些delay没加进去引起的还是确实是约束有问题?
发表于 2014-5-6 18:17:21 | 显示全部楼层
请问你这个问题解决了吗  我现在遇到了同样的问题,求解答
 楼主| 发表于 2014-5-6 19:33:06 | 显示全部楼层
回复 5# ziseouranle
两个建议:1、把reset时间加长;
              2、把sdf用PT处理一下,再用PT输出sdf做后仿
发表于 2015-6-1 16:57:25 | 显示全部楼层
我也出现这样的问题   我在modelsim仿真是通过的  VCS就一直卡在那  波形就全是黄色的
发表于 2015-6-1 18:03:25 | 显示全部楼层
先解决hold timing问题吧,
发表于 2015-6-8 17:03:21 | 显示全部楼层
遇到了同样的问题,请问楼主是怎么解决的?
发表于 2015-9-13 22:56:24 | 显示全部楼层
二楼说的对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2025-4-30 12:17 , Processed in 0.026681 second(s), 8 queries , Gzip On, MemCached On.

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