0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

所有的單比特信號(hào)跨時(shí)鐘域都可以用敲兩級(jí)DFF的辦法處理嗎?

冬至子 ? 來(lái)源:跟IC君一起學(xué)習(xí)集成電路 ? 作者:IC君 ? 2023-06-28 11:39 ? 次閱讀

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

NO!兩級(jí)DFF同步器,是對(duì)信號(hào)有一定的要求的。

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

圖片

圖1 快時(shí)鐘域信號(hào)傳遞到慢時(shí)鐘域

因此只有當(dāng)D1 在很長(zhǎng)一段時(shí)間內(nèi)為1或0,確保一定可以被clkb采樣到,才能用兩級(jí)DFF同步器處理。

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

1

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

圖片圖2 一種handshake電路波形

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

因?yàn)閏lk_out 和 clk_in相位關(guān)系不確定,時(shí)鐘周期大小關(guān)系不確定,無(wú)法保證一定能采樣到d_in。

因此需要把d_in展寬,產(chǎn)生d_req 信號(hào);

d_req 信號(hào)一直拉高,經(jīng)過clk_out時(shí)鐘域兩級(jí)DFF 同步器后,得到d_reg_sync;

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

此時(shí),d_in 從clk_in 傳送到clk_out 的任務(wù)就算是結(jié)束了。

但對(duì)于handshake 電路來(lái)說(shuō),任務(wù)還沒結(jié)束,因?yàn)閐_req 還一直是高電平。

因此,需要把d_req_sync 信號(hào)再用兩級(jí)DFF同步器,傳回clk_in 時(shí)鐘域,得到d_ack信號(hào);

當(dāng)clk_in 看到d_ack拉高后,就可以把d_req 信號(hào)拉低,到這里一個(gè)handshake電路行為才算是結(jié)束了。

2

根據(jù)上面的波形圖,可以看到握手協(xié)議異步信號(hào)處理并不復(fù)雜,但是細(xì)心的朋友應(yīng)該會(huì)注意到,這個(gè)處理方法信號(hào)傳遞的速度相對(duì)較慢。

從圖2 的波形來(lái)看,至少需要3個(gè)clk_in 和2個(gè)clk_out時(shí)鐘周期。根據(jù)不同的應(yīng)用需求,人們會(huì)對(duì)圖2的波形做不同的改造。但萬(wàn)變不離其宗,原理都是一樣的,電路也大同小異。

最后留4個(gè)問題供大家思考,以增進(jìn)對(duì)handshake電路的理解:

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

圖片

