1. 程式人生 > >參與流片是一種怎樣的體驗

參與流片是一種怎樣的體驗

               

很多積體電路公司招聘都要求有流片經驗,因為流片成本高,一般人蔘與不到。

希望過來人能夠分享經驗,介紹一下流片的過程,以及應該注意的地方?或者有哪些有趣的故事?

來源:知乎

著作權歸作者所有作者:JonsonXP

題主肯定是想聽業內故事,我也想聽,頭排坐等各位業內大神。但能流片的不一定是企業,我也想給大家講一個《學術狗酸甜苦辣流片記》。挖坑保證一週內寫完,先上圖為證。當然想聽的可以先關注我贊起來了。

----------------------(10月16日填坑正文分割線)----------------------在趕一篇論文,原本想週末得空寫一寫。但各位贊得踴躍,評論裡討伐聲不斷,其他大牛的回答也越來越精彩,只好放下工作趕緊來填坑。【幾個宣告】先宣告幾件事,我在大學做科研工作,這次流片主要工作是在13年,做的是可自我修復軟硬錯誤的FPGA晶片,TSMC 65nm製程,最終結果是成功的。寫這篇回答一想記錄下這段經歷,若能對同學們有一點點價值,幸甚至哉。我們只做架構、前端設計和配套的CAD開發,後端外包給了專業的公司。由於是學生團隊,望專家輕拍多賜教。出於保密原因,本文不能涉及敏感資訊,以故事、經驗和感觸為主。【背景】話說我們當時在做一個為期三年的容錯性FPGA研究。這個研究方向有價值,做的人少,我們又有積累,相對容易出成果。我之前的博士,用了兩年時間提出了一種可以自我規避軟硬錯誤的FPGA架構,頂會發表了成果,然後順利畢業。歡送完師兄,才意識到可能我要為他背一個很大的鍋--流片。

13年是該專案最後一年,按計劃要將之前的成果流片驗證,並且必須在14年四月前拿到晶片資料結束專案。學術界,不是自己的課題,流片是出力不討好的。前期成果師兄經發表了,最終總結性成果是boss的。耗時耗力,成功了皆大歡喜,一旦搞砸還要背鍋。而且這一年也是我博士最後一年,實驗論文會議各種焦頭爛額。但處於一個技術人員對技術的本能渴望,終於boss找我談流片計劃時,欣然接受了。失敗也沒什麼可怕的,我覺得作為一名技術人員,除了自己的無能,不應該恐懼任何事情。從四月學期伊始,帶上三個師弟和一匹白馬--不好意思沒有馬--開始了地獄般的流片之旅。【故事正文】所有專案的前期都是陽光明媚,四五月我時常和師弟們在校園的樹蔭下手握可樂,一邊談風和日麗,一邊目光保護文學科的學妹們來來往往。研究室裡也歡聲笑語常在,我問學弟們Verilog寫到哪了,他們問我架構定下了嗎,我問助教什麼製程die size多大,然而大家都不知道,互道還早還早,相視一笑哈哈哈。轉眼六月
,boss已經決定將後端外包,我們大鬆了口氣。之前有過兩次自己layout失敗的經驗第一次,我們畫了幾個月手動layout了自己的logic cell,包裝成cell匯入自動layout流程,結果到了deadline整體DRC也沒通過,最後只裝了幾個簡單的測試電路,但好在關鍵資料都順利測得。另一次和一家知名日企合作,使用了他們實驗性的FeRAM替代FPGA的SRAM,晶片回來,一個學生測試了半年也沒有任何反應。現在回想起那個學生的無數個日夜,在燈光下獨自一人嘗試和一塊石頭交談,依然感慨。學校裡自己手動layout,多是模擬的同學。學校和企業不同,學生來去太快,很難沉澱下layout這種要求多年經驗的手工藝。所以研究大規模數位電路的學術機構,還是要有自知之明,讓專業的人做專業的事。
然而此時卻發生了個意外,常年為日本學術界鞠躬盡瘁的老朋友富士通半導體,由於不景氣和松下半導體部門合併,我們一直使用的e-Shuttle製程不能再用了。這讓我們震驚又難過,富士通半導體一直通過VDEC,以很低的價格為學術界提供MPW流片服務。我們一度覺得那年的流片計劃要取消了。然而平時憨態可掬啥事不管的大boss罕見地展示了他的力量,火速聯絡、談妥了後端設計公司,通過後端公司搞定了TSMC的合作合同。這個過程異常艱難,預算資金、跨國合作、各種合同條款保密協議、多方斡旋,說短也差不多用了兩個多月的時間。而TSMC的standard library到我們手,已經是八月。這時重要的時間點就定下來了,研究期間限制14年三月必須拿到晶片,後端公司推薦了14年1月的TSMC流片計劃,後端要求三個月設計時間,我們必須10月初交付前端設計檔案,留給我們的只有僅僅兩個月了。好在三個學弟基礎模組的Verilog已寫好大半,兩人負責FPGA Array,一人負責Controller。只要我用TSMC的standard library重新跑一邊架構探索,再估算出預定的die size下FPGA的大小,就可以一氣呵成完成程式碼。這個過程非常順利,用我博士課題中開發的面向ASIC的FPGA IP CAD Flow,在十幾臺伺服器中跑了一週Benchmark,在幾十種自制FPGA Architecture找到了效能最佳的架構和尺寸。Flow的執行和資料回收、分析全程自動化,一切按設計執行,完美,心裡給自己點了個贊。然而,我並不知道下面等待我的九月和十月將是我人生中最黑暗的兩個月。八月末,師弟們的FPGA整體組裝已經初步完成,進入測試期。九月初我還參加了FPL2013,領域頂級會議,學術精英,在波爾圖的酒莊品著紅酒吹著牛。然而回來後各種問題在測試期爆發了,一片混沌。下層模組的測試都還順利,但我們必須要在交付後端前,做整片cover所有功能的完整的模擬。這就需要我儘快完成CAD的最後一個功能,為這次的FPGA編寫bitstream生成器。FPGA部、I/O部,所有都是可程式設計的,20多萬位元,要根據LUT的邏輯和FPGA Routing的結果,自動生成,一個都不可以差。並且,我們這款FPGA有自動糾錯功能,指令模式多達十幾種,針對每個命令都要有相應的bitstream。這部分工作量正常少說也要兩三個月,但我們總共也沒那麼多時間了。這時候還開始增加需求了!因為預計到樣片很有可能因為各種原因無法工作,為了把風險降到最低,boss要求利用多餘引腳插入訊號後門。一要可以隨時檢視內部暫存器的狀態,二要可以通過多個點注入FPGA的configuration bit,保證即使一部分出了問題,依然有辦法讓剩下的部分工作。於是師弟們開始無日無夜的加電路程式碼,我無日無夜地搞這20多萬個configuration bit,模擬。模擬是噩夢,一次快速優化模擬要一個小時,但只能觀測到提前指定的訊號。一次完整的慢模擬要三個多小時。軟體開發出身的我,習慣了一邊debug一邊改程式,按下run馬上就可以定位問題所在。而我們的FPGA模擬一次三小時,如果我沒算錯一天不睡覺也只有八次機會而已。所以想想開發成本是和測試周期長度成正比的,高成本的醫學生物研究一個週期幾周到幾個月,更高成本的農業更是要幾個月到幾年。面對這種困難,我採取的策略是執行前更認真地審查程式碼,儘量靠code review排除bug。出錯了也不是急於翻程式碼,而是根據現象在腦中思索產生bug的所有可能性。再就是同時跑多組測試節省時間。那時候時間比什麼都寶貴,不分晝夜每三個小時看一次模擬結果,分析,改程式,再跑。時間管理和硬體設計一樣,並行、流水線、達芬奇睡眠法。還有一個噩夢是data sheet。因為之前忙於開發,大家並沒有準備data sheet。然而這次是外包後端,除了Verilog程式碼、約束,自然需要詳細的data sheet給人查閱。我們在九月底忙得不可開交的時候,還同時寫了大概有1000頁紙的各部分電路說明、功能說明、約束說明。一個九月基本沒休息,好在最後大家拼命把該做的事都完成了。第一次模擬成功的時候,大家感動得不輕。一個Verilog測試電路,通過ODIN II綜合、我們修改過的ABC mapping、TV-Pack打包、VPR佈局,最後用我開發的EasyRouter佈線並生成bitstream,下載到自己的FPGA中成功模擬出結果。我只想謝謝開源社群,謝謝師弟們,你們的工作太了不起了。十月,如期和後端公司派來的工程師見面了。對方相當專業、談吐幹練,在我們眼裡就像從天而降前來營救的海豹突擊隊員。當我們搬出1000多頁的說明書,他們也驚呆了說沒見過這仗勢。我猜他們心裡應該是萬馬奔騰的,你們給RTL和constrain就好了,誰要管這些。實際上專家們也有些輕敵了,他們並沒預想到layout FPGA的困難。大家知道timing是數字設計的一切,每個時鐘的setup、hold time,關鍵path的propagation delay都要準確約束。然而FPGA在configuration之前,邏輯是不確定的,裡面大量存在的timing loop足以讓任何一個ASIC CAD工具報錯甚至crash。加之我們還要求一些主要的routing channel和logic path儘量延遲一致。這都是其他型別晶片的Layout不存在的困難。通常我們自己模擬,會先載入benchmark的bitstream,自然就不會存在timing loop了。而做後端不能只為一個benchmark做約束,不能使用這一方式。最後我和對方的工程師用了大量精力,一起編寫了幾十個場景的約束,他們只要滿足這些約束就可以。如果存在我們沒考慮到的約束而導致流片失敗,對方是不用負責任的。其實後端外包公司通常都不需要擔心負什麼責任,因為一旦失敗,大多學術機構是沒能力去追查責任在誰的。中間還有一個插曲很驚險。後端公司起初告知我們可以使用的die size,忘了減掉I/O Pad的面積,而這些Pad幾乎佔了五分之一的可用面積。當他們發現這一問題,也有點慌張了,發郵件來問可不可以改設計,讓FPGA Array小一點。我們也不可能有精力重做,很堅決的否定了。後來對方還是展現了強悍的專業風範,使用了CUP(circuit under pad),在模組縫隙中手動layout等絕技,把我們的FPGA塞了進去。後端公司的工程師們給我印象非常深刻,不知道他們會不會吐槽後悔接了這個苦差,也不知道他們是不是熬了很多個日夜。專業人士就是這樣,接活,做完。看起來輕鬆,他們只是不會讓你看見他們的辛苦。這世界不存在舉手之勞這回事。完全交付後端到14年三月收樣片,封裝,我們還設計了樣片和VLSI測試平臺中間的一塊adapter board。我抽空完成了博士論文和答辯。和幾乎所有答主提到的一樣,緊張感肯定有的。但我看的比較開,從技術角度,我已經學到了很多。但最重要的,是我三月就能拿到學位,東窗事發可以隨時跑路。好在一切順利,我們的晶片最終正常工作。測試資料成功返回的瞬間,我是整個人癱軟在了椅子上,靈魂出竅,想起了NHK紀錄片《電子立國自述轉》中一位半導體前輩說的一段話:“每次晶片tapeout的兩三個月,心裡是非常不安的,睡不好。隨時都在想會不會有問題,哪里哪里對不對。晶片回來,第一次按RESET,心裡的緊張到了極點,RESET鬆開,就是區別天堂和地獄的一瞬間。邏輯分析儀數字混亂,心情瞬間落入地獄,沒人願意說話。如果一切正常,人就像到了天堂,就像整個世界都在圍繞自己旋轉,就像我就是世界之王。”(故事完)

