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

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

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

FPGA知識匯集-FPGA系統(tǒng)時序理論

e9Zb_gh_8734352 ? 來源:FPGA技術(shù)聯(lián)盟 ? 作者:FPGA技術(shù)聯(lián)盟 ? 2022-12-21 15:43 ? 次閱讀

時序約束條件

下面來具體討論一下系統(tǒng)時序需要滿足的一些基本條件。我們?nèi)匀灰韵聢D的結(jié)構(gòu)為例,并可以據(jù)此畫出相應的時序分析示意圖。

76ba271c-8102-11ed-8abf-dac502259ad0.png

76d9d0b2-8102-11ed-8abf-dac502259ad0.png

在上面的時序圖中,存在兩個時序環(huán),我們稱實線的環(huán)為建立時間環(huán),而虛線的環(huán)我們稱之為保持時間環(huán)。可以看到,這兩個環(huán)都不是閉合的,缺口的大小就代表了時序裕量的多少,因此設計者總希望盡可能增大這個缺口。同時還要注意到,每個環(huán)上的箭頭方向不是一致的,而是朝著正反兩個方向,因為整個系統(tǒng)時序是以時鐘上升沿為基準的,所以我們時序環(huán)的起點為系統(tǒng)時鐘clk in的上升沿,而所有箭頭最終指向接收端的控制時鐘CLKC的邊沿。

先來分析建立時間環(huán):

缺口的左邊的半個時序環(huán)代表了從第一個系統(tǒng)時鐘上升沿開始,直到數(shù)據(jù)傳輸至接收端的總的延時,我們計為數(shù)據(jù)延時,以Tdata_tot表示:

Tdata_tot=Tco_clkb+Tflt_clkb +Tco_data +Tflt_data

上式中:Tco_clkb是系統(tǒng)時鐘信號CLKB在時鐘驅(qū)動器的內(nèi)部延遲;Tflt_ clkb 是CLKB從時鐘驅(qū)動器輸出后到達發(fā)送端(CPU)觸發(fā)器的飛行時間;Tco_data是數(shù)據(jù)在發(fā)送端的內(nèi)部延遲;Tflt_data是數(shù)據(jù)從發(fā)送端輸出到接收端的飛行時間。

從CLKC時鐘邊沿的右邊半個時序環(huán)代表了系統(tǒng)時鐘到達接收端的總的沿時,我們計為時鐘延時,以Tclk_tot表示:

Tclk_tot =Tcycle +Tco_clka +Tflt_clka – Tjitter

其中,Tcycle是時鐘信號周期;Tco_clka 是系統(tǒng)時鐘信號CLKA(第二個上升沿)在時鐘驅(qū)動器的內(nèi)部延遲;Tflt_clka是時鐘信號從時鐘驅(qū)動器輸出到達接收端觸發(fā)器的飛行時間;Tjitter是時鐘的抖動誤差。

因此我們可以根據(jù)建立時間裕量的定義,得到:

Tsetup_margin = Tclk_tot – Tdata tot – Tsetup

將前面的相應等式帶入可得:

Tsetup_magrin = Tcycle + Tco_clka + Tflt_clka – Tjitter – Tco_clkb – Tflt_clkb – Tco_data – Tflt_data – Tsetup

我們定義時鐘驅(qū)動器(PLL)的兩個時鐘輸出之間的偏移為Tclock_Skew ,兩根CLOCK走線之間的時鐘偏移為TPCB_Skew ,即:

Tclock_Skew = Tco_clkb - Tco_clka;

TPCB_Skew = Tflt_clkb - Tflt_clka

這樣就可以得到建立時間裕量的標準計算公式:

Tsetup_magrin =Tcycle – TPCB_skew –Tclock_skew –Tjitter – Tco_ data -Tflt_data-Tsetup (1.6.1)

再來看保持時間環(huán):

對照上圖,我們可以同樣的進行分析:

Tdata_delay = Tco_clkb + Tflt_clkb + Tco_data + Tflt_data

Tclock delay = Tco_clka + Tflt_clka

于是可以得出保持時間裕量的計算公式:

Thold margin = Tdata_delay – Tclock_dalay – Thold_time

即: Thold margin = Tco_data + Tflt_data + Tclock_skew + Tpcb_skew – Thold (1.6.2)

可以看到,式1.6.2中不包含時鐘抖動Jitter的參數(shù)。這是因為Jitter是指時鐘周期間(Cycle to Cycle)的誤差,而保持時間的計算和時鐘周期無關(guān)。

對于任何時鐘控制系統(tǒng),如果要能保證正常工作,就必須使建立時間余量和保持時間裕量都至少大于零,即Tsetup marin 》0;Thold margin 》0,將公式1.6.1和1.6.2分別帶入就可以得到普通時鐘系統(tǒng)的時序約束條件不等式:

TPCB_skew +Tclock_skew +Tjitter + Tco_data + Tflt_data+Tsetup《 Tcycle (1.6.3)

Tco_data + Tflt_data + Tclock_skew + Tpcb_skew 》 Thold (1.6.4)

需要注意的是:

1. 數(shù)據(jù)在發(fā)送端的內(nèi)部延時Tco_data可以從芯片的datasheet查到,這個值是一個范圍,在式1.6.3中取最大值,在式1.6.4中取最小值。

2.數(shù)據(jù)在傳輸線上的飛行時間Tflt_data在實際計算中應該取最大/最小飛行時間參數(shù),在式1.6.3中取最大飛行時間,在式1.6.4中取最小飛行時間。

3. 時鐘的偏移TPCB_skew和Tclock_skew也是一個變化的不確定參數(shù),一般為+/-N ps,同樣,在建立時間約束條件1.6.3中取+Nps,而在保持時間約束條件1.6.4中取-Nps。

從上面的分析可以看到,對于PCB設計工程師來說,保證足夠穩(wěn)定的系統(tǒng)時序最有效的途徑就是盡量減小PCB skew和信號傳輸?shù)娘w行時間,而其它的參數(shù)都只和芯片本身的性能有關(guān)。實際中經(jīng)常采取的措施就是嚴格控制時鐘和數(shù)據(jù)的走線長度,調(diào)整合理的拓補結(jié)構(gòu),并盡可能減少信號完整性帶來的影響。然而,即便我們已經(jīng)考慮的很周全,普通時鐘系統(tǒng)的本身的設計瓶頸始終是無法打破的,也就是建立時間的約束,我們在盡可能減少由PCB布線引起的信號延遲之外,器件本身的特性如Tco、Jitter、TSetup等等將成為最主要的制約因素,盡管我們可以通過提高工藝水平和電路設計技術(shù)來不斷提高數(shù)字器件的性能,但得到的效果也僅僅是在一定范圍之內(nèi)提升了系統(tǒng)的主頻,在頻率超過300MHz的情況下,我們將不得不放棄使用這種普通時鐘系統(tǒng)設計。

審核編輯 :李倩

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

    關(guān)注

    1624

    文章

    21538

    瀏覽量

    600450
  • pll
    pll
    +關(guān)注

    關(guān)注

    6

    文章

    770

    瀏覽量

    134959
  • 時序圖
    +關(guān)注

    關(guān)注

    2

    文章

    57

    瀏覽量

    22418
  • 時鐘驅(qū)動器
    +關(guān)注

    關(guān)注

    0

    文章

    32

    瀏覽量

    13804

原文標題:FPGA知識匯集-FPGA系統(tǒng)時序理論

