專利名稱:實(shí)現(xiàn)芯片功能故障快速調(diào)試定位的方法及調(diào)試電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及芯片設(shè)計(jì)領(lǐng)域,特別是涉及一種能夠?qū)崿F(xiàn)芯片功能故障快速調(diào)試定位的方法。本發(fā)明涉及該方法中的調(diào)試電路。
背景技術(shù):
半導(dǎo)體工藝水平的發(fā)展使得集成電路(IC)集成度的進(jìn)一步提高成為可能。電子工業(yè)已經(jīng)從大規(guī)模集成電路時(shí)代邁進(jìn)了超大規(guī)模集成電路時(shí)代。隨著深亞微米工藝技術(shù)的成熟,芯片設(shè)計(jì)業(yè)面臨著嚴(yán)峻的問題由于芯片功能和性能的需求發(fā)展,芯片規(guī)模越來越大,工作速度越來越高,開發(fā)周期越來越長,設(shè)計(jì)成本越來越高,設(shè)計(jì)質(zhì)量越來越難于控制, 芯片生產(chǎn)后出現(xiàn)的設(shè)計(jì)和生產(chǎn)問題概率越來越大,查找故障的時(shí)間和人力成本以及復(fù)雜度也越來越大。十年前在設(shè)計(jì)3層金屬層時(shí),如果芯片有問題,可以直接研究金屬層來查看電路?,F(xiàn)在對(duì)于9層金屬層和0.13mm甚至更小的金屬間距,問題就不是那么簡單了。當(dāng)芯片出現(xiàn)問題,為了找出錯(cuò)誤原因,可能需要觀察芯片內(nèi)部某些關(guān)鍵信號(hào);通常的方法是利用聚焦離子束(FIB)探入到芯片內(nèi)部。該方法不僅成本高,時(shí)間長,而且在如此小的金屬間距中很容易破壞芯片或引入其他問題。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種實(shí)現(xiàn)芯片功能故障快速調(diào)試定位的方法,當(dāng)芯片出現(xiàn)功能故障后,能夠快速低成本的實(shí)現(xiàn)芯片故障的調(diào)試和定位;為此,本發(fā)明還要提供一種實(shí)現(xiàn)所述方法中的調(diào)試電路。為解決上述技術(shù)問題,本發(fā)明的實(shí)現(xiàn)芯片功能故障快速調(diào)試定位的方法是采用如下技術(shù)方案實(shí)現(xiàn)的在芯片電路內(nèi)嵌入一調(diào)試電路,當(dāng)芯片出現(xiàn)功能故障時(shí),通過該芯片的一個(gè)或多個(gè)管腳輸入一段預(yù)定義好的信號(hào)使芯片進(jìn)入調(diào)試模式;對(duì)待觀察的芯片內(nèi)部信號(hào)進(jìn)行選擇;選擇好的芯片內(nèi)部信號(hào)通過芯片的一個(gè)預(yù)定義好的管腳進(jìn)行輸出;通過觀察芯片工作過程中某些內(nèi)部信號(hào)的波形,并與設(shè)計(jì)時(shí)該信號(hào)的期望波形相比較,實(shí)現(xiàn)功能故障的調(diào)試與定位。本發(fā)明實(shí)現(xiàn)所述方法中的調(diào)試電路詳見具體實(shí)施方式
部分的描述。采用本發(fā)明的方法,可以在芯片設(shè)計(jì)時(shí)在芯片內(nèi)嵌入一小塊面積不大的調(diào)試電路。當(dāng)芯片生產(chǎn)完成后,如果出現(xiàn)功能故障需要調(diào)試時(shí),可以在不破壞芯片和做聚焦離子束 (FIB)工程的情況下,通過操作芯片的外部管腳就可以觀察到芯片內(nèi)部的某些關(guān)鍵信號(hào),從而能夠快速低成本的實(shí)現(xiàn)芯片故障的調(diào)試和定位。使得人們?cè)谛酒獠烤湍芸刂坪陀^察芯片內(nèi)部的信號(hào),而在成本和時(shí)間預(yù)算上又不超出預(yù)定目標(biāo)。
下面結(jié)合附圖與具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明
圖1是本發(fā)明的實(shí)施例一各信號(hào)波形圖;圖2是本發(fā)明的實(shí)施例二各信號(hào)波形圖;圖3是嵌入在芯片內(nèi)部的調(diào)試電路一實(shí)施例結(jié)構(gòu)圖。
具體實(shí)施例方式在一實(shí)施例中所述實(shí)現(xiàn)芯片功能故障快速調(diào)試定位的方法是,在芯片設(shè)計(jì)時(shí)在其內(nèi)部嵌入一塊調(diào)試電路。當(dāng)芯片出現(xiàn)功能故障時(shí),通過該芯片的一個(gè)或多個(gè)管腳輸入一段預(yù)定義好的信號(hào)使芯片進(jìn)入調(diào)試模式;對(duì)待觀察的芯片內(nèi)部信號(hào)進(jìn)行選擇;選擇好的芯片內(nèi)部信號(hào)通過芯片的一個(gè)預(yù)定義好的管腳進(jìn)行輸出;通過觀察芯片工作過程中某些內(nèi)部信號(hào)的波形,并與設(shè)計(jì)時(shí)該信號(hào)的期望波形相比較,實(shí)現(xiàn)功能故障的調(diào)試與定位。當(dāng)芯片出現(xiàn)功能故障時(shí),對(duì)待觀察的芯片內(nèi)部信號(hào)進(jìn)行選擇有兩種實(shí)現(xiàn)方式,可以根據(jù)芯片實(shí)際情況選擇使用。第一種方式是,通過芯片的一個(gè)或多個(gè)管腳輸入一段預(yù)定義好的信號(hào)使芯片進(jìn)入調(diào)試模式,并根據(jù)所述輸入的預(yù)定義好的信號(hào)對(duì)待觀察的芯片內(nèi)部信號(hào)進(jìn)行選擇。參見圖1所示,例如,從芯片的100管腳輸入高電平信號(hào),從IOl管腳輸入時(shí)鐘信號(hào),從102、103、104管腳輸入預(yù)定義好的信號(hào);其中,從104管腳輸入的為串行數(shù)據(jù),經(jīng)轉(zhuǎn)換后變?yōu)椴⑿袛?shù)據(jù);從104管腳輸入的前8個(gè)數(shù)據(jù)為“A5” (當(dāng)然,輸入的前8個(gè)數(shù)據(jù)也可是其它數(shù)據(jù),例如“9A”;目的是在芯片內(nèi)嵌入的調(diào)試電路中如果設(shè)定的是A5,那么只有當(dāng)從 104管腳輸入的前8個(gè)數(shù)據(jù)為“A5”時(shí),即兩者匹配了,才能進(jìn)入調(diào)試模式一,將待觀察的芯片內(nèi)部信號(hào)輸出到,否則不能實(shí)現(xiàn)芯片內(nèi)部信號(hào)調(diào)試功能),并與從I00、I01、I02、I03管腳輸入的信號(hào)一起使芯片進(jìn)入調(diào)試模式一。從104管腳輸入的后6個(gè)數(shù)據(jù)產(chǎn)生待觀察的芯片內(nèi)部信號(hào)的選擇信號(hào),用于對(duì)待觀察的芯片內(nèi)部信號(hào)進(jìn)行選擇。將選擇的要觀察的芯片內(nèi)部信號(hào)從105管腳輸出。第二種方式是,通過芯片的一個(gè)或多個(gè)管腳輸入一段預(yù)定義好的信號(hào)使芯片進(jìn)入調(diào)試模式二,然后由芯片內(nèi)部的CPU向一寄存器寫入對(duì)待觀察的芯片內(nèi)部信號(hào)的選擇數(shù)值,對(duì)待觀察的芯片內(nèi)部信號(hào)進(jìn)行選擇。參見圖2所示,例如,從芯片的100管腳輸入低電平信號(hào),從IOl管腳輸入時(shí)鐘信號(hào),使芯片進(jìn)入調(diào)試模式。然后由芯片內(nèi)部的CPU向一寄存器寫入對(duì)待觀察的芯片內(nèi)部信號(hào)的選擇數(shù)值,產(chǎn)生待觀察的芯片內(nèi)部信號(hào)的選擇信號(hào),被選擇的芯片內(nèi)部信號(hào)從105管腳輸出。第一種實(shí)現(xiàn)方式對(duì)芯片內(nèi)部是否有CPU均適用,特別是當(dāng)芯片內(nèi)部沒有CPU或CPU 不能正常工作時(shí)更加適合。如果芯片上電后不能正常工作,可以通過操作芯片外部的管腳去察看芯片內(nèi)部信號(hào)的工作狀態(tài),使得能夠快速進(jìn)行功能故障的錯(cuò)誤定位;而且不需要芯片內(nèi)部有CPU或CPU必須能正常工作。第二種實(shí)現(xiàn)方式在于如果芯片上電后不能正常工作,但是芯片中有CPU,而且CPU 在上電后能正常工作,可以通過操作CPU產(chǎn)生待觀察的芯片內(nèi)部信號(hào)的選擇信號(hào);使用的芯片管腳數(shù)量少,而且不需要另外從外部輸入復(fù)雜的數(shù)字0、1序列信號(hào),控制靈活方便,成本低,效率高,安全可靠;但適用范圍不如第一種實(shí)現(xiàn)方式。結(jié)合圖3所示,在一實(shí)施例中,所述調(diào)試電路包括調(diào)試模式產(chǎn)生模塊、64個(gè)待觀察的內(nèi)部信號(hào)產(chǎn)生模塊、串并轉(zhuǎn)換模塊、6位寄存器、選擇信號(hào)選擇器、觀察信號(hào)選擇器和觀察信號(hào)輸出控制器。所述調(diào)試模式產(chǎn)生模塊,用于產(chǎn)生調(diào)試模式信號(hào),使芯片進(jìn)入調(diào)試模式。調(diào)試模式信號(hào),可以由調(diào)試模式產(chǎn)生模塊根據(jù)從芯片的一個(gè)管腳輸入的預(yù)定義好的信號(hào),或者從芯片的幾個(gè)管腳同時(shí)輸入的不同的預(yù)定義好的信號(hào)來實(shí)現(xiàn)。在圖1、2、3所示的實(shí)施例中,調(diào)試模式信號(hào)是由從芯片的管腳100、101、102、103、104同時(shí)輸入的不同的預(yù)定義好的信號(hào)實(shí)現(xiàn)的。由于本發(fā)明具有兩種調(diào)試模式,即調(diào)試模式一(即前面所述的第一種實(shí)現(xiàn)方式) 和調(diào)試模式二(即前面所述的第二種實(shí)現(xiàn)方式),具體使芯片進(jìn)入哪種調(diào)試模式,由芯片管腳100確定(當(dāng)然也可以選擇其它某一管腳)。當(dāng)管腳100輸入高電平(也可以是低電平) 時(shí),配合管腳101、102、103、104同時(shí)輸入的不同的預(yù)定義好的信號(hào),由調(diào)試模式產(chǎn)生模塊使芯片進(jìn)入調(diào)試模式一;當(dāng)管腳100輸入低電平(也可以是高電平,即與調(diào)試模式一相反的電平信號(hào))時(shí),配合管腳IOl同時(shí)輸入的預(yù)定義好的時(shí)鐘信號(hào),由調(diào)試模式產(chǎn)生模塊使芯片進(jìn)入調(diào)試模式二。串并轉(zhuǎn)換模塊,將從芯片管腳104輸入的串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),即用于產(chǎn)生調(diào)試模式一工作方式,又用于產(chǎn)生對(duì)待觀察的內(nèi)部信號(hào)進(jìn)行選擇的選擇信號(hào)。其中,當(dāng)串行輸入的前8個(gè)數(shù)據(jù)為“A5”時(shí),用于參與選擇調(diào)試模式一;進(jìn)入調(diào)試模式一后串行輸入的后 6個(gè)數(shù)據(jù)用于對(duì)待觀察的內(nèi)部信號(hào)進(jìn)行選擇。64個(gè)待觀察的內(nèi)部信號(hào)模塊,用于產(chǎn)生待觀察的芯片內(nèi)部信號(hào),從芯片的幾千個(gè)內(nèi)部信號(hào)中挑選出對(duì)功能調(diào)試起關(guān)鍵作用的信號(hào)。芯片復(fù)雜度越高,需選擇的待觀察的內(nèi)部信號(hào)也越多,當(dāng)然成本會(huì)增加;在本發(fā)明的實(shí)施例中只選擇了 64個(gè)關(guān)鍵待觀察的內(nèi)部信號(hào)。6位寄存器,在調(diào)試模式二時(shí),由芯片內(nèi)部的CPU向該寄存器中寫入期望的數(shù)值, 在CPU的控制下,產(chǎn)生對(duì)待觀察的內(nèi)部信號(hào)進(jìn)行選擇的選擇信號(hào)。選擇信號(hào)選擇器,與6位寄存器和串并轉(zhuǎn)換模塊相連接,在芯片100管腳的控制下,用于選擇采用6位寄存器產(chǎn)生的選擇信號(hào)或串并轉(zhuǎn)換模塊產(chǎn)生的選擇信號(hào)。觀察信號(hào)選擇器,與64個(gè)待觀察的內(nèi)部信號(hào)模塊和選擇信號(hào)選擇器相連接,在選擇信號(hào)的控制下選擇相應(yīng)的待觀察的內(nèi)部信號(hào)作為觀察信號(hào)輸出。觀察信號(hào)輸出控制器,與調(diào)試模式產(chǎn)生模塊和觀察信號(hào)選擇器相連接,在調(diào)試模式信號(hào)的控制下,選擇輸出觀察信號(hào)或芯片的正常功能信號(hào)。當(dāng)芯片處于調(diào)試模式,芯片可以根據(jù)選擇信號(hào)通過預(yù)先定義好的某一個(gè)管腳輸出被選中的內(nèi)部信號(hào)。如圖1、2所示,通過芯片的管腳105輸出觀察信號(hào)(即待觀察的內(nèi)部信號(hào))。結(jié)合圖1、2所示,在一實(shí)施例中,所述方法采用了芯片的六個(gè)管腳,分別為100、 101、102、103、104、105,這六個(gè)管腳除了在出現(xiàn)功能故障時(shí)用于調(diào)試外,也可以用于芯片的正常輸入輸出功能,實(shí)現(xiàn)調(diào)試與正常使用時(shí)的管腳復(fù)用。當(dāng)芯片設(shè)計(jì)完成并生產(chǎn)完畢后,在測試中發(fā)現(xiàn)該芯片有功能故障時(shí),可以通過操縱該芯片的上述六個(gè)管腳來觀察芯片的某些內(nèi)部信號(hào),具體過程是,調(diào)試模式一從管腳 100輸入高電平,管腳IOl輸入時(shí)鐘序列,從管腳102輸入高電平信號(hào),從管腳103輸入低電平信號(hào),從管腳104輸入特定串行0、1序列信號(hào)。當(dāng)芯片中的調(diào)試電路同時(shí)檢測到管腳 100,102的信號(hào)為高電平,管腳103的信號(hào)為低電平,管腳104輸入的0、1序列經(jīng)串并轉(zhuǎn)換為十六進(jìn)制數(shù)“A5”,則進(jìn)入預(yù)先設(shè)計(jì)好的調(diào)試模式一。一旦芯片進(jìn)入調(diào)試模式,則管腳104輸入的6個(gè)串行數(shù)據(jù)信號(hào)經(jīng)串并轉(zhuǎn)換模塊,產(chǎn)生對(duì)待觀察的內(nèi)部信號(hào)進(jìn)行選擇的選擇信號(hào),如圖1中的選擇信號(hào)“010001”(二進(jìn)制數(shù))。 選擇信號(hào)選擇器選擇由串并轉(zhuǎn)換模塊產(chǎn)生的選擇信號(hào)“010001”,則觀察信號(hào)選擇器從64 個(gè)待觀察的內(nèi)部信號(hào)模塊中選擇調(diào)試模式預(yù)定義的第18個(gè)內(nèi)部信號(hào),經(jīng)管腳105輸出到芯片外。通過觀察該輸出信號(hào)的波形,就可以推斷出芯片內(nèi)部其他信號(hào)的工作狀態(tài),從而實(shí)現(xiàn)芯片故障的調(diào)試和定位。調(diào)試模式二 從管腳100輸入低電平,管腳IOl輸入時(shí)鐘序列,通過內(nèi)部程序讓 CPU寫期望值到芯片內(nèi)部一個(gè)被選擇寄存器中,產(chǎn)生待觀察的內(nèi)部信號(hào)的選擇信號(hào),進(jìn)行內(nèi)部觀察信號(hào)的選擇。如寫05,則被觀察信號(hào)中的第5個(gè)信號(hào)經(jīng)管腳105輸出到芯片外。通過觀察該輸出信號(hào)的波形,就可以推斷出芯片內(nèi)部其他信號(hào)的工作狀態(tài),從而實(shí)現(xiàn)芯片故障的調(diào)試和定位。以上通過具體實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,但這些并非構(gòu)成對(duì)本發(fā)明的限制。在不脫離本發(fā)明原理的情況下,本領(lǐng)域的技術(shù)人員還可做出許多變形和改進(jìn),這些也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種實(shí)現(xiàn)芯片功能故障快速調(diào)試定位的方法,其特征在于在芯片電路內(nèi)嵌入一調(diào)試電路,當(dāng)芯片出現(xiàn)功能故障時(shí),通過該芯片的一個(gè)或多個(gè)管腳輸入一段預(yù)定義好的信號(hào)使芯片進(jìn)入調(diào)試模式;對(duì)待觀察的芯片內(nèi)部信號(hào)進(jìn)行選擇;選擇好的芯片內(nèi)部信號(hào)通過芯片的一個(gè)預(yù)定義好的管腳進(jìn)行輸出;通過觀察芯片工作過程中某些內(nèi)部信號(hào)的波形,并與設(shè)計(jì)時(shí)該信號(hào)的期望波形相比較,實(shí)現(xiàn)功能故障的調(diào)試與定位。
2.如權(quán)利要求1所述的方法,其特征在于使芯片進(jìn)入調(diào)試模式并對(duì)待觀察的芯片內(nèi)部信號(hào)進(jìn)行選擇有兩種實(shí)現(xiàn)方式第一種方式是,通過芯片的一個(gè)或多個(gè)管腳輸入一段預(yù)定義好的信號(hào)使芯片進(jìn)入調(diào)試模式,并根據(jù)所述輸入的預(yù)定義好的信號(hào)對(duì)待觀察的芯片內(nèi)部信號(hào)進(jìn)行選擇;第二種方式是,通過芯片的一個(gè)或多個(gè)管腳輸入一段預(yù)定義好的信號(hào)使芯片進(jìn)入調(diào)試模式,然后由芯片內(nèi)部的CPU向一寄存器寫入對(duì)待觀察的芯片內(nèi)部信號(hào)的選擇數(shù)值,對(duì)待觀察的芯片內(nèi)部信號(hào)進(jìn)行選擇。
3.如權(quán)利要求2所述的方法,其特征在于所述兩種實(shí)現(xiàn)方式由芯片的某一管腳輸入的高電平信號(hào)或低電平信號(hào),并配合其它管腳輸入的預(yù)定義好的信號(hào)進(jìn)行選擇。
4.實(shí)現(xiàn)權(quán)利要求1所述方法中的調(diào)試電路,其特征在于,包括 調(diào)試模式產(chǎn)生模塊,用于產(chǎn)生調(diào)試模式信號(hào),使芯片進(jìn)入調(diào)試模式;所述調(diào)試模式包括調(diào)試模式一和調(diào)試模式二兩種;串并轉(zhuǎn)換模塊,將從芯片一管腳輸入的串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),即用于產(chǎn)生調(diào)試模式一工作方式,又用于產(chǎn)生對(duì)待觀察的芯片內(nèi)部信號(hào)進(jìn)行選擇的選擇信號(hào);其中,串行輸入的前8個(gè)數(shù)據(jù)用于參與選擇調(diào)試模式一;進(jìn)入調(diào)試模式一后串行輸入的后6個(gè)數(shù)據(jù)用于對(duì)待觀察的芯片內(nèi)部信號(hào)進(jìn)行選擇;待觀察的內(nèi)部信號(hào)模塊,用于產(chǎn)生多個(gè)待觀察的芯片內(nèi)部信號(hào); 6位寄存器,在調(diào)試模式二時(shí),由芯片內(nèi)部的CPU向該寄存器中寫入期望的數(shù)值,在CPU 的控制下,產(chǎn)生對(duì)待觀察的芯片內(nèi)部信號(hào)進(jìn)行選擇的選擇信號(hào);選擇信號(hào)選擇器,與6位寄存器和串并轉(zhuǎn)換模塊相連接,在芯片一管腳輸入電平信號(hào)的控制下,用于選擇采用6位寄存器產(chǎn)生的選擇信號(hào)或串并轉(zhuǎn)換模塊產(chǎn)生的選擇信號(hào);觀察信號(hào)選擇器,與待觀察的內(nèi)部信號(hào)模塊和選擇信號(hào)選擇器相連接,在選擇信號(hào)的控制下選擇相應(yīng)的待觀察的內(nèi)部信號(hào)作為觀察信號(hào)輸出;觀察信號(hào)輸出控制器,與調(diào)試模式產(chǎn)生模塊和觀察信號(hào)選擇器相連接,在調(diào)試模式信號(hào)的控制下,選擇輸出觀察信號(hào)或芯片的正常功能信號(hào)。
5.如權(quán)利要求4所述的調(diào)試電路,其特征在于,當(dāng)芯片的某一管腳輸入高電平時(shí),并配合其它管腳同時(shí)輸入的不同的預(yù)定義好的信號(hào),由調(diào)試模式產(chǎn)生模塊使芯片進(jìn)入調(diào)試模式一;當(dāng)前述的某一管腳輸入低電平時(shí),并配合其它管腳同時(shí)輸入的不同的預(yù)定義好的信號(hào), 由調(diào)試模式產(chǎn)生模塊使芯片進(jìn)入調(diào)試模式二。
全文摘要
本發(fā)明公開了一種實(shí)現(xiàn)芯片功能故障快速調(diào)試定位的方法,在芯片電路內(nèi)嵌入一調(diào)試電路,當(dāng)芯片出現(xiàn)功能故障時(shí),通過該芯片的一個(gè)或多個(gè)管腳輸入一段預(yù)定義好的信號(hào)使芯片進(jìn)入調(diào)試模式;對(duì)待觀察的芯片內(nèi)部信號(hào)進(jìn)行選擇;選擇好的芯片內(nèi)部信號(hào)通過芯片的一個(gè)預(yù)定義好的管腳進(jìn)行輸出;通過觀察芯片工作過程中某些內(nèi)部信號(hào)的波形,并與設(shè)計(jì)時(shí)該信號(hào)的期望波形相比較,實(shí)現(xiàn)功能故障的調(diào)試與定位。本發(fā)明還公開了實(shí)現(xiàn)所述方法中的調(diào)試電路。在芯片出現(xiàn)功能故障后,本發(fā)明能夠快速低成本的實(shí)現(xiàn)芯片故障的調(diào)試和定位。
文檔編號(hào)G01R31/28GK102236066SQ20101015502
公開日2011年11月9日 申請(qǐng)日期2010年4月22日 優(yōu)先權(quán)日2010年4月22日
發(fā)明者舒海軍 申請(qǐng)人:上海華虹集成電路有限責(zé)任公司