中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

清新縣城鄉(xiāng)規(guī)劃建設(shè)局網(wǎng)站百度域名購買

清新縣城鄉(xiāng)規(guī)劃建設(shè)局網(wǎng)站,百度域名購買,wordpress電商模板下載,哪個網(wǎng)站做農(nóng)產(chǎn)品1 時鐘Clock 理想的時鐘模型是一個占空比為50%且周期固定的方波。時鐘是FPGA中同步電路邏輯運行的一個基準(zhǔn)。理想的時鐘信號如下圖: 2 時鐘抖動Clock Jitter 理想的時鐘信號是完美的方波,但是實際的方波是存在一些時鐘抖動的。那么什么是時鐘抖動呢?時鐘抖動&#…

?1 時鐘Clock


理想的時鐘模型是一個占空比為50%且周期固定的方波。時鐘是FPGA中同步電路邏輯運行的一個基準(zhǔn)。理想的時鐘信號如下圖:

2 時鐘抖動Clock Jitter


理想的時鐘信號是完美的方波,但是實際的方波是存在一些時鐘抖動的。那么什么是時鐘抖動呢?時鐘抖動,Clock Jitter,是相對于理想時鐘沿,實際時鐘存在不隨時間積累的、時而超前、時而滯后的偏移稱為時鐘抖動(時鐘脈沖寬度發(fā)生暫時變化,也就是T cycle【時鐘周期】或大或小)。有抖動的時鐘信號如下圖:

3 時鐘偏差Clock Skew


????????時鐘偏差,Clock Skew,是指同一個時鐘域內(nèi)的時鐘信號到達(dá)數(shù)字電路各寄存器所用時間的差異。時序分析的起點一般是源寄存器(reg1) ,終點—般是目標(biāo)寄存器(reg2)。
????????時鐘信號也會走線,那么和其它信號的傳輸一樣,就會有延時。下圖中,時鐘信號從時鐘源傳輸?shù)皆醇拇嫫鞯难訒r我們定義為Tc2s,傳輸?shù)侥繕?biāo)寄存器的延時我們定義為Tc2d。如下圖:

時鐘網(wǎng)絡(luò)延時 Tskew就是Tc2d與Tc2s之差,即Tskew=Tc2d - Tc2s。如下圖:

第一個方波是時鐘源,第二個方波為時鐘到達(dá)REG1時的波形,第三個方波為時鐘到達(dá)REG2時的波形,從圖上可以看出Tskew是時鐘到達(dá)兩個寄存器時的相位偏差。
?

4 時鐘不確定性Clock Uncertainty


Clock Uncertainty,即時鐘的不確定性。時鐘的不確定性主要是由Clock Skew和.Jitter構(gòu)成。因此Clock Uncertainty = ClockSkew + Clock Jitter。大家搞明白什么是Skew和Jitter,那么也就明白什么是Clock Uncertainty。
一般標(biāo)準(zhǔn)的時序約束文件中,都需要加Clock Uncertainty的約束,這個約束是為了讓時序分析更貼近真實的電路設(shè)計。對于Uncertainty的設(shè)置,每種工藝,或者每種設(shè)計來說,都不盡相同。


5 同步電路和異步電路


簡單來講,FPGA設(shè)計中寄存器全部使用一個時鐘的設(shè)計是同步設(shè)計電路,FPGA設(shè)計寄存器使用多個時鐘的設(shè)計是異步設(shè)計電路。我們說的所有時序分析都是建立在同步電路的基礎(chǔ)上的,異步電路不能做時序分析(或者說只能做偽路徑約束)。
異步電路由于使用的時鐘不同,導(dǎo)致上游寄存器的輸出數(shù)據(jù)進(jìn)入下游寄存器的時間是任意的,這非??赡軐?dǎo)致不滿足下游寄存器的建立時間要求和保持時間要求,從而導(dǎo)致亞穩(wěn)態(tài)。同樣的原因,由于兩者時鐘不同,所以也不法建立對應(yīng)的模型來分析異步電路是否能滿足時序要求。

6 建立時間(Setup Time)和保持時間(Hold Time)


建立時間和保持時間是寄存器的固定屬性,為了使寄存器穩(wěn)定地采樣到當(dāng)前D端的數(shù)據(jù),D端數(shù)據(jù)必須滿足建立時間和保持時間的要求:
建立時間: Setup Time,縮寫是TSu,即在時鐘上升沿之前數(shù)據(jù)必須穩(wěn)定的最短時間。

保持時間: Hold Time,縮寫是 Th,即在時鐘上升沿之后數(shù)據(jù)必須穩(wěn)定的最短時間


