精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

所有的單比特信號跨時鐘域都可以用敲兩級DFF的辦法處理嗎?

冬至子 ? 來源:跟IC君一起學習集成電路 ? 作者:IC君 ? 2023-06-28 11:39 ? 次閱讀

用敲兩級DFF的辦法(兩級DFF同步器)可以實現單比特信號時鐘域處理。但你或許會有疑問,是所有的單比特信號跨時鐘域都可以這么處理嗎?

NO!兩級DFF同步器,是對信號有一定的要求的。

想象一下,如果頻率較高的時鐘域A中的信號D1 要傳到頻率較低的時鐘域B,但是D1只有一個時鐘脈沖寬度(1T),clkb 就有幾率采不到D1了,如圖1。

圖片

圖1 快時鐘域信號傳遞到慢時鐘域

因此只有當D1 在很長一段時間內為1或0,確保一定可以被clkb采樣到,才能用兩級DFF同步器處理。

如果信號D1 只有1T或幾個T的脈寬,又需要傳到時鐘頻率較低甚至或快或慢不確定的時鐘域B,這種情況該怎么如何處理呢?

1

握手協議(handshake)異步信號處理是一種常見的異步信號處理方法。常見的握手協議異步信號處理行為波形圖大致如下圖2:

圖片圖2 一種handshake電路波形

信號d_in 所處時鐘域是clk_in,且d_in只有1T 的寬度,想要傳送到clk_out 時鐘域(clk_out 跟clk_in不相關)。

因為clk_out 和 clk_in相位關系不確定,時鐘周期大小關系不確定,無法保證一定能采樣到d_in。

因此需要把d_in展寬,產生d_req 信號;

d_req 信號一直拉高,經過clk_out時鐘域兩級DFF 同步器后,得到d_reg_sync;

取d_req_sync 上升沿1T,即可得到傳送到clk_out 時鐘域的d_out。

此時,d_in 從clk_in 傳送到clk_out 的任務就算是結束了。

但對于handshake 電路來說,任務還沒結束,因為d_req 還一直是高電平。

因此,需要把d_req_sync 信號再用兩級DFF同步器,傳回clk_in 時鐘域,得到d_ack信號;

當clk_in 看到d_ack拉高后,就可以把d_req 信號拉低,到這里一個handshake電路行為才算是結束了。

2

根據上面的波形圖,可以看到握手協議異步信號處理并不復雜,但是細心的朋友應該會注意到,這個處理方法信號傳遞的速度相對較慢。

從圖2 的波形來看,至少需要3個clk_in 和2個clk_out時鐘周期。根據不同的應用需求,人們會對圖2的波形做不同的改造。但萬變不離其宗,原理都是一樣的,電路也大同小異。

最后留4個問題供大家思考,以增進對handshake電路的理解:

  1. 圖2中的d_req的邏輯怎么實現?
  2. 圖2中的d_out的邏輯怎么實現?
  3. 假設時鐘域clka比clkb 頻率高,如果輸入信號的兩個相鄰脈沖D0和D1非常較近,如下圖所示,如果使用握手協議處理,會發生怎樣的事情?

圖片

4.問題3里面,如果要確保D1數據一定要被能傳送到clkb,電路該如何實現?

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 信號處理器
    +關注

    關注

    1

    文章

    251

    瀏覽量

    25252
  • 同步器
    +關注

    關注

    1

    文章

    94

    瀏覽量

    14617
  • CLK
    CLK
    +關注

    關注

    0

    文章

    127

    瀏覽量

    17126
  • dff
    dff
    +關注

    關注

    0

    文章

    26

    瀏覽量

    3400
收藏 人收藏

    評論

    相關推薦

    關于時鐘信號處理方法

    我在知乎看到了多bit信號時鐘的問題,于是整理了一下自己對于時鐘
    的頭像 發表于 10-09 10:44 ?5992次閱讀

    Verilog基本電路設計(轉)收藏

    采樣來自另一個時鐘信號,級數越多,同步過來的信號越穩定。對于頻率很高的設計,建議至少用三DFF
    發表于 09-15 19:08

    如何處理好FPGA設計中時鐘問題?

    數據的時鐘問題。打拍的方式,其實說白了,就是定義兩級寄存器,對輸入的數據進行延拍。如下圖所示。應該很多人都會問,為什么是打
    發表于 09-22 10:24

    探尋FPGA中三種時鐘處理方法

    數據的時鐘問題。打拍的方式,其實說白了,就是定義兩級寄存器,對輸入的數據進行延拍。如下圖所示。應該很多人都會問,為什么是打
    發表于 10-20 09:27

    三種時鐘處理的方法

    單bit數據的時鐘問題。  打拍的方式,其實說白了,就是定義兩級寄存器,對輸入的數據進行延拍。如下圖所示。    應該很多人都會問,為
    發表于 01-08 16:55

    三種FPGA界最常用的時鐘處理法式

    寄存器,由于第二寄存器對于亞穩態的處理已經起到了很大的改善作用,第三寄存器在很大程度上可以說只是對于第二寄存器的延拍,所以意義是不大的
    發表于 02-21 07:00

    FPGA初學者的必修課:FPGA時鐘處理3大方法

    寄存器,由于第二寄存器對于亞穩態的處理已經起到了很大的改善作用,第三寄存器在很大程度上可以說只是對于第二寄存器的延拍,所以意義是不大的
    發表于 03-04 09:22

    兩級DFF同步器時鐘處理簡析

    異步bus交互(一)— 兩級DFF同步器時鐘處理 & 亞穩態
    發表于 02-17 06:34

    看看Stream信號里是如何做時鐘握手的

    target,hit這種單比特信號時鐘交互來進行信息的交互。基于這對信使,雙方各自定義了各自的行動規則作為
    發表于 07-07 17:25

    高級FPGA設計技巧!多時鐘和異步信號處理解決方案

    : 打處理,即寄存拍 跨越個異步時鐘傳輸單比特
    發表于 06-02 14:26

    異步bus交互(一)— 兩級DFF同步器

    異步bus交互(一)— 兩級DFF同步器時鐘處理 & 亞穩態
    發表于 12-22 19:07 ?0次下載
    異步bus交互(一)— <b class='flag-5'>兩級</b><b class='flag-5'>DFF</b>同步器

    單bit信號時鐘傳輸可以使用兩級同步但后果呢?

    看的東西多了,發現有些并未領會到位。單bit信號時鐘傳輸,可以使用兩級同步,但后果呢?
    的頭像 發表于 05-10 10:08 ?810次閱讀
    單bit<b class='flag-5'>信號</b>的<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>傳輸<b class='flag-5'>可以</b>使用<b class='flag-5'>兩級</b>同步但后果呢?

    時鐘電路設計—單比特信號傳輸

    時鐘(CDC)的應從對亞穩定性和同步性的基本了解開始。
    的頭像 發表于 06-27 14:25 ?1014次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>電路設計—<b class='flag-5'>單比特</b><b class='flag-5'>信號</b>傳輸

    感應加熱技術有沒有缺點?所有的工件都可以用電磁感應加熱設備嗎?

    感應加熱技術有沒有缺點?所有的工件都可以用電磁感應加熱設備嗎
    的頭像 發表于 12-19 14:17 ?825次閱讀

    一文解析時鐘傳輸

    采樣到的信號質量!最常用的同步方法是雙觸發器緩存法,俗稱延遲打拍法。信號從一個時鐘進入另一個時鐘
    的頭像 發表于 11-16 11:55 ?320次閱讀
    一文解析<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>傳輸