原创 ASIC設計中的可測性

2007-3-10 23:44 2498 2 2 分类: 工程师职场

ASIC 設計中的可測性 ASIC設計者總以為提供給IC工廠的測試資料(TEST PATTERN)是用來測試實際IC的功能,事實上這是一個錯誤的認知。站在IC工廠的角度來看,如何確保ASIC功能正確是屬於設計者分析模擬前段工作的責任,IC工廠所需要的,是一組用延而有效的測試資料,能夠將所有製程失敗的不良IC,在測試過程中分辨出來。對於一顆量產的ASIC而言,設計者確認它的功能無誤,而IC工廠可以保證生產的流程沒有瑕疵(各盡各的責任),那麼毫無疑問,這個ASIC應該是好的:

(1) FAULT COVERAGE(偵錯率)
如何來衡量一組測試資料(TEST PATTERN)的周延性和效率呢?最常被使用的指標就是FAULT COVERAGE (偵錯率)。計算FAULT COVERAGE,必須先定義FAULT MODEL(故障模式),最常用的是單一永久性的S-A-0(短路到地)和S-A-1(短路到電源)兩個MODELS,假設線路中有100個線路節點,每個節點都有SA0和SA1兩種可能,那麼線路中共有200個FAULTS,如果設計者提供的測試資料可以使其中120個FAULT出現不同於正常結果的輸出(這些FAULT是DETECTABLE),偵錯率的計算結果就是60%(120÷ 200)。盡責的設計者應盡可能將偵錯率提高到接近100%。
  
(2) SCAN PATH DESIGN
要提高線路的可測性(TEEST ABILITY,COMBINA-TIONAL線路不是問題,但對SEQUENTIAL線路則困難極多後者中有D-FF和LATCH之類的記憶性元件,系統的整體輸出不僅取決於系統的輸入,還與記憶體元件所保存的上一個邏輯狀態有關,所以要提高SEQUENTIAL線路的可測性,最重要的就是提高記憶體元件的可控制性和可讀性。最有名的方法,就是引進所謂的SCAN PATH DESIGN。

首先將記憶性元件換成SCAN FF(當SE=0時,S-FF有如一個正常的D-FF;當SE=1時,D端被關掉,輸入改由SI端進入)。然後透過SI端將整個系統的SCAN FF-串接在一起。當SE=1時,系統中所有的S-FF事實上是串成一個大型的SHIFTER (SCAN PATH)。設計者可以依靠這個SCAN PATH來控制或讀取任何一個原本D-FF中所保存的邏輯態。如此一來,系統的偵錯率可以很容易提高。


  
(3) SCAN PATH所帶來的問題
使用SCAN PATH DESIGN會出現一些新問題,這些新問題必須經過設計者的細心考慮,才能令SCAN PATH的效能提到最高。
  
I. FULL SCAN還是PARTIAL SCAN
FULL SCAN是指將所有D-FF全換成SCAN FF,PARTIAL SCAN則只置換部份影響較大的記憶性元件。前者會增加相當多的閘數(增加晶片成本),後者則需要設計者做深一步的判斷,而且偵錯率會降低。
  
II. CLOCK SKEW的問題
使用SCAN PATH DESIGN必須是同步設計,而且會在SCAN模式下產生一個極大的SHIFTER線路,必須小心CLOCK SKEW問題造成SCAN PATH出錯。其中一個解決之道,是將SCAN FF在換成有兩個時鐘的LSSD設計,這樣一來,可能又要增加許多的閘數。
  
III. SCAN DESIGN和IC佈局的關係
假設SCAN FF的連接不能依照佈局結果的遠近來串接(實際上相近的D-FF才串在一起)這不但會使D-FF因負載加大而頻率降低,也會阻礙整體系統的可繞性(ROUTABILITY)。很可惜,目前的商用軟體都未考慮到此點。增加ASIC的可測性是一個重要而艱難的問題,必須有長足經驗的累積,才能令一個ASIC設計者在準備測試資料的過程中得心應手。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
2
关闭 站长推荐上一条 /3 下一条