牛人分享 ▏參與流片是一種怎樣的體驗(yàn)!

2017-05-17  by:CAE仿真在線  來(lái)源:互聯(lián)網(wǎng)



所有項(xiàng)目的前期都是陽(yáng)光明媚,四五月我時(shí)常和師弟們?cè)谛@的樹(shù)蔭下手握可樂(lè),一邊談風(fēng)和日麗,一邊目光保護(hù)文學(xué)科的學(xué)妹們來(lái)來(lái)往往。研究室里也歡聲笑語(yǔ)常在,我問(wèn)學(xué)弟們Verilog寫(xiě)到哪了,他們問(wèn)我架構(gòu)定下了嗎,我問(wèn)助教什么制程die size多大,然而大家都不知道,互道還早還早,相視一笑哈哈哈。


轉(zhuǎn)眼六月,boss已經(jīng)決定將后端外包,我們大松了口氣。之前有過(guò)兩次自己layout失敗的經(jīng)驗(yàn)。第一次,我們畫(huà)了幾個(gè)月手動(dòng)layout了自己的logic cell, 包裝成cell導(dǎo)入自動(dòng)layout流程,結(jié)果到了deadline整體DRC也沒(méi)通過(guò),最后只裝了幾個(gè)簡(jiǎn)單的測(cè)試電路,但好在關(guān)鍵數(shù)據(jù)都順利測(cè)得。另一次和一家知名日企合作,使用了他們實(shí)驗(yàn)性的FeRAM替代FPGA的SRAM,芯片回來(lái),一個(gè)學(xué)生測(cè)試了半年也沒(méi)有任何反應(yīng)?,F(xiàn)在回想起那個(gè)學(xué)生的無(wú)數(shù)個(gè)日夜,在燈光下獨(dú)自一人嘗試和一塊石頭交談,依然感慨。學(xué)校里自己手動(dòng)layout,多是模擬的同學(xué)。學(xué)校和企業(yè)不同,學(xué)生來(lái)去太快,很難沉淀下layout這種要求多年經(jīng)驗(yàn)的手工藝。所以研究大規(guī)模數(shù)字電路的學(xué)術(shù)機(jī)構(gòu),還是要有自知之明,讓專(zhuān)業(yè)的人做專(zhuān)業(yè)的事。


然而此時(shí)卻發(fā)生了個(gè)意外,常年為日本學(xué)術(shù)界鞠躬盡瘁的老朋友富士通半導(dǎo)體,由于不景氣和松下半導(dǎo)體部門(mén)合并,我們一直使用的e-Shuttle制程不能再用了。這讓我們震驚又難過(guò),富士通半導(dǎo)體一直通過(guò)VDEC,以很低的價(jià)格為學(xué)術(shù)界提供MPW流片服務(wù)。我們一度覺(jué)得那年的流片計(jì)劃要取消了。然而平時(shí)憨態(tài)可掬啥事不管的大boss罕見(jiàn)地展示了他的力量,火速聯(lián)系、談妥了后端設(shè)計(jì)公司,通過(guò)后端公司搞定了TSMC的合作合同。這個(gè)過(guò)程異常艱難,預(yù)算資金、跨國(guó)合作、各種合同條款保密協(xié)議、多方斡旋,說(shuō)短也差不多用了兩個(gè)多月的時(shí)間。而TSMC的standard library到我們手,已經(jīng)是八月。



SI-list【中國(guó)】牛人分享 ▏參與流片是一種怎樣的體驗(yàn)!機(jī)械設(shè)計(jì)培訓(xùn)圖片1



這時(shí)重要的時(shí)間點(diǎn)就定下來(lái)了,研究期間限制14年三月必須拿到芯片,后端公司推薦了14年1月的TSMC流片計(jì)劃,后端要求三個(gè)月設(shè)計(jì)時(shí)間,我們必須10月初交付前端設(shè)計(jì)文件,留給我們的只有僅僅兩個(gè)月了。


