精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

芯片也要看出身?

5RJg_mcuworld ? 來源:YXQ ? 2019-08-06 14:24 ? 次閱讀

(一)昨夜西風凋碧樹,獨上高樓,望盡天涯路

2000年的時候,做設計基本都是使用Xilinx公司的Virtex和Virtex-E系列芯片。那時候Altera技術實力還比較弱,基于Altera的芯片做設計是要被大家diss的。某天晚上大概十點多了吧,我正如癡如醉的沉浸在編碼的快感當中。主管悄無聲息的站到了我身后,我從顯示器中看到了隱約的影子,轉頭一看果然是他老人家。

主管神色凝重,眉頭緊蹙。我在腦子里迅速回顧了一下自己最近的所作所為,確信沒干什么罪大惡極、自絕于人民的壞事兒,用顫抖的語氣小心翼翼的問:老大,您找我?老大的神色迅速地轉換,分明在說:蠢貨,你又不是什么萌妹子,要是沒事兒你以為我老人家愿意屈尊站到你這兒么?after一個藍衣女子般的風情萬種的白眼之后,老大終于開腔了。

“我們學理科的都不信鬼神對吧?”大哥,你這是什么開場白?!我那會兒不過才工作兩年多,純潔的像一張黑不溜秋的白紙,根本識別不了您這是準備給我刨什么坑好吧,為啥你要給我出這樣的難題?老大露出了一些不耐煩:“幾個月之前到現在,有一批單板邪門兒了,有的工作正常,有的就不斷地出亂碼。經過大家夜以繼日沒白沒黑嘔心瀝血玩兒命的加班定位之后,大家一致認為問題出在這塊單板上的FPGA上”。早說嘛,FPGA我熟啊?!袄洗?,問題既然都定位了,那就解決嘛”。老大露出了詫異的神情:我X,你這貨是怎么混進我司的?回頭老子要找當初面試你的人算賬!老大深吸了一口氣,帶著“老子再忍你十秒鐘的神情”繼續說:“這個FPGA一共9000多接近一萬行代碼,最關鍵的是,設計這個FPGA的同事三周前就離職了?,F在雖然確定了問題出在這個FPGA,但是究竟是什么問題還不知道。所以呢,大家商量了一下,決定暫時把你抽調出來,全力投入這個事情。一呢,要搞清楚到底是什么問題,二呢,把問題徹底解決掉”。

要不怎么說當年的我就是純潔啊,要是放到現在,這肯定是一個絕佳的跟老大討價還價、多給自己爭取個仨瓜倆棗的好機會啊。彼時單純(其實就是弱智)的我卻覺得天大的展示自己身手的時刻終于到來了,于是欣然接受。老大神情輕松了一些,但還帶著少許疑惑:這貨不知道行不行,但愿不要把老子也坑了。然后溜溜達達的走了。

(二)衣帶漸寬終不悔,為伊消得人憔悴

我一夜無眠,小心臟一直在忽冬忽冬滴亂跳。第二天我一頭扎進了封閉的實驗室。實驗室里堆了好多單板,好的一堆,壞的一堆,然后各種儀器和電腦。整整一周,我都在實驗室里瞎折騰,除了一遍又一遍的證實了問題現象,確實如老大所描述的一樣,然后就是看那9000多行的HDL代碼。寫代碼的同事不知道是故意的還是習慣如此:注釋少的可憐、設計文檔和實際代碼差異極大(文檔在說水果里面桃子最好吃,代碼寫的是大飛機C919很威武)、變量的命名也毫無規律,后綴_addr的變量居然是數據總線,而后綴_data的變量才是地址總線。我心說:“哥啊,地球人都知道花花轎子人抬人。你我素昧平生、素不相識、萍水那個從未相逢,可為神馬你就知道我要被派來收拾你的爛攤子,這么多花樣來收拾我涅?”

一周毫無進展,我很沮喪。渾渾噩噩的過了周末(其實也就是周日一天),周一繼續鉆進實驗室。開放辦公區里鶯歌燕語,其樂融融,就我一個人傻兮兮的在實驗室里古佛青燈兼顧影自憐,相當稱得上凄凄慘慘戚戚。中間老大時不時的過來關心我一下,其實就是監工外加檢查進度??墒菦]進度可言:我根本不知道問題出在哪里,這么短的時間把小一萬行HDL代碼都看明白也不可能。如果我能的話,那我應該去做老大的老大了(那會兒大家都崇拜技術牛人,普遍覺得誰技術牛誰就應該做老大)。

