引言
靜態(tài)時(shí)序分析(STA)是用來(lái)分析數(shù)字電路是否滿足時(shí)序目標(biāo)的技術(shù)手段之一。比如,檢查CPU電路是否達(dá)到1GHz的目標(biāo)頻率。
本文沒(méi)有目錄分類,而是想先快速的講完一個(gè)案例,然后再回個(gè)頭來(lái)慢慢引出一些STA概念和知識(shí),以便后面進(jìn)行分類講解。(ps.這個(gè)時(shí)候出現(xiàn)的STA專業(yè)術(shù)語(yǔ)只需有個(gè)印象即可。)
案例分析
某芯片回片測(cè)試發(fā)現(xiàn)功能異常,不符合預(yù)期。經(jīng)過(guò)設(shè)計(jì)人員層層排查,鎖定到某條嫌疑路徑。我們畫出幾組精簡(jiǎn)的邏輯電路圖和時(shí)序波形圖來(lái)示意解釋問(wèn)題出在哪。
該電路不是真實(shí)案例對(duì)應(yīng)的具體電路,而是為了說(shuō)明問(wèn)題,虛擬抽象出來(lái)的相似電路,它不影響我們對(duì)問(wèn)題的探究剖析。
圖一、圖二是數(shù)字電路前端設(shè)計(jì)人員熟悉的邏輯電路圖和時(shí)序波形圖,其中時(shí)序波形圖代表了該邏輯電路的預(yù)期功能。
圖一 邏輯電路圖(理想延遲)
圖二 時(shí)序波形圖(理想延遲)
可以看出:
在0ns時(shí)刻之前
FFL1、FFL2兩個(gè)寄存器儲(chǔ)存的邏輯值分別是0、0。
在0ns時(shí)刻時(shí)
FFL1、FFL2打出來(lái)新的邏輯值1、1,經(jīng)過(guò)邏輯運(yùn)算和路徑傳播后,到達(dá)FFC1、FFC2的D端。
在1ns時(shí)刻時(shí)
FFC1、FFC2的D端出現(xiàn)的1、1分別被捕獲鎖存進(jìn)寄存器FFC1、FFC2,即T2周期FFC1、FFC2寄存器儲(chǔ)存的邏輯值是上個(gè)周期(T1)的D端輸入值。
實(shí)際芯片中,信號(hào)經(jīng)過(guò)任何cell和wire都是有延遲的。而且芯片處在不同的工作環(huán)境下,這些cell和wire會(huì)有不同的延遲值。
因此在不影響問(wèn)題說(shuō)明的前提下,為了近一步降低理解難度,我們先假設(shè)從clock源頭到任何寄存器的時(shí)鐘輸入端的延遲是0ns,而且假設(shè)不同工作條件下信號(hào)經(jīng)過(guò)同一條wire網(wǎng)絡(luò)具有相同的延遲值。
圖三、圖四是在BC工作條件下的邏輯電路圖(含延遲信息)和時(shí)序波形圖:
圖三 邏輯電路圖(含BC工作條件下的延遲信息)
圖四 時(shí)序波形圖( BC****工作條件)
在0ns時(shí)刻之前
FFL1、FFL2兩個(gè)寄存器儲(chǔ)存的邏輯值分別是0、0。
在0ns時(shí)刻時(shí)
FFL1、FFL2打出來(lái)邏輯1、1,這兩個(gè)輸出的邏輯值經(jīng)過(guò)路徑UNAND1、UINV2、UINV3、UINV4的邏輯運(yùn)算后到達(dá)FFC1的D端。
其路徑延遲 = 經(jīng)過(guò)的cell延遲 + 經(jīng)過(guò)的wire延遲,即:
路徑延遲D(FFL1->FFC1) = D(FFL2->FFC1)
= D(FFL1CP2Q) + D(C1) ~ ~ + D(UNAND1) + D(C2) + D(UINV2) + D(C3) + D(UINV3) + D(C4) + D(UINV4) + D(C5)
= 0.1 + 0.1 + 0.1 + 0.05 + 0.1 + 0.05 + 0.05 + 0.05 + 0.1 + 0.05
= 0.75ns;
同樣,兩個(gè)輸出經(jīng)過(guò)UNAND1、UINV5的邏輯運(yùn)算后到達(dá)FFC2的D端,其路徑延遲為:
路徑延遲D(FFL1->FFC2) = D(FFL2->FFC2)
= D(FFL2CP2Q) + D(C6) ~ ~ + D(UNAND1) + D(C7) + D(UINV5) + D(C8)
= 0.1 + 0.1 + 0.1 + 0.05 + 0.05 + 0.05
= 0.45ns;
在1ns時(shí)刻時(shí)
由于
D(FFL1->FFC1) = D(FFL2->FFC1) = 0.75ns < Tperiod – Tsetup = 1 – 0.1 = 0.9ns,
D(FFL1->FFC1) = D(FFL2->FFC1) = 0.75ns > Thold = 0.1ns,
D(FFL1->FFC2) = D(FFL2->FFC2) = 0.45ns < Tperiod – Tsetup = 1 – 0.1 = 0.9ns,
D(FFL1->FFC2) = D(FFL2->FFC2) = 0.45ns > Thold = 0.1ns,
所以FFC1、FFC2的D端出現(xiàn)的1、1能可靠的分別被捕獲鎖存進(jìn)寄存器FFC1、FFC2,即T2周期FFC1、FFC2寄存器鎖存了上個(gè)周期(T1)的D端輸入值。
**可見(jiàn),在BC工作條件下,計(jì)算了cell和wire延遲后,電路功能依然符合預(yù)期。 **
圖五、六是在WC工作條件下的邏輯電路圖(含延遲信息)和時(shí)序波形圖。
圖五 邏輯電路圖(含WC工作條件下的延遲信息)
圖六 時(shí)序波形圖( WC****工作條件)
在0ns時(shí)刻時(shí)
FFL1、FFL2打出來(lái)邏輯1、1,這兩個(gè)輸出的邏輯值經(jīng)過(guò)路徑UNAND1、UINV2、UINV3、UINV4的邏輯運(yùn)算后到達(dá)FFC1的D端,其路徑延遲為:
路徑延遲D(FFL1->FFC1) = D(FFL2->FFC1)
= D(FFL1CP2Q) + D(C1) ~ ~ + D(UNAND1) + D(C2) + D(UINV2) + D(C3) + D(UINV3) + D(C4) + D(UINV4) + D(C5)
= 0.2 + 0.1 + 0.2 + 0.05 + 0.2 + 0.05 + 0.1 + 0.05 + 0.2 + 0.05
= 1.2ns;
同樣,兩個(gè)輸出經(jīng)過(guò)UNAND1、UINV5的邏輯運(yùn)算后到達(dá)FFC2的D端,其路徑延遲為:
路徑延遲D(FFL1->FFC2) = D(FFL2->FFC2)
= D(FFL2CP2Q) + D(C6) ~ ~ + D(UNAND1) + D(C7) + D(UINV5) + D(C8)
= 0.2 + 0.1 + 0.2 + 0.05 + 0.1 + 0.05
= 0.7ns;
在1ns時(shí)刻時(shí)
與前面兩種情況不同,在這種場(chǎng)景下,在1ns時(shí)刻時(shí)出現(xiàn)在FFC1、FFC2的D端的是0、1(上面場(chǎng)景出現(xiàn)的是1、1)。
因此,此時(shí)鎖存進(jìn)FFC1、FFC2寄存器的值分別是0、1。與我們所預(yù)期的T2周期FFC1、FFC2寄存器值是1、1不同。
至此,芯片功能測(cè)試異常的原因我們已經(jīng)找到。簡(jiǎn)單的說(shuō)即芯片中去往FFC1的D端的這2條路徑(沒(méi)看錯(cuò),是2條),在實(shí)際運(yùn)行場(chǎng)景中的某個(gè)時(shí)刻,恰好處于接近WC的工作條件,導(dǎo)致FFC1在某時(shí)刻采樣錯(cuò)誤,表現(xiàn)出來(lái)芯片功能異常。
-
邏輯電路
+關(guān)注
關(guān)注
13文章
494瀏覽量
42728 -
寄存器
+關(guān)注
關(guān)注
31文章
5372瀏覽量
121293 -
STA
+關(guān)注
關(guān)注
0文章
51瀏覽量
19058 -
靜態(tài)時(shí)序分析
+關(guān)注
關(guān)注
0文章
28瀏覽量
9609 -
ffc連接器
+關(guān)注
關(guān)注
1文章
12瀏覽量
8433
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
matlab神經(jīng)網(wǎng)絡(luò)30個(gè)案例分析源碼
關(guān)于謝中華編的《matlab統(tǒng)計(jì)分析與應(yīng)用:40個(gè)案例分析》
[MATAB神經(jīng)網(wǎng)絡(luò)30個(gè)案例分析].史峰.
[MATLAB統(tǒng)計(jì)分析與應(yīng)用:40個(gè)案例分析]
[MATLAB智能算法30個(gè)案例分析].史峰等.掃描版
從一個(gè)賬號(hào)開(kāi)始玩轉(zhuǎn)機(jī)智云(應(yīng)用構(gòu)建)
MATLAB神經(jīng)網(wǎng)絡(luò)30個(gè)案例分析源程序
HLS系列 – High Level Synthesis(HLS) 從一個(gè)最簡(jiǎn)單的fir濾波器開(kāi)始4
![HLS系列 – High Level Synthesis(HLS) <b class='flag-5'>從一</b><b class='flag-5'>個(gè)</b>最簡(jiǎn)單的fir濾波器<b class='flag-5'>開(kāi)始</b>4](https://file1.elecfans.com//web2/M00/A6/A6/wKgZomUMP2SARQ1oAAAdAYzVh5U166.png)
HLS系列 – High LevelSynthesis(HLS) 從一個(gè)最簡(jiǎn)單的fir濾波器開(kāi)始5
![HLS系列 – High LevelSynthesis(HLS) <b class='flag-5'>從一</b><b class='flag-5'>個(gè)</b>最簡(jiǎn)單的fir濾波器<b class='flag-5'>開(kāi)始</b>5](https://file1.elecfans.com//web2/M00/A6/A6/wKgZomUMP2SAKvIuAAArdcC2EqQ419.png)
MATLAB神經(jīng)網(wǎng)絡(luò)30個(gè)案例分析源代碼免費(fèi)下載
![MATLAB神經(jīng)網(wǎng)絡(luò)30<b class='flag-5'>個(gè)案</b>例<b class='flag-5'>分析</b>源代碼免費(fèi)下載](https://file.elecfans.com/web1/M00/8A/9B/pIYBAFyO9NKAC-WBAAK412-2BdI677.png)
評(píng)論