調試設計:芯片設計中必不可少之舉
在測試中,目的是要盡快確定芯片是否以較高的穩定性正常工作,而不是絕對的穩定性?,F在芯片設計團隊普遍認識到,這需要在芯片上添加DFT(可測試設計)電路。第三方工具和IP (知識產(chǎn)權)企業(yè)可幫助實(shí)現此目標。
本文引用地址:http://dyxdggzs.com/article/193494.htm
而調試則完全不同了。調試的目的并不只是簡(jiǎn)單地確定芯片出現了故障,而是要找出故障的原因。這種檢查并不限于在測試臺上的幾秒鐘,可能要持續數周時(shí)間。它并不是自動(dòng)進(jìn)行的,而是需要芯片設計團隊的參加。它出現在設計周期中的離散點(diǎn)上:在第一個(gè)芯片設計階段、在可靠性研究階段和現場(chǎng)故障分析階段。
根據這種情況,可以想象,良好的DFT 策略應能夠滿(mǎn)足芯片調試的需要,而且,實(shí)際上也往往是如此。隨著(zhù)SoC(單片系統) 設計越來(lái)越復雜,一流的設計團隊表 示,他們將對支持調試而不是測試的電路提供更多的計劃、實(shí)現工作以及芯片面積。
“十年前在設計3層金屬層時(shí),這并不是什么大問(wèn)題,”Bay Microsystems 工程部的高級副總裁Tony Chiang說(shuō)。“如果芯片有問(wèn)題,應該直接研究金屬層來(lái)察看電路,而對于聚焦離子束系統則應該重新布線(xiàn)?,F在,對于9層金屬層和0.2mm金屬間距,問(wèn)題就不是
那么簡(jiǎn)單了。必須將電路設計成具有從芯片外部能控制和能觀(guān)察的,而在成本和時(shí)間預算上不超出我們的目標。”
這種情況,簡(jiǎn)單扼要地描述了調試設計界的情況。
技術(shù)概覽
調試與DFT并不是完全脫離的。Broadcom公司的測試開(kāi)發(fā)工程高級總監Kris Hublitz舉例介紹說(shuō),Broadcom有一個(gè)由70多名工程師組成的公司級團隊,他們與公司其它的芯片設計團隊共同從事調試和測試。Hublitz再三宣稱(chēng)DFT廠(chǎng)商LogicVision是Broadcom芯片調試策略的主要合作伙伴。
其他人也同意這種觀(guān)點(diǎn)。“調試設計與生產(chǎn)測試并不是毫無(wú)關(guān)系,” CSR (Cambridge Silicon Radio) 的副總裁David McCall說(shuō)。“兩者的起點(diǎn)差不多。”
很多設計經(jīng)理強調,這一起點(diǎn)就是探尋電路的能控性和能觀(guān)性。調試與生產(chǎn)測試相似,基本問(wèn)題是將電路設置在一個(gè)已知的狀態(tài),然后開(kāi)始運行,觀(guān)察其行為。在中等規模的集成中,邊界掃描技術(shù)可有效地完成此任務(wù)。由于芯片內部狀態(tài)較少,可以全面地對其進(jìn)行測試:將輸入通過(guò)已知的一系列狀態(tài),對電路進(jìn)行時(shí)鐘同步,然后觀(guān)察輸出。
隨著(zhù)微處理器的出現,事情變得更加復雜了。微處理器有很多內部狀態(tài),所以只將輸入施加給一個(gè)已知矢量并觀(guān)察輸出并不是特別有效。早期,業(yè)界嘗試了多種技術(shù)使微處理器實(shí)現可調試,從對寄存器間的每群邏輯進(jìn)行掃描到依賴(lài)同類(lèi)的跟蹤、斷點(diǎn)及微機用于進(jìn)行軟件調試的單步函數等。將兩種方法結合起來(lái)才能起作用。
如今設計人員對SoC的數字部分使用相同的工具套件。另有一些技術(shù)用于混合信號的模擬電路。但沒(méi)有單獨一種方法可以囊括整個(gè)復雜的SoC。所以,調試的設計流程包括將系統分割成獨立的可調試模塊,對每個(gè)模塊實(shí)施一個(gè)調試策略,并將這些策略整合到一個(gè)完整芯片的方案中,使單個(gè)模塊的用戶(hù)接口相似并盡量減少電路需要的芯片資源。最后,設計師必須使用這些調試資源重新檢查,使完全集成的芯片的運行既可控制又可觀(guān)察,因為你不能只根據隔離功能模塊就能判斷某些問(wèn)題。
數字SoC
最基本的SoC 形式是由簡(jiǎn)單的往往是可編程的外設模塊和內存所包圍的CPU 核。多數情況下,CPU 核為第三方的IP,至少有一個(gè)內部調試內核的選項。軟件開(kāi)發(fā)團隊經(jīng)常強調這一點(diǎn)。此內核與標準的DFT 電路相結合,這種電路是設計團隊為外設所實(shí)施的,以實(shí)現能觀(guān)性和能控性來(lái)隔離故障??梢栽贑PU 核中應用這種調試內核,模擬核的非同步部分,以捕捉結果。通過(guò)讓CPU 讀寫(xiě)外設寄存器,此內核也可模擬并觀(guān)察外設,通常允許設計師在可以處理的級別上確定掃描鏈中的故障。
但如今并沒(méi)有多少這么簡(jiǎn)單的SoC(圖 1)。更多的情況下,芯片有幾個(gè)或一群CPU 核和幾種不同的處理器內核。某些外部控制器非常復雜,只用CPU對其進(jìn)行模擬來(lái)觀(guān)察結果,并不能對其有效診斷。還有多個(gè)時(shí)鐘域,它們之間通常彼此并不同步。這樣的芯片需要更有效的方法來(lái)調試。
在這種情況下,有幾種策略可用。Broadcom的Hublitz介紹的一種簡(jiǎn)單方法是使所有主要功能模塊的輸入和輸出可以訪(fǎng)問(wèn)芯片的針腳。這種方法需要大量的多路復用。在有大量I/O 和內存接口的設計中,在引入任何額外訪(fǎng)問(wèn)進(jìn)行調試之前,芯片針腳數已經(jīng)限定了,設計人員必須復用針腳進(jìn)行調試訪(fǎng)問(wèn)。只將輸入輸出簡(jiǎn)單引出每個(gè)復雜模塊,可能比將其在主CPU 核上執行更有用,設計師可能需要引出內部信號。
所有這些多路復用和輸入輸出傳送共同作用,可能并不太實(shí)際。而且,結果的額外互連會(huì )造成盡管所有模塊可從針腳進(jìn)行實(shí)際訪(fǎng)問(wèn),但其訪(fǎng)問(wèn)速度根本達不到要求。這是一個(gè)嚴重的問(wèn)題。“我們必須要以全速測試電路,特別是模塊間的互連,”Hublitz 說(shuō)。“這對于65 nm工藝的芯片更是如此。否則會(huì )產(chǎn)生芯片中的故障。”
Hublitz 強調,由ATE (自動(dòng)測試設備) 支持的良好的DFT 策略,可極大地有助調試過(guò)程。“我們第一輪調試在A(yíng)TE 系統上進(jìn)行,”他說(shuō)。“在我們清楚了芯片不會(huì )融化后,把它交給設計人員,與他們一起合作。”Hublitz同時(shí)表明,芯片可能會(huì )不斷地返回到 Broadcom的測試臺,以使 ATE 系統采集大量的數據或進(jìn)行速度檢查。“自己內部有ATE 能力的真是很有用,”他表示。“我們有28 個(gè)系統,大概每季度就增加一個(gè)新的,主要是用于調試,調試新芯片是我們裝備設備最主要的目的。”
雖然有了ATE 系統,某些信號和 狀態(tài)還是不能通過(guò)探測卡的檢查。需要采用其它的策略:內部仿真和邏輯分析。有時(shí),對模塊進(jìn)行快速仿真和捕捉其行為的唯一有效途徑是將電路構建到模塊內部。據Chiang介紹,Bay將其網(wǎng)絡(luò )處理芯片組織成一串獨立的處理器,并廣泛應用這項技術(shù)。重要的模塊可以有其自己的調試內核,包括單步和斷點(diǎn)能力及跟蹤緩沖器實(shí)時(shí)捕捉
加速度計相關(guān)文章:加速度計原理
評論