一轉眼就到周五下午了,我在實驗室里垂頭喪氣。雙手捂著臉,開始埋怨自己為什么接任務的時候才出現智商余額不足的fatal error。大顯身手是徹底的forget about it了,弄不好倒可能因此把自己給葬送了。繼而開始埋怨主管:我一直是順民,挺聽話也挺出活,你為啥要給我刨這么大的一個坑涅?百思不得其解啊。一頭霧水兼百無聊賴,我拿起一塊單板,盯著那片FPGA。嗯,這里寫著Malaysia,沒想到Xilinx在大馬還有工廠。換一塊單板,嗯,還是Malaysia。這不是廢話么,買一批至少也是幾千片,當然都是Malaysia。正要仰天長嘆“天亡我也,非我不能也”,忽然瞥見另一塊單板的FPGA上印的似乎不是Malaysia,拿起一看,果然印的是Taiwan。終于找到一點有意思的事情做了,于是再拿一塊,嗯,Taiwan,再拿一塊,嗯大馬。拿著拿著,忽然發現一個規律:從那堆壞板子里拿的都是印著Malaysia;從那堆好板子里拿的都是印著Taiwan。

(三)眾里尋他千百度,驀然回首,那人卻在,燈火闌珊處

工程師都知道,尋找好板和壞板之間的“差異”是定位問題的利器之一啊。因此當時雖然沒有欣喜若狂,但是也隱隱看到了一絲曙光。

我沖出實驗室,一溜小跑去了焊板實驗室。找到了焊板的同事,讓他現場給我焊兩塊單板,一塊必須用產自大馬的FPGA,一塊必須用產自***的FPGA。那個老兄很奇怪的看了我一眼,然后又一眼。后來我才想明白估計我是第一個在乎芯片產地的怪咖。

我就站在他旁邊,看著他工作,覺得時間過得奇慢無比。拿到了焊好的兩塊板子,又以百米沖刺的速度殺回實驗室,隱隱約約聽到有同事在抱怨:發哪門子神經,刮這么大的風。我以迅雷不及掩耳盜鈴之勢,先把***板子安裝好,上電啟動、加載、運行,果然是好的;拆掉***,換上大馬板子,上電啟動、加載、運行,果然出誤碼了。問題確診了!為了保險起見,我從壞板和好板堆里各取了兩塊單板進行了驗證,現象是一致的。

此時距離下班也就十幾分鐘了,我趕緊去了老大的工位,強壓著雞凍滴小心情,向老大匯報:“老大,告訴生產那邊,發貨只能用產自***的芯片,馬來西亞的堅決不能用。我懷疑產自馬來西亞的芯片的容差小,產自***的芯片的容差比較大。而設計本身肯定存在時序打擦邊球的情況,導致使用產自馬來西亞芯片的單板會出誤碼,而使用產自***的芯片則沒有問題。到底是哪里的時序存在擦邊球的隱患,我還需要進一步熟悉代碼,尋找之而修改之而長治久安也”。老大難得的露出了笑容:“嗯,不錯不錯!這兩周辛苦了,回去好好休息,下周全力解決問題。啊,對了,你該刮胡子了。”

周末跟老婆(那時候還是女朋友)去搓了一頓大餐,逛街,看電影,累得半死,但是心情那是相當的愉快。

我從實驗室回到了工位,在感受人間煙火氣的同時,全力看代碼。認真的看了一整天之后,我發現前同事對于“同步”、“組合邏輯嵌套層次不能過多”等設計原則完全不care,隱患到處都是,要想徹底的解決這些隱患,只有一個辦法:推倒重來。我去找老大說明了想法,老大說:“要不要這么夸張?勞資派你去解決問題,你解決問題就是了,搞這么大工程出來,有必要么?”我說:“老大,我以一個工程師滴半生清譽擔保:如果不推倒重來,問題根本不能徹底解決?!崩洗鬅o奈的揮了揮手,說話的同時目露兇光兼咬牙切齒:“是否推倒你來定。但是,市場那邊給出的預測是最多三個月內,這塊單板就會迎來發貨高峰,到那時無論如何也要保證FPGA不出任何問題。你有信心滴干活?”“餓夫考斯啊老大,沒有金剛鉆,不攬瓷器活啊”,我心說:“你要是答應給我加五百塊工資,沒準兒我敢承諾一半的時間就給你搞出來”。

