大家好,我是硅言。在數字芯片的“溝通體系”中,??VIL(輸入低電平)??和??VIH(輸入高電平)??如同芯片的“聽覺閾值”,決定了它能否準確識別外部信號的邏輯狀態。本文將從原理剖析、測試方法到實戰案例,帶大家深入理解這一關鍵參數的意義與驗證過程。
一、VIL/VIH的原理:噪聲與滯回的博弈
閾值定義與邏輯關系
VIL:輸入引腳能可靠識別為邏輯“0”的最大電壓閾值。若輸入電壓超過VIL,芯片可能誤判為“1”。例如,某3.6V 的NOR芯片的VIL為0.3×VDD=1.08V。
VIH:輸入引腳能可靠識別為邏輯“1”的最小電壓閾值。若輸入電壓低于VIH,芯片可能誤判為“0”。那么,3.6V 的NOR芯片的VIH為0.7×VDD=2.52V。
二者的邏輯關系為:VDD > VIH > Vt(閾值電壓) > VIL > 0,確保信號在中間電平時不會頻繁跳變。
滯回電壓(Hysteresis)的重要性
施密特觸發器通過引入滯回窗口(VIH - VIL),使輸入信號需跨越一定電壓差才能觸發翻轉,從而抑制噪聲干擾。例如,當輸入接近VIH時,若存在小幅波動,輸出仍保持穩定。設計需滿足“VOH≥VIH”且“VOL≤VIL”,否則信號鏈傳遞失效。芯片的“語言能力”大揭秘:VOH、VOL、IOH、IOL、VIH、VIL全解析
二、測試原理與方法??
測試方法:通過動態改變VIL/VIH,驗證芯片功能是否正常
??VIL測試步驟:
??Step 1??:供電至VDDmax,芯片編寫數據
??Step 2??:對待測引腳施加VIL
??Step 3??:運行功能測試向量,檢測輸出信號是否符合預期邏輯
??Step 4??:重復步驟1-3,直到功能測試向量Fail
硅言測試?VIL程序Demo(不是完整代碼奧,僅示意):
var pinDigital = SemiContext.Digital("CLK,CS,DI,DO,WP,HOLD");
pinDigital.SetSelectedFunction("Digital");
pinDigital.BurstPattern("WREN_06h", true, true, 10);
common.SPI_Write_Byte(pinDigital, Utility.HexStringsToIntArray("31,02"));
pinDigital.BurstPattern("WREN_06h", true, true, 10);
common.SPI_Sector_Erase(pinDigital, (ulong)Convert.ToInt32("20", 16), 0);
pinDigital.BurstPattern("WREN_06h", true, true, 10);
common.Quad_SPI_Page_Program(pinDigital, (ulong)Convert.ToInt32("32", 16), 0, (ulong)Convert.ToInt32("55", 16))
var measure_pin = SemiContext.Digital(MeasurePin);
measure_pin.SetSelectedFunction("Digital");
for (int i = 0; i < Vstep; i++)
{measure_pin.SetVil(Vstart + i * Vdelta);MultiSiteUlongArray bytesFromTarget = common.Quad_SPI_Write_Read_Byte(pinDigital, Utility.HexStringsToIntArray("6B,00,00,00,00"), 1);if (bytesFromTarget.Get(1).Length != 0){if (Convert.ToString((int)(bytesFromTarget.Get(1)[0]), 16) == "55"){}else{data = Vstart + i * Vdelta;}}
}
??VIH測試步驟:
??Step 1??:供電至VDDmax,芯片編寫數據
??Step 2??:對待測引腳施加VIH
??Step 3??:運行功能測試向量,檢測輸出信號是否符合預期邏輯
??Step 4??:重復步驟1-3,直到功能測試向量Fail
硅言測試?VIH程序Demo(不是完整代碼奧,僅示意):
var pinDigital = SemiContext.Digital("CLK,CS,DI,DO,WP,HOLD");
pinDigital.SetSelectedFunction("Digital");
pinDigital.BurstPattern("WREN_06h", true, true, 10);
common.SPI_Write_Byte(pinDigital, Utility.HexStringsToIntArray("31,02"));
pinDigital.BurstPattern("WREN_06h", true, true, 10);
common.SPI_Sector_Erase(pinDigital, (ulong)Convert.ToInt32("20", 16), 0);
pinDigital.BurstPattern("WREN_06h", true, true, 10);
common.Quad_SPI_Page_Program(pinDigital, (ulong)Convert.ToInt32("32", 16), 0, (ulong)Convert.ToInt32("AA", 16))
var measure_pin = SemiContext.Digital(MeasurePin);
measure_pin.SetSelectedFunction("Digital");
for (int i = 0; i < Vstep; i++)
{measure_pin.SetVih(Vstart + i * Vdelta);MultiSiteUlongArray bytesFromTarget = common.Quad_SPI_Write_Read_Byte(pinDigital, Utility.HexStringsToIntArray("6B,00,00,00,00"), 1);if (bytesFromTarget.Get(1).Length != 0){if (Convert.ToString((int)(bytesFromTarget.Get(1)[0]), 16) == "AA"){}else{data = Vstart + i * Vdelta;}}
}
為提升效率,可采用集體測試法(Ganged Test):同時驅動所有輸入引腳至相同電平,測量總電流并與理論最大值(各引腳限值之和)對比。但此方法無法定位單個引腳故障,需后續串行復測。
??常見失效模式??:??噪聲干擾,高頻測試或負載電流突變可能引入噪聲,需關閉非必要負載并延長測試周期。??工藝偏差??,CMOS器件的閾值電壓(Vth)漂移可能導致VIL/VIH超標,需增加工藝角覆蓋。
隨著AI技術滲透,??自適應VIL/VIH測試??成為新方向:??AI動態調參??,根據實時噪聲環境調整測試閾值,提升魯棒性。缺陷預測模型??,通過歷史數據訓練,預測輸入緩沖器潛在失效風險。VIL/VIH的測試,是數字電路設計的“守門人”。從滯回電壓的物理本質,到量產中的良率爬坡,每一步都需精密計算與工程智慧。正如芯片測試的終極哲學:在噪聲中尋找秩序,在極限中定義可靠。
🔥 推薦閱讀:
芯片測試之Input Leakage Current(輸入漏電流)Test全解析:從原理到實戰
芯片測試之Open-Short Test全解析:從原理到實戰
芯片的“語言能力”大揭秘:VOH、VOL、IOH、IOL、VIH、VIL全解析
?? 免責聲明:
本文內容綜合公開報道、行業分析及第三方研究,信息存在時效性局限,技術描述可能存在專業偏差,部分含推測性表述,如有疏漏請聯系修正。
🛡? 版權聲明:
未經許可禁止商用,轉載需注明出處。