通俗來講:建立時間和保持時間就是在寄存器采樣窗口中輸入數(shù)據(jù)必須保持不變,以免寄存器無法穩(wěn)定采樣。也就是說,在我寄存器的采樣窗口之前你輸入數(shù)據(jù)就必須要保持穩(wěn)定,即輸入數(shù)據(jù)不能來的太晚(建立時間);同樣的,你寄存器的輸入數(shù)據(jù)也必須在我寄存器的采樣窗口結(jié)束后才變化,在此之前必須保持問題,即輸入數(shù)據(jù)不能走的太早(保持時間)。
建立時間和保持時間的示意圖如下:

7? 什么是時序分析?


時序分析主要有兩種辦法:


????????靜態(tài)時序分析: (static timing analysis,STA),是遍歷電路存在的所有時序路徑,根據(jù)給定工作條件(PVT)下的時序庫.lib文件計算信號在這些路徑上的傳播延時,檢查信號的建立和保持時間是否滿足約束要求,根據(jù)最大路徑延時和最小路徑延時找出違背時序約束的錯誤。
????????動態(tài)時序分析: (dynamic timing analysis,DTA),通常是所有的輸入信號都會給一個不同時刻的激勵,在testbech ( sp或者.v)中設(shè)置一段仿真時間,最后對仿真結(jié)果進(jìn)行時序和功能分析。這里的仿真可以是門級或者晶體管級,包括spice格式和RTL格式的網(wǎng)表。
????????STA不需要輸入向量就能窮盡所有的路徑,運行速度快,占用內(nèi)存小。不僅可以對芯片設(shè)計進(jìn)行全面的時序功能檢查,還可以利用時序分析的結(jié)果來優(yōu)化設(shè)計。DTA的優(yōu)點是結(jié)果精確,并且適用于更多的設(shè)計類型;缺點是速度慢,并且可能會遺漏一些關(guān)鍵路徑。一般來講,我們提到的時序分析都是指靜態(tài)時序分析STA。

8? 什么是時序約束?


????????了解了時序分析后,其實時序約束也就好理解了。簡單來講,時序約束就是你要告訴綜合工具,你的標(biāo)準(zhǔn)是什么。綜合工具應(yīng)該如何根據(jù)你的標(biāo)準(zhǔn)來布線,以滿足所有寄存器的時序要求。
????????在FPGA設(shè)計中,一旦時鐘頻率上升,那么時鐘周期就會減少。不難想象頻率越高,時鐘周期越小,而建立時間和保持時間的要求不變,那么對應(yīng)的,滿足建立時間和保持時間也會變難,因為留給信號到達(dá)的窗口變小了嘛!
????????但是綜合工具怎么知道你的設(shè)計要求是多少?那它又怎么去約束時鐘呢?所以我們開發(fā)者需要告訴綜合工具,我們的約束標(biāo)準(zhǔn)是什么,綜合工具才可以根據(jù)這個標(biāo)準(zhǔn)去布局布線,從而滿足我們的時序要求。
????????假設(shè)信號需要從輸入到輸出在FPGA內(nèi)部經(jīng)過一些邏輯延時和路徑延時。我們的系統(tǒng)要求這個信號在FPGA內(nèi)部的延時不能超過13ns(約束條件),而開發(fā)工具在執(zhí)行過程中找到了下圖所示的一些可能的布局布線方式。圖中區(qū)域1的延遲是5ns,區(qū)域2的延遲是7ns,區(qū)域3的延遲是5ns,區(qū)域4的延遲是11ns。那么,怎樣的布局布線能夠達(dá)到我們的要求呢?仔細(xì)分析一番,發(fā)現(xiàn)所有路徑的延時可能為12ns(走路徑1)、16ns(走路徑3)、21ns(走路徑2到路徑5)、17ns(走路徑2到路徑4),只有1條路徑能夠滿足要求,布局布線工具就會選擇滿足要求的路徑1。

????????這個地方我們系統(tǒng)要求這個信號在FPGA內(nèi)部的延時不能超過13ns,是有1條路徑可以滿足要求的,那么如果系統(tǒng)要求這個信號在FPGA內(nèi)部的延時不能超過5ns,那么沒有任何一條路徑可以滿足要求,這個就說明這個FPGA器件速度等級比較慢,可以選擇速度等級比較快的FPGA器件,當(dāng)然也有可能是系統(tǒng)要求過于苛刻(過約束)。
????????如果系統(tǒng)要求這個信號在FPGA內(nèi)部的延時不能超過18ns,那么是有3條路徑可以滿足要求的,分別是走路徑1,走路徑3,走路徑2到路徑4這3條路徑,這個說明如果系統(tǒng)要求松,那么布局布線工具可以選擇就很多,這樣對布局布線工具比較友好。時序分析的前提就是我們先提出要求,然后時序分析工具才會根據(jù)特定的時序模型進(jìn)行分析,即有約束才會有分析。如果我們不添加時序約束,那么時序分析工具就不會去分析時序和做時序收斂。也就是說,只有在對設(shè)計添加了時序約束后,系統(tǒng)的時序問題才有可能暴露出來.