文章出處:【微信號:gh_873435264fd4,微信公眾號:FPGA技術(shù)聯(lián)盟】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    FPGA的IO口時序約束分析

      在高速系統(tǒng)FPGA時序約束不止包括內(nèi)部時鐘約束,還應包括完整的IO時序約束和時序例外約束才能實現(xiàn)PCB板級的
    發(fā)表于 09-27 09:56 ?1680次閱讀

    FPGA知識匯集-FPGA時序基礎理論

    時序理論,那肯定是不稱職的。本章我們就普通時序(共同時鐘)和源同步系統(tǒng)時序等方面對系統(tǒng)
    的頭像 發(fā)表于 12-13 10:50 ?2182次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>知識</b><b class='flag-5'>匯集</b>-<b class='flag-5'>FPGA</b><b class='flag-5'>時序</b>基礎<b class='flag-5'>理論</b>

    FPGA時序約束的基礎知識

    FPGA開發(fā)過程中,離不開時序約束,那么時序約束是什么?簡單點說,FPGA芯片中的邏輯電路,從輸入到輸出所需要的時間,這個時間必須在設定的時鐘周期內(nèi)完成,更詳細一點,即需要滿足建立和保
    發(fā)表于 06-06 17:53 ?1372次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>時序</b>約束的基礎<b class='flag-5'>知識</b>

    FPGA I/O口時序約束講解

    前面講解了時序約束的理論知識FPGA時序約束理論篇,本章講解時序約束實際使用。
    發(fā)表于 08-14 18:22 ?1431次閱讀
    <b class='flag-5'>FPGA</b> I/O口<b class='flag-5'>時序</b>約束講解

    FPGA時序分析

    FPGA時序分析系統(tǒng)時序基礎理論對于系統(tǒng)設計工程師來說,時序
    發(fā)表于 08-11 17:55

    FPGA實戰(zhàn)演練邏輯篇48:基本的時序分析理論1

    影響FPGA本身的性能,而且也會給FPGA之外的電路或者系統(tǒng)帶來諸多的問題。(特權(quán)同學,版權(quán)所有)言歸正傳,之所以引進靜態(tài)時序分析的理論也正
    發(fā)表于 07-09 21:54

    FPGA時序約束--基礎理論

    鐘偏差。 Tlogic與我們寫的HDL代碼有直接關(guān)系,Trouting是FPGA開發(fā)軟件綜合布線根據(jù)FPGA內(nèi)部資源情況進行布線產(chǎn)生的延時。 四、總結(jié) 本文介紹了FPGA時序
    發(fā)表于 11-15 17:41

    FPGA系統(tǒng)時序基礎理論

    很好的FPGA資料,基礎的資料,快來下載吧
    發(fā)表于 09-01 16:40 ?23次下載

    fpga時序收斂

    fpga時序收斂
    發(fā)表于 03-01 13:13 ?23次下載

    FPGA中的時序約束設計

    一個好的FPGA設計一定是包含兩個層面:良好的代碼風格和合理的約束。時序約束作為FPGA設計中不可或缺的一部分,已發(fā)揮著越來越重要的作用。毋庸置疑,時序約束的最終目的是實現(xiàn)
    發(fā)表于 11-17 07:54 ?2514次閱讀
    <b class='flag-5'>FPGA</b>中的<b class='flag-5'>時序</b>約束設計

    FPGA時序約束的理論基礎知識說明

    FPGA 設計中,很少進行細致全面的時序約束和分析,F(xiàn)max是最常見也往往是一個設計唯一的約束。這一方面是由FPGA的特殊結(jié)構(gòu)決定的,另一方面也是由于缺乏好用的工具造成的。好的時序
    發(fā)表于 01-12 17:31 ?8次下載
    <b class='flag-5'>FPGA</b><b class='flag-5'>時序</b>約束的<b class='flag-5'>理論基礎知識</b>說明

    時序約束系列之D觸發(fā)器原理和FPGA時序結(jié)構(gòu)

    明德?lián)P有完整的時序約束課程與理論,接下來我們會一章一章以圖文結(jié)合的形式與大家分享時序約束的知識。要掌握FPGA
    的頭像 發(fā)表于 07-11 11:33 ?4673次閱讀
    <b class='flag-5'>時序</b>約束系列之D觸發(fā)器原理和<b class='flag-5'>FPGA</b><b class='flag-5'>時序</b>結(jié)構(gòu)

    FPGA知識匯集-源同步時序系統(tǒng)

    針對普通時鐘系統(tǒng)存在著限制時鐘頻率的弊端,人們設計了一種新的時序系統(tǒng),稱之為源同步時序系統(tǒng)。它最大的優(yōu)點就是大大提升了總線的速度,在
    的頭像 發(fā)表于 12-26 17:04 ?954次閱讀

    FPGA設計-時序約束(理論篇)

    STA(Static Timing Analysis,即靜態(tài)時序分析)在實際FPGA設計過程中的重要性是不言而喻的
    發(fā)表于 06-26 09:01 ?578次閱讀
    <b class='flag-5'>FPGA</b>設計-<b class='flag-5'>時序</b>約束(<b class='flag-5'>理論</b>篇)

    FPGA高級時序綜合教程

    FPGA高級時序綜合教程
    發(fā)表于 08-07 16:07 ?4次下載