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

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

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

什么是時鐘偏差(clock skew)以及它對現(xiàn)代系統(tǒng)的影響

中科院半導(dǎo)體所 ? 來源:EETOP ? 作者:EETOP編譯整理 ? 2022-10-24 10:03 ? 次閱讀

本文將通過了解同步電路、時鐘傳輸和時鐘分配網(wǎng)絡(luò),進(jìn)而了解什么是時鐘偏差(clock skew)以及它對現(xiàn)代系統(tǒng)的影響。

現(xiàn)代數(shù)字電子產(chǎn)品設(shè)計的最大挑戰(zhàn)之一是滿足時序約束的能力。保持可預(yù)測和組織良好的操作邏輯流程的方法之一是在數(shù)字電路中擁有控制良好、定義明確的時序。 clock skew是這些電路中的一個設(shè)計考慮因素,如果沒有得到適當(dāng)?shù)目紤],它可能是一個重要的問題來源。

上,在許多情況下,系統(tǒng)的clock skew可能是整個系統(tǒng)速度和時鐘頻率的限制因素。要了解clock skew,我們必須首先討論同步電路。同步電路和時鐘——最小時鐘周期計算 大多數(shù)現(xiàn)代數(shù)字計算機(jī)的一個基本特征是同步電路。

同步電路需要一種計時機(jī)制來保持有序和周期性的時序邏輯流。在數(shù)字電子學(xué)中,這種計時機(jī)制被稱為時鐘,簡單來說,它是一個具有恒定頻率的方波。

如圖 1 所示,這些電路通過將靜態(tài)數(shù)據(jù)存儲在數(shù)據(jù)寄存器中來工作,該數(shù)據(jù)寄存器旨在鎖存數(shù)據(jù),直到寄存器遇到時鐘的上升(或下降)沿。當(dāng)時鐘沿發(fā)生時,數(shù)據(jù)從寄存器中釋放,通過組合邏輯塊發(fā)送,然后存儲在下一個寄存器中。

2a175cc4-52bb-11ed-a3b6-dac502259ad0.png

圖 1. 具有兩個順序寄存器的數(shù)據(jù)路徑同步電路。

這些操作發(fā)生的頻率由時鐘頻率設(shè)置,時鐘頻率由其他幾個參數(shù)設(shè)置。最小時鐘周期的一般公式定義為: Tc=tpcq+tpd+tsetup+tskew 式中:

Tc是時鐘周期

tpcq是數(shù)據(jù)寄存器時鐘到 Q 的時間

tpd是組合邏輯傳播延遲

tsetup是下行寄存器的建立時間

tskew是兩個寄存器之間的時鐘偏差

最大時鐘頻率定義為1/Tc

時鐘傳送和clock skew 由于數(shù)字邏輯往往是同步電路,所有邏輯塊的精確時序?qū)τ谡_的系統(tǒng)行為至關(guān)重要。當(dāng)考慮將圖 1 中的設(shè)置從一個數(shù)據(jù)路徑擴(kuò)展到數(shù)百萬個數(shù)據(jù)路徑(因為它存在于實際芯片設(shè)計中)時,很快就會發(fā)現(xiàn)保持一切同步是一項不小的挑戰(zhàn)。

在實踐中,時鐘信號通常由晶體振蕩器生成,饋入鎖相環(huán) (PLL),并在整個 IC 中分布到系統(tǒng)內(nèi)的每個邏輯塊和晶體管。這種追求中最大的挑戰(zhàn)之一就是clock skew,它可以定義為順序相鄰寄存器的時鐘信號到達(dá)時間之間的差異。 這種情況在數(shù)學(xué)上可以定義為:

2a2a91cc-52bb-11ed-a3b6-dac502259ad0.png

發(fā)生clock skew的傳統(tǒng)設(shè)置如圖 2 所示,其中時鐘分配網(wǎng)絡(luò)中的延遲導(dǎo)致數(shù)據(jù)寄存器 B 比寄存器 A 更晚地接收其時鐘信號。

