• 沒有找到結果。

摘要

N/A
N/A
Protected

Academic year: 2022

Share "摘要"

Copied!
50
0
0

加載中.... (立即查看全文)

全文

(1)
(2)
(3)
(4)
(5)
(6)
(7)

摘要

當 Scan chain 在數位電路中使用越來越多,scan chain 功能的 正確性將越來越重要,這裡我們將 DFF 中 CMOS 的 vtn 及 vtp 取亂數,

來分析當 Vtn 及 Vtp 變化時對 DFF 時間參數的影響,及對 DFF Chain 傳輸的影響。可以得到當 vtn 及 vtp 偏移的越大,DFF chain 兩級間 的 margin 將會變小,將會影響彼此的傳輸。

(8)

Abstract

The scan chain would be used widely by logic circuit, correct function of scan chain is more and more important, we use the random number to obtain vtn and vtp of CMOS in DFF and analysis the effect in DFF and the transition in DFF chain as the variation of vtn and vtp. The margin would small as the variation of vtn and vtp is big, that would effect the transition between two DFF.

(9)

致謝

感謝 神讓我能進入到中華大學在陳竹一的指導下學習,這兩年

過程感謝陳竹一老師的指導,提供了我很多的想法,也提醒了我在做 人處事上許多該有的態度。

感謝口試委員在口試期間的指導跟建議,特別謝謝黃錫瑜教授在 口試時在相關領域上給予的提醒跟建議,使得這論文能更加完整。

同時也感謝跟我一起提攜彼此討論的同學們,姜姜、小鄭、阿書、

凱君、宏文、雅玲、阿勝、吳大哥、阿彭,也謝謝在最後階段幫忙我 的學弟們,國樟、鶴齡、阿益。

另外也特別謝謝教會幾個輔導曾哥、可菁姐、嘉樂姐、妙玲姐、

曉元哥、肇薇姐,在後面的打氣跟鼓勵,也謝謝團契幾個弟弟妹妹們 的鼓勵,讓我能走過這個階段。當然非常感謝我的媽媽跟妹妹,謝謝 你們的關心跟打氣使我能完成在這裡的學業。

(10)

目錄

摘要... I Abstract...II 致謝...III 目錄... IV 圖目錄... VI 表目錄... VII

第1 章 簡介...1

1.1 研究動機:...1

1.2 研究方向:...2

第2 章 DFF 時序分析...3

2.1 DFF 中傳輸的規則:...3

2.2 Vtn 與 Vtp 之間的關係 ...5

2.3 DFF Chan 傳輸的分析 ...18

2.4 對傳輸品質的影響...25

第3 章 掃瞄串中錯誤的症狀...29

3.1 Stuck-at-Fault ...29

3.2 Setup time fault...30

3.3 Hold time fault...32

第4 章 結論...35

(11)

參考文獻...36

(12)

圖目錄

圖 4-1 時序圖...3

圖 4-2 CMOS 裏面充放電的關係...4

圖 4-3 DFF 電路圖...5

圖 4-4 信號由 0 變 1 時的變化...7

圖 4-5 信號由 1 變 0 時的變化...8

圖 4-6 由 0 變 1 的關係圖...9

圖 4-7 超過邊界由 0 變 1 的關係圖 ...13

圖 4-8 超過邊界由 1 變 0 的關係圖 ...15

圖 4-9 DFF Chain 模型 ...18

圖 4-10 setup time check (1)...20

圖 4-11 setup time check(2)...20

圖 4-12 hold time check(1)...22

圖 4-13 hold time check(2)...22

圖 4-14 DFF 傳輸模型...26

(13)

表目錄

表 3-1 電晶體五個角落參數 ...6

表 3-2 Vtn 與 Vtp 的平均值及標準差...9

表 3-3 由 0 變 1 時的最大最小值 ...10

表 3-4 由 1 變 0 時的最大最小值 ...11

表 3-5 超過邊界由 0 變 1 最大最小值 ...14

表 3-6 超過邊界由 1 變 0 最大最小值 ...15

表 3-7 DFF 參數間關係矩陣...16

(14)

第1章 簡介

1.1 研究動機:

隨著 IC 制程的進步,從 0.35um、0.25um、一直到現在的 0.18um、0.13um 甚至已經有公司的制程已經進入奈米的大小,

根據「摩爾定律(Moor's Law)」IC 制程每 18 個月會進步一個 階段。當 IC 的尺寸越來越小,功能上也越來越趨複雜,「測試」

已經不是以往單純利用測試機台就可以完成的工作,如果只是靠 測試機台來做測試的工作,所花費的時間跟成本將會非常的高。

所以現在在「設計規劃」階段就必須考慮到測試的問題。而為了 降低測試時間及成本,在數位 IC 設計上就考慮到使用「針對測 試的設計(Design for Test DfT)」的方法,來減少測試的時 間降低生產成本。在「DfT」中廣泛的使用到 Scan-Base 的結構,

這是由許多的 D Flip-flop(DFF)串接而成的電路(DFF Chain)

包在核心電路的周圍。利用資料掃瞄的方式將測試資料送入核心 電路做測試,再將測試後的資料利用掃瞄的方式傳出來,這樣可 減少測試的時間而降低生產的成本。這樣的結構理論上是可行的 方式,但是 DFF Chain 電路一樣是 IC 電路的一部份,仍然會有 發生錯誤的可能,若 DFF Chain 電路發生錯誤,這顆數位 IC 就

(15)

無法正常測試,所以一個正確功能的 scan chain 將會非常的重 要,且如何正確診斷出 scan chain 當中的錯誤是提高產品良率 的重要步驟。

1.2 研究方向:

在數位 IC 電路中常會使用到 DFF Chain 的結構來測試,但 當 DFF Chain 發生錯誤將無法正常的測試。而 DFF Chain 是由許 多 DFF 所構成,當因為空間的關係,而造成彼此時間參數不一致 的現象,這樣的現象會對 DFF Chain 造成什麼影響?及因為 DFF 中的時間參數(Tsu、Th 和 Tp)對 High-Low 及 Low-High 皆不一 樣,且有存在相關性,這裏要分析彼此傳輸的關係。

(16)

第2章 DFF 時序分析

2.1 DFF 中傳輸的規則:

Clk D

Q

tsu tsu

tsu thth

tp tp

圖 2-1 時序圖

在 DFF 中必須滿足 setup time 及 Hold time 這兩個規則,這 兩個規則的定義為:

Setup Time 設定時間:Clk 驅動前 D 必須維持穩定出現的最小時間。

Hold Time 保持時間:Clk 驅動後 D 必須維持穩定的最小時間。

Propagation Time 延遲時間:Clk 驅動後 Q 出現信號的最小時間。

關係式為:如圖 2-1

如果沒有滿足這樣的規則,電路的行為將會進入到 metastability(亞 穩態)的狀態這樣的狀態會使得傳輸時造成同步的錯誤。

su

clk

D T

T − >

h

clk

T

T

D − >

(17)

在現在的電路當中,很多都是由 CMOS 的結構所構成,CMOS 結構中當 信號由 0 變 1 時是由 PMOS 負責充電,而當信號由 1 變 0 時是由 NMOS 負責放電,但是因為工作的載子不一樣,所以充放電的速度也會不一 樣,在波形上不會對稱如圖 2-2。充電時會較慢而放電會快,因著充 放電的速度的不一樣,所以在電路當中充電由 0 變 1 及 1 變 0 的 tsu、

th 和 tp 將會不一樣。因為有所不一樣所以當掃瞄串在傳輸資料時會 因著傳 0 傳 1 的關係對電路造成影響。

圖 2-2 CMOS 裏面充放電的關係

這論文在這裏所模擬 DFF 的電路是 0.25um 制程如圖 2-4:

利用 H-spice 可以得到 DFF 的時間參數(tsu、th 和 tp),當資料由 Data 腳位輸入由 Q 腳位輸出,首先將 Data 的時間點逼近 clk,當逼 近到 Q 腳能輸出資料,Data 的時間距離 clk 最近的時間時,再改變 脈波寬度來求得當 clk 驅動後資料保持穩定的時間,當這兩個時間都 穩定後,就可以求出這 DFF 的時間參數(tsu、th 和 tp)

(18)

圖 2-3 DFF 電路圖

2.2 Vtn 與 Vtp 之間的關係

在 CMOS 當中最容易影響電晶體的參數為 Vt,所以針對 Vt 的變化對 DFF 的影響,模擬兩種的實驗來看當 Vt 變化時對 DFF 的影響:

1、 針對電晶體中五個邊界的 Vtn 及 Vtp 來模擬。

2、 在這個五個邊界中取-0.9 的相關性取一百組亂數。

這裏表 2-1 可以由電晶體五個邊界值的參數轉換到 DFF 的時間參數:

(19)

表 2-1 電晶體五個角落參數 Vtn

(mV)

Vtp (mV)

tsu0->1 (ps)

th0->1 (ps)

tp0->1 (ps)

tsu1->0 (ps)

th1->0 (ps)

tp1->0 (ps) FF 417 -546 133 79 641 282 153 629 SF 537 -546 135 121 691 273 165 707 TT 477 -596 137 90 673 294 158 676 FS 417 -646 139 73 650 332 132 638 SS 537 -646 138 94 742 322 127 718

這五個電晶體的值是電晶體當中五個邊界值,FF 是最快的組合而 SS 是最慢的組合,但是在這的組合中,DFF 中的時間參數最小值並沒有 出現在 FF 最快的組合中,而最慢的時間參數也沒有出現在 SS 的組合 當中。發現當信號由 0 變 1 時當 vtn 固定時 vtp 越大則 tp 值會越大,

相對的當信號由 1 變 0 時當 vtp 固定 vtn 值越大則 tp 值也會越大,

且信號由 0 變 1 時 tsu 比由 1 變 0 時來的小,但是 tp 卻比較大。這 裏可以用圖形來表示由電晶體參數空間轉換到 DFF 時間空間的情 況。如圖 2-4

(20)

圖 2-4 信號由 0 變 1 時的變化

從圖 2-4 可以發現,在電晶體的參數空間當中五個邊界是呈現正方 形的分佈,但是當轉到 DFF 的時間空間時,可以看到關係圖形產生的 變化及彎曲。但是在 0 變 1 時(TT)這個點仍然還是在三張關係圖的中 間。

(FF)

(FS) (SS)

(SF) (TT)

Vtn Vtp

tsu tp

(FF)

(TT) (SF)

(SS)

(FS)

(FF)

(SS) (SF)

(FS) (TT)

(FF)

(FS)

(TT) (SS) (SF)

tsu tp th th

(21)

圖 2-5 信號由 1 變 0 時的變化

當信號由 1 變 0 時在 tsu(Setup time)與 th(Hold time)關係中,

電晶體(TT)這個點會跑到範圍的為面去,從以上兩張圖 2-4 圖 2-55 可以看到當電晶體參數轉變到 DFF 的參數時,會呈現變化,但是從五 個點無法清楚的知道呈現什麼關係的變化,這裏除了將五個電晶體的 邊界點轉到 DFF 的時間參數外,我們還在這五個邊界範圍內 Vtn 與 Vtp 取-0.9 的相關姓,取一百個點看看其中的變化為何。其中 vtn 與 vtp 的平均值及標準差在以下的表 2-2 中。

(FF)

(FS) (SS)

(SF) (TT)

Vtn Vtp

(FF)

(FS) (SS)

(SF) (TT)

tsu tp

tsu th (FF)

(SF)

(SS)

(FS) (TT)

tp th

(TT) (FF)

(SF)

(SS) (FS)

(22)

表 2-2 Vtn 與 Vtp 的平均值及標準差

這裏根據這樣的條件在電晶體五個範圍內取了 100 點的亂數,而 3 倍 標準差的值會使得 Vtn 及 Vtp 的值到達電晶體的邊界值(FF、SF、SS、

SF)可以得到彼此的關係圖:

圖 2-6 由 0 變 1 的關係圖

從圖 2-6 中可以發現由亂數所產生出來的點全部都在 Vtn 及 Vtp 的 範圍內而且因為其中是取-0.9 的相關性所以圖形會呈現趨近線性的 現象。將每一筆 Vtn、Vtp 的數據帶進 DFF 中來取出每一個 DFF 的時

0 .4 7 6 8 0 .5 9 6 4

⎡ ⎤ ⎡ ⎤

⎢ ⎥ = ⎢⎣− ⎥⎦

⎣ ⎦

t n t p

μ o f V V

0 . 0 2 0 . 0 1 6 7

t n t p

o f V

σ

V ⎥ =

⎣ ⎦

⎣ ⎦

Vtn Vtp

tsu tp

tsu th

tp th

(23)

間參數(tsu、th 和 tp)時彼此的關係,可以發現由亂數取出 Vtn 及 Vtp 所得到 tsu、tp 及 th 彼此的關係,不會全部都在由五個點(TT、

FF、FS、SS、SF)所圍出來的範圍內,顯然無法光利用五個點來詳細 描述由電晶體的參數轉換到 DFF 的時間參數時分佈的範圍。

可以從這些數據取得在這 100 筆亂數中會影響 DFF Chain 的最大及最 小值。表 2-3

表 2-3 由 0 變 1 時的最大最小值 Vtn

(mV)

Vtp (mV)

tsu0->1 (ps)

th0->1 (ps)

tp0->1 (ps)

tsu1->0 (ps)

th1->0 (ps)

tp1->0 (ps) tp

(max) 499 -602 136 107 912 277 128 697

tp

(min) 470 -589 137 98 601 298 157 675

tsu

(min) 450 -572 131 109 820 293 138 708

th

(min) 508 -616 138 64 690 306 141 721

從以上的表可以得到,當信號由 0 變 1 時雖然 tsu(Setup time)的 變化不大,但是 tp(Propagation time)的變化卻很大。在這 100 比亂數中可以得到彼此的平均值、標準差及最大最小值。表 2-4

1 3 5 /( 2 ) ts u

⎡ ⎤ ⎡ ⎤

⎢ ⎥ ⎢ ⎥

(24)

可以從這樣的關係中得到,當電晶體製程變動造成 vt 變化時,tsu

(setup time)的變化比較小,只佔了平均值約 1.5%但是當製程變 化,tp (propagation time)的變化及 th(hold time)的變化約是平 均值的 10%,所以當製程偏移對 tsu(setup time)的影響沒有比 th

(hold time)及 tp(propagation time)來的大。而其中的最大最小 值仍然是在彼此的 3 倍標準差之內。

當信號由 1 變 0 時可以得到

表 2-4 由 1 變 0 時的最大最小值 Vtn

(mV)

Vtp (mV)

tsu0->1 (ps)

th0->1 (ps)

tp0->1 (ps)

tsu1->0 (ps)

th1->0 (ps)

tp1->0 (ps) tp

(max) 480 -599 133 107 760 294 158 762

tp

(min) 480 -576 134 90 640 314 146 615

tsu

(min) 499 -602 136 107 912 277 128 697

th

(min) 456 -574 135 82 687 314 90 662

當信號由 1 變 0 時 vtn 增加,可以得到 tp(Propagation time)也 會增加。根據這樣的亂數可以得到當製程偏移由 1 變 0 的標準差與由

0 1

(1 3 1, 1 4 0 )

( , ) ( 6 4 , 1 1 1)

( 6 0 1, 9 1 2 )

s u h

p

t M i n M a x o f _ t t

⎡ ⎤ ⎡ ⎤

⎢ ⎥ = ⎢ ⎥

⎢ ⎥ ⎢ ⎥

⎢ ⎥ ⎢⎣ ⎥⎦

⎣ ⎦

(25)

0 變 1 的標準差不一樣 tsu(setup time)的標準差佔平均值約 3%而 th(hold time)的標準差佔平均值約 14%,tp(propagation time)的 標準差佔平均值約 4%。可以發現同樣 vtn 及 vtp 的數據當資料由 1 變 0 及由 0 變 1 時分佈的情況及範圍將會不一樣。

由以上的實驗我們可以得到當亂數取得電晶體 vtn 及 vtp 的數據在邊 界範圍內時 DFF 的時間參數,但是當我們把電晶體當中 Vtn 及 Vtp 的 亂數值取超過四個邊界時,所得到 DFF 時間參數會呈現怎樣的變化我 們可以得到下面的圖形及數據:

我們將電晶體值的標準差取較大的值,使亂數所產生的值會超過邊界

(FF、SF、FS、SS、TT)

0 .4 7 6 8 0 .5 9 6 4

⎡ ⎤ = ⎡ ⎤

⎢ ⎥ ⎢⎣− ⎥⎦

⎣ ⎦

t n t p

μ o f V

V =

⎢ ⎤

0334 . 0

04 . 0

t p t n

V o f V σ

1 0

2 9 8 / ( 9 )

/ ( ) 1 5 2 / ( 2 1 )

6 8 0 / ( 2 6 )

s u h

p

t t t

μ σ

=

o f

1 0

( 2 7 7 , 3 2 3)

( , ) (9 0 ,1 9 3)

(6 1 5, 7 6 2 )

s u

h

p

t M in M a x o f t t

⎡ ⎤ ⎡ ⎤

⎢ ⎥ = ⎢ ⎥

⎢ ⎥ ⎢ ⎥

⎢ ⎥ ⎢⎣ ⎥⎦

⎣ ⎦

(26)

圖 2-7 超過邊界由 0 變 1 的關係圖

因為所取亂數值的標準差比較大,所以可以得到在圖形當中所散開的 範圍比較大。Tsu 的標準差也會較大約佔平均值的 29%而 th(hold time)約佔平均值的 17%,tp(propagation time)約佔平均值的 8

%。

Vtn Vtp

tsu tp

tsu th

tp th

(27)

表 2-5 超過邊界由 0 變 1 最大最小值 Vtn

(mV)

Vtp (mV)

tsu0->1 (ps)

th0->1 (ps)

tp0->1 (ps)

tsu1->0 (ps)

th1->0 (ps)

tp1->0 (ps) tp

(max) 494 -618 137 101 866 292 153 716

tp

(min) 436 -575 135 90 607 292 153 716

tsu

(min) 427 -532 129 71 702 275 149 640

th

(min) 395 -536 131 54 661 280 158 616

=

) 57 ( 712

) 15 ( 89

) 39 ( 136 )

(

p h s u

t t t σ o f

μ

⎥⎥

⎢⎢

=

⎥⎥

⎢⎢

) 6 0 7 ( 8 6 6

) 5 3 ( 1 3 0

) 1 3 0 ( 1 5 1 )

(

p h s u

t t t o f M a x m i n

根據這樣的邊化,其中的最大最小值在這樣的標準差內仍然落在三個 標準差的範圍內。

(28)

圖 2-8 超過邊界由 1 變 0 的關係圖

因為所丟的標準差較大,所以當轉換到時間平面時所呈現出來的現象 會比只丟到三倍標準差時來的散。因為較散所以落在範圍內的個數也 會較少。

表 2-6 超過邊界由 1 變 0 最大最小值 Vtn

(mV)

Vtp (mV)

tsu0->1 (ps)

th0->1 (ps)

tp0->1 (ps)

tsu1->0 (ps)

th1->0 (ps)

tp1->0 (ps) tp

(max) 583 -675 143 93 762 307 206 822

tp

(min) 399 -538 130 60 678 283 137 614

tsu

(min) 406 -532 129 63 661 271 247 676

th

(min) 422 -547 132 90 659 293 111 627

Vtn Vtp

tsu tp

tsu th

tp th

(29)

⎥⎥

⎢⎢

=

⎥⎥

⎢⎢

) 4 2 ( 6 8 6

) 3 5 ( 1 6 8

) 1 0 ( 2 9 7 )

(

p h s u

t t t σ o f

μ

⎥⎥

⎢⎢

=

⎥⎥

⎢⎢

) 6 1 4 ( 8 2 2

) 1 1 1 ( 3 0 5

) 2 7 1 ( 3 2 3 )

(

p h s u

t t t o f M a x

m i n

在這樣的標準差內由 1 變 0 的 tsu(setup time)約佔平均值的 3%而 th(hold time)約佔 20%,tp(propagation time)約佔 6%。根據 這樣的標準差,我們可以得到對 DFF 時間參數的影響。

因為在 DFF 時間參數中信號由 1 變 0 及由 0 變 1 皆有不一樣的值,在 這裡可以從以下的表得到彼此間的關係值,

表 2-7 DFF 參數間關係矩陣

⎡ ⎤

⎢ ⎥

⎢ ⎥

⎢ ⎥

⎢ ⎥

⎢ ⎥

⎢ ⎥

⎢ ⎥

⎢ ⎥

⎢ ⎥

⎢ ⎥

⎢ ⎥

⎢ ⎥

⎣ ⎦

1 -0.5 -0.2 0.3 0.3 0.1

-0.5 1 0.4 -0.1 0.1 -0.2

-0.2 0.4 1 0.1 0 0.2

0.3 -0.1 0.1 1 -0.7 0.1

0.3 0.1 0 -0.7 1 -0.2

0.1 -0.2 0.2 0.1 -0.2 1

tsu th tp tsu th tp tsu

th tp tsu

th tp

L-to-H H-to-L

H-to-L

L-to-H

(30)

從這樣的關係矩陣中表 2-7 可以得知,在 0 變 1 時 tsu(setup Time)

與 th(hold time)呈負相關,當 tsu(setup time)變大時 th(hold) 會變小,而 tsu(setup Time)與 tp(propagation time)也呈負相 關,在這樣的關係中當一個值變大因為彼此成負相關所以其中另外一 個值可能會變小,而成正相關時當一個值變大其中一個值也會相對可 能會變大,在這三個參數中,th(hold time)與 tp(propagation time) 是呈正相關。

在 0 變 1 的信號中,tsu 與 tp 呈負相關但是其相關係數很小,所以 相關的變化不明顯所以當 tsu 變大 tp 可能會變小。而在信號由 1 變 0 時參數彼此的關係為 tsu 與 tp 呈正相關,在信號 1 變 0 時 tsu 變 大 tp 也可能會跟著變大,th 與 tp 呈負相關,th 變大 tp 會變小,但 是 th 與 tp 的相關係數很小,變化不會很明顯。

但是從以上的關係矩陣可以得到,在三個參數彼此間的關係,在取決 其中一個的最理想值時,很可能也會造成另外一個的參數變成最不理 想的值,我們知道 tsu 及 tp 理想上最好是能越小但是從以上的關係 矩陣中可以知道,當 tsu 變小相對的 tp 很有可能會變大,而且變動 的範圍似乎會比 tsu 變動的範圍還大,在所以在 DFF 中考量時間參數 時因為彼此是有相關連的所以不能只考慮到單一參數的影響,要做全 盤的考量,這樣才能使 DFF chain 得到最好的傳輸效率,使得在傳

(31)

輸時發生錯誤的機會能變小。

2.3 DFF Chan 傳輸的分析

從以上所得到的數據我們是從電晶體的參數轉換到 DFF 元件的 時間參數,當電晶體製程發生變化兩級以上的 DFF 中串起來,成為 DFF chain 時如圖 2-9 對 DFF chain 的影響。

在 DFF chain 中每一個 DFF 仍然需要滿足單極 DFF 的條件,需 要滿足 tsu(setup time)及 th(hold time)的條件。如果沒有辦法滿 足資料將無法正確的讀進來也無法正確的送出去。會使得傳輸發生錯 誤。

圖 2-9 DFF Chain 模型

當 clk 驅動後,因為空間擺設前後的關係,所以 clk1 會比 clk2 早一 點得到 clk 的信號,而 clk2 與 clk1 的時間差,稱為 skew,而 skew 是一個比較值有正有負完全只是在表示方向,如果 skew 21為正則表

D1 Q1

CK1

D2 Q2

CK2 D

FF1 FF2

CK

(32)

skew 21為負則表示 clk2 到達的時間比 clk1 晚到。在兩級傳輸時在 clk1 驅動之前 D1 必須穩定出現,這樣才能滿足 tsu(setup time),

在 clk1 驅動之後,經過 tp1(propagation time)的時間,Q1 會出現

由 D1 傳過來的信號,經過線段的延遲後這裡稱為

Δ

12 ,資料會出現

在 D2 的位置,但是在 D2 出現資料的時間必須要比 clk2 出現的時間 還來得早,所以 clk2 到達的時間不能太早,或是 Q1 經過延遲後到達 D2 的時間不能太晚,這樣這兩級的 DFF chain 才能正常的傳輸資料。

在 DFF 傳輸資料時,必須仍然要滿足 tsu(setup time)及 th(hold time)的規則,在兩級的傳輸時,彼此間的關係在以下來說明。

因為在傳輸資料時會受到 jitter 的影響,而 jitter 是時間上的不準 確,會使得 clk 不一定在準確的時間點出現,因為 jitter 有正有負 所以在同一個 DFF 的 clk 上有時候出現的時間會稍微早,有時候會稍 微晚,在這裡假設 jitter 只出現在 clk 上每個 clk 上的 jitter 量不 會一樣。

在傳輸資料時需要滿足 tsu(setup time)的關係式為:

兩級 DFF 中這裡從第二級來驗證,n 為時間上的變化,n-1 比 n 早一 個信號,而 DFF1、DFF2 為空間上的不一樣的擺設。

2 1 2

2

)

( t

ckn

+ t

nj

- D

n-

> t

su

(33)

圖 2-10 setup time check (1)

因為必須滿足tsu(setup time)所以從第二級 DFF 驗證中

D

2n-1時間的

信號是從

Q

1n-1的時間加上線段延遲時間

Δ

12 來的。如圖 2-10

Q

1n-1時間的信號是

t

nck-11 加上jitter 的量

t

nj1-1 加上 DFF1 的延遲時

t

p1 來的。可以從圖 2-11 得知。

圖 2-11 setup time check(2)

tp(max)為最差的情況,利用這樣的情況我們可以堆倒出在最差情況下

CK

D1

CK

Q1

D2

CK

Q2

n n 1

n-1 n

n-1 n

n-1 n-1 n-1

n

1

=

2

D

n

Q

1n 1

+ Δ

12

CK

D1

CK1

Q1

D2 CK2

Q2

n n 1

n-1 n

n-1 n n-1

n-1 n-1

n

1 1 1

1n ( c kn 1 nj ) p1 ( m a x )

Q = t + t + t

T

n

T n

(34)

所需要滿足的條件及關係式。

根據這樣的關係式,可以展開得到:

在滿足th(hold time)方面需要滿足:

這樣的關係式。

在這樣的關係式中,也是從第二級的DFF 來驗證。

0 Δ

)

(T n +Tpj + sk 21

-

tp1(max)

-

12

-

tsu2 >

2 12

(max) 1 1

1 1

2

) (( ) Δ )

( t

ckn

+ t

nj

- t

ckn

+ t

nj

+ t

p

+ > t

su

12 (max)

1 1

1 1 1

2n

= ( t

ckn

+ t

nj

) + t

p

+ Δ D

2 12

(max) 1 1 1

1

2 nj ckn nj p

Δ

su

n

ck

t t t t t

t + - - + + >

1

=

2

D

n

Q

1n 1

+ Δ

12

1 1 1

1n p1(m ax ) ( c kn 1 nj )

Q = t + t + t

CK

D1

CK1

Q1

D2

CK2

Q2

n n-1

n-1 n

n-1 n

n-1 n-1 n-1

12 1

2n

= Q

n

+ Δ

D

n

Tn

2 2

2n

( t

ckn

t

nj

) t

h

D - + >

(35)

圖 2-12 hold time check(1)

D

2n時間的信號是由

Q

1n的信號加上

Δ

12 的時間來的,而

Q

1n 的信號

Q

1n

t

ck 1n 加上

t

nj 1 在加上

t

np 1的時間。如圖 2-12

圖 2-13 hold time check(2)

但是因為

t

nj 1

t

nj 2 是同一個時間clk 所產生的如圖 2-13,這裡假設 jitter 的量是一樣的,所以式子展開後可以互相抵銷掉。

CK

D1

CK1

Q1

D2

CK2

Q2

n n-1

n-1 n

n-1 n

n-1 n-1 n-1

T

n

(min) 1 1

1n

( t

ckn

t

nj

) t

p

Q = + +

n

(36)

這裡將兩個式子的結論寫下來可以得到彼此的關係,

(4-1)

(4-2)

在考慮tsu(setup time)的條件時,可以從式子中發現,tsu 是跟 T 有 關,當tsu 不能滿足時,可以將工作週期(T)放大也就是將速度放 慢下來這樣可以使得tsu 能夠滿足,但是另外一個式子中是滿足 th

(Hold time)的關係式,無法利用工作週期的改變來使(hold time)

滿足。

在這樣的關係式中都是DFF 的參數,而 skew 是因為 DFF 擺設的位 置前後所造成的而線段延遲則是因為負載或是繞線遠近得來的,skew 及線段延遲都不是因為DFF 製程的變動所造成的變化,所以當製程 偏移使得電晶體參數變動會使得DFF 中 tp(min)、tp(max)、tsu 和 th 造成變動,而且因為這樣的變動在DFF chain 中會影響到整個傳輸的

12 (min) 1 1

2n

= ( t

ckn

+ t

nj

) + t

p

+ Δ D

2 2

2 12

(min) 1 1

1

) Δ ) ( )

( t

ckn

+ t

nj

+ t

p

+ - t

ckn

+ t

nj

> t

h

2 2 2 12 (min) 1 1

1 nj p

Δ

ckn nj h

n

ck

t T t t t

t + + + >

0 Δ

12 2

(min) 1

12

+ t

p

+ t

h

>

sk -

12 1

2n

= Q

n

+ Δ

D

(min) 1 1

1n

( t

ckn

t

nj

) t

p

Q = + +

0 Δ

)

( T

n

+ T

pj

+ sk

21

- t

p1(max)

-

12

- t

su2

>

0 Δ

12 2

(min) 1

12

+ t

p

+ t

h

>

sk -

(37)

情況,在滿足tsu(setup time)的關係式(4-1)中可以發現,除了時 間週期外在兩級DFF 傳輸時 sk21為正而線段延遲時間

Δ

為負,tp1及 tsu2也為負,所以當tp1或是 tsu2越大將會影響傳輸的效果,若是先 不考慮線段延遲時間

Δ

,假設為零,則tp1(max)若是大於 tsu2傳輸的條 件將不滿足setup time 的規則,且線段延遲時間

Δ

在這樣的關係式中 是負的,也就是

Δ

值越大則會使得傳輸更容易不滿足setup time 的規 則,這樣的關係式中sk21是為正的,當 sk21越大資料由DFF1 傳到 DFF2 更容易滿足 setup time 的規則。

所以我們可以得到在setup time 的關係式中理想的情況下為了滿足 setup time,線段延遲時間

Δ

能越小越好,且 sk21是能越大越好,在 DFF 的時間參數上,tp1的值是能越小越好,tsu2的值也能越小越好,

但是實際上在DFF 的傳輸過程當中不能只滿足 setup time 的規則,

在觀察hold time 的規則(4-2)時可以發現,當中 sk12的值是正的,

線段延遲時間

Δ

在 hold time 的規則當中也是正的,而 sk12與sk21是 彼此成負號,值的大小是一樣的,所以線段延遲時間

Δ

越大則會使得 hold time 更容易滿足,sk 值越小也會使得 hold time 的規則容易滿足。

且在DFF 的時間參數上,tp1為正的 th2為負的,所以 tp1越大或是th2

越小更容易使得DFF chain 更容易滿足 hold time 的規則。

比較這兩個關係式(4-1)(4-2),可以得到,當我們在考慮要滿足 setup

(38)

time 的規則時在 DFF chain 上可能會把 sk 變大,把

Δ

小,但是發現

這些的值在hold time 的規則下剛好相反,sk 越大越

Δ

越小容易使 hold time 不滿足。且在 DFF 的參數中,tp1太大會使 setup time 更不 容易滿足,但是tp1太小會使的hold time 不容易滿足,所以無法只單 顧考慮一邊的條件,因為強迫滿足的一邊的條件可能會造成另外一邊 的不滿足。在setup time 的關係式中,時間週期也是正的,當工作時 間週期越大setup time 的條件越容易滿足,所以在設計 DFF chain 傳 輸時,現在的設計考量,會優先考慮使hold time 滿足,再來考慮 setup time 因為 hold time 能否滿足完全都被限制在電路的製造上,無法利 用外在的方式來使其滿足,但是在setup time 當中則不一樣,如果因 為滿足了hold time 的條件而使的 setup time 的條件無法滿足,則可 以降下工作頻率使工作週期變大,讓setup time 能滿足條件。

2.4 對傳輸品質的影響

但是當單單就製程偏移對 DFF 的影響以及對 DFF chain 的影響時 我們可以觀察當製程偏移時對傳輸的影響。

(39)

圖 2-14 DFF 傳輸模型

假設有一個傳輸模型如圖 2-14 全部的型態為(TT)的型態假設 skew=500ps,線段延遲

Δ

=1000ps,依照之前所找到的數據表 2-3、

表 2-4 及推導的關係式可以得到最大、最小的工作週期分別為

1470ps、1310ps,但是必須選擇最大的工作週期最小的工作頻率這樣 才能確保在DFF chain 中所有的 DFF 不論 0 傳 1 或 1 傳 0 皆能滿足,

所以可以得到工作頻率為680MHz。但是如果在 DFF chain 中增加一 個DFF 其 tsu 與 tp 值與其他 DFF 不一樣時(tsu=132ps tp=912ps)當 用原本的頻率來執行的話,會使得:

下一級的tsu 無法滿足資料傳不過去,為了能使資料正常的傳輸過 去,必須為了這個DFF 而將工作週期變大,使頻率變慢從新計算為 了要滿足這一級的DFF,其工作頻率會變成 441MHz。

在考量Hold time margin 時,在 DFF Chain 中所有的型態皆為(TT),

假設時鐘偏移skew=100ps 線段延遲

Δ

=500ps 根據之前我們所找到

D Q D Q D Q

CLK

D Q

1470 ps − 912 ps + 500 ps − 1000 ps = 58 ps < 294 ps

(40)

的數據,可以得到:

當在同樣的條件下,由0 變 1 的 margin 會比 1 變 0 的 margin 來的大,

所以當 0 變 1 時所能抵抗的 skew 可以更大。當帶入由亂數所找到的 最大及最小值:

可以得到:

所以這裡可以得到當資料由0 變 1 時對 skew 具有更大的空間。

當我們考慮取數值標準差偏移更大超過四個邊界值時,得到:

0 1

(min) 607

tp ps th(max) = 129ps

=

1 0

(min) 614

tp ps th(max) = 305ps

=

0 1

m a r g in = 6 0 1 - 1 1 1 = 4 9 0 p s

→ 1 0

a r g 6 1 5

m i n 1 9 3 = 4 2 2 p s

= −

0 1

(min) 601

tp ps th(max) = 111ps

=

1 0

(min) 615

tp ps th(max) = 193ps

=

0 → 1

6 7 3

t p = p s t h = 9 0 p s

100ps 673ps 500ps 90ps 983ps 0

− + + − = >

1 → 0

100ps 676ps 500ps 158ps 918ps 0

− + + − = >

6 7 6

t p = p s t h = 1 5 8 p s

(41)

當我們比較兩個標準差亂數所產生的值,當標準差取較大既製程偏移 越大th 將會變大而使得 hold time margin 將會變小。所以當製程偏移 越嚴重,電晶體vt 變化越大時,轉換到 DFF 時間參數時,hold time margin 將可能會變的更小,對 skew 的容忍將會越來越弱,而且當 DFF 有不一樣的時間參數時margin 會產生改變,每一個的 margin 也會不 一樣,所以當skew 太大或太小,或是線段延遲太大或太小在哪一級 會發生哪一種的fault 也是不容易預估的。

0 1

m a r g in = 6 0 7 - 1 2 9 = 4 7 8 p s

→ 1 0

a r g 6 1 4

m i n 3 0 5 = 3 0 9 p s

= −

(42)

3 章 掃瞄串中錯誤的症狀

以上所推導的關係式,可以發現當其中一個發生變動不論是太大 或是太小,皆有可能產生不一樣的錯誤,這裡我們針對在DFF chain 中所產生錯誤的種類及原因做了說明。

3.1 Stuck-at-Fault

Stuck-at-0:假設在掃瞄串中其中有一級發生 Stuck-at-0 的錯誤,

當如果將資料掃瞄過去那一級,則輸出的資料不論輸入的是 0 或是 1 則掃瞄出來的皆會是0 如圖 3-1 Stuck-at-0。

D Q

D Q DD QQ DDDD QQQQ DD QQ

CLK

0

圖 3-1 Stuck-at-0

Stuck-at-1:假設在一掃瞄串中其中有一級發生了 Stuck-at-1 的錯 誤,當掃瞄的資料經過這一級的DFF,則不論掃進去的資料是 0 或是 1,經過這一個 Fault 掃出來的資料都會是 1。如圖 3-2

(43)

D Q

D Q DD QQ DDDD QQQQ DD QQ

CLK

1

圖 3-2 Stuck-at-1

3.2 Setup time fault

Slow- to- Rise:這個 fault 的產生是因為不滿足 setup time 的規

則,當資料由 0 變 1 時因為線段的延遲過大或是前一級的由 0 變 1 的 tp 過大,所以使得資料由 0 變 1 在傳至下一級時不滿足下一級的 setup time 所以當資料由 0 變 1 時,資料無法正確的傳過去,使得資料只 能維持在0。如圖 3-3

Setup Time violation

CLK

Setup Time Satisfy

D Q

D Q DD QQ DDDD QQQQ DD QQ

CLK

1000 1100

Setup Time

Din

Din

Fault

圖 3-3 Slow-to-Rise

(44)

Slow-to-Fall:這個 fault 與前面的 fault 產生的原因差不多,當線

段延遲時間或是tp 由 1 變 0 太大,當資料由 1 變 0 時會無法滿足下 一級的 setup time,所以資料在改變時無法正確的變成 0,資料只能 維持在1。圖 3-4

CLK

D Q

D Q DD QQ DDDD QQQQ DD QQ

CLK

0111 0011

Din Setup time satisfy

Din Setup time violation

Setup Time

Fault

圖 3-4 Slow-to-Fall

Slow:在傳輸過程當中如果資料由 0 變 1 及由 1 變 0 皆發生錯誤,

則在信號上就會產生類似向右移位的現象,同時會向右多一個0 及多 一個1。如圖 3-5 Slow

圖 3-5 Slow

(45)

3.3 Hold time fault

Fast-to-Rise:這樣的 fault 是因為不滿足 Hold time 所造成的,當 資料由0 變 1 時線段延遲及前一級的 DFF tp 變化太快,使得下一級 的hold time 無法滿足,資料太快由 0 變 1 造成傳輸上面的錯誤多一 個1。如圖 3-6

CLK Din

Din

Hold Time satisfy

Hold Time violation

D Q

D Q DD QQ DDDD QQQQ DD QQ

CLK

1100 1110

Hold Time

Fault

圖 3-6 Fast-to-Rise

Fast-to-Fall:這樣的 fault 也是因為線段延遲太慢或是 DFF 的 tp 太快使得下一級DFF 沒有辦法滿足前一級的 hold time 要求。所以傳 輸就發生了錯誤。當資料由1 變成 0 時所造成的錯誤。所以資料中會 多了一個0。圖 3-7

(46)

D Q

D Q DD QQ DDDD QQQQ DD QQ

CLK

CLK Din

Din Hold Time violation

Hold Time satisfy

0011 0001

Hold Time

Fault

圖 3-7 Fast-to-Fall

Fast:在 Hold time fault 當中,前面所提到的是由 0 變 1 所造成 的fault 或是由 1 變 0 所產生的 fault,是單一個所造成的,但是當 skew 太大會使得clk 偏移很嚴重造成提前一個 clk 把資料讀出去。且資料 由0 變 1 及由 1 變 0 兩個 fault 同時產生的時候,會多一個 1 也同時 多一個0,就會造成類似移位的現象。如圖 3-8 Fast

圖 3-8 Fast

(47)

在掃瞄串當中因為製程上的偏移、線段資料延遲或是skew 都會對掃 瞄串的傳輸造成錯誤,在setup time 及 hold time 的關係式中許多參數 都是彼此相關,若只考慮到一個關係式的改變會使得另外一關係式無 法滿足造成錯誤,當電路越來越複雜速度越來越快則所有的錯誤都都 會有發生的可能,setup time fault 可以利用降頻的方式來解決,但是 hold time fault 卻無法這樣解決,該如何來正確的找到錯誤將會非常的 重要。

(48)

4 章 結論

在業界廣泛使用 DFF Chain 幫助數位測試的同時,往往只注意到功能 上是否正確,但因為尺寸變小,製程在可預期的偏移下也會容易造成 不一樣的 DFF,製程中小小的偏移,產生與其他 DFF 差別較大的 DFF 時,會造成電路執行時間上變慢,這論文藉由不一樣的電晶體參數,

導到單極 DFF 時間參數及描述彼此的關係,進而到兩級 DFF chain 傳 輸數學模型的推導,Pattern 由 0 變 1 及由 1 變 0 對 DFF 參數的不一 樣,來分析 DFF Chain 在傳輸時,當發生裏面有較大差異 DFF 的參數 時,對整體傳輸的影響,當 DFF Chain 中都為理想一致的 DFF 時可以 很容易得知工作週期,和對 skew 的影響,但是實際上 DFF chain 當 中的 DFF 的參數無法一致,而且當電晶體製程偏移由 1 變 0 及由 0 變 1 時發生傳輸錯誤的可能性也不一樣,而且當製程偏移越大對 margin 將會變小為了確保傳輸的正常只好將速度降下,確保不會被 skew 影 響只好將 data delay 加大,這樣會使得測試速度變慢,也會使得面 積變大。該如何正確且有效率的診斷出 scan chain 上面所發生的 fault 將是非常的重要。

(49)

參考文獻

[1] Dave Stang and R.Dandapani “An implementation of IEEE 1149.1 to avoid timing violations and other practical in-compliance improvements" Test Conference, 2002.

Proceedings. International , 7-10 Oct. 2002 Page(s): 746 -754

[2] Subhasish Mitra and Edward J. McCluskey and Samy Makar

“DESIGN FOR TESTABILITY AND TESTING OF IEEE 1149.1 TAP CONTROLLER" VLSI Test Symposium, 2002. (VTS 2002).

Proceedings 20th IEEE , 2002 Page(s): 247 -252

[3] Yu Huang,Wu-Tung Cheng and Cheng-Ju Hsieh ,"Intermittent Scan Chain Fault Diagnosis Base on Signal Probability Analysis" Design, Automation and Test in Europe Conference and Exhibition, 2004. Proceedings , Volume: 2 , 16-20 Feb.

2004 Pages:1072 - 1077 Vol.2

[4] Ruifeng Guo and Strikanth Venkataraman,"A Technique for Fault Diagnosis of Defect in Scan Chain" Test Conference, 2001. Proceedings. International , 30 Oct.-1 Nov. 2001

(50)

[5] Neil H.E. Weste Kamran Eshraghian “Principles of CMOS VLSI

Design" Addison Wesley

[6] F.P.M.Beenker , R.G Bennetts and

A.P.Thijssen, "Testability Concepts for Digital ICs"

KLUWER ACADEMIC PUBLISHERS

[7] 趙家慶 , “數位邏輯電路之時序特性描述",中華大學電機工程

學系碩士班論文, July 2001

[8] 孫清華,"JTAG 測試原理與應用" 全華科技圖書股份有限公司 [9] 中文耀,鄭美珠 “CMOS 電路仿真與設計 使用 Hsipce" 全華科

技圖書股份有限公司

參考文獻

相關文件

Z 指令 ping 為重要的使用 ICMP 封包的指令. Z 若設定防火牆,並非所有的 ICMP

「世俗化」( secularization)一詞是當下宗教社會學研究中使用

說明: 設原立方體的邊長為 1,要作出的立方體邊長為 x,則 x 要滿足 ,這個方 程式沒有有理根,當然就沒有尺規作圖的 x 了。.

父母對阿銀越來越不滿了。上星期,爸爸叫阿銀向小猴撒

父母對阿銀越來越不滿了。上星期,爸爸叫阿銀向小猴撒

• 田口方法 (Taguchi method) 的意義為利用損 失函數的概念評估品質,採用實驗設計的 方法使產品不易受到不想要或無法控制因 子

多樣而複雜的曲調反而會主客不分,妨礙身心收攝,以此觀點則既有的梵唄曲調已夠用,但 當梵唄變成公開的表演,甚至演出成為一種常態,則傳統的模式顯然不足以滿足舞台可以轉

這些問題目前尚未找到可以在 polynomial time 內解決的 algorithm.. 這些問題目前尚未被證明無法在 polynomial time