時序收斂與靜態時序分析
時脈不確定性(clock uncertainty)
時脈不確定性是一個單一的防護帶數字,把所有讓時脈邊緣變得模糊而非銳利的因素全部打包進去——來自 PLL 的抖動、尚未建立的偏斜、建模不準、以及一層安全餘裕。在時脈樹尚未實際建好之前,時序工具沒有真實偏斜可用,於是工程師預先載入一個不確定性值,悲觀地假裝時脈可能落在一個小窗口內的任何位置。這就像替每個約會都加上「上下十分鐘」,因為你還不知道確切路況。
機制上,不確定性會從建立時間檢查的可用時間中扣除(讓期限提早、路徑更難),也能套用到保持時間檢查。關鍵在於:它的值通常隨設計推進而縮小——CTS 前用來替代未建偏斜的大不確定性,在時脈樹合成後被真實算出的偏斜、加上一個小得多的抖動與餘裕殘值所取代。設得太高會無謂地過度約束、膨脹設計;設得太低,則出貨後晶片會在真實時脈晃動時失效。
required_time(setup) = T_clk − t_setup − clock_uncertainty
新手常犯的錯,是在時脈樹建好後仍保留 CTS 前的大不確定性,把偏斜重複計入(一次真實、一次當防護帶),讓時序看起來假性失敗——不確定性是該被調降的,不是被遺忘的。
又称
另见