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

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

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

帶skew的時(shí)序計(jì)算基礎(chǔ)分析

冬至子 ? 來源:黑的路白的路 ? 作者:黑的路白的路 ? 2023-12-01 14:55 ? 次閱讀

一、時(shí)序計(jì)算基礎(chǔ)

組合邏輯的延遲T c ,從FF1/CK到FF1/Q的延遲為T q ,定義Treal = Tq + T c ,從建立時(shí)間和保持時(shí)間這兩個(gè)標(biāo)準(zhǔn)去考察T real

圖片

現(xiàn)在假設(shè)clk1和clk2相位對(duì)齊且沒有skew。我們考慮D2,當(dāng)clk1的第一個(gè)上升沿a發(fā)出數(shù)據(jù)1時(shí),需要經(jīng)過Treal的時(shí)間1才變成2;

在clk2的f沿,我們要想穩(wěn)定地采到2,需要在采樣窗口內(nèi)到達(dá),即2要在采樣沿f之前一段時(shí)間就到達(dá);因此要求Treal < Tperiod - Tsetup

圖片

另外,要想采到f沿的數(shù)據(jù)2,除了2要提前一點(diǎn)到之外,2還不能馬上變成3,即2要在采樣沿之后穩(wěn)定一段時(shí)間;

我們考慮e沿,e沿采1,要求a沿打出的2不能很快就到,即1變成2的時(shí)間要在Thold之后;因此要求Treal > T hold

所以,T2 = Thold < T real < (Tperiod - T setup )=T 1 ;T1和T2之間就是數(shù)據(jù)可以到達(dá)的范圍;

二、帶skew的時(shí)序分析

現(xiàn)在我們考慮skew對(duì)setup和hold的影響。

對(duì)于setup,當(dāng) Tcapture > Tlaunch時(shí)(正skew)

如果沒有skew,那么要求在A點(diǎn)之前1就要變成2,此時(shí)不符合要求。

但是有skew存在,setup檢查的點(diǎn)從A點(diǎn)延遲到B點(diǎn),setup檢查就滿足了。

此時(shí),Treal < (Tperiod - Tsetup + T skew ),即正的skew對(duì)setup有好處。

圖片

對(duì)于hold,當(dāng) Tcapture > Tlaunch時(shí)(正skew)

不考慮skew的情況下,c沿應(yīng)該采0,要求0在A之后再變化才算是采穩(wěn)了。當(dāng)有skew之后,采樣點(diǎn)變成了c沿再加上一個(gè)Thold的時(shí)間即B點(diǎn),0可能會(huì)采不穩(wěn)。

此時(shí)的要求變成了,Thold + Tskew < T real ,即正的skew讓hold更嚴(yán)格。

因此,T2 = (Thold + T skew ) < Treal < (Tperiod - Tsetup + T skew )=T 1

當(dāng)skew為負(fù)的時(shí)候,上述公式不變,只是 Tskew的值變成負(fù)數(shù)。

三、從慢速到快速

setup

圖片

clk_slow是9ns,clk_fast是6ns;取最小公倍數(shù),工具只考慮前18ns;

a打出數(shù)據(jù)1,b打出數(shù)據(jù)2,c打出數(shù)據(jù)3,d打出4;

f采1,g采2,i采3,j采4;

對(duì)于建立時(shí)間來講,g采2的窗口是最短的;對(duì)于g沿,還是一樣的分析方法,T2 < Treal < T1

此時(shí)T1 = Tb - Tsetup

hold

圖片

考慮hold,f沿采1,要求1在f沿到達(dá)之后還要保持Thold的時(shí)間,實(shí)際上很好滿足;事實(shí)上,2還要到b沿之后并經(jīng)過Treal的時(shí)間才會(huì)到;同理,g沿的hold也很好滿足;

最嚴(yán)苛的就是在e沿,要求0在Thold時(shí)間之后再變化。實(shí)際上是有可能發(fā)生違反的。此時(shí)T2 = T hold ,所以,T2 = T hold < T real < Tb - Tsetup =T 1 。

從慢到快和同頻同相的區(qū)別:

從慢到快,天然會(huì)存在重復(fù)采樣的問題。例如在上面的例子中,e采0,f采1,g采2,h采2(因?yàn)?還要等Treal時(shí)間之后才能到達(dá)),i采3,j采4。

即launch發(fā)出了:1 2 3 4,Capture采到了:1 2 2 3 4。

更為常見的例子是分頻的例子,例如clk1 6ns,clk2 12ns。那么capture采到的就是11 22 33 44。

可以通過修改RTL的方式來避免這樣的問題,見后續(xù)討論;

四、從快速到慢速

圖片

這里可以看到a沿發(fā)出bbb,c沿發(fā)出ccc;

如果clk_fast每一拍都發(fā)一個(gè)數(shù)據(jù),那么clk_slow必然會(huì)漏采數(shù)據(jù);

因此實(shí)際的數(shù)據(jù)周期并沒有那么快,在這個(gè)例子中,數(shù)據(jù)周期是12ns;即a和b沿發(fā)出bbb,c和d沿發(fā)出ccc;

