設計裕度(design margin)
出門旅行時,你會多帶一點現金,超過你預計要花的,因為總會有意外。一座標定承重十噸的橋,是按能撐三十噸來建的。設計裕度就是你的電路「能做到的」與它「僅僅被要求做到的」之間,那道刻意保留的差距——預留的額外餘裕,好讓零件間的差異、老化、溫度,以及你沒料到的驚嚇,都不至於把它推過邊緣。裕度,就是「勉強通過的電路」與「你能信賴的電路」之間的差別。
具體而言,你藉著把每樣東西都從容地放大到超過其需求來建立裕度。若一個穩壓器必須輸出 1 A,你選一個標定 2 A 的。若一個訊號需要維持在 2.0 V 以上才會被讀成高電位,而你能安排到 2.5 V,那 0.5 V 就是你的雜訊裕度——讓一個突波不至於翻掉一個位元的緩衝墊。若一個電容會看到 10 V,你裝一顆 25 V 的。裕度可表為比值(在額定值的一半運作)或絕對的緩衝(高過臨界值 200 mV)。它和降額、和最壞情況設計都有重疊:降額是「在應力上該留多少裕度」的規則,而最壞情況檢查告訴你你的裕度能否撐過壞日子。
誠實的張力在於:裕度從來不是免費的——更多裕度通常意味著更大、更貴、更耗電的零件,所以你無法把每樣東西都做成十倍超規格。藝術在於:把慷慨的裕度放在失效危險之處、應力不確定之處,或裕度代價很小之處;而在你真正了解極限、過度建造只是浪費錢之處則加以修剪。裕度太少,做出一個在你工作台上能動、到了現場卻失效的脆弱設計;太多,則做出一個不必要地昂貴的。而最受人敬重的那種裕度,是謙遜的那種:為你尚未知道的事留下餘地。
一個 3.3 V 邏輯輸入在高過 2.0 V 時讀為高電位。若驅動端送出 3.0 V,雜訊裕度就是 3.0 - 2.0 = 1.0 V——可容忍一個 1 V 的突波而不產生錯誤的位元。若它只送出 2.1 V,那 0.1 V 的裕度就會讓尋常的雜訊毀掉資料。
裕度是「你擁有的」與「你勉強需要的」之間的緩衝墊——它吸收意外。
裕度並非免費——每一分餘裕通常都要付出尺寸、金錢或功耗的代價。在失效會造成痛苦之處慷慨花用,在你真正了解極限之處則加以修剪。