作者:spike old dog

在工業屆流片,大概跟生孩子差不多。 流片前每個階段要做各種檢查, 生怕生出來出問題。 tapeout 前幾天就像進產房,有些專案比較順利半天搞完了,有些專案就難產,比如ip merge出問題,你就在產房通宵待著吧。 好不容易整完生出來了吧,還是不省心,生孩子運氣不好才有bug,做晶片頭幾版一般都不太可能沒bug。運氣好點,還能吃點藥打個補丁,運氣不好,就只能上床再來一次了。大小流片混多了,最後基本都就是張腿就來,基本上都沒脾氣了。

作者:謝丹

隨便說個。tapeout 前很多老闆很迷信的。臺灣老闆基本都要燒香拜佛。國內很多也去拜拜。每年只tapeout倆次,兩次成功就年終大獎,一次成功就小獎,一次都不成功大家都覺得要破產了。換個公司,做IP的,每年tapeout 50次+,也就很習慣了。

作者:呆濤

先上圖鎮樓: 流片大多數是一項體力活, 無論是商業流片還是科研流片.當然.. 我只經歷過科研流片, 所以會從這方面談談我個人的看法. 以下僅為個人淺見, 不代表該做法有普適性. 歡迎糾正. 一個成功的流片包含, 但不侷限於以下幾項: 其中, FPGA設計是當發現設計中需要較大幅度的修改, 而並不需要優化能耗等. 可製造性分析則主要由流片廠商提供. DRC/LVS (設計規則檢查/版圖-電路圖對應) 等包含在LAYOUT步驟中. 暫且不細說. 個人感覺, 科研流片最大的威脅並不來自想法和模擬等, 而主要來自晶片的不確定性(variation).很多時候需要認真的時序分析/硬體模擬 來保證模組工作的正確性. 在後綜合模擬時, 許多前綜合模擬的結論都需要被推翻 (比如最大時鐘頻率, 訊號毛刺等). 不確定性可以很大程度上被蒙地卡羅分析發現.一般來說, 對於有模擬前端的流片,一定 一定 一定 要加校準訊號, 一定 一定 一定 要加觀察訊號. 以上血與淚的教訓就是參與流片的經驗教訓...

作者:小D

看來大家都喜歡聽故事,那我就說說我們的晶片吧,熱乎的,剛回來沒多久。我是在上班時間給你們講故事,聽完記得給贊啊。我主要在小公司,射頻晶片,答主負責中頻模組,比如ADC,Filter,Oscillator,幅度檢測,IO等等等等。嗯,答主做了很多模組,因為是小公司嘛,一個頂五。現在我正在測試晶片呢,答主做設計比較講究,必須從理論開始,研究透了才開始電路設計,一般晶片回來基本八九不離十。那些用模擬代替思考的工程師,不好意思,你走錯方向了,趕緊改還來得及。模擬只是驗證你的想法的,模擬只是驗證你的想法的,模擬只是驗證你的想法的,重要的事情說三遍。流片就像xxoo,第一次感覺很刺激,很期待,也很緊張,次數多了就沒感覺了,我現在已經沒啥感覺了。------------------------------原文----------------------------------流片,又叫tapeout,還叫PG. 積體電路設計公司每年或者每幾個月都會發生的事,沒那麼稀奇吧。當然,對於學生來講機會沒那麼多,但總有幾次MPW吧,也沒多少錢,如果說你們導師連MPW都沒有,這個導師不要也罷。流片就像你提交答卷的那一刻,心裡忐忑不安。流片前的一兩個月基本上大家都會累成狗,沒日沒夜的加班,就是為了趕在deadline前完成所有的設計和檢查。流片完後的兩個月大家一般都比較輕鬆,準備一下測試的東西就OK了。晶片回來,大家又開始緊張了,又開始加班加點測試了。各個模組全部測試一遍,遇到自己設計的模組工作正常,效能不錯的話,懸著的心放了下來。如果你的模組出了問題,壓都不敢大聲講了,因力頓時上來的,話為整個專案可能因為你一個人而fail了,平時還是夾緊尾巴吧。Debug,FIB,找原因,改版或者改metal,然後繼續下一輪,直到晶片量產。

作者:acalephs

親手流過一次片,感受到了工藝線的博大精深。氧化完成之後發現片子上有一片方形的斑點,硫酸洗無效,RIE轟了半天無效。經師兄鑑定,是氧化之前貼過標籤,留下的不乾膠沒有洗乾淨。師兄表示氧化過的東西就不要想洗掉了,除非CMP,然而工藝線並沒有CMP……算了就這樣把,反正大部分還是好的……KOH腐蝕,腐蝕速率比說好的快,導致片子變得略薄,而且邊緣出現狗啃狀。光刻之後顯影,效果略渣,目測是顯影液太久沒換了……顯微鏡下沒洗乾淨的光刻膠看上去炒雞恐怖……曝光的時候對準,從來找不到對準標識……每次都得找專業的人來。清洗的時候拿了金屬後的雙氧水用,被罵了一頓並浪費了一池硫酸。有幾個地方因為探針戳得太多,還沒流完片就已經變成了麻子……最慘的是某次光刻,甩膠後烘,烘乾臺上會伸出三根支柱,甩膠機會自動把片子移到支柱上,然後支柱降下把片子放到烘乾臺上開始烘乾。結果支柱降下的略快,飽受摧殘的片子直接在臺子上裂成了兩半……還好還有另一塊片子……幾乎每一步工藝之後都要清洗,硫酸+雙氧水清洗需要30分鐘,然後去離子水洗15分鐘,然後烘乾30分鐘……我每次都要糾結一下要不要出去等……超淨間裡幾乎沒有事情可以幹,連椅子的沒幾把,要等只能蹲著發呆。然而出去了一般過個十分鐘就又得穿上工作服進風淋室吹吹吹……由於工藝間裡空調溫度比較低,所以一般還是就在裡面等算了。結束的時候剩下的那塊片子,我目測良品率有1-2成。然而做完了才發現師兄設計的時候間隔設的太近了,沒法劃片……不過這個就不是我的鍋了!(後來好像到外面去找了能從背面劃片的裝置才解決)期間還給另一批片子做了bonding,在戳破了幾個片子之後成功總結出了自己手的抖動規律。結論:流片這種事,還是交給專業人士去處理吧……

親歷過一次MPW,一次55nm NRE,好在還算順利,出過一次FIB,晶片回來定位問題要比FPGA上難得多。主要是流片成本太高,廢了就感覺要擔大責了。想要有這種經歷千萬別去研究所,因為兩年流不了一次片,等流片了你走了…

轉載自:http://mp.weixin.qq.com/s?__biz=MzA4ODMwNTMxNg==&mid=400604566&idx=4&sn=d8c20e1d8841c429566b4c6b984d133c&scene=23&srcid=1115EJgEAU5KaSYbURgTxfro#rd