9? 什么是時序收斂?


????????在我們給出時序約束的標(biāo)準(zhǔn)后,綜合工具會自動進(jìn)行時序分析,然后出具時序報告表。如果我們的設(shè)計欠佳或者約束條件過高,導(dǎo)致綜合工具無法實現(xiàn)滿足我們要求的布局布線。這種情況下,就可以說該設(shè)計是不滿足時序要求的。
通過修改RTL設(shè)計(如減少扇出、重新布線優(yōu)化、重定時、流水線切割等一系列方法)或其他方法,來使綜合工具能重新實現(xiàn)滿足我們設(shè)計要求的布局布線的這一設(shè)計過程,就被稱為時序收斂Timing closure。同樣的,當(dāng)所有的時序設(shè)計要求被滿足后,也可以說這一設(shè)計是時序收斂的。
????????簡單點講,時序收斂就是你改作業(yè)的過程,把不及格的作業(yè)通過改、抄等手段給改到合格的過程就是時序收斂。
????????好的時序是設(shè)計出來的,不是約束出來的。好的約束必須以好的設(shè)計為前提。沒有好的設(shè)計,在約束上下再大的功夫也是沒有意義的。不過,通過正確的約束也可以檢查設(shè)計的優(yōu)劣,通過時序分析報告可以檢查出設(shè)計上時序考慮不周的地方,從而加以修改。
????????通過多次“分析—修改—分析”的迭代也可以達(dá)到完善設(shè)計的目標(biāo)。所以說,設(shè)計是約束的根本,約束是設(shè)計的保證,二者是相輔相成的。

10? 組合邏輯與時序邏輯

數(shù)字電路根據(jù)邏輯功能的不同特點,可以分成兩大類:組合邏輯電路與時序邏輯電路。


組合邏輯電路的最大特點是輸出是實時跟隨輸入變化的,如下面的組合邏輯,如果兩個輸入之間到達(dá)的路徑延時不一致的話,則很容易產(chǎn)生毛刺。偏偏FPGA又不是理想器件,在資源被大量使用的情況下,要做到不同的路徑達(dá)到門電路的延時一致幾乎是不可能的,所以可以說純組合邏輯電路的毛刺現(xiàn)象幾乎是不可避免的。毛刺的產(chǎn)生很多時候都是個災(zāi)難,因為它并不是你預(yù)期設(shè)計的一部分,這相當(dāng)于你的設(shè)計遇上了沒有預(yù)料到的輸入情況,所以輸出在很大程度上也會變得不可控。
?

時序邏輯電路的最大特點是輸出不是實時跟隨輸入變化的,而是在時鐘的上升沿(或下降沿,一般以上升沿為主流)統(tǒng)一發(fā)生變化(誠然這個變化也不是瞬時的,還需要一定的Tco時間)。在時鐘的上升沿之前,只要輸入滿足建立時間和保持時間的要求,則任你如何有毛刺也不會對輸出造成影響,這很容易理解,因為在非上升沿不會發(fā)生采樣,自然也不會有輸出。
?

時序邏輯電路解決了組合邏輯電路無法解決的毛刺問題,將電路的行動全部置于統(tǒng)一的行動之下...鐘。在時鐘信號的控制下,整個電路可以有條不紊的運行。當(dāng)然,組合邏輯電路并不是被替代,因為我們?nèi)匀恍枰鋵崿F(xiàn)邏輯功能。所以組合邏輯與時序邏輯可以說是共生,你中有我我中有你----組合邏輯實現(xiàn)邏輯功能,而時序邏輯則將電路的運行置于統(tǒng)一的管理之下。
?

11 同步電路和異步電路


基于FPGA的設(shè)計Q幾乎都是時序邏輯電路,極少會有設(shè)計純組合邏輯電路的情況。因此,時序邏輯電路在FPGA的設(shè)計中占有非常重要的地位。對于時序邏輯,按信號間關(guān)系來看,又可分為同步時序邏輯和異步時序邏輯,簡稱同步邏輯和異步邏輯。


簡單來講,FPGA設(shè)計中寄存器全部使用一個時鐘的設(shè)計是同步設(shè)計電路,FPGA設(shè)計寄存器使用多個時鐘的設(shè)計是異步設(shè)計電路。我們說的所有時序分析都是建立在同步電路的基礎(chǔ)上的,異步電路不能做時序分析(或者說只能做偽路徑約束)。
異步電路由于使用的時鐘不同,導(dǎo)致上游寄存器的輸出數(shù)據(jù)進(jìn)入下游寄存器的時間是任意的,這非??赡軐?dǎo)致不滿足下游寄存器的建立時間要求和保持時間要求,從而導(dǎo)致亞穩(wěn)態(tài)。同樣的原因,由于兩者時鐘不同,所以也不法建立對應(yīng)的模型來分析異步電路是否能滿足時序要求。
所以,對FPGA的時序分析其實主要就是對同步時序邏輯電路進(jìn)行分析,然后再做約束。那么到底要約束些什么?
?

12 建立時間與保持時間


時序邏輯電路的基礎(chǔ)是觸發(fā)器FF,對FF的使用有兩個要求是必須滿足的----建立時間與保持時間。
????????建立時間: Setup Time,縮寫是TSu,即在時鐘上升沿之前數(shù)據(jù)必須穩(wěn)定的最短時間
????????保持時間: Hold Time,縮寫是 Th,即在時鐘上升沿之后數(shù)據(jù)必須穩(wěn)定的最短時間
通俗來講:建立時間和保持時間就是在寄存器采樣窗口中輸入數(shù)據(jù)必須保持不變,以免寄存器無法穩(wěn)定采樣。也就是說,在我寄存器的采樣窗口之前你輸入數(shù)據(jù)就必須要保持穩(wěn)定,即輸入數(shù)據(jù)不能來的太晚(建立時間)﹔同樣的,你寄存器的輸入數(shù)據(jù)也必須在我寄存器的采樣窗口結(jié)束后才變化,在此之前必須保持問題,即輸入數(shù)據(jù)不能走的太早(保持時間)。
建立時間和保持時間的示意圖如下:

????????建立時間和保持時間是觸發(fā)器的固定屬性,也就是說同一FPGA型號其所有的FF的建立時間和保持時間都是相同的,而不同的FPGA型號之間,其建立時間與保持時間則不同。關(guān)于FPGA對應(yīng)的建立時間和保持時間可以通過手冊來查詢,也可以用vivado做時序分析時查詢。高級的FPGA芯片其建立時間和保持時間會比低級的FPGA芯片較小,這也是其能運行頻率更高的原因。
????????了解FPGA的建立時間和保持時間非常重要,它是我們進(jìn)行時序分析的基礎(chǔ),甚至可以說,時序分析就是要分析所有的FF是不是都滿足建立時間與保持時間的要求。如果建立時間或者保持時間的要求無法被滿足,那么就會發(fā)生亞穩(wěn)態(tài)現(xiàn)象。


????????亞穩(wěn)態(tài)(Metastability):如果數(shù)據(jù)傳輸中不滿足觸發(fā)器的Tsu和Th不滿足,就可能產(chǎn)生亞穩(wěn)態(tài),此時觸發(fā)器輸出端Q在有效時鐘沿之后比較長的一段時間處于不確定的狀態(tài),在這段時間里Q端在0和1之間處于振蕩狀態(tài),而不是等于數(shù)據(jù)輸入端D的值。這段時間稱為決斷時間Tmet (resolution time)。經(jīng)過resolution time之后Q端將穩(wěn)定到O或1上,但是穩(wěn)定到O或者1,是隨機的,與輸入沒有必然的關(guān)系。

13 恢復(fù)時間與去除時間


