在華為搞硬件14年,整理600多頁的“紅寶書”
發(fā)布時間:2023-11-13作者:admin點(diǎn)擊:303
2004年加入華為后,我連續(xù)做了14年的硬件,還算做了一些讓人滿意的單板,也有幸參與海思芯片的設(shè)計和開發(fā),見證了網(wǎng)絡(luò)芯片的成長。然而這當(dāng)中也沒什么高深的大招,只有一點(diǎn)一滴的積累。
10年整理600多頁的“紅寶書”
有人說,做硬件很容易,會擰螺絲會連線畫原理圖就行,但在我看來,這充其量只是連線工程師、畫圖工程師,不能叫硬件工程師。硬件工程師要懂的東西很多且很雜,PI(電源完整性)、SI(信號完整性)、時序……小到電阻電容,大到協(xié)議標(biāo)準(zhǔn),遇到問題要能夠有自己的判斷而不是茫然無措。當(dāng)時我們的老大說過一句話,“只要是看得見的,硬件都要管”,言下之意是硬件工程師要了解和單板硬件相關(guān)的所有領(lǐng)域,并對相關(guān)的技術(shù)問題做出判斷,現(xiàn)在看來就是整個大硬件域。
在加入華為前,我已經(jīng)在廣州的一家公司做了兩年的硬件了,當(dāng)時做的單板規(guī)模很小、很簡單,遠(yuǎn)不及華為單板的規(guī)模和專業(yè)性,接觸華為單板后發(fā)現(xiàn)自己了解的那點(diǎn)硬件知識真不夠用,于是就一邊硬啃各種文檔資料,一邊追著專家請教。在工作中逐步學(xué)習(xí)PI/SI,學(xué)習(xí)高速設(shè)計,學(xué)習(xí)工藝,學(xué)習(xí)結(jié)構(gòu),學(xué)習(xí)散熱,學(xué)習(xí)可靠性,總之只要和硬件相關(guān)的都會去學(xué)。雖然不如該領(lǐng)域工程深入,但也能夠和對應(yīng)領(lǐng)域工程師無障礙溝通并共同解決涉及的問題,到后來無論是做單板還是看別人的單板都會游刃有余。
這么多年的工作讓我養(yǎng)成了一個習(xí)慣,在看器件手冊和技術(shù)文檔時,如果看到一個沒見過的技術(shù)名詞,就會立刻去google一下。即便是看不明白,也會硬著頭皮從頭到尾讀一遍,在后續(xù)的工作中再去慢慢揣摩,同時會把在這個過程中看到的相關(guān)技術(shù)信息摘出來,專門放到兩個文檔中(一個word文檔,信息記錄較詳細(xì);一個是excel,方便查閱),這樣后續(xù)查閱就不需要再翻箱倒柜了。新知識、新技術(shù)永遠(yuǎn)在不停地發(fā)展,目前我的“紅寶書”還在陸續(xù)更新中。10年來,我的word文檔已經(jīng)足足有六百多頁的干貨了,細(xì)看下來,除了技術(shù)解釋,標(biāo)準(zhǔn)摘要外,典型設(shè)計、設(shè)計中易犯的錯誤、各種器件的設(shè)計注意事項(xiàng)、等等內(nèi)容也收集在里面。
除了查閱的便利外,這個過程其實(shí)也是我個人學(xué)習(xí)和總結(jié)的一個過程,現(xiàn)在只要是我的電腦開著,我的這兩個文檔就是開著的。我也無償把紅寶書分享給一些有需要的同事,希望也能方便他們的工作。
攻關(guān)像藝術(shù)創(chuàng)作,需要堅持也需要靈感
問題攻關(guān)幾乎成了我司硬件人員的成長必經(jīng)之路,既磨練意志也開闊眼界,這十幾年我主導(dǎo)和參與過的攻關(guān)不計其數(shù)。
幾年前帶領(lǐng)過一個芯片接口誤碼攻關(guān),這個攻關(guān)在我投入前已經(jīng)攻關(guān)了月余,完全是被供應(yīng)商牽著鼻子走,不斷給他們測各種數(shù)據(jù),然后等他們答復(fù),反復(fù)很多次卻沒看到任何實(shí)質(zhì)性的進(jìn)展。
加入并帶領(lǐng)攻關(guān)后,我先將已有的數(shù)據(jù)梳理了一下,然后和供應(yīng)商交流了幾次,基于這些數(shù)據(jù)我判斷他們的方向是錯誤的,但他們卻堅持己見,認(rèn)為是我們提供的參考時鐘抖動有問題,但從測量數(shù)據(jù)上分析抖動是正常的,這樣一來攻關(guān)便陷入了僵局,于是我決定撇開供應(yīng)商進(jìn)行問題攻關(guān)。
經(jīng)過對問題的分析和測試,我們判斷DDR控制器的讀寫采樣窗口小導(dǎo)致了這個問題,進(jìn)一步設(shè)計實(shí)驗(yàn)發(fā)現(xiàn)是“讀”方向有問題,但是窗口到底有多大,示波器無法準(zhǔn)確的測試。通過和海思交流,我們利用芯片已有的寄存器很巧妙的設(shè)計了實(shí)驗(yàn),準(zhǔn)確的測定了DDR接口的窗口大小,出問題時的窗口確實(shí)很小,可是奇怪的是控制器啟動后都會做讀寫窗口的掃描,理論上不應(yīng)該出現(xiàn)這個問題。于是我把DDR的手冊又啃了一遍,分析了DDR的窗口掃描算法,結(jié)合示波器的測試,最后發(fā)現(xiàn)是供應(yīng)商集成的DDR窗口掃描算法太簡陋,掃出來的窗口比實(shí)際的大很多,并且我們使用的某廠家DDR在高溫下窗口會縮小,至此整個問題水落石出。針對此問題供應(yīng)商的算法已無法修改,因此我們設(shè)計了一個巧妙的軟件算法對窗口進(jìn)行補(bǔ)償,同時更換某廠家最新版本的DDR芯片,徹底解決了這個問題。
在最終問題定位之前,供應(yīng)商始終認(rèn)為是我們的問題,如果繼續(xù)由他們控制整個攻關(guān)進(jìn)程,問題定位結(jié)果必然跑偏,因此攻關(guān)中要有必要的堅持。
最近一次問題攻關(guān)在上個月,單板邏輯的兄弟遇到刷表出錯的問題跑來問我,當(dāng)時由于工作太忙無暇顧及,幫忙出了些點(diǎn)子就放在一邊。過了幾周正在成研出差突然就被呼到一個電話會上,原來這個問題一直沒解決,還愈演愈烈了。第二天和邏輯兄弟走讀了一上午的代碼沒有發(fā)現(xiàn)問題,一下進(jìn)入了死胡同。這一天剛好是周末,實(shí)驗(yàn)室很安靜,完全沒了思路之后決定起來走走,繞著整層樓繞圈,同時在腦子里將這個問題現(xiàn)象串一遍。兩種類型的單板,C板A片出問題,X板B片出問題,幾乎完全一樣的硬件設(shè)計,邏輯設(shè)計幾乎完全一樣,差別只是邏輯中狀態(tài)機(jī)判斷條件C板B片在前,X板A片在前,問題似乎就在這里,但是代碼上卻看不出問題,會不會是兩塊單板上兩個芯片接口走線的延時差導(dǎo)致出問題?立刻回去查看PCB圖,果然是這樣,兩顆芯片的延時剛好一個是A片長,一個是B片長,至此徹底打開了攻關(guān)思路,經(jīng)過一周的艱苦攻關(guān)徹底解決了這個問題。
攻關(guān)最常遇到的情況是感覺好像所有招使盡了卻難前進(jìn)半步了,這種時候需要放松休息一下,攻關(guān)和創(chuàng)作藝術(shù)品一樣,需要靈感。
平時的工作中由于時間關(guān)系,對于很多接口協(xié)議/硬件標(biāo)準(zhǔn)等了解并不深入,但到了攻關(guān)的時候?yàn)榱私鉀Q問題,就必須沉下心來硬啃文檔,所以每次攻關(guān)結(jié)束,都會發(fā)現(xiàn)自己在某些領(lǐng)域又深入了很多,或者是對協(xié)議標(biāo)準(zhǔn),或者是工程領(lǐng)域最新的技術(shù)或問題,因此雖然過程很艱辛,但對于攻關(guān)還是樂此不疲。
單板要是做砸了,以后沒人敢用你
生活中我是一個特別仔細(xì)小心,甚至有點(diǎn)強(qiáng)迫癥的人,一件事件經(jīng)常會反復(fù)確認(rèn),在工作中也是如此,對于關(guān)鍵問題會反復(fù)確認(rèn)和分析,確保無誤。以前跟海思一個項(xiàng)目經(jīng)理一起做芯片,我從別人那聽到他評價我時說,“你別看這個楊勇長得五大三粗的,但心思卻非常細(xì)!”
硬件絕大部分的問題攻關(guān)過程艱辛,但最終的問題根因往往很簡單,有的甚至很低級,一分鐘犯的錯誤要用千百倍的時間來解決,一個連線錯誤就要導(dǎo)致單板花三個月來重新改板,成本巨大。剛?cè)肼毬酚善鲿r,硬件老前輩給我們新人說,“優(yōu)秀的硬件工程師就是要一根飛線都沒有”、“好的單板就是你的品牌,板子要是做砸了,以后是沒人敢用你”。因此從做單板以來一直都謹(jǐn)記前輩的教誨,小心翼翼、戰(zhàn)戰(zhàn)兢兢,用如履薄冰的態(tài)度做單板設(shè)計,不放過設(shè)計中的任何一個細(xì)節(jié),有疑問的地方都是多次確認(rèn)。40Kpin規(guī)模單板的原理圖和PCB,一遍一遍,一根線一根線地點(diǎn)著看,查完原理圖查網(wǎng)表,甚至連原理圖設(shè)計工具的提示信息也每條都確認(rèn)。從我的角度來說,要做一個好的單板其實(shí)沒有捷徑,就是每根線都點(diǎn)到,每個器件都看到,每一處設(shè)計都分析。
當(dāng)時我所做的單板是路由器規(guī)模最大的一塊單板,編譯網(wǎng)表時原理圖設(shè)計工具給出的warning和notes有幾千條,我們也堅持每條都點(diǎn)一次確認(rèn)一下,而且是編譯一次點(diǎn)一次,有時感覺看得都有點(diǎn)想吐了,但仍然堅持看完。工作辛苦細(xì)致一點(diǎn),風(fēng)險就可以小一點(diǎn),萬一這些無效問題中隱藏著一條真正的問題沒被看到,那就意味著單板可能要改板。曾經(jīng)有QA問我如何保證單板質(zhì)量,我給他開玩笑說“檢視,檢視,再檢視”。
因?yàn)榭吹煤茏屑?xì),以至于當(dāng)時原理圖設(shè)計工具的一些問題都被找了出來,雖然過程很辛苦,但是單板成功了就是對這些辛苦最大的獎勵,這塊單板是路由器當(dāng)時最復(fù)雜的單板,如今成了路由器發(fā)貨時間最長,賺錢最多單板之一,前年才終止發(fā)貨。
我覺得,硬件工程師對待每一塊經(jīng)自己手設(shè)計的單板,都要當(dāng)藝術(shù)品一樣,設(shè)計規(guī)范整齊,精益求精。好的單板設(shè)計看起來應(yīng)該給人一種很舒服的感覺,連線整齊,命名規(guī)范,標(biāo)示詳細(xì),看一眼網(wǎng)標(biāo)名稱就知道這個信號是什么,從哪來到哪去,方便檢視還不容易出錯,原理圖中詳細(xì)標(biāo)注設(shè)計細(xì)節(jié),這樣檢視原理圖就不用再去翻詳細(xì)設(shè)計報告和數(shù)據(jù)手冊。
這么多年來,但凡經(jīng)我手的單板從沒出過問題。我覺得也許強(qiáng)迫癥是硬件工程師的必備素質(zhì)之一。
轉(zhuǎn)戰(zhàn)中國芯
作為硬件工程師,除了做單板我還有幸參加了網(wǎng)絡(luò)芯片的設(shè)計和驗(yàn)證工作,見證了網(wǎng)絡(luò)芯片設(shè)計/驗(yàn)證的團(tuán)隊從無到有,從涓涓細(xì)流到如太平洋般寬廣的成長。
在交付完路由器最復(fù)雜的單板之后,我被抽調(diào)去參與路由器40G芯片設(shè)計,承擔(dān)40G芯片的硬件和工程需求的梳理及驗(yàn)證方案的設(shè)計,工作從單板硬件轉(zhuǎn)到芯片設(shè)計有一定的跨度,有很多芯片板級應(yīng)用方案、需求分析和決策,每天都是忙于各種硬件方案的分析設(shè)計,追著產(chǎn)品的SE和芯片SE確認(rèn)問題,硬啃最新的芯片工程技術(shù),決策芯片的硬件和工程需求。當(dāng)時加班多到領(lǐng)導(dǎo)都看不下去了,唯一一次過年沒有回家就是這次支持40G芯片回片的驗(yàn)證測試。
40G芯片的成功使華為核心路由器有了中國芯,全面具備了趕超世界一流IP芯片的能力,使路由器硬件競爭力顯著提升。能有幸參與這種劃時代的項(xiàng)目是人生最寶貴的經(jīng)歷。
現(xiàn)在我的工作也是一半單板交付,一半芯片開發(fā),涉及網(wǎng)絡(luò)產(chǎn)品線的所有網(wǎng)板和大部分芯片,隨著技術(shù)的發(fā)展,芯片的設(shè)計和應(yīng)用已經(jīng)全面挑戰(zhàn)工程技術(shù)極限,參與芯片設(shè)計讓我能夠接觸到最新的技術(shù),不斷更新自己的知識體系。
在華為工作14年大小獎勵也獲得很多,金牌個人、金牌團(tuán)隊、總裁獎、明日之星等等,現(xiàn)在公司越來越重視專家的價值,在職級崗位等方面都給予了更大的發(fā)展空間,我也就更堅定了專家這條路線。公司重視,專家更應(yīng)該回歸到專家應(yīng)有之道,在具體的技術(shù)領(lǐng)域要持續(xù)耕耘,做廣做深,既能夠承擔(dān)具體的開發(fā)工作也能夠洞察業(yè)界的發(fā)展方向?,F(xiàn)在的我在做好單板和芯片的同時,也適時地抽身出來學(xué)習(xí),期望能站在更高的視角來看待硬件領(lǐng)域,為硬件將來的發(fā)展做出更大的貢獻(xiàn)。
- 上一篇:交流電源和直流電源的區(qū)別
- 下一篇:電源搞不好,加班少不了