此時(shí)我們的分析范圍是12ns和9ns的公倍數(shù),即36ns;3個(gè)周期的data,4個(gè)周期的clk_low;此時(shí)相當(dāng)于將從快到慢的問題轉(zhuǎn)化為了從慢到快的問題;

圖片

又看到了重復(fù)采樣的問題,h采到bbb,i采到ccc,j采到ddd,k也采到ddd;

我們可以想辦法消掉一個(gè)采樣沿。例如,在e沿發(fā)出j沿來采,setup最緊張,我們讓j沿不采,那么e沿發(fā)出k沿來采。

如下圖所示,在設(shè)計(jì)中做相應(yīng)的修改,工具會(huì)自動(dòng)插入一個(gè)門控時(shí)鐘,將clk1中沒有用到的時(shí)鐘沿屏蔽掉了(紅色虛線)。

圖片

在這個(gè)例子中,(1)產(chǎn)生了一個(gè)counter,我們的目的是對(duì)clk2每四個(gè)上升沿去掉一個(gè)上升沿;看到一個(gè)上升沿加1,大于等于4的時(shí)候再?gòu)?開始;

圖片

再利用counter產(chǎn)生一個(gè)D2_vld信號(hào),當(dāng)cnt為3的時(shí)候,D2_valid為0,其余情況都為1。

我們最終是要得到Q2。遇到一個(gè)clk2上升沿,先看D2_valid信號(hào)。G沿采到aaa,H沿采到bbb,I采到ccc;

到J的時(shí)候,D2_valid信號(hào)無效,沒有采樣,畢竟k也可以采到ddd;K采到ddd。

上述RTL也會(huì)在clk2上的分支上插入一個(gè)icg用來控制這個(gè)觸發(fā)器,將J沿消掉,icg由D2_vld信號(hào)控制。

圖片

五、multicycle約束

當(dāng)clk1和clk2是倍數(shù)關(guān)系的時(shí)候,使用multicycle的方式更合適。

從慢到快

例如,Clk1的A沿打2,但是Treal很大(組合邏輯很長(zhǎng),也可以插入FF,變成兩條path),大于Tb,到達(dá)endpoint的時(shí)候,clk2已經(jīng)過去一個(gè)周期了;

圖片

工具默認(rèn)E應(yīng)該采2,但是現(xiàn)在只能采到1,于是就會(huì)報(bào)違例;例如可以在F處分析,F(xiàn)處才需要變成2;

以clk2周期為單位(-end),我們以第一個(gè)上升沿為起點(diǎn),向右移動(dòng)2個(gè)clk1周期,即在F分析setup:

set_multicycle_path 2 -setup -endrom clk1 -to clk2

上面這句話,不光移動(dòng)了setup的檢查沿,還移動(dòng)了hold的檢查沿;

未設(shè)置multicycle_path 2時(shí),A是第一個(gè)launch沿,E是第一個(gè)capture沿,D是第零個(gè)capture沿;

當(dāng)設(shè)置multicycle_path 2時(shí),第一個(gè)capture沿從E移動(dòng)到F,那么第零個(gè)capture沿從D移動(dòng)到E(工具默認(rèn)在setup檢查沿的上一個(gè)上升沿檢查hold);

此時(shí),Tb + T hold < Treal < Tb - T setup ~ + Tb~;

即要求,數(shù)據(jù)1要一直保持到Tb + Thold之后才能變;其實(shí)數(shù)據(jù)1在clk2第一個(gè)上升沿D之后就可以變了;因此還需要做如下設(shè)置:

set_multicycle_path 1end –hold -from clk1 –to clk2

這條command只會(huì)移動(dòng)hold的檢查沿,以clk2周期為單位移動(dòng)向左移動(dòng)1個(gè)周期,將檢查沿移回到D;

即使設(shè)置了multicycle path,告訴工具了E沿不去check,RTL代碼也需要做相應(yīng)的修改(考慮計(jì)數(shù)器,生成使能信號(hào));以避免輸出在有觸發(fā)沿的時(shí)候翻轉(zhuǎn),造成亞穩(wěn)態(tài)的問題;

從快到慢

假設(shè)clk2是clk1的二分頻。如前所述,從快到慢的問題應(yīng)該先轉(zhuǎn)換為從慢到快的問題,再轉(zhuǎn)換為相同周期的問題。

例如,如果clk1是6ns,那么clk2是12ns,D2也是12ns,就和clk2有相同的周期了。因此,盡管從B到G是setup檢查最嚴(yán)格的,但實(shí)際上rtl也要做相應(yīng)修改,B沿不發(fā)數(shù)據(jù),A沿發(fā)1,C沿發(fā)2。

圖片

我們以clk1的周期為單位,將F沿向右移動(dòng)2個(gè)周期,即在G處分析setup:

set_multicycle_path 2 -setup -start -from Clk1 -to Clk2

然后,以clk1的周期為單位,將hold的檢查沿移回到F處:

set_multicycle_path 1 -hold -setup -from Clk1 -to Clk2;
聲明:本文內(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)投訴
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    385

    瀏覽量

    59665
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    1995

    瀏覽量

    61012
  • 時(shí)序分析
    +關(guān)注

    關(guān)注

    2

    文章

    127

    瀏覽量

    22542
  • 門控時(shí)鐘
    +關(guān)注

    關(guān)注

    0

    文章

    27

    瀏覽量

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

    關(guān)注

    0

    文章

    127

    瀏覽量

    17104
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于FPGA的時(shí)序分析設(shè)計(jì)方案

    時(shí)鐘的時(shí)序特性主要分為抖動(dòng)(Jitter)、偏移(Skew)、占空比失真(Duty Cycle Distortion)3點(diǎn)。對(duì)于低速設(shè)計(jì),基本不用考慮這些特征;對(duì)于高速設(shè)計(jì),由于時(shí)鐘本身的原因造成的時(shí)序問題很普遍,因此必須關(guān)注。
    發(fā)表于 11-22 09:29 ?649次閱讀
    基于FPGA的<b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b>設(shè)計(jì)方案

    介紹FPGA設(shè)計(jì)中時(shí)序分析的一些基本概念

    時(shí)鐘的時(shí)序特性主要分為抖動(dòng)(Jitter)、偏移(Skew)、占空比失真(Duty Cycle Distortion)3點(diǎn)。
    的頭像 發(fā)表于 03-16 09:17 ?1840次閱讀

    FPGA時(shí)序約束之Skew講解

    針對(duì)第2章節(jié)時(shí)序路徑中用到skew,在本章再仔細(xì)講解一下。
    發(fā)表于 08-14 17:50 ?1090次閱讀
    FPGA<b class='flag-5'>時(shí)序</b>約束之<b class='flag-5'>Skew</b>講解

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

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

    FPGA 高級(jí)設(shè)計(jì):時(shí)序分析和收斂

    今天給大俠帶來FPGA 高級(jí)設(shè)計(jì):時(shí)序分析和收斂,話不多說,上貨。 這里超鏈接一篇之前的STA的文章,僅供各位大俠參考。 FPGA STA(靜態(tài)時(shí)序分析) 什么是靜態(tài)
    發(fā)表于 06-17 17:07

    還是時(shí)序分析,但是skew - 1

    電路分析
    皮特派
    發(fā)布于 :2022年12月07日 11:51:17

    還是時(shí)序分析,但是skew - 2

    電路分析
    皮特派
    發(fā)布于 :2022年12月07日 11:52:53

    系統(tǒng)時(shí)序基礎(chǔ)理論之源同步時(shí)序要求

    上引起的差異,為了更好地說明這些Skew對(duì)時(shí)序的具體影響,下面我們還是通過時(shí)序分析的方法來計(jì)算一下源同步時(shí)鐘系統(tǒng)中信號(hào)的建立時(shí)間裕量和保持
    發(fā)表于 12-30 14:05

    如何減小clock skew?

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

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

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

    時(shí)序分析之useful skew的作用分析

    對(duì)于positive skew來說,它可以減少T的時(shí)間,相當(dāng)于提升芯片的performace。但是它的hold時(shí)間會(huì)變得更加難以滿足對(duì)于negative skew來說,它的hold時(shí)間更加容易滿足,取而代之的是,它會(huì)降低芯片的性能。
    的頭像 發(fā)表于 07-23 17:15 ?1.7w次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b>之useful <b class='flag-5'>skew</b>的作用<b class='flag-5'>分析</b>

    時(shí)序分析基礎(chǔ)

    時(shí)鐘的時(shí)序特性主要分為抖動(dòng)(Jitter)、偏移(Skew)、占空比失真(Duty Cycle DistorTIon)3點(diǎn)。對(duì)于低速設(shè)計(jì),基本不用考慮這些特征;對(duì)于高速設(shè)計(jì),由于時(shí)鐘本身的原因造成的時(shí)序問題很普遍,因此必須關(guān)注。
    的頭像 發(fā)表于 03-08 14:59 ?3841次閱讀

    高速電路信號(hào)完整性分析與設(shè)計(jì)—時(shí)序計(jì)算

    高速電路信號(hào)完整性分析與設(shè)計(jì)—時(shí)序計(jì)算
    發(fā)表于 02-10 17:16 ?0次下載

    FPGA設(shè)計(jì)中時(shí)序分析的概念分析

    時(shí)鐘的時(shí)序特性主要分為抖動(dòng)(Jitter)、偏移(Skew)、占空比失真(Duty Cycle Distortion)3點(diǎn)。對(duì)于低速設(shè)計(jì),基本不用考慮這些特征;對(duì)于高速設(shè)計(jì),由于時(shí)鐘本身的原因造成的時(shí)序問題很普遍,因此必須關(guān)注。
    的頭像 發(fā)表于 11-15 09:35 ?1276次閱讀

    時(shí)序分析基本概念介紹&lt;Skew&gt;

    今天要介紹的時(shí)序分析基本概念是skew,我們稱為偏差。
    的頭像 發(fā)表于 07-05 10:29 ?3335次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b>基本概念介紹&lt;<b class='flag-5'>Skew</b>&gt;