首頁 > 遊戲

晶片設計的保障者,晶片設計之可測試設計技術詳解

由 21IC電子網 發表于 遊戲2023-01-08

簡介所以,除錯的設計流程包括將系統分割成獨立的可除錯模組,對每個模組實施一個除錯策略,並將這些策略整合到一個完整晶片的方案中,使單個模組的使用者介面相似並儘量減少電路需要的晶片資源

模擬多路複用器有什麼用

晶片設計是全球比較重視的行業之一,可以說晶片設計一定程度上決定了國家的生產製造水平。晶片設計通常包含多個階段,每個晶片設計階段的重點均有所不同。為保證晶片設計過程中的可靠性,可測試設計技術顯得尤為重要。因此,本文將對晶片設計中的這項技術加以詳細介紹。

晶片設計的保障者,晶片設計之可測試設計技術詳解

在測試中,目的是要儘快確定晶片是否以較高的穩定性正常工作,而不是絕對的穩定性。現在晶片設計團隊普遍認識到,這需要在晶片上新增DFT(可測試設計)電路。第三方工具和IP (智慧財產權)企業可幫助實現此目標。

而除錯則完全不同了。除錯的目的並不只是簡單地確定晶片出現了故障,而是要找出故障的原因。這種檢查並不限於在測試臺上的幾秒鐘,可能要持續數週時間。它並不是自動進行的,而是需要晶片設計團隊的參加。它出現在設計週期中的離散點上:在第一個晶片設計階段、在可靠性研究階段和現場故障分析階段。

根據這種情況,可以想象,良好的DFT 策略應能夠滿足晶片除錯的需要,而且,實際上也往往是如此。隨著SoC(單片系統) 設計越來越複雜,一流的設計團隊表 示,他們將對支援除錯而不是測試的電路提供更多的計劃、實現工作以及芯片面積。

“十年前在設計3層金屬層時,這並不是什麼大問題,”Bay Microsystems 工程部的高階副總裁Tony Chiang說。“如果晶片有問題,應該直接研究金屬層來察看電路,而對於聚焦離子束系統則應該重新佈線。現在,對於9層金屬層和0。2mm金屬間距,問題就不是

那麼簡單了。必須將電路設計成具有從晶片外部能控制和能觀察的,而在成本和時間預算上不超出我們的目標。”

這種情況,簡單扼要地描述了除錯設計界的情況。

技術概覽

除錯與DFT並不是完全脫離的。Broadcom公司的測試開發工程高階總監Kris Hublitz舉例介紹說,Broadcom有一個由70多名工程師組成的公司級團隊,他們與公司其它的晶片設計團隊共同從事除錯和測試。Hublitz再三宣稱DFT廠商LogicVision是Broadcom晶片除錯策略的主要合作伙伴。

其他人也同意這種觀點。“除錯設計與生產測試並不是毫無關係,” CSR (Cambridge Silicon Radio) 的副總裁David McCall說。“兩者的起點差不多。”

很多設計經理強調,這一起點就是探尋電路的能控性和能觀性。除錯與生產測試相似,基本問題是將電路設定在一個已知的狀態,然後開始執行,觀察其行為。在中等規模的整合中,邊界掃描技術可有效地完成此任務。由於晶片內部狀態較少,可以全面地對其進行測試:將輸入透過已知的一系列狀態,對電路進行時鐘同步,然後觀察輸出。

隨著微處理器的出現,事情變得更加複雜了。微處理器有很多內部狀態,所以只將輸入施加給一個已知向量並觀察輸出並不是特別有效。早期,業界嘗試了多種技術使微處理器實現可除錯,從對暫存器間的每群邏輯進行掃描到依賴同類的跟蹤、斷點及微機用於進行軟體除錯的單步函式等。將兩種方法結合起來才能起作用。

