設計任何芯片的關鍵步驟之一就是在獲得第一批芯片后進行的測試。在測試中,您終于可以看到全部悉心工作的成果,并確定芯片是否按照設計和仿真運行。這稱為IC驗證。驗證的重點是功能測試 - 檢查硅芯片是否符合最初要求。這通常涉及一系列表征以及基本功能的測試,以確保設計中沒有漏洞。
驗證步驟與生產測試是分開的,生產測試的重點是快速準確地找到存在制造缺陷的芯片,并將其篩掉。在生產測試中,通常重點是在最快的時間內以可接受的準確性水平完成測試。這是因為每顆芯片的成本將隨著芯片在測試儀中花費的每額外一秒鐘而增加。
相反,在驗證步驟中,主要重點不是測試速度,而是可從芯片中提取的數(shù)據的質量。這并不是說速度無關緊要,如果可以快速取得準確的結果,當然是件好事。在驗證階段將自動化構建到測試過程中具有許多好處:
提升測試速度
通過使測試自動化,可以更高效地執(zhí)行測試。可以將每個測試排好隊并準備好,在上一個測試完成后,立即開始下一個。并且可以每周7天24小時運行測試,無需工程師值夜班。
流程改進
任何形式的自動化帶來的最大好處之一,這個好處也常常被忽視,是它為流程改進提供了基礎。本質上,自動化測試是該測試所需的所有步驟的具體表達。描述它們有助于分析每個步驟。然后,從分析中獲得的任何認知都可以反饋到算法中,進行改進,并惠及所有用戶。通常,工程師可能會人工地偶然發(fā)現(xiàn)一種更好的方法,但是這樣的學習通常不會反饋到流程中。
更一致的測試
根據定義,自動化測試是可重復的,因此自動化測試可以對給定批次中的芯片進行更一致的測試。這樣可以更好地比較每批芯片內樣品之間或批與批之間的表征數(shù)據。
直接應用為仿真而開發(fā)的測試
由于芯片在流片之前已經在驗證階段進行了廣泛的仿真,因此可以獲得龐大的測試和預期輸出庫。在驗證階段,你其實可以對驗證測試進行設計,使它們可以非常容易地移植到確認測試中。這大大加快了整個驗證過程的速度,并確保了在不同階段進行測試的一致性。
遠程進行驗證工作
對于各個級別的設計工程師來說,看到他們的工作成果通常是有益的。不過,驗證測試往往可能在不同的地理位置進行。因此,有了可以遠程訪問的自動化系統(tǒng),有助于設計工程師獲得其幫助生產的芯片的實踐經驗。這可以幫助他們逐漸提高自己的技能,還可以幫助他們獲得有關芯片設計方式的寶貴見解,并且驗證團隊也可以隨時獲取這些信息。在當前Covid-19新冠疫情的形勢下,遠程工作也具有明顯的優(yōu)勢。
驗證流程
考慮到所有這些因素,Adesto(現(xiàn)已并入Dialog半導體公司)開發(fā)了一個基于Python的測試框架軟件,將我們所有的儀器集成在實驗室中,并使我們能夠將在驗證階段開發(fā)的測試快速移植到確認測試中。選擇Python語言來實現(xiàn)測試自動化,是因為測試工程師們對它很熟悉,另外有眾多可以幫助測試工作的庫可供使用。
驗證系統(tǒng)本身包括一個帶有用于測試芯片的插槽的電路板。測試電路板包含一個子卡,該子卡具有一個較大的Xilinx FPGA,通過以太網連接到實驗室網絡。我們可以通過網絡對FPGA進行遠程編程,并使用它來控制被測器件(DUT)的所有數(shù)字輸入,并監(jiān)測其輸出。DUT的各種模擬輸入和輸出連接到開關,這些開關可以將它們切換到一組SubMiniature A(SMA)型連接器,該連接器連接到示波器、頻譜分析儀和信號發(fā)生器。我們還可以遠程控制所有這些儀器,這意味著我們可以將DUT的所有輸入、輸出、模擬和數(shù)字信號強制設置為我們想要看到的任何值。
Python測試框架軟件在遠程服務器上運行。我們的驗證工程師可以用Python編寫測試,并將其與可以在DUT的嵌入式處理器上運行的C編程代碼結合起來。這有助于通過全套功能測試來行使ASIC的能力。與儀器和測試板的所有連接都是通過網絡,因此可以遠程進行測試的開發(fā)和執(zhí)行。
我們的全球定制ASIC設計團隊經常使用我們的遠程IC驗證測試工具,以增強協(xié)作和監(jiān)督。 在可見的未來,我們中的許多人仍將繼續(xù)在家辦公,這樣的解決方案有助于確保我們客戶的ASIC設計能夠按時安全交付,并達到他們期望的高質量。