2a43b5da-52bb-11ed-a3b6-dac502259ad0.png

圖 2. 時鐘偏差通過在時鐘傳輸網(wǎng)絡(luò)中插入延遲來證明。

如果接收寄存器晚于發(fā)送寄存器接收時鐘,則偏移可以定義為正,反之則定義為負(fù)。clock skew成為數(shù)字設(shè)計中的一個嚴(yán)重問題,因為它可能違反同步電路所依賴的時序約束。

例如,給定一個恒定的時鐘頻率和負(fù)偏斜,如圖 3 所示,時鐘到達(dá)接收寄存器 B 的時間要比發(fā)送寄存器 A 早得多。

在這種情況下,從發(fā)送寄存器發(fā)出的數(shù)據(jù)將到達(dá)時鐘到達(dá)后接收寄存器。這里,數(shù)據(jù)不滿足接收寄存器的建立和保持要求(即,在時鐘到達(dá)時,接收登記處還沒有現(xiàn)成的數(shù)據(jù))。因此,由于接收寄存器不能安全地鎖存數(shù)據(jù),數(shù)據(jù)將會丟失。這個概念會產(chǎn)生復(fù)合效應(yīng),因為后續(xù)依賴丟失數(shù)據(jù)的邏輯操作也會失敗。

2a64897c-52bb-11ed-a3b6-dac502259ad0.png ?

圖 3. 負(fù)時鐘偏移導(dǎo)致數(shù)據(jù)在其時鐘之后到達(dá)接收寄存器 B。 正如我們在最大時鐘頻率等式中看到的,clock skew的增加將增加最小時鐘周期并降低系統(tǒng)的最大時鐘頻率。這是因為clock skew有效地增加了排序開銷,減少了組合邏輯中有用工作的可用時間。還值得注意的是,時鐘不需要同時到達(dá),但clock skew通常存在可接受的誤差范圍。

clock skew的原因

雖然造成clock skew的原因有很多,但它們最終都?xì)w結(jié)為時鐘分配網(wǎng)絡(luò)中的延遲差異。

clock skew的一個原因是時鐘分配網(wǎng)絡(luò)中互連之間的長度不同。如果到兩個連續(xù)寄存器的時鐘傳輸路徑中的互連長度變化很大,則可能會發(fā)生clock skew。沿著較短互連行進(jìn)的時鐘將比沿著較長互連行進(jìn)更快地到達(dá)其寄存器。

clock skew的另一個原因可能是時鐘分配網(wǎng)絡(luò)中互連延遲的差異。即使兩條時鐘傳輸路徑的長度相同,它們也會由于諸如電阻、電容或電感耦合等寄生效應(yīng)而經(jīng)歷不同的延遲。

在圖 4 的示例中,RC 寄生效應(yīng)的任何差異都會導(dǎo)致寄存器 A 和 B 的時鐘到達(dá)時間延遲不同。線路上延遲較大的時鐘信號自然會比延遲較小的信號更晚到達(dá)其目的地. 設(shè)計具有相同延遲的互連可能是一項極其困難的任務(wù)。

2a84b88c-52bb-11ed-a3b6-dac502259ad0.png

圖 4. RC 寄生效應(yīng)的變化會導(dǎo)致時鐘偏移。

clock skew也可能是由時鐘信號的邏輯路徑延遲的差異引起的。例如,在包括時鐘門控的設(shè)計中,時鐘的傳輸路徑中可能存在額外的門,每個門都具有自己的負(fù)載電容和傳播延遲。如果不平衡,邏輯路徑的差異會導(dǎo)致時鐘傳遞時間不等。 其他原因可能包括溫度變化、制造變化和材料缺陷。

使用時鐘分配網(wǎng)絡(luò)最大限度地減少時clock skew

隨著時鐘頻率的增加,clock skew可能會成為一個更具挑戰(zhàn)性的問題,因為隨著時鐘頻率的提高,誤差幅度會顯著降低。為了最大限度地減少clock skew,復(fù)雜的同步電路采用類似于圖 5 所示的時鐘分配網(wǎng)絡(luò)。這些通常也稱為時鐘樹。時鐘樹中的每個反相器都會放大時鐘信號以驅(qū)動時鐘樹的下一級。目標(biāo)是讓時鐘信號同時到達(dá)所有寄存器輸入。

2aad2c36-52bb-11ed-a3b6-dac502259ad0.png

圖 5.具有并行時鐘驅(qū)動器的時鐘分配網(wǎng)絡(luò)示例。

對于具有數(shù)百萬甚至數(shù)十億晶體管的超大型 IC,時鐘分配網(wǎng)絡(luò)可能會比圖 4 的簡單示例復(fù)雜得多。這些網(wǎng)絡(luò)的創(chuàng)建通常由EDA軟件自動處理。工程師輸入目標(biāo)頻率、寄存器設(shè)置和保持時間限制以及最大時鐘偏差等關(guān)鍵參數(shù)。然后,軟件生成時鐘分配網(wǎng)絡(luò)以滿足目標(biāo)時序約束。

結(jié)論

clock skew是數(shù)字集成電路設(shè)計中需要考慮的重要課題。如果沒有正確考慮,時鐘偏差會對系統(tǒng)性能造成嚴(yán)重破壞,導(dǎo)致系統(tǒng)操作不當(dāng)、數(shù)據(jù)丟失或成為系統(tǒng)時鐘頻率的限制因素。





審核編輯:劉清

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

    關(guān)注

    0

    文章

    33

    瀏覽量

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

    關(guān)注

    193

    文章

    1595

    瀏覽量

    80379
  • 同步電路
    +關(guān)注

    關(guān)注

    1

    文章

    60

    瀏覽量

    13276

原文標(biāo)題:什么是clock skew?一文了解時鐘分配網(wǎng)絡(luò)中的時鐘偏移

