基于SoC的發(fā)展測試設(shè)備進(jìn)入芯片領(lǐng)域
這只是尺度問題。隨著系統(tǒng)級 IC 越來越大而復(fù)雜,它們也逐漸無法觀察與激勵。通過打線焊盤甚至探針都無法達(dá)到內(nèi)部的節(jié)點(diǎn)。信號電壓很小,噪聲閾值極微,驅(qū)動強(qiáng)度可以忽略不計。當(dāng)關(guān)鍵電路達(dá)到千兆頻率時,已不可能在物理上獲得片上信號的精確表述,即使可以用探針探到電路。
而需求仍然存在。芯片設(shè)計者在建立硅片時必須能夠觀察和激勵 SoC(系統(tǒng)單芯片)中的各個獨(dú)立塊。制造測試工程師必須能夠在價格合理的測試設(shè)備上建立快速的測試程序。芯片設(shè)計者也必須創(chuàng)建自動校準(zhǔn)程序,以補(bǔ)償芯片使用時關(guān)鍵電路的工藝、電壓、溫度、阻抗和噪聲變化。唯一可行的選擇是將測試與測量儀器(包括通常建立實驗室所需要的邏輯分析儀、總線分析儀、通信測試儀與示波器等)移到芯片自身上面。
現(xiàn)在這種選擇已成為現(xiàn)實。其開端也許要算 CPU 核心中內(nèi)建的調(diào)試功能,并擴(kuò)張到總線診斷塊和內(nèi)置自檢邏輯塊,今天的片上儀器正在擴(kuò)展到高速收發(fā)器和 RF 電路。今后可能會看到,用于特性描述與校準(zhǔn)的片上模擬儀器將例行公事地成為模擬設(shè)計的一部分(見附文“MEMS 加速度計也需要測試儀器”)。
起始于CPU
在一片 CPU 中建立調(diào)試硬件的概念至少可以回溯到 IBM 360 架構(gòu)。但將更復(fù)雜 CPU 核心裝入較小片芯中的競賽意味著在 SoC 設(shè)計的早期不可能實現(xiàn)這一概念。它的重新出現(xiàn)是因為需求。
ARM 的 CoreInsight 調(diào)試計劃總經(jīng)理 William Orme 說:“隨著處理器復(fù)雜性與頻率的增長,由于過于困難,已經(jīng)不能用外電路控制核心。設(shè)計者拒絕在核心區(qū)增加調(diào)試成分,但它成為了核心區(qū)與努力之間的一種折衷。最終,核心內(nèi)的調(diào)試在 SoC 總成本中變得有性價比。于是,它成為了一種強(qiáng)制措施。”
在這一發(fā)展中,基本技術(shù)沒有變化。設(shè)計者只需要將 CPU 核心置于一種已知狀態(tài),開始運(yùn)行,觀察并記錄狀態(tài)順序,當(dāng)感興趣的事情發(fā)生時將核心停止。集成在核心中的硬件可以完成所有這些事情,對正常運(yùn)行的能耗與性能基本沒有影響。
但隨著 SoC 的發(fā)展,CPU 核心不再是唯一的問題。從 CPU 向四面八方伸長開去的總線(寬、高速、分段和多層)也變得無法觀測。于是,ARM 和其它互連 IP(知識產(chǎn)權(quán))供應(yīng)商在互連架構(gòu)中建立了調(diào)試電路,就像他們在 CPU 中做的那樣。
Orme 說:“在一個 AHB(先進(jìn)高速總線)的多級互連中,設(shè)計者需要監(jiān)控互連處于何種級別上:源、目標(biāo),以及每個事務(wù)的內(nèi)容。這個過程需要從片芯內(nèi)監(jiān)控?!?/FONT>
當(dāng) SoC 從處于總線網(wǎng)絡(luò)中心的單一 CPU 核心發(fā)展成為多處理點(diǎn)同時有效的多核心設(shè)計時,情況就變得更為復(fù)雜?,F(xiàn)在,一個事件可能不再只是核心或總線的狀態(tài),而是不同塊和電壓域中一系列處理器與互連結(jié)構(gòu)的狀態(tài)序列的復(fù)雜結(jié)合。Orme 承認(rèn),光是這類系統(tǒng)的啟動和停止,以及對其實際狀態(tài)某些端倪的獲得都成為一個富于挑戰(zhàn)性的問題。
越來越高的復(fù)雜性可能將片上調(diào)試電路的重點(diǎn)從 CPU 核心轉(zhuǎn)向一種更加系統(tǒng)級的方案。例如,ARM 提供一種交叉觸發(fā)的開關(guān)陣列,試圖將 SoC 中不同塊的狀態(tài)信號集合起來。而獨(dú)立于處理器的調(diào)試硬件公司也正在涌現(xiàn),如 Dafca。
Dafca 工程副總裁 Paul Bradley 說:“設(shè)計團(tuán)隊一直試圖將 CPU 調(diào)試功能與自我設(shè)計的片上測試儀器結(jié)合起來,建立一種完備的調(diào)試策略。但隨著 SoC 復(fù)雜性的增加,電壓與時鐘域的激增,并且可重用變得日益重要,設(shè)計者需要一種完備的方案,而不只是一些特別設(shè)計的組合?!?/FONT>
Dafca 首席執(zhí)行官 Peter Levin 從其它角度為這種考慮作了補(bǔ)充。他說:“隨著復(fù)雜性的增加,控制硬件以及分析數(shù)據(jù)意義所需要的調(diào)試軟件也在增加復(fù)雜性。今天,調(diào)試軟件的成就至少是設(shè)計與集成調(diào)試硬件的 10 倍以上?!蓖瑯?,可重用很關(guān)鍵,從一位專業(yè)企業(yè)那里獲得所有授權(quán)看來更加合理。
Dafca 的架構(gòu)給出了一種有關(guān)復(fù)雜整芯片調(diào)試支持方法的構(gòu)想。Dafca 與在設(shè)計 CPU 或 DSP 核心內(nèi)的調(diào)試硬件一起工作,而不是代替它們。但它會增加“分析儀器”,這是精巧但緊湊的可編程狀態(tài)機(jī),它可以激勵一個塊,方法是在一些循環(huán)中預(yù)清空該塊的輸入,監(jiān)控塊的輸出,以及向一個全局網(wǎng)絡(luò)報告例外情況。
Bradley 認(rèn)為:“儀器的部署與應(yīng)用非常相關(guān)。通常情況下,一個設(shè)計團(tuán)隊會在一只芯片上使用兩到六個分析儀器,一般會將一個儀器關(guān)聯(lián)到各個重要的設(shè)計域。通過這種方式,就可以觀察主要接口與控制點(diǎn),一般是在設(shè)計層級的第二層?!眮碜詢x器與處理器核心的信息共同形成一個工作中芯片的凝聚圖像,并提供一種設(shè)計者可以定義并利用芯片級狀態(tài)的抽象等級,這在任何架構(gòu)中都是重要的需求。這種需求也許能解釋設(shè)計中的龐大軟件部件。
因此,片上數(shù)字測試儀器已經(jīng)從 CPU 核心中比較簡單的調(diào)試核心,轉(zhuǎn)成為更復(fù)雜完備的軟硬件系統(tǒng),設(shè)計者對這類系統(tǒng)采用分布式狀態(tài)機(jī)和片上觸發(fā)與控制網(wǎng)絡(luò)。隨著 SoC 變得更加復(fù)雜,下一步似乎是芯片上的全邏輯分析能力,包括可編程觸發(fā)器、長走線與矢量緩沖器,以及探測芯片內(nèi)節(jié)點(diǎn)的能力。
模擬域
與片上數(shù)字測試儀器的發(fā)展趨勢類似,現(xiàn)在對于用片上測試儀器生成與測量模擬信號也有越來越大的興趣。如果數(shù)字測試儀器的源頭要追溯到 CPU 核心,那么模擬儀器就起始于高速串行接口的核心。但技術(shù)在模擬域中也有分支,如包含帶有傳感器、用于自動校準(zhǔn)的測量系統(tǒng),混合信號伺服系統(tǒng),以及用于校準(zhǔn)與測試的儀器。
與數(shù)字世界一樣,高速 I/O 片上測試儀器背后的動力是關(guān)鍵信號日益缺乏可見性。Rambus 首席高級工程師 Rich Perego 說:“外部探頭的存在就會改變一個高速鏈路。并且,能看到一個波形還是有價值的?!?/FONT>
Rambus 設(shè)計工程經(jīng)理 Ken Chang 補(bǔ)充說:“一般情況下,可以直接探測發(fā)射器,但不能只探測接收器。必須提取片上數(shù)據(jù),推算出眼圖或 Bathtub 圖,從而間接地探查接收器?!?/FONT>
這種方法在高速接收器中變得更加重要,否則就不能看到塊內(nèi)發(fā)生了什么。 Vitesse的高級應(yīng)用工程師認(rèn)為,無法從外部看到信號在均衡前或后的樣子。必須從接收器內(nèi)部作這些觀察。
Rambus 解決這種問題的辦法實際上是將接收器用作自己的測量儀器。這個步驟起始于將可編程偽隨機(jī)模式發(fā)生器與碼流比較器集成到 I/O 塊中。然后,設(shè)計者就可以增加足夠多的電路,對發(fā)射器和接收器作數(shù)字調(diào)節(jié)(圖 1)。例如對發(fā)射器,這種方法意味著要控制數(shù)字輸入和 DAC 的電流擺幅與相位,并且能夠修改均衡片系數(shù)。Perego 解釋說:“這可以通過掃描時序與電壓,建立收發(fā)器性能的 shmoo 圖?!?BR>
對于接收器,這可能意味著要調(diào)整接收放大器的相位與增益。這個過程可以讓設(shè)計者掃描相位,并在碼流比較塊的輸出處觀察誤碼率累加器,而提取出時序余量。
這種測試儀器技術(shù)的巧妙之處在于盡可能在數(shù)字域中完成。例如,可以利用延遲鎖定回路中的數(shù)字反饋路徑,用數(shù)字方法控制接收器的相位?;蛘呖梢詫⒁粋€數(shù)字值送給一個 DAC,DAC 再為一個關(guān)鍵節(jié)點(diǎn)增加一個偏置,以此調(diào)整增益。電路中的這些插入都并非不重要,尤其是在模擬節(jié)點(diǎn)情況下,此時任何變化都可能造成斷路。但它們是可以實現(xiàn)的。
Vitesse 最近使接收器測量儀器更進(jìn)了一步,創(chuàng)造了一種有趣的雙通道方案(圖 2)。這種概念將一個通道(通常是接收器的主數(shù)據(jù)通道)設(shè)定在眼的中心。然后設(shè)計者可以改變接收器的相位與增益,在每個點(diǎn)停止,收集充足的數(shù)據(jù)以精確估計誤碼率,等等,從而在相位與振幅點(diǎn)的范圍內(nèi)掃過第二個基本上完全相同的通道。經(jīng)過軟件后期處理的結(jié)果會是一個眼圖,或是接收器自身所收集數(shù)據(jù)的一個 bathtub 圖。由于第二個路徑從物理上與作測量的讀取路徑相同,數(shù)據(jù)要比探針或示波器的可能實現(xiàn)更精確。設(shè)計者可以看到從均衡器進(jìn)入接收采樣器的精確信號,而不是失真的近似。
但高速 I/O 并非這種概念的唯一應(yīng)用。例如,意法半導(dǎo)體公司將相當(dāng)多的測試儀器置入了它的高端磁盤讀取通道 IC。同樣,重點(diǎn)是用電路盡可能多地完成外部控制的測量。但在這種情況下,增加的電路可以很復(fù)雜。
意法半導(dǎo)體公司數(shù)據(jù)存儲部的架構(gòu)經(jīng)理 Angelo Dati 說,在一個讀取通道芯片中的內(nèi)部儀器可輔助芯片的初期糾錯與校準(zhǔn),一旦安裝了芯片,它可以幫助確定復(fù)雜介質(zhì)/電子系統(tǒng)的特性,并且在工作期間對電壓、溫度、磁頭高度和其它變量提供連續(xù)補(bǔ)償。
相應(yīng)地,讀取通道有很多測量儀器。例如,從用于溫度和電壓的簡單傳感器,到比較器與線性濾波器,控制處理器可以檢查確定是否要調(diào)用一個本地有限狀態(tài)機(jī)上的校準(zhǔn)程序。狀態(tài)機(jī)運(yùn)行一個閉環(huán)校準(zhǔn)程序,它可以改變電壓偏移、增益以及偏置點(diǎn)來糾正問題,如通道的低通濾波器截止點(diǎn)的溫漂趨向(圖 3)。
更復(fù)雜的測量不僅能補(bǔ)償運(yùn)行中的變動,而且還能幫助設(shè)計者與產(chǎn)品工程師將芯片精細(xì)調(diào)整為某種特定的磁頭/介質(zhì)組合。Dati 稱,其中一種可望用于基于模式匹配的自適應(yīng)循環(huán)系統(tǒng)。芯片內(nèi)測量儀器產(chǎn)生一個模擬波形,系統(tǒng)將其送入讀取電路,并與來自讀取頭的輸入信號作比較,給出一個頻率誤差信號。這個信號為適應(yīng)磁頭/介質(zhì)噪聲組合體的噪聲與非線性特性提供反饋。這是閉環(huán)過程。但 Dati 稱:“不存在收斂的證據(jù)。我們必須為自適應(yīng)回路提供一個使之工作的好的初始值。”
另外,在硅片建立以及制造時,對于磁盤組件的諧波分析還有一些有用的方法。芯片中實際上包含了 Dati 所說的“一種低等級頻譜分析儀,如一個 FFT 引擎,但簡化為只觀察某些特定頻率,因此比通用頻譜分析儀要簡單”。測試儀器的諧波分析有很多有價值的目的。例如,查看不應(yīng)存在的特定頻率,可以檢測并量度磁頭/介質(zhì)子系統(tǒng)的非線性。另外,通過查看頻率包絡(luò),可以估計出磁間隙,即磁頭在介質(zhì)上的高度。Dati 解釋說:“今天的磁盤必須這么做。因為,如果你不測量和調(diào)整磁頭高度,普通大氣壓差就可能造成磁頭損毀?!?/FONT>
一臺頻譜分析儀似乎是一個大型儀器,不可能在沒有影響情況下插入一個成本高度敏感的芯片中。但 Dati 稱,事實上“接收器正在越來越龐大,以致于很容易在設(shè)計中隱藏一些測量儀器電路。”
這種意見可能是片上測試儀器未來的一個良好說明。隨著芯片變得越來越復(fù)雜,不僅對片芯上的儀器存在著需求,而且還有更多探索功能電路的機(jī)會,從而快速地將模擬測量轉(zhuǎn)到數(shù)字域中。并且現(xiàn)在有更多的空間可以隱藏一個相當(dāng)復(fù)雜的塊,如經(jīng)過修改的 FFT 引擎。
下一步可能是看數(shù)字域發(fā)生了什么事:將模擬測量從分屬芯片不同部分的時域和頻域提取出來,以提供一個混合信號系統(tǒng)完整狀態(tài)的圖像。只有采用這種片上工具,才有可能證明調(diào)試下一代復(fù)雜芯片的可能性,并在其完全運(yùn)行以后保持不斷改進(jìn)。
附文:MEMS 加速度計也需要測試儀器
MEMS(微機(jī)電系統(tǒng))加速度計具有精確、低功耗和低成本的特點(diǎn),正在使一系列應(yīng)用得到徹底變革。汽車安全氣囊的保險、計算機(jī)輸入設(shè)備的姿態(tài)與運(yùn)動傳感器,以及汽車姿態(tài)控制系統(tǒng)的傳感器等,這些都是大量例子的一部分。
加速度檢測元件通常是差動電容,電容的一個極板被硅彈簧懸掛在其它兩個上方。加速度造成被懸掛極板的偏移,從而改變了兩個電容極板之間的相對電容,于是也改變了通過信號的相對幅度。正確設(shè)計與制造的這類結(jié)構(gòu)實體是敏感的、精確的和耐久的。但它們需要校準(zhǔn)。施加電壓的變化與環(huán)境溫度都可以改變器件的靈敏度,并且每個傳感器在 0g 時都有一個偏移讀數(shù),用戶必須作測量。
Analog Devices 的業(yè)務(wù)發(fā)展經(jīng)理 Bob Scannell 說,在大批量應(yīng)用中,這個需求不成問題。如果使用數(shù)十萬個或數(shù)百萬個傳感器,建立一種校準(zhǔn)工具不會有很大成本,工具連接著傳感器,并在一個溫度室內(nèi)用預(yù)知速率對它們作校準(zhǔn)。但是,對于工業(yè)領(lǐng)域中的較低批量應(yīng)用,用片上測試儀器對器件作預(yù)先校準(zhǔn)就很有意義了(圖 A)。Scannell 說:“預(yù)校準(zhǔn)消除了使用的障礙。”
例如,在 MEMS 器件中嵌入一個溫度傳感器和一個微控制器,供應(yīng)商就可以預(yù)先裝載溫度補(bǔ)償表,使芯片立即去除由于溫度造成的變化。同樣,固件可以使芯片經(jīng)過一個自動歸零過程,建立一個系統(tǒng)中的基準(zhǔn)水平面,為 MEMS 結(jié)構(gòu)提供電子激勵,并將輸出與一個已知基準(zhǔn)作比較,完成一次快速的合格/不合格測試。
在這些例子中,都值得為硅片上測試儀器做投入,這不僅是因為沒有其它方法能夠完成測量或降低昂貴的測試成本,也是為了讓器件更容易使用,從而打開新的市場。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論