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

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

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

時(shí)鐘同步的總線電路方案

CHANBAEK ? 來源:老戚的硬件筆記 ? 作者:老戚的硬件筆記 ? 2023-06-23 17:53 ? 次閱讀

高速數(shù)字電路模塊通常以 同步 (synchronous)電路的形式實(shí)現(xiàn),它們由一個或者多個時(shí)鐘驅(qū)動(觸發(fā))。對于 單一時(shí)鐘(域) 的同步電路而言,只要輸入和時(shí)鐘的關(guān)系滿足 建立(setup)時(shí)間 、保持(hold)時(shí)間的時(shí)序關(guān)系,電路的輸出(布爾值)就是可預(yù)測的,這是數(shù)字邏輯電路設(shè)計(jì)的基礎(chǔ)。如果 不能滿足建立保持時(shí)間 ,我們認(rèn)為輸入是 異步 (asynchronous) 信號 。一個時(shí)鐘域的同步信號輸出到另一個時(shí)鐘域通常被認(rèn)為是異步信號。

本文從同步電路的時(shí)序模型出發(fā),探討了兩種時(shí)鐘同步的總線電路方案:

共同時(shí)鐘 (common clock)總線

源同步 (source synchronous)總線

共同時(shí)鐘總線的收發(fā)端使用同一時(shí)鐘,結(jié)構(gòu)簡單,由于物理限制和PVT效應(yīng),局限于時(shí)鐘速率比較低的應(yīng)用;源同步總線增加 接口時(shí)鐘 ,并以 與數(shù)據(jù)相同的方式發(fā)送 ,大大提升了接口時(shí)鐘速率,由于引入了 不同的時(shí)鐘域 ,也增加了接口設(shè)計(jì)的復(fù)雜程度。

1. 時(shí)鐘同步電路的時(shí)序模型

wKgaomSRLJmAdlsvAABt7uLNKaE952.jpg

<圖1>

寄存器A在時(shí)鐘(launch clock)的上升沿打出數(shù)據(jù),經(jīng)過兩段飛行時(shí)間(傳輸延時(shí))和組合邏輯電路延時(shí)之后,在下一個時(shí)鐘沿(capture clock)被寄存器B抓取,這里假設(shè)A、B的時(shí)鐘完全相同 - 頻率相同相位相同。在兩個時(shí)鐘上升沿之間,按照時(shí)間順序,發(fā)生了下列事件:

寄存器A打出輸出(QA)。QA在上升沿之后一段時(shí)間才能有效(valid),這個時(shí)間是tco(clock to output);

傳輸延時(shí)tflight1,組合邏輯電路引起的延時(shí)tlogic,傳輸延時(shí)tflight2;

寄存器B抓取輸入。輸入在時(shí)鐘上升沿之前必須提前穩(wěn)定(建立時(shí)間tsetup),在時(shí)鐘上升沿之后保持一段時(shí)間(保持時(shí)間thold)。假如不滿足建立、保持時(shí)間的要求,那么B的輸出可能會非0非1的亞穩(wěn)態(tài)(Metastability)。

wKgZomSRLJmAL345AAClCV0S1-E092.jpg

<圖2>

把這些事件銜接在一起,形成了時(shí)序預(yù)算(timing budget)分配圖。注意,‘X’表示不確定區(qū)間,通常是由PVT(制程電壓溫度)效應(yīng)引起的偏差。

tsetup_margin = Period - tco(max)- tflight1 - tlogic(max) - tflight2 - tsetup

thold_margin = tco(min) + tflight1 + tlogic(min) + tflight2 - thold

tsetup_margin和thold_margin為 時(shí)序裕量 (margin),它>=0代表滿足建立保持時(shí)間要求。

2. 共同時(shí)鐘(common clock)系統(tǒng)總線

共同時(shí)鐘系統(tǒng)其實(shí)可以借用<圖1>,只需要把寄存器換成芯片(系統(tǒng))。

共同時(shí)鐘系統(tǒng)只有一個時(shí)鐘(域),無論發(fā)送端還是接收端。

回到時(shí)序計(jì)算公式,要使tsetup_margin >=0,可以得到:

Period >= tco(max) + tflight1 + tlogic(max) + tflight2 + tsetup

右邊這些參數(shù)代表了真實(shí)的物理局限,它們決定了時(shí)鐘可以跑多快(時(shí)鐘周期最小是多少)。

tflight1、tflight2來自于PCB走線,連接器,芯片封裝等等。

