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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 506|回复: 2

[求助] VCS在sim时对异步复位同步释放的寄存器报hold的violation问题,谢谢

[复制链接]
发表于 2024-8-20 16:29:24 | 显示全部楼层 |阅读模式

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

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

x
求助各位前辈,我的设计中由于时钟域很多,复位方式为异步复位同步释放,使用两级寄存器打拍,以其中一个为例,每个都一样,代码为
always @(posedge Clk_VF1 or negedge RstN_I) begin
   if(!RstN_I) begin
       RstN_S1        <= 1'b0;
       RstN_VF1 <= 1'b0;
   end else begin
       RstN_S1        <= 1'b1;
       RstN_VF1        <= RstN_S1;
   end
end

把VF1作为Clk_VF1时钟域下的复位端,我处理的思路是在DC阶段对二级寄存器的QN端进行set dont touch和set ideal network,如下:
set_dont_touch_network [get_pins T1/G1/D3/RstN_VF1_reg/QN] ;
set_ideal_network [get_pins T1/G1/D3/RstN_VF1_reg/QN] ;

然后在ICC2013后端place之前,解除ideal_network属性,以让后端按fanout去处理同步释放后的rst,指令如下
remove_ideal_network [get_pins T1_G1_D3_RstN_VF1_reg/QN] ;
最后做pt的时候也没有时序违例,也没有rec/rom的报错(进行了检查),另外对[get_pins T1/G1/D3/RstN_VF1_reg/QN] 也尝试过在DC中设置false path等,对结果也没影响,但是在vcs的sim阶段对异步复位同步释放的寄存器报了violation,如下:

"/disk2/D23_wangyunfeng/Syn_Lib/DBH_STD_1533IL11SJ_GE1P5V_21Q2_V3.4.10/verilog/DBH_1533IL11SJ_GE1P5V.v", 2954: Timing violation in tb_Time_Top.Time_Top_inst.T1_G1_D3_RSTN_VF1_REG
    $hold( posedge CK:100000000, posedge SN:100000000, limit: 64 );

"/disk2/D23_wangyunfeng/Syn_Lib/DBH_STD_1533IL11SJ_GE1P5V_21Q2_V3.4.10/VERILOG/DBH_1533IL11SJ_GE1P5V.v", 2782: Timing violation in tb_Time_Top.Time_Top_inst.T1_G1_D3_RSTN_S1_REG
    $hold( posedge CK:100000000, posedge RN:100000000, limit: 474 );

"/disk2/D23_wangyunfeng/Syn_Lib/DBH_STD_1533IL11SJ_GE1P5V_21Q2_V3.4.10/VERILOG/DBH_1533IL11SJ_GE1P5V.v", 2954: Timing violation in tb_Time_Top.Time_Top_inst.T1_G1_D3_RSTN_VF2_REG
    $hold( posedge CK:100000000, posedge SN:100000000, limit: 64 );

"/disk2/D23_wangyunfeng/Syn_Lib/DBH_STD_1533IL11SJ_GE1P5V_21Q2_V3.4.10/VERILOG/DBH_1533IL11SJ_GE1P5V.v", 2782: Timing violation in tb_Time_Top.Time_Top_inst.T1_G1_D3_RSTN_S2_REG
    $hold( posedge CK:100000000, posedge RN:100000000, limit: 474 );

"/disk2/D23_wangyunfeng/Syn_Lib/DBH_STD_1533IL11SJ_GE1P5V_21Q2_V3.4.10/VERILOG/DBH_1533IL11SJ_GE1P5V.v", 2954: Timing violation in tb_Time_Top.Time_Top_inst.T1_G1_D4.RSTN_SYNC_REG
    $hold( posedge CK:100000000, posedge SN:100000000, limit: 76 );