好在三個(gè)學(xué)弟基礎(chǔ)模塊的Verilog已寫(xiě)好大半,兩人負(fù)責(zé)FPGA Array,一人負(fù)責(zé)Controller。只要我用TSMC的standard library重新跑一邊架構(gòu)探索,再估算出預(yù)定的die size下FPGA的大小,就可以一氣呵成完成代碼。這個(gè)過(guò)程非常順利,用我博士課題中開(kāi)發(fā)的面向ASIC的FPGA IP CAD Flow,在十幾臺(tái)服務(wù)器中跑了一周Benchmark,在幾十種自制FPGA Architecture找到了性能最佳的架構(gòu)和尺寸。Flow的執(zhí)行和數(shù)據(jù)回收、分析全程自動(dòng)化,一切按設(shè)計(jì)運(yùn)行,完美,心里給自己點(diǎn)了個(gè)贊。然而,我并不知道下面等待我的九月和十月將是我人生中最黑暗的兩個(gè)月。

八月末,師弟們的FPGA整體組裝已經(jīng)初步完成,進(jìn)入測(cè)試期。九月初我還參加了FPL2013,領(lǐng)域頂級(jí)會(huì)議,學(xué)術(shù)精英,在波爾圖的酒莊品著紅酒吹著牛。然而回來(lái)后各種問(wèn)題在測(cè)試期爆發(fā)了,一片混沌。


下層模塊的測(cè)試都還順利,但我們必須要在交付后端前,做整片cover所有功能的完整的仿真。這就需要我盡快完成CAD的最后一個(gè)功能,為這次的FPGA編寫(xiě)bitstream生成器。FPGA部、I/O部,所有都是可編程的,20多萬(wàn)比特,要根據(jù)LUT的邏輯和FPGA Routing的結(jié)果,自動(dòng)生成,一個(gè)都不可以差。并且,我們這款FPGA有自動(dòng)糾錯(cuò)功能,指令模式多達(dá)十幾種,針對(duì)每個(gè)命令都要有相應(yīng)的bitstream。這部分工作量正常少說(shuō)也要兩三個(gè)月,但我們總共也沒(méi)那么多時(shí)間了。


這時(shí)候還開(kāi)始增加需求了!因?yàn)轭A(yù)計(jì)到樣片很有可能因?yàn)楦鞣N原因無(wú)法工作,為了把風(fēng)險(xiǎn)降到最低,boss要求利用多余引腳插入信號(hào)后門(mén)。一要可以隨時(shí)查看內(nèi)部寄存器的狀態(tài),二要可以通過(guò)多個(gè)點(diǎn)注入FPGA的configuration bit,保證即使一部分出了問(wèn)題,依然有辦法讓剩下的部分工作。于是師弟們開(kāi)始無(wú)日無(wú)夜的加電路代碼,我無(wú)日無(wú)夜地搞這20多萬(wàn)個(gè)configuration bit,仿真。


仿真是噩夢(mèng),一次快速優(yōu)化仿真要一個(gè)小時(shí),但只能觀測(cè)到提前指定的信號(hào)。一次完整的慢仿真要三個(gè)多小時(shí)。軟件開(kāi)發(fā)出身的我,習(xí)慣了一邊debug一邊改程序,按下run馬上就可以定位問(wèn)題所在。而我們的FPGA仿真一次三小時(shí),如果我沒(méi)算錯(cuò)一天不睡覺(jué)也只有八次機(jī)會(huì)而已。所以想想開(kāi)發(fā)成本是和測(cè)試周期長(zhǎng)度成正比的,高成本的醫(yī)學(xué)生物研究一個(gè)周期幾周到幾個(gè)月,更高成本的農(nóng)業(yè)更是要幾個(gè)月到幾年。面對(duì)這種困難,我采取的策略是執(zhí)行前更認(rèn)真地審查代碼,盡量靠code review排除bug。出錯(cuò)了也不是急于翻代碼,而是根據(jù)現(xiàn)象在腦中思索產(chǎn)生bug的所有可能性。再就是同時(shí)跑多組測(cè)試節(jié)省時(shí)間。那時(shí)候時(shí)間比什么都寶貴,不分晝夜每三個(gè)小時(shí)看一次仿真結(jié)果,分析,改程序,再跑。時(shí)間管理和硬件設(shè)計(jì)一樣,并行、流水線、達(dá)芬奇睡眠法。
還有一個(gè)噩夢(mèng)是data sheet。因?yàn)橹懊τ陂_(kāi)發(fā),大家并沒(méi)有準(zhǔn)備data sheet。然而這次是外包后端,除了Verilog代碼、約束,自然需要詳細(xì)的data sheet給人查閱。我們?cè)诰旁碌酌Φ貌豢砷_(kāi)交的時(shí)候,還同時(shí)寫(xiě)了大概有1000頁(yè)紙的各部分電路說(shuō)明、功能說(shuō)明、約束說(shuō)明。


一個(gè)九月基本沒(méi)休息,好在最后大家拼命把該做的事都完成了。第一次仿真成功的時(shí)候,大家感動(dòng)得不輕。一個(gè)Verilog測(cè)試電路,通過(guò)ODIN II綜合、我們修改過(guò)的ABC mapping、TV-Pack打包、VPR布局,最后用我開(kāi)發(fā)的EasyRouter布線并生成bitstream,下載到自己的FPGA中成功仿真出結(jié)果。我只想謝謝開(kāi)源社區(qū),謝謝師弟們,你們的工作太了不起了。


十月,如期和后端公司派來(lái)的工程師見(jiàn)面了。對(duì)方相當(dāng)專(zhuān)業(yè)、談吐干練,在我們眼里就像從天而降前來(lái)營(yíng)救的海豹突擊隊(duì)員。當(dāng)我們搬出1000多頁(yè)的說(shuō)明書(shū),他們也驚呆了說(shuō)沒(méi)見(jiàn)過(guò)這仗勢(shì)。我猜他們心里應(yīng)該是萬(wàn)馬奔騰的,你們給RTL和constrain就好了,誰(shuí)要管這些。實(shí)際上專(zhuān)家們也有些輕敵了,他們并沒(méi)預(yù)想到layout FPGA的困難。


大家知道timing是數(shù)字設(shè)計(jì)的一切,每個(gè)時(shí)鐘的setup、hold time,關(guān)鍵path的propagation delay都要準(zhǔn)確約束。然而FPGA在configuration之前,邏輯是不確定的,里面大量存在的timing loop足以讓任何一個(gè)ASIC CAD工具報(bào)錯(cuò)甚至crash。加之我們還要求一些主要的routing channel和logic path盡量延遲一致。這都是其他類(lèi)型芯片的Layout不存在的困難。通常我們自己仿真,會(huì)先加載benchmark的bitstream,自然就不會(huì)存在timing loop了。而做后端不能只為一個(gè)benchmark做約束,不能使用這一方式。最后我和對(duì)方的工程師用了大量精力,一起編寫(xiě)了幾十個(gè)場(chǎng)景的約束,他們只要滿(mǎn)足這些約束就可以。如果存在我們沒(méi)考慮到的約束而導(dǎo)致流片失敗,對(duì)方是不用負(fù)責(zé)任的。其實(shí)后端外包公司通常都不需要擔(dān)心負(fù)什么責(zé)任,因?yàn)橐坏┦?大多學(xué)術(shù)機(jī)構(gòu)是沒(méi)能力去追查責(zé)任在誰(shuí)的。