tco、tsetup、tlogic代表芯片的 物理特性參數(shù) 。不同的芯片在不同的溫度/電壓下由于PVT效應(yīng)表現(xiàn)會有變化,形成了時(shí)序圖上的 不確定區(qū)間 。我們必須計(jì)算最惡劣(worst case)的情況,這會吃掉時(shí)序裕量。

而且,我們也做不到理想的單一同步時(shí)鐘。出于信號質(zhì)量的考量,時(shí)鐘信號通常是點(diǎn)對點(diǎn)(point to point)的連接。不同模塊的時(shí)鐘,通常是連接同一個時(shí)鐘buffer的不同扇出(fanout)。在工程實(shí)踐上,理想的同步很難做到,只能把相位偏差(skew)控制在一定范圍內(nèi)。

所有這些,都限制了時(shí)鐘速度或者數(shù)據(jù)吞吐量的提升,而優(yōu)化參數(shù)常常意味著成本的抬升。老戚看到的共同時(shí)鐘系統(tǒng)的時(shí)鐘沒有超過100MHz的。實(shí)現(xiàn)更高速總線的解決辦法是源同步時(shí)鐘方案。

3. 源同步(source synchronous)系統(tǒng)

源同步在芯片(系統(tǒng))接口上 同時(shí)輸出數(shù)據(jù)和(接口)時(shí)鐘 ,數(shù)據(jù)和時(shí)鐘采用完全相同的IO結(jié)構(gòu),從而最大程度的抵消tco,tflight等等。通常認(rèn)為,同一個芯片上的PVT效應(yīng)也是一致的。

wKgaomSRLJmAVx4-AACHKcgr_uk307.jpg

<圖3>

<圖3>是典型的中心對齊(center aligned)的源同步DDR輸出。內(nèi)部PLL的輸出兩路相位相差90度的時(shí)鐘,經(jīng)過同等的傳輸延時(shí),到達(dá)接收端的時(shí)候,時(shí)鐘剛好處在數(shù)據(jù)的中心(假定接收端建立保持時(shí)間的要求也是對等的)。接收端使用接口時(shí)鐘clock_out抓取數(shù)據(jù)data_out,緊接著把數(shù)據(jù)同步到本地時(shí)鐘。 接口時(shí)鐘和本地時(shí)鐘并不一致 ,屬于 不同的時(shí)鐘域 。

現(xiàn)有的高速并行接口無一例外都是源同步,最典型的當(dāng)然是內(nèi)存接口。以DDR4為例,地址/命令/片選信號和主時(shí)鐘形成了一組源同步總線,內(nèi)存數(shù)據(jù)DQ每8位就會有一個DQS信號作為接口時(shí)鐘,形成源同步的數(shù)據(jù)時(shí)鐘總線。在接收端,數(shù)據(jù)會先被抓取到相應(yīng)DQS的時(shí)鐘域,然后同步到主時(shí)鐘。

源同步很好的解決了接口總線的速度問題,卻也引入了不同的時(shí)鐘域, 增加了收發(fā)接口設(shè)計(jì)的復(fù)雜度 。(系統(tǒng)攻城獅成功甩鍋給了芯片)

4.跨時(shí)鐘域(clock domain crossing)

實(shí)現(xiàn)跨時(shí)鐘域的信號傳遞要回到時(shí)鐘域C0的輸出到時(shí)鐘域C1的輸入的建立保持時(shí)間的基本問題。

假如時(shí)鐘C0/C1 同源 (不同頻,例如分頻/倍頻關(guān)系)而且相位差固定的 可以直接用本地時(shí)鐘抓取 ;同頻(源)但是不知道相位關(guān)系不確定的可以以FIFO的方式解決;有頻差的也可以用 FIFO解決 ,但要防止溢出(overrun,underrun)。

還是以DDR4內(nèi)存接口為例,假設(shè)主時(shí)鐘是1600MHz,那么DQS則是倍頻 --- 3200MHz。由于時(shí)鐘(包括地址/命令/片選)信號的fly-by拓?fù)?,時(shí)鐘到達(dá)不同內(nèi)存顆粒存在先后順序。對于寫操作(write),控制器通過write leveling偵測到未經(jīng)調(diào)整的DQS和主時(shí)鐘的相位關(guān)系,相應(yīng)的調(diào)整輸出DQS的相位,保證內(nèi)存顆粒接收的DQS和主時(shí)鐘保持 特定的相位關(guān)系 ,從而在顆粒內(nèi)部能夠以最簡單的方式(同時(shí)延時(shí)latency最小)完成跨時(shí)鐘域。對于讀操作,似乎有read leveling來實(shí)現(xiàn)相似的功能(這方面資料不詳)。有趣的是,在DDR4內(nèi)存接口,控制器(通常邏輯更為復(fù)雜)承擔(dān)了所有時(shí)序調(diào)整的責(zé)任,內(nèi)存(存儲廠商的邏輯設(shè)計(jì)能力要差一些)接口則以最簡化的方式工作。