結果不到三個月,我的全套重寫的代碼就完成了,編譯、加載、測試:不論是產自***的芯片還是馬來西亞的芯片,完全沒問題。老大不放心,特地多找了幾塊焊著馬來西亞芯片的板子一遍又一遍的測試,結果仍然是no problem at all。

老大笑靨如花(港版那個),眼睛瞇成了一條縫兒:“小樣兒,行啊!”我只顧嘿嘿傻笑,結果忘了趁熱打鐵跟老大提加薪。曾經有一個機會擺在我面前,我沒有珍惜。如果有重來一次的機會,我特么會加一個十萬光年的期限。

過了沒多久,Xilinx公司也發來了報告:由于馬來工廠的某個車間頂部一個窗戶沒關嚴,導致車間純凈度不夠,所以那段時間生產的芯片盡管各項指標都在合格范圍內,但是都在邊緣,從而容差能力都比較低。公司已經發現并做了相應處理,之后生產的芯片從一致性方面跟***產的芯片沒有區別了。

Well,這就是我從業生涯中碰到的“芯片也要看出身”的“靈異”事件。給我的印象是如此之深,18年后我仍然記得清清楚楚。問題解決是在2000年的9月份,第二年,我慘遭表揚,獲得了某公司的最高榮譽:XXXX獎。

后記:

1.真實問題定位的過程很痛苦,也比文中描述的要復雜,因為那批單板使用的FPGA芯片還有另外一個產地:韓國。在定位問題的過程中,***和韓國的芯片加載原同事的設計都沒有問題,馬來產的就不行。于是比對、比對、再比對,最終確定了問題出在馬來產的芯片上。

2. 我重寫后的設計完全不區分芯片的產地。采用原同事設計、已經發貨的那批單板,使用產自***、韓國的芯片而暫時沒出問題的,總量大概幾千塊吧,這些單板在條件發生變化時(比如溫度變化、電壓變化),出誤碼是必然的。好在那時候運營商對國產廠家都比較寬容,用服的同事找了各種機會,神不知鬼不覺的對這些單板上的FPGA重新加載了新版本,徹底消除了隱患。

3. 9000多行代碼,我用了大概70個工作日進行了重寫,計算開發效率,大約是130行/人天。實際上,我做過個人職業生涯的不完全統計:使用HDL開發FPGA,從全流程的角度來計算(從需求分析到最終發布),效率不會超過20行/人天,跟軟件開發效率大致類似。當然,隨著新的設計語言以及工具等方面的進步,開發效率會逐步提升是毫無疑問的。

4. 文檔真的很重要、很重要、很重要。很多人會說:整個設計(模塊)我閉著眼睛都能知道哪行代碼是干嘛的,文檔意義不大。但是,人的記憶是會衰退的。如果設計天衣無縫、沒有任何問題,在整個生命周期里沒有任何升級或者功能變動,那么文檔也許沒那么重要。可是,大家想一想,對于FPGA來說,上述條件全部滿足的概率是不是和行星撞地球差不多?我幾乎重寫了整個設計文檔,基本能保證文檔描述的是西施,而設計至少是鳳姐。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    454

    文章

    50446

    瀏覽量

    421940
  • FPGA設計
    +關注

    關注

    9

    文章

    428

    瀏覽量

    26489
  • 阿里云
    +關注

    關注

    3

    文章

    941

    瀏覽量

    42971

原文標題:阿里云專家講FPGA設計遇到的奇葩問題:芯片要看出身