中間還有一個(gè)插曲很驚險(xiǎn)。后端公司起初告知我們可以使用的die size,忘了減掉I/O Pad的面積,而這些Pad幾乎占了五分之一的可用面積。當(dāng)他們發(fā)現(xiàn)這一問(wèn)題,也有點(diǎn)慌張了,發(fā)郵件來(lái)問(wèn)可不可以改設(shè)計(jì),讓FPGA Array小一點(diǎn)。我們也不可能有精力重做,很堅(jiān)決的否定了。后來(lái)對(duì)方還是展現(xiàn)了強(qiáng)悍的專(zhuān)業(yè)風(fēng)范,使用了CUP(circuit under pad),在模塊縫隙中手動(dòng)layout等絕技,把我們的FPGA塞了進(jìn)去。后端公司的工程師們給我印象非常深刻,不知道他們會(huì)不會(huì)吐槽后悔接了這個(gè)苦差,也不知道他們是不是熬了很多個(gè)日夜。專(zhuān)業(yè)人士就是這樣,接活,做完??雌饋?lái)輕松,他們只是不會(huì)讓你看見(jiàn)他們的辛苦。這世界不存在舉手之勞這回事。


完全交付后端到14年三月收樣片,封裝,我們還設(shè)計(jì)了樣片和VLSI測(cè)試平臺(tái)中間的一塊adapter board。我抽空完成了博士論文和答辯。和幾乎所有答主提到的一樣,緊張感肯定有的。但我看的比較開(kāi),從技術(shù)角度,我已經(jīng)學(xué)到了很多。但最重要的,是我三月就能拿到學(xué)位,東窗事發(fā)可以隨時(shí)跑路。好在一切順利,我們的芯片最終正常工作。測(cè)試數(shù)據(jù)成功返回的瞬間,我是整個(gè)人癱軟在了椅子上,靈魂出竅,想起了NHK紀(jì)錄片《電子立國(guó)自述轉(zhuǎn)》中一位半導(dǎo)體前輩說(shuō)的一段話(huà):


“每次芯片tapeout的兩三個(gè)月,心里是非常不安的,睡不好。隨時(shí)都在想會(huì)不會(huì)有問(wèn)題,哪里哪里對(duì)不對(duì)。芯片回來(lái),第一次按RESET,心里的緊張到了極點(diǎn),RESET松開(kāi),就是區(qū)別天堂和地獄的一瞬間。邏輯分析儀數(shù)字混亂,心情瞬間落入地獄,沒(méi)人愿意說(shuō)話(huà)。如果一切正常,人就像到了天堂,就像整個(gè)世界都在圍繞自己旋轉(zhuǎn),就像我就是世界之王?!?



SI-list【中國(guó)】牛人分享 ▏參與流片是一種怎樣的體驗(yàn)!機(jī)械設(shè)計(jì)培訓(xùn)圖片2



開(kāi)放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學(xué)成才

相關(guān)標(biāo)簽搜索:牛人分享 ▏參與流片是一種怎樣的體驗(yàn)! 機(jī)械設(shè)計(jì)培訓(xùn) 機(jī)械設(shè)計(jì)課程 機(jī)械設(shè)計(jì)視頻 機(jī)械設(shè)計(jì)技術(shù)教程 機(jī)械設(shè)計(jì)資料下載 SolidWorks UG inventor軟件應(yīng)用 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) 

編輯
在線報(bào)名:
  • 客服在線請(qǐng)直接聯(lián)系我們的客服,您也可以通過(guò)下面的方式進(jìn)行在線報(bào)名,我們會(huì)及時(shí)給您回復(fù)電話(huà),謝謝!
驗(yàn)證碼

全國(guó)服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號(hào)金鷹大廈3800
電話(huà):13580329919
          135-8032-9919
培訓(xùn)QQ咨詢(xún):點(diǎn)擊咨詢(xún) 點(diǎn)擊咨詢(xún)
項(xiàng)目QQ咨詢(xún):點(diǎn)擊咨詢(xún)
email:kf@1cae.com