以太網(wǎng)領(lǐng)域,處理跨時(shí)鐘域更常用的方法是FIFO(First In First Out)。FIFO不僅能夠處理同頻時(shí)鐘的跨時(shí)鐘域數(shù)據(jù)轉(zhuǎn)換,也能處理不同頻率(有限頻差)的跨時(shí)鐘域處理,從而獲得了廣泛的應(yīng)用。PCIe協(xié)議和以太網(wǎng)協(xié)議都運(yùn)用基于FIFO的 彈性緩沖 (elastic buffer)來處理系統(tǒng)時(shí)鐘的PPM偏差問題,這個話題咱們下回分解。

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

    關(guān)注

    31

    文章

    5250

    瀏覽量

    119200
  • DDR
    DDR
    +關(guān)注

    關(guān)注

    11

    文章

    697

    瀏覽量

    64934
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2817

    瀏覽量

    87704
  • 數(shù)字電路
    +關(guān)注

    關(guān)注

    193

    文章

    1578

    瀏覽量

    80176
  • 時(shí)鐘同步
    +關(guān)注

    關(guān)注

    0

    文章

    83

    瀏覽量

    12693
收藏 人收藏

    評論

    相關(guān)推薦

    基于D觸發(fā)器實(shí)現(xiàn)時(shí)鐘電路同步設(shè)計(jì)

    時(shí)鐘使能電路同步設(shè)計(jì)的重要基本電路,在很多設(shè)計(jì)中,雖然內(nèi)部不同模塊的處理速度不同,但是由于這些時(shí)鐘是同源的,可以將它們轉(zhuǎn)化為單一的
    發(fā)表于 08-06 10:35 ?4678次閱讀
    基于D觸發(fā)器實(shí)現(xiàn)<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>電路</b><b class='flag-5'>同步</b>設(shè)計(jì)

    請問什么PSoC組件與系統(tǒng)總線時(shí)鐘同步?

    我已經(jīng)嘗試了一些使用計(jì)數(shù)器的UDB組件,但看起來它們與ButhLoCH同步。我們的應(yīng)用需要一個異步時(shí)鐘,因?yàn)閿?shù)字PLL通常會產(chǎn)生太多的抖動(或者相反地,我們可能想要運(yùn)行一個慢速的系統(tǒng)總線來節(jié)省功率
    發(fā)表于 09-11 11:33

    基于CAN現(xiàn)場總線同步控制解決方案

    系統(tǒng)維護(hù)和使用。隨著機(jī)電一體化技術(shù)的發(fā)展,現(xiàn)場總線技術(shù)不斷應(yīng)用到各個領(lǐng)域并得到了廣泛的應(yīng)用。本文針對機(jī)組式印刷機(jī)械的同步需求,提出了一種基于CAN現(xiàn)場總線同步控制解決
    發(fā)表于 01-29 06:37

    基于FPGA的GPS同步時(shí)鐘裝置的設(shè)計(jì)

    在介紹了GPS 同步時(shí)鐘基本原理和FPGA 特點(diǎn)的基礎(chǔ)上,提出了一種基于FPGA 的GPS同步時(shí)鐘裝置的設(shè)計(jì)方案,實(shí)現(xiàn)了高精度
    發(fā)表于 07-30 11:51 ?45次下載

    總線時(shí)鐘結(jié)構(gòu)

    總線時(shí)鐘結(jié)構(gòu)科利登系統(tǒng)有限公司大部分并行總線和高速串行總線的區(qū)別主要在于發(fā)送端和接收端不同的同步方式。由于其很高的復(fù)雜性,
    發(fā)表于 12-19 15:25 ?17次下載

    時(shí)鐘同步的振蕩器電路

    時(shí)鐘同步的振蕩器電路
    發(fā)表于 05-16 16:59 ?767次閱讀
    與<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>同步</b>的振蕩器<b class='flag-5'>電路</b>圖

    基于總線同步時(shí)鐘卡設(shè)計(jì)與實(shí)現(xiàn)(PCI Express)

    各個設(shè)備之間時(shí)間的一致性和準(zhǔn)確性,系統(tǒng)中配備時(shí)鐘源進(jìn)行授時(shí),同步時(shí)鐘卡從時(shí)鐘源獲取高精度的時(shí)間,使系統(tǒng)中各個設(shè)備與主機(jī)時(shí)鐘源保持高精度的
    發(fā)表于 10-30 13:25 ?1次下載
    基于<b class='flag-5'>總線</b><b class='flag-5'>同步</b><b class='flag-5'>時(shí)鐘</b>卡設(shè)計(jì)與實(shí)現(xiàn)(PCI Express)

    嵌入式同步時(shí)鐘系統(tǒng)的設(shè)計(jì)方案

    時(shí)鐘的管理。本文詳細(xì)介紹了利用嵌入式微控制器MSP430單片機(jī)和數(shù)字鎖相環(huán)(DPLL)來實(shí)現(xiàn)嵌入式同步時(shí)鐘系統(tǒng)的方案和設(shè)計(jì)實(shí)例。 系統(tǒng)總體結(jié)構(gòu) 同步
    發(fā)表于 11-04 10:21 ?6次下載
    嵌入式<b class='flag-5'>同步</b><b class='flag-5'>時(shí)鐘</b>系統(tǒng)的設(shè)計(jì)<b class='flag-5'>方案</b>

    基于FPGA的高精度同步時(shí)鐘系統(tǒng)設(shè)計(jì)

    介紹了精密時(shí)鐘同步協(xié)議(PTP)的原理。本文精簡了該協(xié)議,設(shè)計(jì)并實(shí)現(xiàn)了一種低成本、高精度的時(shí)鐘同步系統(tǒng)方案。該
    發(fā)表于 11-17 15:57 ?7110次閱讀
    基于FPGA的高精度<b class='flag-5'>同步</b><b class='flag-5'>時(shí)鐘</b>系統(tǒng)設(shè)計(jì)

    微波時(shí)鐘同步設(shè)計(jì)方案

    微波作為無線和傳輸設(shè)備的重要接入設(shè)備,在網(wǎng)絡(luò)設(shè)計(jì)和使用中要針對接入業(yè)務(wù)的類型,提供滿足其需求的時(shí)鐘同步方案。當(dāng)前階段,微波主要支持的時(shí)鐘同步
    發(fā)表于 12-07 20:51 ?652次閱讀

    簡談異步電路中的時(shí)鐘同步處理方法

    大家好,又到了每日學(xué)習(xí)的時(shí)候了。今天我們來聊一聊異步電路中的時(shí)鐘同步處理方法。 既然說到了時(shí)鐘同步處理,那么什么是
    的頭像 發(fā)表于 05-21 14:56 ?1.3w次閱讀
    簡談異步<b class='flag-5'>電路</b>中的<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>同步</b>處理方法

    總線半握手跨時(shí)鐘域處理

    總線半握手跨時(shí)鐘域處理 簡要概述: 在上一篇講了單bit脈沖同步器跨時(shí)鐘處理,本文講述控制信號基于脈沖同步機(jī)制的
    的頭像 發(fā)表于 04-04 12:32 ?2638次閱讀
    <b class='flag-5'>總線</b>半握手跨<b class='flag-5'>時(shí)鐘</b>域處理

    探討兩種時(shí)鐘同步總線電路方案

    高速數(shù)字電路模塊通常以同步(synchronous)電路的形式實(shí)現(xiàn),它們由一個或者多個時(shí)鐘驅(qū)動(觸發(fā))。
    的頭像 發(fā)表于 06-27 15:18 ?1556次閱讀
    探討兩種<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>同步</b>的<b class='flag-5'>總線</b><b class='flag-5'>電路</b><b class='flag-5'>方案</b>

    時(shí)鐘信號的同步 在數(shù)字電路里怎樣讓兩個不同步時(shí)鐘信號同步?

    時(shí)鐘信號的同步 在數(shù)字電路里怎樣讓兩個不同步時(shí)鐘信號同步? 在數(shù)字
    的頭像 發(fā)表于 10-18 15:23 ?1277次閱讀

    異步電路中的時(shí)鐘同步處理方法

    異步電路中的時(shí)鐘同步處理方法? 時(shí)鐘同步在異步電路中是至關(guān)重要的,它確保了
    的頭像 發(fā)表于 01-16 14:42 ?828次閱讀