• 關於跨clock domain處理的觀念


    做為一個數位設計的工程師,最常遇到的情形就是訊號需要跨clock domain的處理。能使用的解決方法有很多,每個需要處理的情況也不儘相同,所以我並不就實作方法著眼,只想談談處理它的概念。

    為什麼要處理跨clock domain的訊號?

    使用來自其它clock domain的訊號時,容易會遇到metastable的情形,而致使產生錯誤結果。為了避免錯誤的發生,此時就需要同步來自其他clock domain的訊號。但是要怎麼做,才能做好同步處理?如果可以謹記下面的觀念,相信您一定就可以做出自已的同步訊號處理。

    1. 遵守two-flip-flop的方法。

    處理metastable的最基本的步驟就是用本身的clock來做two-flip-flop的同步。(這是每位數位工程師都要謹記,不可忽略的步驟)

     

    QB就是經過兩個Flip-Flop後的訊號。用QB的訊號做為控制訊號,相信就可以避免metastable產生。

    2. 分類同步訊號是哪一種?

    是長脈衝訊號(long pulse),還是單脈衝訊號(one-pulse) ? 如果是長脈衝訊號,利用第一點的方法,相信就可以解決。如果是單脈衝訊號,想辦法轉成長脈衝訊號後,再利用第一點的方法即可以解決。

     

    3.是連續單脈衝訊號還是不連續單脈衝訊號?

    如果是不連續單脈衝訊號,而且每個單脈衝訊號之間的同步並不會互相影響的話,相信用第二點的方法就可以解決。但是如果是連續單脈衝訊號,想辦法變成不連續單脈衝訊號,然後再用第二點的方法就可以解決。坊間有很多種的方法,網路搜尋一下就可以找到了,在此就不赘敘。

    4. 上面所說的,都是單一訊號的同步處理,切記,address、data都是不可能拿來同步處理。

    5. 所有同步處理,最終都是回到第一點的情形去處理。

    如果你抓住這些基本觀念,相信你也一定可以設計出你自己的同步處理裝置。

    以上的觀念,希望能對你有所幫助。

  • 相关阅读:
    (笔试题)机器人的运动范围
    (排序)快速排序QuickSort
    (笔试题)风口的猪-中国牛市
    (笔试题)小米Git
    同一片蓝天下,有些人以你想象不到的方式活着
    为什么那么多人工作都不开心?
    比你优秀的人都在努力
    海马体记忆训练:让你拥有超常记忆力
    致青春:不虚度,是对青春最好的交代
    你的袜子还是干的吗?
  • 原文地址:https://www.cnblogs.com/orchid123/p/3543352.html
Copyright © 2020-2023  润新知