如今設計人員對SoC的數字部分使用相同的工具套件。另有一些技術用於混合訊號的類比電路。但沒有單獨一種方法可以囊括整個複雜的SoC。所以,除錯的設計流程包括將系統分割成獨立的可除錯模組,對每個模組實施一個除錯策略,並將這些策略整合到一個完整晶片的方案中,使單個模組的使用者介面相似並儘量減少電路需要的晶片資源。最後,設計師必須使用這些除錯資源重新檢查,使完全整合的晶片的執行既可控制又可觀察,因為你不能只根據隔離功能模組就能判斷某些問題。

數字SoC

最基本的SoC 形式是由簡單的往往是可程式設計的外設模組和記憶體所包圍的CPU 核。多數情況下,CPU 核為第三方的IP,至少有一個內部除錯核心的選項。軟體開發團隊經常強調這一點。此核心與標準的DFT 電路相結合,這種電路是設計團隊為外設所實施的,以實現能觀性和能控性來隔離故障。可以在CPU 核中應用這種除錯核心,模擬核的非同步部分,以捕捉結果。透過讓CPU 讀寫外設暫存器,此核心也可模擬並觀察外設,通常允許設計師在可以處理的級別上確定掃描鏈中的故障。

晶片設計的保障者,晶片設計之可測試設計技術詳解

但如今並沒有多少這麼簡單的SoC(圖 1)。更多的情況下,晶片有幾個或一群CPU 核和幾種不同的處理器核心。某些外部控制器非常複雜,只用CPU對其進行模擬來觀察結果,並不能對其有效診斷。還有多個時鐘域,它們之間通常彼此並不同步。這樣的晶片需要更有效的方法來除錯。

在這種情況下,有幾種策略可用。Broadcom的Hublitz介紹的一種簡單方法是使所有主要功能模組的輸入和輸出可以訪問晶片的針腳。這種方法需要大量的多路複用。在有大量I/O 和記憶體介面的設計中,在引入任何額外訪問進行除錯之前,晶片針腳數已經限定了,設計人員必須複用針腳進行除錯訪問。只將輸入輸出簡單引出每個複雜模組,可能比將其在主CPU 核上執行更有用,設計師可能需要引出內部訊號。

所有這些多路複用和輸入輸出傳送共同作用,可能並不太實際。而且,結果的額外互連會造成儘管所有模組可從針腳進行實際訪問,但其訪問速度根本達不到要求。這是一個嚴重的問題。“我們必須要以全速測試電路,特別是模組間的互連,”Hublitz 說。“這對於65 nm工藝的晶片更是如此。否則會產生晶片中的故障。”

Hublitz 強調,由ATE (自動測試裝置) 支援的良好的DFT 策略,可極大地有助除錯過程。“我們第一輪除錯在ATE 系統上進行,”他說。“在我們清楚了晶片不會融化後,把它交給設計人員,與他們一起合作。”Hublitz同時表明,晶片可能會不斷地返回到 Broadcom的測試臺,以使 ATE 系統採集大量的資料或進行速度檢查。“自己內部有ATE 能力的真是很有用,”他表示。“我們有28 個系統,大概每季度就增加一個新的,主要是用於除錯,除錯新晶片是我們裝備裝置最主要的目的。”

雖然有了ATE 系統,某些訊號和 狀態還是不能透過探測卡的檢查。需要採用其它的策略:內部模擬和邏輯分析。有時,對模組進行快速模擬和捕捉其行為的唯一有效途徑是將電路構建到模組內部。據Chiang介紹,Bay將其網路處理晶片組織成一串獨立的處理器,並廣泛應用這項技術。重要的模組可以有其自己的除錯核心,包括單步和斷點能力及跟蹤緩衝器實時捕捉內部狀態。Bay 的邏輯設計總監Jun-wen Tsong將這種方法描述為多階段驗證流程。

“首先,我們在模組級實現晶片。在這種模式下,每個模組都被隔離開來:我們可以注入足夠的狀態啟動其執行,然後觀察其獨立執行特點。”這些測試必須在最大時鐘速度下進行,以保證精度。這樣,設計師就可實現對一串處理器每級的除錯。此時,設計師還將I/O 環與內部模組隔離,使輸入可直接進入輸出FIFO中。Bay 的設計師在獨立驗證I/O 環和內部模組後,再將兩者結合起來整體地測試晶片。

