華為是怎樣開發硬件的 之三——專題分析

華為是怎樣開發硬件的  之三——專題分析

寫了兩期“漫談華為是怎樣開發硬件的”,受到了朋友的期待,大家都呼籲:“村口廁所沒有紙了,快寫吧”。


因為今天是週六,寫點輕鬆點的。

先說個故事,傳說哈,大家當笑話聽。

早期,我大中華自研的潛艇,都是海藍色的,跟軍艦一樣顏色“藍灰色”。後來我大海軍去參觀前蘇聯的軍事演習,發現俄國人的潛艇不是藍色的,是黑色的。於是回來大討論,為啥俄國人的潛艇是黑色的。猜想:一定是黑色在夜裡面不容易被發現,所以油漆成黑色的。於是全國油漆大運動。 後來才知道,原來俄國人的黑色不是油漆,是黑色的橡膠,消聲瓦。於是我們也貼橡膠,可是我們貼了橡膠之後就潛艇跑不動了,因為我們的潛艇的動力不如別人。(以上故事純屬虛構,如有雷同,請把發生時間改為清朝。)


為啥在這裡說這個照葫蘆畫瓢失敗的故事呢。我覺得很多硬件工程師有個誤區,覺得自己的核心競爭力是在於會使用幾個軟件(cadence、Protel),畫畫原理圖,畫畫PCB。我早期的一份工作就這樣,最大的本事就是照葫蘆畫瓢,抄Demo板,抄以前成熟的電路,如果碰到了新的電路設計,一般是按照參考電路先畫出電路,再通過調試,去嘗試,碰到問題,再去解決問題。


那麼我現在的觀念是,硬件工程師最值錢的地方是在於懂硬件原理,懂得電路分析,模電數電原理,電磁場理論,而不是會使用畫圖軟件。


那麼華為是怎樣做電路設計的呢?為什麼會有專題分析的說法呢?為什麼電路設計的時候要做專題分析?


第一、 例行的,每個電路一般都會做幾個必選的專題:電源、時鐘、小系統;把每個管腳怎麼用,怎麼接,對接的管腳的電平是否滿足要求,都需要文檔化,分析清楚。在選用新器件的話,對應硬件工程師的工作量還是比較大的。但是如果是其他公司,直接按照推薦電路設計就完事了。電源專題,需要分析電源需求,每種電源的電壓範圍,電流需求,動態響應,上電時序;時鐘專題,針對每個時鐘的輸入的電平標準,頻率,抖動等參數,時鐘時序,並按照各種時鐘解決方案進行優化;


第二、 當電路設計過程中,碰到一些新的問題,之前團隊中沒有接觸過的問題,或者認為是重點,難點的內容,會專門做這個問題點的專題分析:例如我們做過的一些雙BIOS啟動,攝像頭的紅外LED的驅動,主備倒換啊,之類的,就會把一個問題點分析透,然後再動手做畫原理圖。


第三、 那麼在開發硬件的時候,Demo只是作為參考,每一個依據都是來自於datasheet,除了看芯片的數據手冊之外,還要仔細查看數據手冊的勘誤表errata,核對datasheet與Demo的差一點,如果器件有checklist還得核對checklist。曾經開發AMD的時候,datasheet、Demo、checklist,三個文檔對不上的情況。也出現過,一個比較難復現的問題,後來查看了Errata,發現是廠家芯片升級了,修正了bug,而我們還在採購老版本的芯片。


第四、 由於項目本身有交付時間要求,那麼在有限時間內其實不可能做到每個問題點都做得深入透徹。那麼問題來了:

是怎麼做到的呢?首先,每個項目都有《問題跟蹤表》,而硬件團隊由於事情非常的雜,所以把這個表要用的非常好,不然丟東拉西很正常。我曾經把這個表應用到家裡裝修。這個表的原理很簡單,就是記錄,問題內容,責任人,完成狀態,完成時間。但是隻要你堅持用,你會發現,你問題不會跟蹤丟,做事情會比較有條理,而且會有成就感。用了這個表以後,發現問題之後,先記錄下來,即使現在不解決,那麼也會識別他要不要解決,什麼時候解決。其次、問題分優先級,任何項目都是帶著風險前進的,那麼識別出高風險的問題,優先解決高風險的問題,帶著低風險的問題繼續走。這也是華為電路設計中“0歐姆”電阻用的比較多的有一個原因,識別出風險之後,但是又分析不清楚,或者來不及分析,只好做兼容設計。這裡不得不感慨一句,在你的設計過程中,你馬虎對待,沒有分析清楚的問題,最後一定會暴露出來。

所以,在“菊花廠”做硬件工程師,“專題分析”是設計硬件最核心的工作,而不是畫原理圖。

通過這個方法,用1~2個月做電路分析,而用1~2周時間畫原理圖,取代了,畫圖,調試,改版,再調試,在改版的形式。


多快好省,是不可能同時實現的,那麼硬件工程師有責任做很好的折衷和權衡。


分享到:


相關文章: