對(duì)于基于鎖存器的設(shè)計(jì),靜態(tài)時(shí)序分析會(huì)應(yīng)用一個(gè)稱(chēng)為時(shí)間借用的概念。本篇博文解釋了時(shí)間借用的概念,若您的設(shè)計(jì)中包含鎖存器且時(shí)序報(bào)告中存在時(shí)間借用,即可適用此概念。
隨后,本文進(jìn)一步解釋靜態(tài)時(shí)序分析 (STA) 工具如何應(yīng)用這個(gè)概念。
假設(shè)時(shí)鐘周期為 10 且占空比為 50%:

另假設(shè)存在如下簡(jiǎn)單電路:

為便于理解,假設(shè)每個(gè)觸發(fā)器的建立時(shí)間和保持時(shí)間均為“0”。同時(shí),假設(shè)時(shí)鐘偏差和時(shí)鐘延遲均為“0”。
在 0 時(shí)從 F1 發(fā)送的數(shù)據(jù)會(huì)在 10 時(shí)被 F2 采樣。因此,如果數(shù)據(jù)在 10 之后到達(dá) F2,則 F2 將無(wú)法捕獲正確的數(shù)據(jù)。同樣,從 F2 發(fā)送的數(shù)據(jù)有 10 個(gè)時(shí)間單位到達(dá) F3,并在下一個(gè)時(shí)鐘沿被 F3 采樣。
現(xiàn)在我們用鎖存器 L2 替換 F2,其中鎖存器的“門(mén)控”由同一時(shí)鐘線驅(qū)動(dòng):

先來(lái)理解時(shí)間借用的概念,稍后再對(duì)基于鎖存器的設(shè)計(jì)進(jìn)行實(shí)際的靜態(tài)時(shí)序分析。
對(duì)于從 F1 發(fā)送的數(shù)據(jù):
如果該數(shù)據(jù)稍早于 10 時(shí)到達(dá)鎖存器輸入,則會(huì)在鎖存器的 D 管腳處等待。這與 F2 表現(xiàn)出的行為類(lèi)似。
但當(dāng)數(shù)據(jù)在 10 時(shí)之后到達(dá) L2 時(shí)會(huì)發(fā)生什么? L2 在 10 到 15 的時(shí)間段內(nèi)是“透明”。因此,即使數(shù)據(jù)在 10 之后到達(dá) L2,只要數(shù)據(jù)在 15 之前到達(dá) L2,L2 就能夠使用它。
例如,如果數(shù)據(jù)在 12 時(shí)到達(dá) L2,這意味著鎖存器提供了(相對(duì)于觸發(fā)器)2 個(gè)時(shí)間單位的優(yōu)勢(shì)。
在此示例中,L2 能夠提供的最大優(yōu)勢(shì)是 5 個(gè)時(shí)間單位?,F(xiàn)在來(lái)看看從 L2 到 F3 的路徑。數(shù)據(jù)在 12 時(shí)從 L2 輸出,并將在 20 時(shí)被 F3 采樣。因此,從 L2 到 F3 的路徑只獲得 8 個(gè)時(shí)間單位。
在包含全部觸發(fā)器的電路中,第二條路徑有 10 個(gè)時(shí)間單位。然而在這個(gè)電路中,它少了 2 個(gè)時(shí)間單位。
本質(zhì)上:
饋入鎖存器的路徑獲得了額外的 2 個(gè)時(shí)間單位。因此,鎖存器之后的路徑不得不從其份額(10 個(gè)時(shí)間單位)中“讓出”這 2 個(gè)時(shí)間單位。換言之:饋入鎖存器的路徑從鎖存器之后的路徑“借用”了 2 個(gè)時(shí)間單位。
因此,饋入鎖存器的路徑可以從后續(xù)路徑借用額外的時(shí)間(相當(dāng)于鎖存器透明的時(shí)間)。然而,實(shí)際借用的時(shí)間不一定就是可以借用的全部時(shí)間。實(shí)際借用的時(shí)間是路徑滿(mǎn)足時(shí)序所需的最小值(受限于鎖存器透明時(shí)間的最大限制)。
對(duì)于所述示例:
可以借用的時(shí)間量 = 5 個(gè)時(shí)間單位。
實(shí)際借用的時(shí)間量 = 2 個(gè)時(shí)間單位。
除了默認(rèn)可用的時(shí)間外,還額外使用了 2 個(gè)時(shí)間單位來(lái)滿(mǎn)足時(shí)序。
現(xiàn)在我們理解了在鎖存器場(chǎng)景下的時(shí)間借用概念,接下來(lái)看看 STA 工具如何對(duì)基于鎖存器的設(shè)計(jì)進(jìn)行時(shí)序分析。
對(duì)于在 0 時(shí)由 F1 觸發(fā)的數(shù)據(jù)而言:
L2 在 0 到 5 的持續(xù)時(shí)間內(nèi)是開(kāi)放的。這是 L2 可以捕獲數(shù)據(jù)的窗口。因此,在 0 時(shí)從 F1 發(fā)送的數(shù)據(jù)可以在 0 到 5 期間被 L2 捕獲。
對(duì)于建立時(shí)間分析:
- 0 會(huì)被視為 L2 的捕獲沿,借用容量為 5。
STA 工具會(huì)執(zhí)行以下操作:在 0 時(shí)發(fā)送并在 0 時(shí)捕獲,附加借用容量為 5。就 L2 到 F3 的路徑而言:在 0 時(shí)發(fā)送,在 10 時(shí)于 F3 處被捕獲。因此,從 F1 到 F3 的路徑為 10,其中最多 5 個(gè)時(shí)間單位在 L2 之前可用,其余則在 L2 之后可用。
現(xiàn)在來(lái)看看保持時(shí)間分析:
對(duì)于保持時(shí)間分析,我們希望確保數(shù)據(jù)不會(huì)在前一個(gè)周期內(nèi)被捕獲。由 F1 在 0 時(shí)發(fā)送的數(shù)據(jù)可以在 0-5 期間被 L2 捕獲?;蛘哒f(shuō),L2 在 0-5 期間捕獲的數(shù)據(jù)應(yīng)該是 F1 在 0 時(shí)發(fā)送的數(shù)據(jù)。
那么 F1 將在 10 時(shí)發(fā)送的下一個(gè)數(shù)據(jù)呢?
如果這個(gè)數(shù)據(jù)在 5 之前到達(dá) L2,那么它會(huì)干擾 F1 在 0 時(shí)發(fā)送的數(shù)據(jù)。因此,保持時(shí)間檢查應(yīng)確保 F1 在 10 時(shí)發(fā)送的數(shù)據(jù)不得在 5 時(shí)之前到達(dá) L2,即針對(duì) F1 在 10 時(shí)發(fā)送的數(shù)據(jù)和 L2 在 5 時(shí)捕獲的數(shù)據(jù)會(huì)進(jìn)行保持時(shí)間檢查。
-
鎖存器
+關(guān)注
關(guān)注
8文章
956瀏覽量
44870 -
靜態(tài)時(shí)序分析
+關(guān)注
關(guān)注
0文章
30瀏覽量
9787
原文標(biāo)題:開(kāi)發(fā)者分享 | 鎖存器中的時(shí)間借用
文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開(kāi)發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
靜態(tài)時(shí)序之建立時(shí)間和保持時(shí)間分析
FPGA靜態(tài)時(shí)序分析模型——寄存器到寄存器
鎖存器的缺點(diǎn)和優(yōu)點(diǎn)
靜態(tài)時(shí)序分析與邏輯(華為內(nèi)部培訓(xùn)資料)
線與邏輯、鎖存器、緩沖器、建立時(shí)間、緩沖時(shí)間的基本概念
靜態(tài)時(shí)序分析在IC設(shè)計(jì)中的應(yīng)用
鎖存器中的時(shí)間借用概念與靜態(tài)時(shí)序分析
評(píng)論