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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: jun_dahai

[原创] specify block的总结

[复制链接]
 楼主| 发表于 2012-1-13 16:28:34 | 显示全部楼层
      TIMINGCHECK部分:
timing check.GIF
      例4:
          SDF文件:(SETUP (posedge data) (posedge clk) (3::4));
                        (HOLD  (posedge data) (posedge clk) (1::2));
          verilog timing checks:$setup (posedge data, posedge clk, 1);
                                          $hold   (posedge clk, posedge data, 2);

      例5:
          SDF文件:(SETUP (posedge data) (COND rb==1'b1 (posedge clk)) (3::4));
                        (HOLD  (posedge data) (COND rb==1'b1 (posedge clk)) (1::2));
          verilog timing checks:$setup (posedge data, posedge clk &&& rb, 1);
                                          $hold   (posedge clk &&& rb, posedge data, 2);
 楼主| 发表于 2012-1-13 16:29:22 | 显示全部楼层
LABEL部分:
      例6:
         SDF文件:(LABEL
                           (ABSOLUTE
                               (dh 60)
                               (dl  40)))
         verilog文件:specparam dh = 60, dl=40;
      SDF文件反标是一个有序的过程,这就意味着对于同一对source/load,后续的信息可能修改(INCREMENT)或者覆盖(ABSOLUTE)前面已经声明过的信息,这在反标($sdf_annotate)多个SDF文件时,就很可能发生的。

      例7:覆盖前面的延时信息
            (DELAY
                (ABSOLUTE
                (IOPATH A Z (1) (2))
                (IOPATH A Z (2) (3))))
 楼主| 发表于 2012-1-13 16:32:00 | 显示全部楼层
我分成了几个小片,既方便看,也方便检错,希望可以帮到大家哈
发表于 2012-1-17 01:27:03 | 显示全部楼层
關於 verilog 的所有語法及說明可以參考 cadence ncverilog 中的說明,檔名好像是 vlgref.pdf (在 verilog-XL 的時代就有了),在那裏面就可以找到 standard cell 是如何 model function 和 timing 。
发表于 2012-8-20 15:57:23 | 显示全部楼层
本帖最后由 wdm518 于 2012-8-20 15:58 编辑

$width(posedge A,time);
$hold();
$setup();
类似这种check 函数.
check 的result 再哪里可以看到. 我用的是vcs. 谢谢.
发表于 2012-8-20 17:10:17 | 显示全部楼层
回复 13# jun_dahai


    希望可以做成PDF文档,方便大家传阅
发表于 2012-8-24 15:15:05 | 显示全部楼层
回复 8# jun_dahai

l
   楼主你好 我有二个疑问.

     width:$width (controlled_reference_event, limit, threshold, notifier);  限制最小脉宽
           $width (posedge in, 2, notifier);

      这里data_event是隐含的,它等于reference_event的相反边缘,当width < limit时,就会报告width time violations。

整个系统函数 调用的时候 notifier 是个什么意思? 自己定义reg notifier ?

threshold整个参数可以省略吗($width (posedge in, 2, notifier);)?


当width < limit时,就会报告width time violations。
报告width time violations 再哪里看.我用的是vcs 最后整个result 怎么看. 我的意思是类似$display 之类的result


谢谢..

 楼主| 发表于 2012-8-27 09:08:42 | 显示全部楼层
回复 17# wdm518


    notifier是通告符,定义为REG类型,如果你激活了仿真工具的相应选项,那么在仿真的过程中,当你遇到TIMING VIOLATIONS时,notifier就会从X状态变成稳定的0/1,并且DUT的所有数据就会全部变成X状态,仿真到此为止

    可以不用管threshold,但如果你定义notifier标志时,需要用两个逗号隔开,表示使用默认shreshold值,比如:
    $width(posedge dat, 1 ,, notifier);

    可以在log file里查看
发表于 2012-8-28 09:12:12 | 显示全部楼层
大哥有QQ吗 加个吧.还是不明白.反正我的log 没有任何TIMING VIOLATIONS的信息.
我把limit 设置成1 . 判断的肯定大于1 . 没有任何 VIOLATIONS的信息.谢谢.
我QQ: 350236118.
发表于 2012-8-28 09:13:26 | 显示全部楼层
回复 18# jun_dahai


    notifier是通告符,定义为REG类型,如果你激活了仿真工具的相应选项,

整个选项再哪里选. 我用的vcs + verdi.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-23 11:28 , Processed in 0.020887 second(s), 7 queries , Gzip On, Redis On.

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