zoukankan      html  css  js  c++  java
  • CDC

    CDC中最重要的问题是metastability问题。

    加入Synchronizer来进行异步时钟的同步,两级的Sync,第二级仍然会出现亚稳态的概率由MTBF决定。

    MTBF:mean time between fail,数值越大越好,MTBF=1/(Fclk*Fdata*X)。

    在频率越高的情况下,MTBF越小,而且clock周期也短,此时可以考虑4级Sync。

    在sending clock domain,先将数据用reg打一拍,消除glitch,而且减小了Fdata的频率,这样做CDC时,效果会更好。

    从一个slow clock domain到一个fast clock domain,通常不会出现问题。

    从一个fast clock domain到一个slow clock domain中时,可能会出现signal没有被采样到的情况。

    在这样的情况下,可以:

    1)open-loop;

    如果要确保信号能被下一级未经sync采样到,信号必须stay 至少3个destination clock。

    如果下级有做sync处理,信号stay1.5个destination clock即可。

    2)close-loop;

    由于req/ack的两级同步处理,会导致通信效率不高。

    多比特(Multi-bit)的CDC处理:

    1)尽量减少到1bit来进行处理;

    2)使用不同的load signal来进行传输;

    3)使用gray code;

    4)FIFO;

    由于sync的存在,第一级的sync很可能造成setup/hold的violation,所以此处在simulation的过程中

    应该关掉check。

    几种方法:

    1)关掉timing check。

    2)将lib中的FF的setup和hold time的值都改为0。

    3)copy modify FF,指定sync单元使用修改过的FF。

    4)手动或脚本修改sdf中指定路径的setup和hold的值。

    5)使用多个sdf文件,在一个文件中修改,在分别读入两个sdf文件,用后一个覆盖前一个。

    6)使用verdor提供的支持synchronizer的cell,0-setup,0-hold。

    simulation model的建立

    其中synthesis控制DC综合的流程。

  • 相关阅读:
    七牛云上传文件
    微博三方登录
    异步任务 --- django-celery
    阿里云短信服务
    Redis五大数据结构和使用方法
    千万不要买我们家的鞋子!
    Firebug控制台详解
    【转】android 按home键返回到桌面后,再按桌面应用图标又重新打开该应用的解决方法
    【转】android中webview使用的一些细节
    JSONException: Value of type java.lang.String cannot be converted to JSONObject
  • 原文地址:https://www.cnblogs.com/-9-8/p/5475159.html
Copyright © 2011-2022 走看看