????????恢復(fù)時間(Recovery Time)是指異步控制信號(如寄存器的異步清除和置位控制信號)在"下個時鐘沿來臨之前變無效的最小時間長度。這個時間的意義是,如果保證不了這個最小恢復(fù)時間,也就是說這個異步控制信號的解除與下個時鐘沿'離得太近(但在這個時鐘沿之前),沒有給寄存器留有足夠時間來恢復(fù)至正常狀態(tài),那么就不能保證"下個時鐘沿”能正常作用,也就是說這個時鐘沿"可能會失效。
????????去除時間(Removal)是指異步控制信號(如寄存器的異步清除和置位控制信號)在"有效時鐘沿'之后變無效的最小時間長度。這個時間的意義是,如果保證不了這個去除時間,也就是說這個異步控制信號的解除與‘有效時鐘沿'離得太近《但在這個時鐘沿之后),那么就不能保證有效地屏蔽這個“時鐘沿”,也就是說這個“時鐘沿"可能會起作用。
換句話來說,如果你想讓某個時鐘沿起作用,那么你就應(yīng)該在"恢復(fù)時間'之前是異步控制信號變無效,如果你想讓某個時鐘沿不起作用,那么你就應(yīng)該在“去除時間"過后使控制信號變無效。如果你的控制信號在這兩種情況之間,那么就沒法確定時鐘沿是否起作用或不起作用了,也就是說可能會造成寄存器處于不確定的狀態(tài)。而這些情況是應(yīng)該避免的。所以恢復(fù)時間和去除時間是應(yīng)該遵守的。
????????比如下圖中:復(fù)位信號rst_n作為一個異步控制型號,需要在下一個時鐘有效沿之前就變無效(拉高),以保證Recovery恢復(fù)時間,這樣寄存器才有足夠的時間恢復(fù)到正常狀態(tài)(這有點類似建立時間);同樣的,復(fù)位信號rst_n的移除不能與上一個時鐘有效沿間隔太近,以保證其無法影響上—個時鐘有效沿(這有點類似保持時間)。

14 4種基本的時序路徑


下圖是—張典型的FPGA與上游、下游器件通信的示意圖。
?

其可以劃分為基本的四條數(shù)據(jù)路徑,這四條路徑也是需要進(jìn)行時序約束的最基本的路徑。

1 管腳到寄存器
????????路徑1,上游器件通過FPGA管腳到FPGA的寄存器的時序路徑,即pin2reg(管腳到寄存器),需要對其進(jìn)行約束,以滿足FPGA端寄存器的建立時間和保持時間要求;

????????路徑1約束的是上游器件的源寄存器(起點)和FPGA內(nèi)部的目的寄存器(終點)的數(shù)據(jù)路徑,其目的是要滿足后端即FPGA內(nèi)部寄存器的建立時間要求和保持時間要求。
????????路徑1可以視為是路徑2的一種,只不過路徑1的源寄存器和目的寄存器都在FPGA內(nèi)部,而路徑2的源寄存器在上游器件中。

2 寄存器到寄存器
????????路徑2,FPGA內(nèi)部的寄存器到另一個寄存器,即reg2reg(寄存器到寄存器),需要對其進(jìn)行約束,以滿足FPGA端寄存器的建立時間和保持時間要求;

????????路徑2約束的是FPGA內(nèi)部源寄存器(起點)和FPGA內(nèi)部目的寄存器(終點)的數(shù)據(jù)路徑,其目的是要通過提供要求的方式來使得綜合工具vivado滿足所有FPGA內(nèi)部寄存器的建立時間要求和保持時間要求。
3 寄存器到管腳
????????路徑3,FPGA管腳到下游器件的寄存器的時序路徑,即reg2pin(寄存器到管腳),需要對其進(jìn)行約束,以滿足下游器件的寄存器的建立時間和保持時間要求;

????????路徑3約束的是FPGA內(nèi)部的源寄存器(起點)和下游器件的目的寄存器(終點)的數(shù)據(jù)路徑,其目的是要滿足前端即FPGA內(nèi)部寄存器的建立時間要求和保持時間要求。
????????路徑3同樣可以視為是路徑2的一種,只不過路徑1的源寄存器和目的寄存器都在FPGA內(nèi)部,而路徑3的目的寄存器在下游器件中。
4 管腳到管教
????????路徑4,FPGA管腳到FPGA管腳的時序路徑〈不通過任何寄存器),其本質(zhì)上是純組合邏輯電路,僅僅需要約束其值在一個指定范圍,不需要滿足建立時間和保持時間要求。

????????路徑4中不存在任何寄存器,通常都是純組合邏輯或者走線延遲等,所以也就不需要滿足寄存器的建立時間要求和保持時間要求。需要的僅僅是根據(jù)開發(fā)需求約束其延遲的最小值和最大值。

15 發(fā)射沿(Launch Edge)與鎖存沿(Latch Edge)


????????路徑1、2、3實際上都是對寄存器到寄存器之間的數(shù)據(jù)路徑之間的約束,而路徑4則是約束純組合邏輯。
????????由于寄存器的采樣往往都發(fā)生在時鐘的邊沿,所以目的寄存器采樣的值實際上是上個時鐘周期的源寄存器的值,也就是說在源寄存器與目的寄存器之間其采樣時間相差—個時鐘周期。

????????發(fā)射沿(Launch Edge)∶是源寄存器采樣的時間點,也是時序分析路徑的起點。