文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    TDA7498e過流之后,哪個引腳會有動作,如何看出來是過流保護了?

    您好,請教一下,TDA7498e過流之后,哪個引腳會有動作,如何看出來是過流保護了?
    發表于 10-18 07:11

    #芯片 #國產芯片

    芯片
    芯佰微電子
    發布于 :2024年10月11日 16:24:43

    低成本心電儀的信號放大器如何選擇,主要看放大器的哪些指標?

    低成本心電儀的信號放大器如何選擇,主要看放大器的哪些指標
    發表于 09-26 06:24

    運放輸入端不是以信號幅值為主嗎?為什么有些應用輸入也要匹配到50Ω?

    運放輸入端不是以信號幅值為主嗎?為什么有些應用輸入也要匹配到50Ω? 另外,對于AB類的MOSFET來說,如果負載需求的功率超過了它能提供的范圍,MOS管會怎樣?
    發表于 09-24 07:08

    請問雙極性運放的同向輸入端也要提供偏置電流的工作點嗎?

    工程師您好,請問雙極性運放的同向輸入端也要提供偏置電流的工作點嗎,什么情況下可以直接加信號的輸入,而不用提供偏流電阻!謝謝
    發表于 09-24 06:00

    THS4131空載也要消耗32mA左右的電流,發熱嚴重是什么原因?怎么解決?

    我用如下電路。 我想把兩路DA產生的兩個信號經這個差分放大器放大。IC:THS4131 這THS4131空載也要消耗32mA 左右的電流,發熱嚴重。 當然,當有信號輸入的時候,它是可以放大信號的。 請問是這是什么原因?怎解決? 謝謝??!
    發表于 08-30 07:07

    可以從下面的圖看出我的工程flash和ram的使用情況嗎?

    芯片是:dspf28335;可以從下面的圖看出我的工程flash和ram的使用情況嗎?感覺flash還可以,ram有點不夠用了,請求大師指點,如何分析?
    發表于 05-11 10:11

    揭秘FPGA設計難題:芯片出身也能影響性能表現

    2000年的時候,做設計基本都是使用Xilinx公司的Virtex和Virtex-E系列芯片。那時候Altera技術實力還比較弱,基于Altera的芯片做設計是要被大家diss的。
    的頭像 發表于 04-26 09:54 ?695次閱讀

    通訊出錯后,復位可通訊正常,通過我給出通訊錯誤后的ISR寄存器能看出什么問題嗎?

    通訊出錯后,復位可通訊正常,通過我給出通訊錯誤后的ISR寄存器能看出什么問題嗎?
    發表于 04-18 07:56

    平線與黑芝麻智駕芯片發展路徑的深度復盤

    智能駕駛芯片市場正處于白熱化的競爭之中,各大企業爭相尋求突圍和領先優勢。 從現有數據和分析可以看出,智能駕駛芯片市場的競爭格局呈現出以下特點。
    發表于 04-01 11:47 ?683次閱讀
    平線與黑芝麻智駕<b class='flag-5'>芯片</b>發展路徑的深度復盤

    stm32h750既要實現主機,也要實現從機功能,要怎么實現呢?

    STM32_USB_Device_Library和STM32_USB_Host_Library。請問下,H750既要實現主機,也要實現從機功能,要怎么實現呢?有什么資料可以參考下嗎?
    發表于 03-19 06:46

    保險絲處理,請問能看出規格型號嗎?

    保險絲外觀如圖,標注跟電腦類似,但確實是保險絲。請問能看出規格型號嗎?多少A的,能不能找到類似的。謝謝大家
    發表于 03-05 17:11

    如何看出被磨掉的芯片型號

    芯片解密/單片機解密過程中,常常有客戶的芯片加密了,同時型號也被打磨了,由于無法確定型號。那么就需要鑒定型號,當然也不是所有的芯片都可以鑒定出型號的。
    的頭像 發表于 01-16 14:25 ?1253次閱讀

    半導體芯片之車規芯片——Lab Companion

    ,工業級,車規級,QJ,GJ。在這當中,車規級芯片是當前的風向標產品。那么車規級芯片又是什么意思呢,從名字就能看出來,車規級芯片是運用到汽車上的芯片
    的頭像 發表于 01-11 14:30 ?709次閱讀
    半導體<b class='flag-5'>芯片</b>之車規<b class='flag-5'>芯片</b>——Lab Companion

    ADXL1001六個引腳,是VDD GND接電源,然后ST STB也要接地Vout才會有正確的輸出結果?

    這個評估版共六個引腳,是VDD GND接電源,然后ST STB也要接地,Vout才會有正確的輸出結果嗎
    發表于 12-28 08:10