全球汽車朝向智能化與電動化,使車用電子更重視晶片的可靠度測試及安全性功能,以期達到 AEC-Q100 的規範,進而打進車用市場。芯測科技的 STARTTM v3 除了提供豐富的記憶體測試功能與高效率的記憶體修復技術,還提供專屬的定製化車用電子功能,如: POT 2.0 (Power_On Test), ECC (Error-Correcting-Code), UDA(User Defined Algorithm)等功能。讓晶片開發商可以根據晶片的應用,精準檢測出有記憶體缺陷的車用電子晶片,提高行車安全。
一、 POT 2.0 (Power_On Test)
1.功能介紹:POT 2.0 (Power_On Test)在電子產品裡是非常重要的功能,尤其在車用與安全性相關的電子產品。能確保硬體電路在上電後進行記憶體檢測,並驗證行為正確性。芯測科技開發了具有記憶體測試與修復功能的 POT 2.0,加入 START™︎ v3 工具中,可以讓使用者方便在設計裡加入記憶體 POT 功能的電路,並提供下列幾種啟動方式:
- ROM:將測試命令(Command)存入 ROM。
- RTL:將測試命令存入由 RTL 描述的 ROM。
- Basic:提供 host_MEN 信號,進行記憶體測試。
- CPU:可以透過 CPU 下達測試指令來控制 BIST 電路。
在應用上也能加入 LATCH_GO 診斷功能,以一顆記憶體對應一位元的形式進行記憶體錯誤編號標記,讓使用者快速了解記憶體發生錯誤的位置。而 Error Injection 的功能,能在電路 Test Pattern Generator 中植入用於驗證 BIST 電路正確性的錯誤資訊,能大幅增加 BIST 電路可靠度。此外,使用 POT 2.0 時,如檢測出新的記憶體錯誤,皆能對錯誤點進行記憶體修復。
2.使用方式:
設定 STARTTM v3 ( BFL ):
i. set pot = rom or set pot =hw_rom
設定 pot 選項為“rom”,測試命令將被存入 ROM;設定 pot 選項為“hw_rom”,會將測試命令存入由 RTL 描述的 ROM,又稱為 Hardwired ROM。最後完成 BFL 與 BII 流程,產生相對應之電路與腳位以供使用。
POT 的模塊圖,主要分為三個模塊,分別為 ROM 記憶體/Hardwired ROM, ROM Controller 和MBIST/MBISR,如圖二所示。
首先 ROM Controller 接收到執行 POT 功能後,會讀取存放在 ROM 記憶體/Hardwired ROM 的測試命令,接著發送控制訊號到 MBIST,開始進行記憶體的測試,若檢測到記憶體錯誤,MBISR 則會自動執行修復流程。
圖二 POT 模塊圖
執行POT 功能相關訊號的波形圖,SYS_POT 為POT 的始能訊號,此訊號啟動後,ROM Controller 會到ROM 記憶體/Hardwired ROM 進行讀取測試指令,並開始記憶體測試與修復,可由MGO,MRD,RGO訊號得知測試結果,如圖三所示。
圖三 POT 相關訊號波形圖
POT= “rom” 或 “hw_rom” 的 MBIST/MBISR 的訊號線如圖四所示。
Name | Direction | Width | Description |
SYS_READY | input | 1 | The system boot is ready to enable BISR logics
(hard repair only)
“1’b1”: Ready to load data from NVM storage) |
SYS_POT | input | 1 | Enable Power on test (normal function test only) |
BOOT_CFG_DONE | output | 1 | The shifting of configuration data is completed (hard repair only).
“1’b1”: the scan is completed “1’b0”: the scan is progressing |
RCK | input | 1 | The clock signal for storage device, BISR logics and configuration buffer |
RRST | input | 1 | The reset signal for storage device, BISR logics and configuration buffer |
MRD | output | 1 | Indicates if the test is ended or not.
0: The test is uncompleted. 1: The test is ended. |
MGO | output | 1 | Indicates if the test is failed or not.
0: The test is failed. 1: The test is passed. |
RGO | output | 1 |
圖四 hw_rom 與 rom 的 MBIST/MBISR 訊號
最後產出存入 ROM 之測試命令的 Verilog 檔案,根據使用者設計的 BIST 功能,產生相應的命令,如圖五所示。Hardwired ROM 之 Verilog 程式範例,將測試命令存入由 RTL 描述的 ROM,如圖六所示。
圖五 存入 ROM 測試命令
圖六 Hardwired ROM 的 Verilog 程式
ii. set pot = basic
設定 pot 選項為 “basic” 將產生 host_MEN 信號線,供使用者啟動記憶體測試,並可由 MGO, MRD, RGO 訊號得知測試結果, “basic” 選項產生之訊號列表,如圖七所示。
圖七 basic 選項的 MBIST/MBISR 訊號
iii. set pot = cpu
設定 pot 選項為 “cpu”,可令使用者直接進行 BIST 電路的控制,並可由調整.bfl 檔案之設定,如圖八所示,增加額外功能,例如 diagnosis_memory_info 功能可新增 LATCH_GO 訊號,令使用者得以快速了解發生錯誤之記憶體編號。編號六之記憶體發生錯誤,如圖九所示。
圖八 BFL 上 Latch_GO 設定
圖九 Latch_GO 波形圖
二、 ECC (Error-Correcting-Code)
1.功能介紹:
ECC (Error-Correcting-Code)是指在傳輸時間允許偵測並校正錯誤的一種編碼方法,在接收端藉由已編碼資料偵測並校正傳輸錯誤,可應用於許多資料傳遞與資料保存的操作。在記憶體方面,ECC 能使用電路方法檢查儲存在記憶體中的資料是否正確。
不論是應用在汽車、工業、醫療及通訊等領域,都可能因記憶體失效,導致嚴重後果,而 ECC 的功能,能提高晶片運行時的穩定性和可靠性。
芯測科技提供 ECC 的功能,讓使用者在記憶體增加 ECC 功能,使用上可幫助使用者做到 2bits 的偵測, 及 1bit 的修正,而使用時須由記憶體提供 ECC 使用奇偶校驗(Parity Check)的空間,來重建校正的數據,須提供的空間為 2Parity-1> Parity + Data bit,例如記憶體資料長度為 22bits 時,使用 6bits 的 ECC 空間來檢測 16bit 的數據。
2.使用方式:
設定 STARTTM v3 ( BFL ):
由 set ecc_function 選項設定啟動方式以及 set ecc_prefix 設定 ecc 名稱,如圖十所示。
圖十ECC設定選項
執行完 BFL 與 BII 流程後,產生 ECC 功能的編碼與解碼電路,如圖十一、圖十二所示。
圖十一 encoder 電路 圖十二 decoder 電路
ECC 波形圖,data_noise 為記憶體的 data 與編碼過的校驗值,透過解碼後,得知 correct data,並可進行 data 修正,如圖十三所示。
三、UDA (User Defined Algorithm)
1.UDA 功能介紹:
隨著科技的演進,新開發的先進製程記憶體搭配現有常見的演算法,會花費較長的測試時間,並且會有重複測試圖像的行為。例如:使用者若同時選擇 March C+(14N)與 March C–(11N)的演算法,測試時間需要 25N。
芯測科技研發了使用者自定義演算法功能 UDA (User Defined Algorithm) 可以自行編輯演算法,將重複的元素 (element)去除,去除後測試時間即可縮短成 23N。
UDA 以元件的形式表達,可透過元件進行重新排列組合,任意產生出新的演算法,如圖十四所示。
圖十四 以元件的形式表達
圖形化使用者介面 (GUI),友好介面讓使用者能快速上手,如圖十五所示。
圖十五 UDA 圖形化操作畫面
2. 使用方式:
透過 UDA 圖形化操作介面,可快速的設定元素,下圖十六為圖形化操作介面的各項區塊簡介,能簡易的設定測試圖像、讀寫操作方式及位址上下數,完成後產生出演算法。
圖十六 圖形化操作介面簡介
舉例一個 March C 的演算法,利用圖形化操作介面,完成演算法的設定後,點選 UDA File 可看到演算法設定的結果,並按下 Export,即可將此演算法輸出成.txt 檔。最後在.bfl 設定檔中,設定上述.txt 檔之路徑,完成後即可產生出此演算法的 BIST 電路,如圖十七、十八、十九所示。
圖十七 March C 演算法設定
圖十八 演算法輸出
圖十九 UDA 檔案設定