????????鎖存沿(Latch Edge)︰是目的寄存器采樣的時間點,也是時序分析路徑的終點

16 數(shù)據(jù)到達(dá)時間(Data Arrival Time)


由于2個寄存器之間存在的組合邏輯和走線延遲等,使得在發(fā)射沿采樣到的數(shù)據(jù)需要一定的時間才能到達(dá)后級的鎖存沿,這個時間就被稱為數(shù)據(jù)到達(dá)時間(Data Arrival Time) 。

如上圖,在計算數(shù)據(jù)到達(dá)時間時,存在3個時間參數(shù):
????????Tclk1:時鐘信號從起點到達(dá)源寄存器REG1的時鐘端口的時鐘網(wǎng)絡(luò)延時,產(chǎn)生原因一般是走線延遲
????????Tco:源寄存器REG1內(nèi)部的數(shù)據(jù)輸出延遲,這個延遲時間是寄存器的固有屬性,只和使用的FPGA芯片型號有關(guān)
????????Tdata:數(shù)據(jù)從源寄存器REG1輸出Q端到下級目的寄存器REG2的數(shù)據(jù)輸入D之間的延時,一般是組合邏輯器件產(chǎn)生的固有延時和走線延時

????????根據(jù)上圖可以算出數(shù)據(jù)到達(dá)時間:Data Arrival Time = launch edge + Tclk1 + Tco +Tdata

17、數(shù)據(jù)需求時間--建立時間(Data Required Time - Setup)


時序約束的本質(zhì)就是要滿足所有寄存器的建立時間要求和保持時間要求,所以在數(shù)據(jù)經(jīng)過一定的延遲從源寄存器到達(dá)目的寄存器后,同樣需要滿足目的寄存器的建立時間要求(Tsu) 。

如上圖,在計算數(shù)據(jù)需求時間--建立時間時,存在2個時間參數(shù):
????????Tclk2:時鐘信號從起點到達(dá)目的寄存器REG2的時鐘端口的時鐘網(wǎng)絡(luò)延時,產(chǎn)生原因一般是走線延遲
????????Tsu:在時鐘有效邊沿到達(dá)之間,輸入數(shù)據(jù)必須保持不變的時間,這意味著上級寄存器的輸入至少要在這之前就保持穩(wěn)定

????????根據(jù)上圖可以算出: Data Required Time + Tsu = latch edge +Tck2,即Data Required Time = latch edge + Tclk2- Tsu
????????數(shù)據(jù)需求時間--建立時間,實際上是一種對數(shù)據(jù)到來之前數(shù)據(jù)保持穩(wěn)定的最極端時間要求。比如為了滿足目的寄存器的建立時間要求,計算得到上級寄存器的輸出必須至少在3ns之前即保持穩(wěn)定,這也就意味著上級數(shù)據(jù)能到達(dá)的最晚時間是3ns,那么1ns、2ns到達(dá)自然是可以的,

18 數(shù)據(jù)需求時間--保持時間(Data Required Time - Hold)


建立時間和保持時間是寄存器的2個固定需求屬性,所以在數(shù)據(jù)經(jīng)過一定的延遲從源寄存器到達(dá)目的寄存器后,同樣需要滿足目的寄存器的保持時間要求(Th) 。

如上圖,在計算數(shù)據(jù)需求時間--保持時間時,存在2個時間參數(shù):
????????Tclk2:時鐘信號從起點到達(dá)目的寄存器REG2的時鐘端口的時鐘網(wǎng)絡(luò)延時,產(chǎn)生原因一般是走線延遲
????????Th:在時鐘有效邊沿到達(dá)之后,輸入數(shù)據(jù)必須保持不變的時間,這意味著上級寄存器的輸入至少要在這之后才能發(fā)生變化
????????所以可以算出: Data Required Time = latch edge + Tclk2+ Th

19、建立時間裕量(Setup Slack)


????????數(shù)據(jù)需求時間--建立時間實際上是一種對數(shù)據(jù)到來之前保持穩(wěn)定的最極端的時間要求,比如為了滿足目的寄存器的建立時間要求,計算得到上級寄存器的輸出必須至少在時間刻度3ns之前即保持不變,這也就意味著上級數(shù)據(jù)能到達(dá)的最晚時間是3ns,那么1ns、2ns到達(dá)自然是可以的。
????????如果數(shù)據(jù)在1ns即到達(dá)了目的寄存器,那么建立時間裕量就是3ns-1ns = 2ns,那么這個裕星有什么作用呢或者說代表著什么?前面我們知道到寄存器之間可能會存在一段組合邏輯和走線延遲,如果你的設(shè)計中某2個寄存器之間的建立時間裕量是2ns,則意味著你還有空間去折騰,比如寄存器彼此之間還可以增加一些組合邏輯器件或者更長的走線。