4.問題3里面,如果要確保D1數(shù)據(jù)一定要被能傳送到clkb,電路該如何實(shí)現(xiàn)?

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 信號(hào)處理器
    +關(guān)注

    關(guān)注

    1

    文章

    254

    瀏覽量

    25276
  • 同步器
    +關(guān)注

    關(guān)注

    1

    文章

    98

    瀏覽量

    14637
  • CLK
    CLK
    +關(guān)注

    關(guān)注

    0

    文章

    127

    瀏覽量

    17173
  • dff
    dff
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    3418
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    關(guān)于時(shí)鐘信號(hào)處理方法

    我在知乎看到了多bit信號(hào)時(shí)鐘的問題,于是整理了一下自己對(duì)于時(shí)鐘
    的頭像 發(fā)表于 10-09 10:44 ?6215次閱讀

    Verilog基本電路設(shè)計(jì)(轉(zhuǎn))收藏

    采樣來(lái)自另一個(gè)時(shí)鐘信號(hào),級(jí)數(shù)越多,同步過來(lái)的信號(hào)越穩(wěn)定。對(duì)于頻率很高的設(shè)計(jì),建議至少用三級(jí)DFF
    發(fā)表于 09-15 19:08

    如何處理好FPGA設(shè)計(jì)中時(shí)鐘問題?

    數(shù)據(jù)的時(shí)鐘問題。打拍的方式,其實(shí)說(shuō)白了,就是定義兩級(jí)寄存器,對(duì)輸入的數(shù)據(jù)進(jìn)行延拍。如下圖所示。應(yīng)該很多人都會(huì)問,為什么是打
    發(fā)表于 09-22 10:24

    探尋FPGA中三種時(shí)鐘處理方法

    數(shù)據(jù)的時(shí)鐘問題。打拍的方式,其實(shí)說(shuō)白了,就是定義兩級(jí)寄存器,對(duì)輸入的數(shù)據(jù)進(jìn)行延拍。如下圖所示。應(yīng)該很多人都會(huì)問,為什么是打
    發(fā)表于 10-20 09:27

    三種時(shí)鐘處理的方法

    單bit數(shù)據(jù)的時(shí)鐘問題?! 〈?b class='flag-5'>兩拍的方式,其實(shí)說(shuō)白了,就是定義兩級(jí)寄存器,對(duì)輸入的數(shù)據(jù)進(jìn)行延拍。如下圖所示?!   ?yīng)該很多人都會(huì)問,為
    發(fā)表于 01-08 16:55

    三種FPGA界最常用的時(shí)鐘處理法式

    寄存器,由于第二級(jí)寄存器對(duì)于亞穩(wěn)態(tài)的處理已經(jīng)起到了很大的改善作用,第三級(jí)寄存器在很大程度上可以說(shuō)只是對(duì)于第二級(jí)寄存器的延拍,所以意義是不大的
    發(fā)表于 02-21 07:00

    FPGA初學(xué)者的必修課:FPGA時(shí)鐘處理3大方法

    寄存器,由于第二級(jí)寄存器對(duì)于亞穩(wěn)態(tài)的處理已經(jīng)起到了很大的改善作用,第三級(jí)寄存器在很大程度上可以說(shuō)只是對(duì)于第二級(jí)寄存器的延拍,所以意義是不大的
    發(fā)表于 03-04 09:22

    兩級(jí)DFF同步器時(shí)鐘處理簡(jiǎn)析

    異步bus交互(一)— 兩級(jí)DFF同步器時(shí)鐘處理 & 亞穩(wěn)態(tài)
    發(fā)表于 02-17 06:34

    看看Stream信號(hào)里是如何做時(shí)鐘握手的

    target,hit這種單比特信號(hào)時(shí)鐘交互來(lái)進(jìn)行信息的交互?;谶@對(duì)信使,雙方各自定義了各自的行動(dòng)規(guī)則作為
    發(fā)表于 07-07 17:25

    高級(jí)FPGA設(shè)計(jì)技巧!多時(shí)鐘和異步信號(hào)處理解決方案

    : 打處理,即寄存拍 跨越個(gè)異步時(shí)鐘傳輸單比特
    發(fā)表于 06-02 14:26

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

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

    單bit信號(hào)時(shí)鐘傳輸可以使用兩級(jí)同步但后果呢?

    看的東西多了,發(fā)現(xiàn)有些并未領(lǐng)會(huì)到位。單bit信號(hào)時(shí)鐘傳輸,可以使用兩級(jí)同步,但后果呢?
    的頭像 發(fā)表于 05-10 10:08 ?838次閱讀
    單bit<b class='flag-5'>信號(hào)</b>的<b class='flag-5'>跨</b><b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b>傳輸<b class='flag-5'>可以</b>使用<b class='flag-5'>兩級(jí)</b>同步但后果呢?

    時(shí)鐘電路設(shè)計(jì)—單比特信號(hào)傳輸

    時(shí)鐘(CDC)的應(yīng)從對(duì)亞穩(wěn)定性和同步性的基本了解開始。
    的頭像 發(fā)表于 06-27 14:25 ?1071次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b>電路設(shè)計(jì)—<b class='flag-5'>單比特</b><b class='flag-5'>信號(hào)</b>傳輸

    感應(yīng)加熱技術(shù)有沒有缺點(diǎn)?所有的工件都可以用電磁感應(yīng)加熱設(shè)備嗎?

    感應(yīng)加熱技術(shù)有沒有缺點(diǎn)?所有的工件都可以用電磁感應(yīng)加熱設(shè)備嗎
    的頭像 發(fā)表于 12-19 14:17 ?900次閱讀

    一文解析時(shí)鐘傳輸

    采樣到的信號(hào)質(zhì)量!最常用的同步方法是雙級(jí)觸發(fā)器緩存法,俗稱延遲打拍法。信號(hào)從一個(gè)時(shí)鐘進(jìn)入另一個(gè)時(shí)鐘
    的頭像 發(fā)表于 11-16 11:55 ?535次閱讀
    一文解析<b class='flag-5'>跨</b><b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b>傳輸