"/disk2/D23_wangyunfeng/Syn_Lib/DBH_STD_1533IL11SJ_GE1P5V_21Q2_V3.4.10/VERILOG/DBH_1533IL11SJ_GE1P5V.v", 2782: Timing violation in tb_Time_Top.Time_Top_inst.T1_G1_D4.RSTN_S1_REG
    $hold( posedge CK:100000000, posedge RN:100000000, limit: 487 );


"/disk2/D23_wangyunfeng/Syn_Lib/DBH_STD_1533IL11SJ_GE1P5V_21Q2_V3.4.10/VERILOG/DBH_1533IL11SJ_GE1P5V.v", 2954: Timing violation in tb_Time_Top.Time_Top_inst.T1_G1_D3_RSTN_VF1_REG
    $hold( posedge CK:1205000000, posedge SN:1205000000, limit: 64 );

"/disk2/D23_wangyunfeng/Syn_Lib/DBH_STD_1533IL11SJ_GE1P5V_21Q2_V3.4.10/VERILOG/DBH_1533IL11SJ_GE1P5V.v", 2782: Timing violation in tb_Time_Top.Time_Top_inst.T1_G1_D3_RSTN_S1_REG
    $hold( posedge CK:1205000000, posedge RN:1205000000, limit: 474 );

"/disk2/D23_wangyunfeng/Syn_Lib/DBH_STD_1533IL11SJ_GE1P5V_21Q2_V3.4.10/VERILOG/DBH_1533IL11SJ_GE1P5V.v", 2954: Timing violation in tb_Time_Top.Time_Top_inst.T1_G1_D3_RSTN_VF2_REG
    $hold( posedge CK:1205000000, posedge SN:1205000000, limit: 64 );

"/disk2/D23_wangyunfeng/Syn_Lib/DBH_STD_1533IL11SJ_GE1P5V_21Q2_V3.4.10/VERILOG/DBH_1533IL11SJ_GE1P5V.v", 2782: Timing violation in tb_Time_Top.Time_Top_inst.T1_G1_D3_RSTN_S2_REG
    $hold( posedge CK:1205000000, posedge RN:1205000000, limit: 474 );

"/disk2/D23_wangyunfeng/Syn_Lib/DBH_STD_1533IL11SJ_GE1P5V_21Q2_V3.4.10/VERILOG/DBH_1533IL11SJ_GE1P5V.v", 2954: Timing violation in tb_Time_Top.Time_Top_inst.T1_G1_D4.RSTN_SYNC_REG
    $hold( posedge CK:1205000000, posedge SN:1205000000, limit: 76 );

"/disk2/D23_wangyunfeng/Syn_Lib/DBH_STD_1533IL11SJ_GE1P5V_21Q2_V3.4.10/VERILOG/DBH_1533IL11SJ_GE1P5V.v", 2782: Timing violation in tb_Time_Top.Time_Top_inst.T1_G1_D4.RSTN_S1_REG
    $hold( posedge CK:1205000000, posedge RN:1205000000, limit: 487 );

请问各位前辈这是我对异步复位同步释放的前后端处理方式不对么,还是由什么其它原因造成的,如果有不合适的地方应该如何修改我上面的指令。因为仿真跑出的结果某个信号在经历一次组合逻辑变化后变为不定态,由于服务器vcs软件环境问题原因无法使用show schematic等操作分析根源,所以怀疑是上面的原因导致,并且上面的警告也不让我放心,请教下前辈们,谢谢
发表于 2024-8-21 20:20:05 | 显示全部楼层
从后仿真角度看,XXX_RSTN_VF1_REG,同步操作的第一级触发器可以不用检查时序,整理到一个文件里面,通过-tfile传递给工具。
 楼主| 发表于 2024-8-23 10:30:03 | 显示全部楼层


gaurson 发表于 2024-8-21 20:20
从后仿真角度看,XXX_RSTN_VF1_REG,同步操作的第一级触发器可以不用检查时序,整理到一个文件里面,通过-t ...


好的,谢谢!!后来查看确实也对后仿结果没有影响!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-27 03:42 , Processed in 0.016683 second(s), 8 queries , Gzip On, Redis On.

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