FPGAdesign中碰到的奇葩題目之“芯片也要看出生”(一)昨夜西風凋碧樹。獨上高樓,看盡海角路2000年的時辰,做design基礎都是應用Xilinx公司的Virtex和Virtex-E系列芯片。那時辰Altera技巧實力還比擬弱,基于Altera包養俱樂部的芯片做design是要被大師diss的。某天早晨大要十點多了吧,我正如癡如醉的沉醉在編碼的快感傍邊。主管悄無聲氣的站到了我身后,我從顯示器中看到了模糊的影子,回頭包養心得一看公然是他白叟家。
主管臉色凝重,眉頭緊蹙。我在頭腦里敏捷回想了一下本身比來的所作所為,確信沒干什么十惡不赦、自盡于國民的好事兒,用發抖的語氣警惕翼翼的問:老邁,您找我?老邁的臉色敏捷地轉換,清楚在說:蠢貨,你又不是什么萌妹子,如果沒事兒你認為我白叟家愿意屈尊站到你這兒么?after一個藍衣男子般的風情萬種的白眼之后,老邁終于開腔了。
“我們學文科的都不信鬼神對吧?”年老,你這是什么收場白?!我那會兒不外才任務兩年多,純粹的像一張黑不溜秋的白紙,最基礎辨認不了您這包養金額是預備給我刨什么坑好吧,為啥你要給我出如許的困難?老邁顯露了一些不耐心:“幾個月之前到此刻,有一批單板邪門兒了,有的任務正常,有的就不竭的出亂碼。顛末大師包養犯法嗎夜以繼日沒白沒黑嘔心瀝血玩兒命的加班定位之后,大師分歧以為題目出在這塊單板上的FPGA上”。早說嘛,FPGA我熟啊。“老邁,題目既然都定位了,那就處理嘛”。老邁顯露了驚訝的神色:我X,你這貨是怎么混進我司的台灣包養網?回頭老子要找現在口試你的人算賬!老邁深吸了一口吻,帶著“老子再忍你十秒鐘的神色”持續說:“包養網車馬費這個FPGA一共9000多接近一萬行代碼,最要害的是,design這個FPGA的同事三周前就去職了。此刻固然斷定包養網車馬費了題目出在這個FPG包養價格A,可是畢竟是什么題目還不了解。所以呢,大師磋商了一下,決議臨時把你抽調出來,全力投進這個工作。一呢,要搞明白究竟是什么題目,二呢,把題目徹底處理失落”。
要不怎么說昔時的我就是純粹啊,如果放到此刻,這確定是一個盡佳的跟老邁還價討價、多給本身爭奪個仨瓜倆棗的好機遇啊。彼時純真(實在就是弱智)的我卻感到天年夜的展現本身身手的時辰終于到來了,于是悵然接收。老邁神色輕松了一些,但還帶著少許迷惑:這貨不了解行不可,但愿不要把老子也坑了。然后溜溜達達的走了。
隱達,阿里云資深專家,混名的意思就是做人隱,幹事達。業余時包養ptt光愛好看美劇和唸書,尤其是汗青書;還愛好喝點小酒侃年夜山,飲酒只喝啤酒和威士忌;酒量比擬差,可是酒品還過得往。我在某通訊公司任務了18年,此中十年的年夜範圍FPGA/ASIC開闢和體系design,方才參加阿里云,擔任FPGA/ASIC異構盤算,So happy to be Ali Ren,很榮欣能在云棲社區和大師一路交通,進修!
FPGAdesign中碰到的奇葩題目之“芯片也要看出生”(二)
衣善良,而且心地善良,根本就是一個難得的人。她的好師父,跟在她身後很安心,也很舒服,讓她無言以對。帶漸寬終不悔,為伊消得人憔悴我一夜無眠,警惕臟一向在忽冬忽冬滴亂跳。第二天我一頭扎進了封鎖的試驗室。試驗室里堆了很多多少單板,好的一堆,壞的一堆,然后各類儀器和電腦。整整一周,我都在試驗室里瞎折騰,除了一遍又一遍的證明了題目景象確切如老邁所描寫的,然后就是看那9000多行的HDL代碼。寫代碼的同事不了解是居心的仍是習氣這般:注釋少的不幸、design文檔和現實代碼差別極年夜(文檔在說生果里面桃子最好吃,代碼寫的是年夜飛機C919很威武)、變量的定名也毫無紀律,后綴_addr的變量竟然是數據總包養網VIP線,而后綴_data的變量才是地址總線。我心說:“哥啊,地球人都了解花花肩輿人抬人。你我素昧生平、素昧生平、萍水阿誰從未重逢,可為神馬你就了解我要被派來整理你的爛攤子,這么多名堂來整理我涅?”
一周毫無停頓,我很懊喪。糊里糊塗的過了周末(實在也就是周日一天),周一持續鉆進試驗室。開放辦公區里鶯歌燕語,其樂融融,就我一小我傻兮兮的在試驗室里古佛青燈統籌影自憐,相當稱得上凄凄慘慘戚戚。中心老邁時不時的過去關懷我一下,實在就是監工外加檢討進度。可是沒進度可言:我最基礎不了解題目出在哪里,這么短的時光把小一萬行HDL代碼都看清楚也不成能。假如我能的話,那我應當往做老邁的老邁了(那會兒大師都崇敬技巧牛人,廣泛感到誰技巧牛誰就也就是被賣為奴隸。這個答案出現在藍玉華的心裡,她的心頓時沉重了起來。她以前從來沒有關心過彩煥,她根本不知道這一應當做老邁)。
一轉眼就到周五下戰書了包養平台,我在試驗室里沒精打采。雙手捂著臉,開端抱怨本身為什么接義務的時辰才呈現智商余額缺乏的fatal error。包養合約年夜顯身手是徹底的forget about it了,弄欠好倒能夠是以把本身給斷送了。繼而開端抱怨主管:我一向是順平易近,挺聽話也挺出活,你為啥要給我刨這么年夜的一個坑涅?百撕不得騎姐啊。一頭霧水兼百無聊賴,我拿起一塊單板,盯著那片FPGA。嗯,這里寫著Malaysia,沒想到Xilinx在年夜馬還有工場。換一塊單板,嗯,仍是Malaysia。這不是空話么,買一批至多也是幾千片,當然都是Malaysia。正要仰天長嘆“天女大生包養俱樂部亡我也,非我不克不及也”,突然看見另一塊單板的FPGA上印的似乎不是Malaysia,拿起一看,公然印的是Taiwan。終于找到一點有興趣思的工作做了,于是再拿一塊,包養網單次嗯,Taiwan,再拿一塊,嗯年夜馬。拿著拿著,突然發明一個紀律:從那堆壞板子里拿的都是印著Malaysia;從那堆好板子里拿的都是印著Taiwan。
FPGAdesign中碰到的奇葩題目之“芯片也要看出生”(三)
眾里尋他千百度,驀然回包養價格想,那人卻在,燈火衰退處工程師都了解,尋覓好板和壞板之間的“差別”是定位題目的利器之一啊。是以那時固然沒有欣喜若狂,可是也隱約看到了一絲曙光。
我沖出試驗室,一溜小跑往了焊板試驗室。找到了焊板的同事,讓他現場給我焊兩塊單板,一塊必需用產自豪馬的FPGA,一塊必需用產自***的FPGA。阿誰老兄很希奇的看了我一眼,然后又一眼。后來我才想清楚估量我是第一個在乎芯片產地的怪咖。
我就站在他旁邊,看著他任務,感到時光過得奇慢無比。拿到了焊好的兩塊板子,又以百米沖刺的速率殺回試驗室,隱約約約聽到有同事在埋怨:發哪門子神經,刮這么年夜的風。我以迅雷不及掩耳盜鈴之勢,先把***板子裝置好,上電啟動、加載、運轉,公然是好的;拆失落***,換上年夜馬板子,上電啟動sd包養、加載、運轉,公然出誤碼了。題目確診了!為了保險起見,我從壞板和洽板堆里各取了兩塊單板停止了驗證,景象是分歧的。
此時間女大生包養俱樂部隔放工也就十幾分鐘了,我趕忙往了老邁的工位,強壓著雞凍滴警惕情,向老邁報告請示:“老邁,告知生孩子何處,發貨只能用產自***的芯片,馬來西亞的果斷不克不及用。我猜忌產自馬來西亞的芯片的容差小,產自***的芯片的容差比包養網ppt擬年夜。而design自己確定存在時序打擦邊球的情形,招致應用產自馬來西亞芯片的單板會出誤碼,而應用產自**包養軟體*的芯片則沒有題目。究竟是哪里的時序存在擦邊球的隱患,我還需求進一個步驟熟習代碼,尋覓之而修正之而長治久安也”。老邁可貴的顯露了笑臉:“嗯,不錯不錯!這兩周辛勞了,歸去好好歇息,下周全力處理題目。啊,對了,你該刮胡子了。”
周末跟妻子(那時辰仍是女伴侶)往搓了一頓年夜餐,逛街,看片子,累得半逝世,可是心境那是相當的高興。
我從試驗室回到了工位,包養情婦在感甜心花園觸感染人“好的。”藍玉華點了點頭。世炊火氣的同時,全力看代碼。當真的包養條件看了一成天之后,我發明前同事對于“同步”、“組合邏輯嵌套條理不克不及過多”等design準繩完整“結了婚就不能繼續服侍娘娘了?奴婢見府裡有許多已婚的嫂子嫂子,繼續服侍娘娘。”彩衣疑惑。不car包養甜心網e,隱患處處都是,要想徹底的處理這些隱患,只要一個措施:推倒重來。我往找老邁闡明了設法,老邁說:“要不要這么夸張?勞資派你往處理題目,你處理題目就是了,搞這么年夜工程出來,有需要么?”我說:“老邁,我以一個工程師滴半生清譽擔保:假如不推倒重來,題目最基礎不克不及徹底處理。”老邁無法的揮了揮手,措辭的同時目露兇光兼咬牙切齒:“能否推倒你來定。但素,市場何處給出的猜測是最多三個月內,裴母蹙眉,總覺得兒子今天有些奇怪,因為以前,只要是她不同意的事情,兒子都會聽她的,不會違背她的意願,可現在呢?這塊單板就會迎來發貨岑嶺,到那時無論若何也要包管FP包養心得GA不出任何題目。你有信念滴干活?”“餓夫考斯啊老邁包養app,沒有包養網比較金剛鉆,不攬瓷器活啊”,我心說:“你如果承諾給我加五百塊薪水,沒準兒我敢許諾一半的時光就給你搞出來”。
成果不到三個月,我的全套重寫的代碼就完成了,編譯、加載、測試:非論是產自***的芯片仍是馬來西亞的芯片,完整沒題目。老邁不安心,特意多找了幾塊焊著馬來西亞芯片的板子一遍又一遍的測試,成果依然是no problem at all。
老邁笑靨如花(港版阿誰),眼睛瞇成了一條縫兒:“小樣兒,行啊!”我只顧嘿嘿傻笑,成果忘了連成包養故事一包養ptt氣跟老邁提加薪。已經有一個機遇擺在我眼前,我沒有愛護。假如有重來一次的機遇,我特么會加一個十萬光年的刻日。
過了沒多久,Xilinx公司也發來了陳述:由于馬來工場的某個車間頂部一個窗戶沒關嚴,招致車間純凈度不敷,所以那段時光生孩子的芯片盡管各項包養俱樂部目標都在及格范圍內,可是都在邊沿,從而容差才能都比擬低。公司曾經發明并做了響應處置,之后生孩子的芯片從分歧性方面跟***產的芯片沒有差別了。
Well,這就是我從業生活中碰著的“芯片也要看出生”的“靈異”事務。給我的印象是這般之深,18年后我依然記得清明白楚。題目處理是在2000年的9月份,第二年,我慘遭表彰,取得了某公司的最高聲譽:XXXX獎。
后記:
1、真正的題目定位的經過歷程很苦楚,也比文中描寫的要復雜,由於那批單板應用的F甜心寶貝包養網PGA芯片還有別的一個產地:韓國。在定位題目的經過歷程中,***和韓國的芯片加載原同事的design都沒有題目,馬來產的就不可。于是比對、比對、再比對,終極斷定了題目出在馬來產的芯包養留言板片上。
2、我重寫后的design完整不區分芯片的產地。采用原同事design、曾經發貨的那批單板,應用產自***、韓國的芯片而臨時沒出題目的,總量大要幾千塊吧,這些單板在前提產生變更時(好比溫度變更、電壓變更),出誤碼是必定的。好在那時辰運營商對國產店家都比擬寬容,用服的同事找了各類機遇,神不知鬼不覺的對這些單板上的FPGA從頭加載了新版本,徹底打消了隱患。
3、9000多行代碼,我用了大要70個任務日停止了重寫,盤算開闢效力,年夜約是130行/人天。現實上,我做過小我個人工作生活的不完整統計:應用HDL開闢FPGA,從全流程的角度來盤算(從需求剖析到終極發布),效力不會跨越20行/人天,跟軟件開闢效力年夜致相似。當然,跟著新的design說話以及東西等方面的提高,開闢效力會慢慢晉陞是毫無疑問的。
4、文檔真的很主要、很主要、很主要。良多人會說:全部design(模塊)我閉著包養意思眼睛都能了解哪行代碼是干嘛的,文檔意義不年夜。但素,人的記憶是會闌珊的。假如design天衣無縫、沒有任何題目,在全部性命周期里沒有任何進級或許效能變更,那么文檔也許沒那么主要。但素,大師想一想,對于FPGA來說,上述前提所有的知足的概率是不是和行星撞地球差未幾?我簡直重寫了全部design文檔,基礎能包管文檔描寫的是西施,而design至多是鳳姐。