根據(jù)上圖,可以算出: Setup Slack = Data Required Time-Data Arval Time,即Setup Slack = (latch edge + Tck2 - Tsu ) -(launch edge + Tck1 +Tco +Tdata ) = (latch edge - launch edge)+(Tclk2-Tck1 ) - (Tsu + Tco +Tdata) = Tperiod + Tskew-(Tsu + Tco +Tdata) 。
????????如果Setup Slack為正,則說明數(shù)據(jù)在規(guī)定的時間內(nèi)達(dá)到了目的寄存器;反之,則認(rèn)為數(shù)據(jù)并沒有在規(guī)定的時間達(dá)到目標(biāo),此時REG2鎖存的數(shù)據(jù)很有可能是亞穩(wěn)態(tài)狀態(tài)。

20、保持時間裕量(Hold Slack)


數(shù)據(jù)需求時間--保持時間實際上是一種對時鐘沿到來之后數(shù)據(jù)保持穩(wěn)定的最極端的時間要求,比如為了滿足目的寄存器的保持時間要求,計算得到上級寄存器的輸出必須至少在時間刻度3ns之前都保持不變,這也就意味著上級數(shù)據(jù)能變化的最早時間是3ns,那么4ns,5ns到達(dá)自然是可以的。
如果數(shù)據(jù)在5ns處才在目的寄存器發(fā)生了變化,那么保持時間裕量就是5ns-3ns = 2ns。

根據(jù)上圖,可以算出: Hold Slack = Data Arival Time - Data Required Time,即Hold Slack = (latch edge + Tck1 +Tco +Tdata)(latch edge + Tclk2 + Th) = (Tco +Tdata - Th) - (Tclk2 - Tck1) + (latch edge - latch edge) = (Tco +Tdata -Th) - Tskew。

????????如果Hold Slack為正,則認(rèn)為數(shù)據(jù)在被鎖存的時候有足夠多的穩(wěn)定時間,是有效的;反之則認(rèn)為數(shù)據(jù)可能是亞穩(wěn)態(tài)狀態(tài)。

21 、總結(jié)


搞明白了這些概念,那么靜態(tài)時序分析9.其實也就很簡單了。上文出現(xiàn)了很多的公式,看起來有點晦澀難懂,但是沒關(guān)系,這些公示實際上僅僅是起到一個輔助理解時序分析的作用,并不需要去記憶,更也不需要熟練掌握這些公式來生搬硬套時序分析。因為現(xiàn)在的綜合工具已經(jīng)足夠智能了,你只需要提出時序約束的要求,綜合工具vivado自然會對這些路徑——進(jìn)行計算,你所要做的僅僅是找到時序裕量為負(fù)的路徑并想辦法改善即可。
此外,通過對上面公式的分析,可以讓我們更好的了解靜態(tài)時序分析的本質(zhì)。

根據(jù)上文有(1)和(2)兩式:
?

????????建立時間裕量: Setup Slack = Tperiod + Tskew - (Tsu +Tco +Tdata)--- (1)

????????保持時間裕量:Hold Slack = (Tco +Tdata - Th) - Tskew ----- (2)

其中,Tperiod是時鐘周期;Tskew是寄存器之間的時鐘偏差,產(chǎn)生的原因是時鐘到達(dá)不同的寄存器的時鐘端口有延遲;Tsu與Th分別是寄存器的建立時間要求和保持時間要求,這是寄存器的固有屬性,只和FPGA的型號相關(guān);Tco是從寄存器的輸入端口到輸出端口所需要的延時時間,同樣是寄存器的固有屬性;Tdata是寄存器之間的組合邏輯和走線延遲等之和,這與具體設(shè)計有關(guān),平時我們大多都是通過減少Tdata來使得時間裕量為正,以此實現(xiàn)設(shè)計的時序收斂。
????????Tskew實際上是一個可以被忽略掉的較小值,所以把它去掉,再對(1)和(2)兩式做變形(Slack>0需被滿足),然后有(3)和(4)兩式

????????????????????????Tperiod >(Tsu + Tco +Tdata) ---- (3)
????????????????????????(Tco +Tdata ) > Th ---- (4)

(3))式子中的(Tsu +Tco +Tdata)代表數(shù)據(jù)從源寄存器到目的寄存器所消耗的時間,即(Tsu + Tco +Tdata)<Tperiod表示數(shù)據(jù)從源寄存器的采樣時刻傳到目的寄存器的采樣時刻,不能超過一個時鐘周期。如果數(shù)據(jù)傳輸超過一個時鐘周期,那么就會導(dǎo)致目的寄存器器開始采樣的時候,從源寄存器出發(fā)的數(shù)據(jù)還沒有傳過來。
對于(4)式可以兩邊同時加上Tsu ,得到(5)式:
????????????????????????(Tco +Tdata + Tsu ) >(Th + Tsu) ---- (5)

(5)式子中的(Tsu + Tco +Tdata)代表數(shù)據(jù)從源寄存器到目的寄存器所消耗的時間,(Th+TSu)是建立時間和保持時間之和,即寄存器的采樣窗口時間。那么(Tsu +Tco +Tdala)> Th+Tsu表示數(shù)據(jù)從源寄存器的采樣時刻傳到目的寄存器的采樣時刻,至少要大于寄存器的采樣窗口。假如數(shù)據(jù)傳輸時間不大于采樣窗口,則意味著數(shù)據(jù)的傳輸是特別快的,有可能目的寄存器開始采樣時,源寄存器的采樣仍沒有結(jié)束,如果這個時候輸入端數(shù)據(jù)有變化,那么不僅源寄存器處于亞穩(wěn)態(tài),目的寄存器也將處于亞穩(wěn)態(tài)!
所以,數(shù)據(jù)傳輸延時既不能太大以至于超過一個時鐘周期,也不能太小以至于小于觸發(fā)器采樣窗口的寬度。這就是靜態(tài)時序分析的物理意義了。
?

http://www.risenshineclean.com/news/63332.html

相關(guān)文章:

  • 肇慶市企業(yè)網(wǎng)站建設(shè)品牌網(wǎng)絡(luò)銷售工資一般多少
  • 網(wǎng)站建設(shè)包含哪些網(wǎng)站模板套用教程
  • 網(wǎng)站軟件有哪些網(wǎng)站建設(shè)制作教程
  • 河北搜恒不給做網(wǎng)站seo網(wǎng)站自動推廣
  • 張家港哪家做企業(yè)網(wǎng)站競價推廣營銷
  • 自己做網(wǎng)站需要什么seo自動優(yōu)化工具
  • 怎樣做網(wǎng)站發(fā)帖天津百度關(guān)鍵詞seo
  • 安徽合肥市城鄉(xiāng)建設(shè)委員會網(wǎng)站在線子域名二級域名查詢工具
  • 有什么做網(wǎng)站優(yōu)化公司互聯(lián)網(wǎng)推廣廣告
  • 揚州市住房和城鄉(xiāng)建設(shè)網(wǎng)站網(wǎng)絡(luò)建設(shè)推廣
  • 自己怎么做跨境電商優(yōu)化關(guān)鍵詞的方法有哪些
  • 聊城做企業(yè)網(wǎng)站關(guān)鍵詞優(yōu)化的建議
  • 進(jìn)網(wǎng)站后臺加什么原因日本比分預(yù)測最新分析
  • 做足球網(wǎng)站前景百度一下百度搜索入口
  • 現(xiàn)在哪些網(wǎng)站自己做裝修百度關(guān)鍵詞排名突然沒了
  • 具有設(shè)計感的網(wǎng)站seo優(yōu)化案例
  • 如何把購物網(wǎng)站做成非經(jīng)營網(wǎng)站百度收錄
  • 做電商網(wǎng)站要服務(wù)器嗎陽東網(wǎng)站seo
  • c2c有哪些網(wǎng)站輿情監(jiān)測軟件免費版
  • 房地產(chǎn)集團(tuán)網(wǎng)站建設(shè)方案廣州市新聞發(fā)布
  • 網(wǎng)站建設(shè)后臺管理便捷百度移動seo首選帝搜軟件
  • 用什么軟件做購物網(wǎng)站軟文推廣例子
  • 廊坊web大連seo按天付費
  • 像網(wǎng)站分類一樣的表格圖怎么做怎么開網(wǎng)店新手入門
  • 溫州網(wǎng)站建設(shè)方案維護(hù)seo外包公司多嗎
  • 泉州做網(wǎng)站設(shè)計公司東莞網(wǎng)站建設(shè)平臺
  • 網(wǎng)站站點地圖seo推廣人員
  • 做網(wǎng)站備案什么意思app推廣平臺放單平臺
  • wordpress網(wǎng)站生成app應(yīng)用指數(shù)基金
  • 在線平面設(shè)計招聘搜索引擎優(yōu)化技術(shù)