请选择 进入手机版 | 继续访问电脑版
搜索
专业IC版图外包服务 微信:drclvs
广告位:SY02 广告业务联系QQ:3173974412
无锡芯满微电子有限公司---专业研发电机驱动芯片
IC设计论坛----ictown.com
广告位:SY05 广告业务联系QQ:3173974412
查看: 33|回复: 4

[咨询求助] 后仿真反标SDF问题

[复制链接]

7

主题

8

帖子

37

E币

技术员

Rank: 2

积分
15
发表于 2019-10-31 09:35:43 | 显示全部楼层 |阅读模式
请问有人在做综合后仿真时,有没有遇到这样的问题呐?
ncelab: *W,SDFNET: Unable to annotate to non-existent timing check (REMOVAL (posedge RB) (posedge CK) (103174)) of instance test_aes_128.uut.inst_Core.a2.\k0a_reg[26]  of module DFQRXM1RA <../synthesis/gate/aes_128_split_na.sdf, line 143466>.

这种反标不上是怎么回事呐?
首先说明的是,在我的lib文件中是有关于改触发器的removal时序的,
另外在提供的verilog model中,也有specify。
寻求各位的帮助!!
积分规则
回复

使用道具 举报

26

主题

28

帖子

60

E币

技术员

Rank: 2

积分
54
发表于 2019-10-31 17:30:22 | 显示全部楼层
會不會是define沒選擇正確?
回复 支持 反对

使用道具 举报

7

主题

14

帖子

21

E币

技术员

Rank: 2

积分
21
发表于 2019-10-31 17:31:01 | 显示全部楼层
确认一下报错的寄存器路径在网表和SDF里面是不是都存在?
回复 支持 反对

使用道具 举报

7

主题

8

帖子

37

E币

技术员

Rank: 2

积分
15
 楼主| 发表于 2019-10-31 17:33:47 | 显示全部楼层
胡露 发表于 2019-10-31 17:31
确认一下报错的寄存器路径在网表和SDF里面是不是都存在?

报错的寄存器在.lib和verilog model,以及SDF中都是存在的
(1) SDF中
  (CELL
     (CELLTYPE "DFQRXM4RA")
     (INSTANCE inst_Core.a1.S4_0.S_0.out_reg[0])
     (DELAY
        (ABSOLUTE
          (PORT RB (::0.0))
          (PORT CK (::0.0))
          (PORT D (::0.0))
          (IOPATH RB Q () (::87068))
          (IOPATH CK Q (::169104) (::204988))
        )
     )
     (TIMINGCHECK
        (REMOVAL (posedge RB) (posedge CK) (::96023))
        (RECOVERY (posedge RB) (posedge CK) (::-37630))
        (SETUPHOLD (negedge D) (COND adacond_RB (posedge CK)) (::56220) (::17686))
        (SETUPHOLD (posedge D) (COND adacond_RB (posedge CK)) (::100124) (::-43486))
     )
  )


(2)Verilog model中
        specify
                (negedge RB => (Q+:1'b0)) = 0;
                (posedge CK => (Q+)) = 0;
                $setuphold (posedge CK &&& adacond_RB, posedge D &&& adacond_RB, 0, 0, notifier,,, delayed_CK, delayed_D);
                $setuphold (posedge CK &&& adacond_RB, negedge D &&& adacond_RB, 0, 0, notifier,,, delayed_CK, delayed_D);
                $recovery (posedge RB, posedge CK, 0, notifier);
                $hold (posedge CK, posedge RB, 0, notifier);
                $width (negedge RB, 0, 0, notifier);
                $width (posedge CK, 0, 0, notifier);
                $width (negedge CK, 0, 0, notifier);
        endspecify


(3)lib中
                         rise_constraint (constraint_template_3x3) {
                                 index_1 ("2, 20, 200");
                                 index_2 ("2, 20, 200");
                                 values ( \
                                         "-39.9499, -51.6369, -168.385", \
                                         "-49.1528, -60.9628, -176.849", \
                                         "31.9458, 19.5018, -105.14" \
                                 );
                         }
                 }
                 timing () {
                         related_pin : "CK";
                         sdf_edges : both_edges;
                         timing_type : removal_rising;
                         rise_constraint (constraint_template_3x3) {
                                 index_1 ("2, 20, 200");
                                 index_2 ("2, 20, 200");
                                 values ( \
                                         "97.5979, 107.965, 213.6", \
                                         "101.4, 111.749, 217.04", \
                                         "159.54, 170.01, 275.754" \
                                 );
                         }
回复 支持 反对

使用道具 举报

14

主题

32

帖子

96

E币

技术员

Rank: 2

积分
46
发表于 2019-10-31 17:34:54 | 显示全部楼层
你的SDF中有remoal的时序检查,但是specify块中没有,就导致SDF无法反标到对应的specify块中了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|EDABOSS电子论坛

GMT+8, 2019-11-16 06:29 , Processed in 0.062923 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表