var jinsom = {"post_id":100,"post_url":"http:\/\/www.52-ic.com\/100.html","post_type":"","post_reprint":"","is_bbs_post":0,"bbs_id":14,"site_name":"\u543e\u7231IC\u793e\u533a","ajax_url":"http:\/\/www.52-ic.com\/wp-admin\/admin-ajax.php","admin_url":"http:\/\/www.52-ic.com\/wp-admin\/","home_url":"http:\/\/www.52-ic.com","member_url":"http:\/\/www.52-ic.com\/author\/0","permalink_structure":1,"member_url_permalink":"http:\/\/www.52-ic.com\/author\/0?","theme_url":"http:\/\/www.52-ic.com\/wp-content\/themes\/LightSNS_1.6.26.01","page_template":"","user_url":"http:\/\/www.52-ic.com\/author\/0","current_url":"http:\/\/www.52-ic.com\/100.html","jinsom_ajax_url":"http:\/\/www.52-ic.com\/wp-content\/themes\/LightSNS_1.6.26.01\/module","mobile_ajax_url":"http:\/\/www.52-ic.com\/wp-content\/themes\/LightSNS_1.6.26.01\/mobile\/module","module_url":"http:\/\/www.52-ic.com\/wp-content\/themes\/LightSNS_1.6.26.01\/module","user_id":0,"ip":"154.219.165.173","nickname":false,"nickname_base":false,"nickname_link":"<\/a>","current_user_name":false,"user_name":"<\/a>","user_on_off":1,"perfect":0,"is_vip":0,"is_author":0,"is_single":1,"is_tag":0,"is_page":0,"is_home":0,"is_category":0,"is_login":0,"is_black":0,"app":"http:\/\/www.52-ic.com\/wp-content\/themes\/LightSNS_1.6.26.01\/mobile\/","api":"http:\/\/www.52-ic.com\/wp-content\/themes\/LightSNS_1.6.26.01\/api\/","loading":"
<\/i><\/i><\/i><\/div><\/div>","info_loading":"

\u8d44\u6599\u52a0\u8f7d\u4e2d...<\/p><\/div>","verify":"","vip":"","vip_icon":"","lv":"<\/span>","exp":0,"honor":"","avatar":"","is_admin":0,"credit":false,"wechat_cash":0,"alipay_cash":0,"certification":1,"have_phone":0,"user_verify":false,"credit_name":"\u94bb\u77f3","video_logo":"","cash_ratio":"10000","cash_mini_number":"5","qq_login":"","weibo_login":0,"wechat_login":0,"login_on_off":0,"editor_upload":"","referral_link_name":"t","words_images_max":"12","jquery":"\/\/cdn.jsdelivr.net\/npm\/jquery@3.2.1\/dist\/jquery.min.js","mobile_page":"{\"custom\":\"\\u81ea\\u5b9a\\u4e49\\u9875\\u9762\",\"notice\":\"\\u6d88\\u606f\\u9875\\u9762\",\"publish\":\"\\u53d1\\u5e03\\u6309\\u94ae\",\"find\":\"\\u53d1\\u73b0\\u9875\\u9762\"}"};

  • 查看作者
  • 深度解析create_clock与create_generated_clock的区别

    吾爱IC社区将用本文为各位揭秘create_clock与create_generated_clock之间的联系和区别,为何要单独create一个generated_clock,以及这两种方式create的clock,它们clock之间的联系以及timing check。

     

    create_generated_clock 是用来说明generated clock与source clock的相位(边沿)关系,同时根据source  clock找到master clock以及source clock 和master clock的关系,
    最终会确定generated clock和master clock的相位(边沿)关系。

    所以在genereated clock的时候一定要明确generated clock与master clock的相位关系(rise->rise or rise->fall or fall->rise or fall->fall),这些关系由桥梁source clock嫁接,所以需要明确generated clock和source clock,以及source clock和master clock的关系,如果根据声明找到的generated clock和master clock的关系和实际的关系不一致,否则会造成一些分析错误。

    如:sta的时候找不到generated clock和source clock相位关系,会将generated clock的source latency 设置为0

    如下图:

    如果直接声明如下,

    create_clock -period 10 clk

    create_generated_clock -name CLKdiv2 \

    -divide_by 2 \

    -source clk \

    [get_pins Udiv/Q]

    那么根据声明,generated 和master clock的关系如下(工具会根据source clock 找到master clock,并确定source clock 和master clock的关系,当前source clock即master clock)

    上面的STA 分析其实是错误,可以看到timing report:

    而实际上的,generated 和 master clock的关系如下

    对应的timing report:

    解决方法有2种:
    1.  改变generated clock的source,即让generated clock和source clock的路径唯一且单一(单一是指,声明的相位边沿关系和实际的相位边沿关系一致)。一般做法就是将source clock设置在触发器的clock端。如下:

    create_generated_clock -name CLKdiv2 \

    -divide_by 2 \

    -source [get_pins Udiv/CP] \

    [get_pins Udiv/Q]

    这样generated clock和source clock的关系和声明的一直。工具会根据声明的source clock 找到它的master clock,同时确定source clock和master clock相位相反的关系,由此就确定了generated clock和master clock的关系。

    2. 直接声明generated clock和master clock的相位边沿关系。如下:
    create_generated_clock \
    -name CLKdiv2 \
     -edges {2 4 6}
     -source CLK \
    [get_pins Udiv/Q]

  • 0
  • 3
  • 0
  • 2.1k
  • 0
    好文章!666,学习了
  • 0
    Thanks for finally talking about >深度解析create_clock与create_generated_clock的区别 - 吾爱IC社区 <Loved it! 网站链接
  • 单栏布局 侧栏位置: