【導(dǎo)讀】隨著半導(dǎo)體工藝不斷地進(jìn)步,那些原本存在芯片中的大型存儲(chǔ)器會(huì)轉(zhuǎn)變成數(shù)十或數(shù)百個(gè)小型的存儲(chǔ)器陣列,并且散布在芯片中各個(gè)角落。針對(duì)這種類(lèi)型的小型陣列,如果想要偵測(cè)出與速度相關(guān)的瑕疵以及固定邏輯(stuck-at)故障,其實(shí)并不是一件容易的事。
傳統(tǒng)上,測(cè)試數(shù)字集成電路可以采用功能性向量,或是由自動(dòng)測(cè)試向量生成(ATPG)工具所產(chǎn)生的向量。此類(lèi)軟件工具主要為隨機(jī)邏輯生成基于掃描的測(cè)試向量,對(duì)于待測(cè)組件(DUT)的存儲(chǔ)器部分,卻無(wú)法提供測(cè)試方案。得依賴存儲(chǔ)器內(nèi)建自測(cè)試(BIST)的方法來(lái)測(cè)試寄存器。
尤其是那些采用先進(jìn)工藝的存儲(chǔ)器陣列,存在著許多難以預(yù)測(cè)的潛在瑕疵。傳統(tǒng)的存儲(chǔ)器BIST方案會(huì)利用March或其它算法重復(fù)簡(jiǎn)單的測(cè)試序列來(lái)偵測(cè)大部分的寄存器故障。在一種存儲(chǔ)器BIST方法中,DUT中的狀態(tài)機(jī)自身能產(chǎn)生和分析那些測(cè)試存儲(chǔ)器中的每一個(gè)地址所需用到的測(cè)試向量,免去了外部 ATE機(jī)的測(cè)試工作。另一種方法,則是讓片上處理器來(lái)測(cè)試存儲(chǔ)器,其缺點(diǎn)在于通常得等到DUT設(shè)計(jì)接近完成的時(shí)候,才能判斷出這種方法的有效性。
由于會(huì)影響芯片的面積與性能,小型存儲(chǔ)器陣列通常并不適合增加存儲(chǔ)器BIST邏輯。那些地址空間很少但端口很多的存儲(chǔ)器尤其不適合BIST。因?yàn)橄鄬?duì)于陣列大小,存儲(chǔ)器端口數(shù)量對(duì)BIST控制電路規(guī)模的影響更大,所以,可能導(dǎo)致實(shí)現(xiàn)BIST控制電路所需的門(mén)數(shù)甚至?xí)痛鎯?chǔ)器本身一樣大。同時(shí),BIST還要求所有存儲(chǔ)器的輸入引腳都有一個(gè)多路選擇器來(lái)選擇BIST信號(hào)與系統(tǒng)信號(hào)。對(duì)多端口存儲(chǔ)器而言,多路選擇電路會(huì)引起布線擁擠,并且導(dǎo)致性能的嚴(yán)重下降。
圖1:宏測(cè)試采用向量轉(zhuǎn)換的技術(shù)
圖1 宏測(cè)試采用向量轉(zhuǎn)換的技術(shù),在掃描單元與內(nèi)部宏單元,如嵌入式存儲(chǔ)器陣列之間傳遞測(cè)試向量。
嵌入式存儲(chǔ)器測(cè)試方案
考慮到BIST對(duì)小型存儲(chǔ)器陣列造成的負(fù)面影響,一個(gè)簡(jiǎn)單的選擇便是不去測(cè)試 — 但用戶極有可能會(huì)收到瑕疵品。或者,在辦公室里花更多的時(shí)間,為每一個(gè)存儲(chǔ)器陣列,手工生成完成測(cè)試算法所需的向量。好在還有一種更有效的選擇 ─ 那就是利用ATPG工具和待測(cè)組件的掃描儀單元,在每一個(gè)嵌入式存儲(chǔ)器的輸入端生成測(cè)試向量,并從輸出端得到響應(yīng)。這項(xiàng)新技術(shù),有時(shí)候被稱(chēng)為“向量轉(zhuǎn)換”,或者是“宏測(cè)試”(macro testing)(見(jiàn)圖1)。如此一來(lái),工程師便可以運(yùn)用一組宏向量序列,來(lái)測(cè)試獨(dú)立的嵌入式模塊(也可以稱(chēng)之為宏)。一些EDA 公司可以提供有此功能的軟件工具。這些工具可以把那些為獨(dú)立的嵌入式存儲(chǔ)器(宏模塊) 所設(shè)計(jì)的宏向量自動(dòng)轉(zhuǎn)化成芯片級(jí)掃描向量,并把結(jié)果傳送到掃描單元,供作驗(yàn)證之用。
宏測(cè)試完成嵌入式模塊所需的測(cè)試不需要附加測(cè)試邏輯電路。其次,最終的嵌入式存儲(chǔ)器掃描向量還可以像標(biāo)準(zhǔn)的阻塞掃描向量一樣,具有簡(jiǎn)單的測(cè)試協(xié)議,因此能夠減少在產(chǎn)品測(cè)試機(jī)臺(tái)上向量的調(diào)試時(shí)間。有些公司應(yīng)用宏測(cè)試技術(shù)平行測(cè)試100多個(gè)存儲(chǔ)器。如此一來(lái),宏測(cè)試掃描向量也不過(guò)是與最長(zhǎng)的向量長(zhǎng)度相同。這項(xiàng)技術(shù)可用于測(cè)試任何嵌入式模塊,即便是所謂的“黑盒子”(black box)。只要在模塊的I/O端定義向量,那么這些向量便可以傳遞通過(guò)外圍的邏輯電路。
圖2:流水線處理能夠讓連續(xù)的讀/寫(xiě)操作在連續(xù)的時(shí)鐘周期內(nèi)完成
圖2 流水線處理能夠讓連續(xù)的讀/寫(xiě)操作在連續(xù)的時(shí)鐘周期內(nèi)完成,提供全速存儲(chǔ)器BIST功能。
嵌入式存儲(chǔ)器中的時(shí)序故障
如同一般的隨機(jī)邏輯,嵌入式存儲(chǔ)器也需要測(cè)試靜態(tài)故障和“實(shí)速”(at-speed)故障。由于存儲(chǔ)器BIST通常在系統(tǒng)時(shí)鐘下運(yùn)行,因此也被稱(chēng)之為實(shí)速存儲(chǔ)器BIST。然而,即使BIST控制邏輯利用系統(tǒng)時(shí)鐘來(lái)設(shè)定測(cè)試序列,卻需要數(shù)個(gè)時(shí)序周期去完成單獨(dú)的讀/寫(xiě)操作。因此,實(shí)速存儲(chǔ)器BIST電路雖然采用系統(tǒng)時(shí)鐘頻率,其實(shí)并無(wú)法如同芯片在正常模式運(yùn)作下那樣,執(zhí)行讀寫(xiě)周期。運(yùn)用流水線(pipelining)讀寫(xiě)操作,則可產(chǎn)生較為有效的測(cè)試,稱(chēng)之為“全速”(full-speed) 存儲(chǔ)器BIST(見(jiàn)圖2)。簡(jiǎn)言之,便是在連續(xù)的時(shí)鐘周期里,執(zhí)行連續(xù)(back-to-back)的讀寫(xiě)操作,如同在正常系統(tǒng)操作模式下的存儲(chǔ)器一般。
對(duì)于大型存儲(chǔ)器而言,測(cè)試那些與速度相關(guān)的故障時(shí),全速存儲(chǔ)器BIST其實(shí)是個(gè)不錯(cuò)的選擇。但是對(duì)于小型或時(shí)序要求很高的存儲(chǔ)器而言,同樣的測(cè)試方法可能會(huì)有問(wèn)題。宏測(cè)試工具要把每組功能性向量轉(zhuǎn)換成掃描向量,所以每組向量的測(cè)試速度則必然變慢。不僅如此,有些嵌入式存儲(chǔ)器完全同步,并使用與掃描鏈相同的時(shí)鐘信號(hào)。當(dāng)時(shí)鐘信號(hào)觸發(fā)其模塊時(shí),掃描單元上先前的設(shè)定值便會(huì)被新值所取代。如此一來(lái),便無(wú)法傳遞模塊輸出端的期待值。因此,傳統(tǒng)的宏測(cè)試方式無(wú)法適用于不具有門(mén)控時(shí)鐘的同步存儲(chǔ)器。
不過(guò),同步宏測(cè)試可以解決這個(gè)問(wèn)題。簡(jiǎn)言之,便是執(zhí)行連續(xù)的全速測(cè)試,而不需要重復(fù)載入掃描鏈。同步宏測(cè)試會(huì)決定掃描單元上用來(lái)產(chǎn)生第一個(gè)宏向量的值,并載入掃描鏈。同時(shí),也會(huì)決定用來(lái)產(chǎn)生第二個(gè)宏向量的值,并且在掃描單元的輸入端以管道方式傳輸。當(dāng)掃描鏈被載入時(shí),不同的時(shí)鐘信號(hào)即可以實(shí)速觸發(fā)。如此一來(lái),好幾組的全速向量便被傳送到模塊。全速測(cè)試可以不受干擾地應(yīng)用于設(shè)計(jì)中的幾乎任一模塊。不僅如此,全速測(cè)試只用到功能邏輯電路,而非測(cè)試邏輯電路,因此,可以執(zhí)行更接近實(shí)際狀況的全速測(cè)試。
結(jié)語(yǔ)
在實(shí)際測(cè)試中總是得面臨測(cè)試工具的成本,測(cè)試開(kāi)發(fā)時(shí)間,測(cè)試機(jī)臺(tái)的時(shí)間,測(cè)試向量的調(diào)試時(shí)間,以及測(cè)試覆蓋率之間的考量與抉擇。宏測(cè)試是可以有效地對(duì)那些與日俱增的小型嵌入式模塊進(jìn)行靜態(tài)與實(shí)速故障測(cè)試的工具。它甚至可以應(yīng)用到較大的存儲(chǔ)器,透過(guò)芯片的功能邏輯,自動(dòng)執(zhí)行全速測(cè)試。