牛人分享 ▏參與流片是一種怎樣的體驗!

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



所有項目的前期都是陽光明媚,四五月我時常和師弟們在校園的樹蔭下手握可樂,一邊談風和日麗,一邊目光保護文學科的學妹們來來往往。研究室里也歡聲笑語常在,我問學弟們Verilog寫到哪了,他們問我架構定下了嗎,我問助教什么制程die size多大,然而大家都不知道,互道還早還早,相視一笑哈哈哈。


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


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



SI-list【中國】牛人分享 ▏參與流片是一種怎樣的體驗!機械設計培訓圖片1



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


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

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


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


這時候還開始增加需求了!因為預計到樣片很有可能因為各種原因無法工作,為了把風險降到最低,boss要求利用多余引腳插入信號后門。一要可以隨時查看內部寄存器的狀態(tài),二要可以通過多個點注入FPGA的configuration bit,保證即使一部分出了問題,依然有辦法讓剩下的部分工作。于是師弟們開始無日無夜的加電路代碼,我無日無夜地搞這20多萬個configuration bit,仿真。


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


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


十月,如期和后端公司派來的工程師見面了。對方相當專業(yè)、談吐干練,在我們眼里就像從天而降前來營救的海豹突擊隊員。當我們搬出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幾乎占了五分之一的可用面積。當他們發(fā)現這一問題,也有點慌張了,發(fā)郵件來問可不可以改設計,讓FPGA Array小一點。我們也不可能有精力重做,很堅決的否定了。后來對方還是展現了強悍的專業(yè)風范,使用了CUP(circuit under pad),在模塊縫隙中手動layout等絕技,把我們的FPGA塞了進去。后端公司的工程師們給我印象非常深刻,不知道他們會不會吐槽后悔接了這個苦差,也不知道他們是不是熬了很多個日夜。專業(yè)人士就是這樣,接活,做完??雌饋磔p松,他們只是不會讓你看見他們的辛苦。這世界不存在舉手之勞這回事。


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


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



SI-list【中國】牛人分享 ▏參與流片是一種怎樣的體驗!機械設計培訓圖片2



開放分享:優(yōu)質有限元技術文章,助你自學成才

相關標簽搜索:牛人分享 ▏參與流片是一種怎樣的體驗! 機械設計培訓 機械設計課程 機械設計視頻 機械設計技術教程 機械設計資料下載 SolidWorks UG inventor軟件應用 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓 Abaqus培訓 

編輯
在線報名:
  • 客服在線請直接聯(lián)系我們的客服,您也可以通過下面的方式進行在線報名,我們會及時給您回復電話,謝謝!
驗證碼

全國服務熱線

1358-032-9919

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