以整個晶片全速執行採集資料,需要制定全面的計劃。單個處理器中的除錯核心必須不僅可以識別本地指令和資料字,而且大的影象資料對晶片執行也是十分重要的:如資料包和資料封包。另外,36位匯流排貫穿整個晶片,可實時將關鍵訊號從任何模組傳輸到封裝腳。使晶片以全速處理包時,除錯工程師可以觀察模組的執行。此外,硬體實時監測特定的斷言,如FIFO full/empty 斷言。Broadcom 也有類似的方法。Hublitz告訴我們,他們公司的無線區域網晶片有足夠的內部除錯硬體,工程師可以在整個晶片上跟蹤向量幅度,從輸入到基帶直到輸出。

在一個模組內一旦將問題隔離到一個功能上時,基於類似DFT 的策略,除錯工程師可使用低階的診斷工具。Bay 傑出的工程師兼晶片架構師Barry Lee 說:“我們在模組中有對觸發和單步的時鐘控制,並可掃描我們認為重要的訊號。理想情況下,我們可以確切地瞭解一個特殊的流水線如何執行到針腳和暫存器級別。”

模擬挑戰

當涉及類比電路時,一切都不一樣了。“我們將模擬部分與數位電路分割開來進行除錯”Lee 解釋道。“對兩者的除錯技術是不一樣的。在模擬領域,要開啟環回途徑,可能要將所有的除錯拿到封裝腳之外進行。由於在類比電路中活動基元並不與時鐘同步,因而無法對其進行捕捉。”

類比電路與數位電路類似,隨著幾何尺寸的縮小,設計師已經看到了探測和實驗設計的能力,Analog Devices的Paul Ferguson 認為。“我們習慣了將鐳射切割器用於探測臺來修改電路。後來,隨著幾何尺寸的減小,我們轉移到了聚焦離子束系統。對於250 nm 或更大的間距非常實用。這表明,實際上說,如果採用65nm 工藝,只能改動上面的兩個金屬層。”

這種情況引發了模擬設計風格的一個有趣的變化, Ferguson說。“最近我們在做一項90nm 設計的PLL,我們發現必須首先完成VCO(壓控制振盪器),才能建立合適的模型。所以,我們引入了一些線路,將增益和其它引數調整到所能達到的上部金屬層。這對於除錯過程的確很有益處。”

Matt Ball 是單晶片無線電廠商Jennic公司的混合訊號專案工程師,他也強調要將關鍵模擬訊號置於可取位置的重要性。“我們加入了儘量多的可程式設計性和數字調整功能,”他說。“有些東西必須為金屬微調的, 我們將那些位置變成單一的掩模層級別實現可訪問性。”

除了將實時訊號引到上部金屬層或封裝腳上,今天的模擬設計師還有其它武器設定及觀察電路的狀態。最重要的是在微細幾何尺寸上進行,類比電路與校準和監測它們的數位電路間要有密切的協作。

CSR的McCall 說在其設計中,ADC監測器可確定類比電路中數字監視電路的多個點。這些點透過將轉換器的輸出接到封裝的外部,為除錯工程師提供了訪問模擬部分行為的機會。“通常重要的模擬訊號在某些點進行數字化處理了”Ball說。“為什麼不進行取樣,以片上DSP進行濾波,輸出我們能夠看到它的結果呢?”

設計濾波器或放大器以便數位電路能夠調節所有重要電氣特性,這似乎有些大動干戈了。但是在首次工作的晶片和在除錯前有兩層新金屬掩模層的晶片之間產生的不同甚至可以啟動設計的數字部分。而且,在小於90nm的工藝中,設計師必須面對越來越強的可變性,這些由數字調整就成了必須,這樣才能生產足夠數量的有用晶片。

如何進行調整?對於無線電晶片上訊號的精度和頻率,IF (中頻)訊號,在測試模式中可以只用佈線和模擬多路複用將訊號引出封裝之外。“在中頻部分,緩衝器非常有用。”Ball 說。“從重要的節點取得訊號送到針腳,就可以看到需要看的結果。”Analog Devices的Ferguson也同意此觀點。“就除錯而言,往往不需要比模擬多路複用器所能提供的精確度高多少,就可以看到振盪或20% 的增益誤差。”

如果不能將訊號引到封裝之外,有時可以將 訊號路由到片上資料轉換 器。“晶片上通常有一個附屬ADC監測晶片溫度,電池電壓等等,”Ferguson 解釋說。“在除錯中我們將龐大的多路複用器置於其前面,用來檢查模擬部分的其它節點。但要小心:額外的測量電路會損壞其它部分。例如,接通多路複用器觀察節點,會提高穩定電路的振盪能力。如果除錯訊號無意中跨過電源域,可以引入沒有遇到過的寄生電流路徑。”

Ball 也同意這種警告,必須選擇適當的方法,他說:“緩衝模擬訊號時所產生的10fF或20fF可改變節點的行為。” Jennic傾向於只根據以前出現問題的區域,如帶隙電池,構建其除錯方案。“我們更喜歡新增旁通電路,以防出現問題。”Ball補充說。這種保守思想可降低故障電路的出現機會。

經過計劃,加上運氣,以及一點雅緻,可以重新利用功能模組進行除錯。許多模擬訊號在資料轉換器中終止,所以至少其中部分是可觀察的。Ferguson 指出,可以輕鬆地開關s-Δ轉換器作為濾波器工作,以對進入的模擬訊號進行觀察。或者小心地將位流路由到針腳,在轉換器兩側都可觀察。一旦對資料進行數字化處理,就可以使用CPU 或DSP 模組調節及壓縮或測試對其的斷言。

也可以將除錯智慧(相當於簡單的網路分析儀)構建到一個模組中。環迴路徑可使用發射器和接收器來互相檢查(圖 2),有些電路可以抽取結果的模擬波形。“在我們千兆位PHY (物理層)設計中,我們在PHY 塊中捕捉到了一些模擬訊號,”Broadcom Hublitz 介紹說。

晶片設計的保障者,晶片設計之可測試設計技術詳解

發展前景

不難想象,在系統設計早期階段,每個功能模組接受足夠的自檢能力在全速執行期間進行自身診斷,並在DFT掃描鏈可處理的級別上實現這種能力。這種方法通常需要輸入緩衝器或訊號發生器對模組模擬,還要有輸出捕捉暫存器或ADC 對其觀察,以及足夠的內部斷點和跟蹤能力揭示模組的內部工作情況。一些SOC 設計團隊現在正在進行此項計劃。這樣實際的實現就成了架構師認為必要的除錯支援級別與設計所能承受的費用間的折中。

進一步拓展此概念,完美系統的設計師可以利用重定某些功能模組目標,作為訊號源或其它模組的捕捉裝置。附屬的ADC 是個很好的例子,這樣的機會還有更多。例如,增加快速資料轉換器可以將訊號處理模組變成網路分析儀或數字示波器。對控制邏輯稍作新增,即可將緩衝器 SRAM 陣列轉換為跟蹤緩衝器。

按這種思考方式,片上的功能模組可成為大量的除錯資源,只重置幾個多路複用器和模式開關即可。但此過程需要深謀遠慮。這樣組織會影響平面規劃和全域性佈線。必須在設計開始時進行,而不能在最後的實現時進行。

Ferguson 認為,某些工具也可支援這種過程。精密的工具可自動安裝這種結構,如掃描鏈、掃描控制器及向量發生器等。而且,DFT 硬體在暫存器級別的診斷上是必不可少的。但是,並沒有支援建立除錯結構的工具。Ferguson至少想要看到一種將混合訊號模組視為具有能觀性和能控性,並能掃描檢查簡單錯誤的檢測工具。理想狀態下一種工具應該能夠貫穿於一項設計,並能提出一種除錯架構和工藝。但這是以後要解決的問題。

以上便是小編此次想要和大家分享的內容,希望大家喜歡。

Tags:除錯晶片模組電路設計