文章出處:【微信號:bdtdsj,微信公眾號:中科院半導(dǎo)體所】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    哪些因此會導(dǎo)致時鐘skew過大呢?FPGA中降低時鐘skew的幾種方法

    在時序報告中,會顯示出clock path skew,如果時鐘偏移超過0.5ns,就需要額外關(guān)注了。
    的頭像 發(fā)表于 03-13 09:06 ?1295次閱讀
    哪些因此會導(dǎo)致<b class='flag-5'>時鐘</b><b class='flag-5'>skew</b>過大呢?FPGA中降低<b class='flag-5'>時鐘</b><b class='flag-5'>skew</b>的幾種方法

    如何減小clock skew

    求助大神,clock skew太大,導(dǎo)致時序違規(guī)怎么破?時鐘由DCM輸出,已經(jīng)過BUFG
    發(fā)表于 01-14 17:00

    怎么了解時序報告中的時鐘偏差

    生成全局時鐘。我知道這不是推薦的方法,但我想避免在設(shè)計中使用FIFO。我的時鐘周期為7ns;雖然我預(yù)計本地BUFR時鐘與DCM的全局時鐘之間存在偏差
    發(fā)表于 02-22 08:03

    怎么消除5ns偏斜

    (從板)。我使用常規(guī)電線從主設(shè)備到從設(shè)備。當(dāng)主時鐘到達(dá)從機(jī)時,主機(jī)時鐘o / p與從機(jī)時鐘i / p之間存在5ns的偏差。是否有任何片上原語/資源/ IP核我可以用來消除這種
    發(fā)表于 03-15 07:17

    為減少數(shù)據(jù)和時鐘偏差應(yīng)遵循哪些通用FPGA編碼規(guī)則?

    為減少數(shù)據(jù)和時鐘偏差,應(yīng)遵循哪些通用FPGA編碼規(guī)則?我學(xué)習(xí)了FPGA編碼和verilog,但我試圖找到一些編碼規(guī)則或約定來提高代碼的可靠性。因為有時模擬的測試結(jié)果可能與實現(xiàn)后的測試結(jié)果不同并實際上
    發(fā)表于 03-27 09:59

    BUFGMUX定時時鐘偏差太大

    時,BUFGMUX選擇C0,當(dāng)控制邏輯為1時,則選擇C2饋送到BRAM時鐘輸入的端口A.我遇到的問題是一個巨大的時鐘偏差,因此設(shè)置時間違規(guī)。 (同時具有BUFGMUX的SYNC和ASYNC設(shè)置)這是一個計時
    發(fā)表于 06-18 09:30

    時鐘偏差的定義以及它對現(xiàn)代系統(tǒng)的影響

    本文將通過了解同步電路、時鐘傳輸和時鐘分配網(wǎng)絡(luò),進(jìn)而了解什么是時鐘偏差clock skew
    發(fā)表于 11-02 14:32

    使用時鐘PLL的源同步系統(tǒng)時序分析

    使用時鐘PLL的源同步系統(tǒng)時序分析一)回顧源同步時序計算Setup Margin = Min Clock Etch Delay – Max Data Etch Delay – Max Delay
    發(fā)表于 10-05 09:47 ?31次下載

    Skew Correction Using Delay Li

    " of phased signals such as data and clock signals. Skew can be caused by signal delays in the signal path or inherent incompatibilities
    發(fā)表于 04-22 11:21 ?1271次閱讀
    <b class='flag-5'>Skew</b> Correction Using Delay Li

    三個命令生成的報告中均可顯示Clock Skew的具體數(shù)值

    如果時鐘同時驅(qū)動I/O和Slice中的邏輯資源,且負(fù)載小于2000時,可通過CLOCK_LOW_FANOUT屬性對相應(yīng)的時鐘net進(jìn)行設(shè)置,最終可使工具將該時鐘驅(qū)動的所有負(fù)載放置在同一
    的頭像 發(fā)表于 11-07 11:08 ?4754次閱讀
    三個命令生成的報告中均可顯示<b class='flag-5'>Clock</b> <b class='flag-5'>Skew</b>的具體數(shù)值

    同步電路設(shè)計中CLOCK SKEW的分析說明

    Clock shew是數(shù)字集成電路設(shè)計中一個重要的因素。本文比較了在同步電路設(shè)計中0clock shew和非0clock shew時鐘分布對電路性能的影響,分析了通過調(diào)整
    發(fā)表于 01-14 16:26 ?21次下載
    同步電路設(shè)計中<b class='flag-5'>CLOCK</b> <b class='flag-5'>SKEW</b>的分析說明

    時鐘偏差時鐘抖動的相關(guān)概念

    本文主要介紹了時鐘偏差時鐘抖動。
    的頭像 發(fā)表于 07-04 14:38 ?1883次閱讀
    <b class='flag-5'>時鐘</b><b class='flag-5'>偏差</b>和<b class='flag-5'>時鐘</b>抖動的相關(guān)概念

    RQS_CLOCK-12時鐘設(shè)置建議

    在本篇博文中,我們來聊聊“RQS_CLOCK-12”時鐘設(shè)置建議以及它如何幫助達(dá)成時序收斂。
    的頭像 發(fā)表于 07-26 09:53 ?724次閱讀
    RQS_<b class='flag-5'>CLOCK</b>-12<b class='flag-5'>時鐘</b>設(shè)置建議

    時鐘系統(tǒng)clock驅(qū)動實例

    clock驅(qū)動實例 clock驅(qū)動在時鐘系統(tǒng)中屬于provider,provider是時鐘的提供者,即具體的
    的頭像 發(fā)表于 09-27 14:39 ?737次閱讀
    <b class='flag-5'>時鐘</b>子<b class='flag-5'>系統(tǒng)</b>中<b class='flag-5'>clock</b>驅(qū)動實例

    什么是時鐘偏差它對現(xiàn)代系統(tǒng)的影響

    什么是時鐘偏差?它對現(xiàn)代系統(tǒng)的影響 時鐘偏差是計算機(jī)
    的頭像 發(fā)表于 10-31 09:41 ?1147次閱讀