【導讀】有制造就對應(yīng)著拆解,這是刻苦好學的人們?yōu)榱双@取知識所進行的最暴力也是最直接的方法。那么,集成電路的反向工程是怎樣的一個流程?其各道工序又如何進行?
在芯片行業(yè),拆解有個專業(yè)的名詞,叫做反向工程。這其實已經(jīng)是行業(yè)公開的秘密,有不少公司就在公開進行這項業(yè)務(wù)。那么,集成電路的反向工程是怎樣的一個流程?其各道工序又如何進行?
用大俗話來說,找一塊有用的芯片,照照相、制制版、提提圖、畫畫圖、仿仿真,芯片電路就反求了出來;編編工藝、設(shè)計工裝、將生產(chǎn)線開動,芯片又做了出來;再做做測試、進行老化,芯片就可以上市了。這就是集成電路反向開發(fā)的各道工序、完整流程。下面這張圖就說明了全過程。
剝開芯片外套
芯片是自帶馬甲的,那就是芯片的封裝。所以,反向工程的第一步就是要剖開芯片。下面是網(wǎng)友整理的拆解芯片過程。
首先把要拆解的芯片放置在裝了濃硫酸的容器里,容器需要蓋住,但不能嚴實,這樣里面的氣體才能漫溢出來。把容器里的濃硫酸加熱到沸騰(大約 300 攝氏度),在瓶底的周圍鋪上蘇打粉——用來預防意外飛濺出來的硫酸液和冒出來的硫酸氣體。
大約 30 到 40 分鐘以后,芯片外層的保護膠塑料層就會「碳化」。
待酸液冷卻以后,可以把里面那些已經(jīng)足夠「碳化」的部分挑出來,其它繼續(xù)進行硫酸浴,外層較厚的芯片可能需要兩到三輪硫酸浴。
如果芯片外層那些焦炭不能機械地去除,那么就把它們投進濃硝酸液里面加熱到沸騰(溫度大約是 110 到 120 度)。
這就是最后的樣子。
照相
在顯微圖像自動采集平臺上逐層對芯片樣品進行顯微圖像采集。與測量三維實體或曲面的逆向設(shè)計不同,測量集成電路芯片純屬表面文章:放好芯片位置、對對焦、選好放大倍數(shù),使芯片表面在鏡頭中和顯示器上清晰可見后,按下拍照按鈕便可完成一幅顯微圖像的采集。取決于電路的規(guī)模和放大倍數(shù),一層電路可能需要在拍攝多幅圖像后進行拼湊,多層電路需要在拼湊后對準,有顯微圖像自動拼湊軟件用于進行拼湊和對準操作。
隨便估算一下:該顯微圖像自動采集平臺的放大倍數(shù)為1000倍,可將0.1um線條的放大至0.1mm的寬度。這意味著它已足以對付目前采用最先進工藝制作的0.09um集成電路芯片。
提圖
集成電路由多層組成,每層用光刻工藝由光掩膜加以確定。制造集成電路時用的掩膜上的幾何圖形就是版圖,版圖是集成電路對應(yīng)的物理層。
現(xiàn)在提圖工作已經(jīng)可以由電腦全部完成了。主流的電路原理圖分析系統(tǒng)已經(jīng)具有多層顯微圖像瀏覽、電路單元符號設(shè)計、電路原理圖自動和交互式分析提取以及電路原理圖編輯等強大功能,版圖分析系統(tǒng)則可完成多層版圖輪廓自動提取、全功能版圖編輯、嵌入軟件代碼自動識別、提取、校驗以及設(shè)計規(guī)則的統(tǒng)計和提取。
提取、整理電路
數(shù)字電路需要歸并同類圖形,例如與非門、或非門、觸發(fā)器等,同樣的圖形不要分析多次。提出的電路用電路繪制軟件繪出(ViewWork、Laker、Cadence等),按照易于理解的電路布置,使其他人員也能看出你提取電路的功能,提取電路的速度完全由提圖人員經(jīng)驗水平確定。注意,軟件是按照版圖的位置把各組件連接起來,如果不整理電路是看不出各模塊的連接及功能的,所以完全靠軟件是不能完成電路功能塊劃分和分析。
分析電路
提取出的電路整理成電路圖,并輸入幾何參數(shù)(MOS為寬長比)。通過你的分析,電路功能明確,電路連接無誤。
仿真驗證,電路調(diào)整
對電路進行功能仿真驗證。模擬電路一般采用Hspice、Cadence等工具,小規(guī)模數(shù)字電路采用Cadence,Hsim等工具。根據(jù)新的工藝調(diào)整電路,-調(diào)整后進行驗證。
版圖繪制驗證及后仿真
對輸入的電路原理圖進行瀏覽、查詢、編輯、調(diào)試與仿真。分析電路原理,調(diào)節(jié)電路參數(shù),并在一定的激勵輸入下觀測輸出波形,以驗證設(shè)計的邏輯正確性。要對提取的網(wǎng)表作仿真驗證,并與前仿結(jié)果對比,-版圖導出GDS文件,Tape out(將設(shè)計數(shù)據(jù)轉(zhuǎn)交給制造方)。
爭論
“反向設(shè)計”的提法似乎讓人很容易與侵犯別人知識產(chǎn)權(quán)產(chǎn)生聯(lián)系,實際上逆向設(shè)計與正向設(shè)計一樣,只是IC設(shè)計的一種技術(shù)手段,通過逆向設(shè)計獲取別人先進的設(shè)計思想用于自己的芯片設(shè)計中,并不能說侵犯知識產(chǎn)權(quán)。特別是對于初學IC設(shè)計的人員,通過學習和研究比較成熟的電路版圖,可以迅速增加相關(guān)電路設(shè)計經(jīng)驗,更快熟悉整個IC設(shè)計流程和完善IC設(shè)計知識體系。
目前中國的IC設(shè)計業(yè)還處在學習模仿國外的階段,早在幾年前中國的IC設(shè)計企業(yè)往往是完全復制國外的芯片。最近幾年,隨著人們對知識產(chǎn)權(quán)意識的提高,都能夠采取正確的方式來對待逆向設(shè)計,即利用逆向設(shè)計來設(shè)計自己的芯片。
逆向設(shè)計非常適合模擬芯片設(shè)計,如ADC、DAC、鎖相環(huán)等模擬電路,因為模擬電路的設(shè)計往往靠經(jīng)驗。此外,對于10萬門以下的數(shù)字電路也適合,對于混合信號電路來講,可以適合模擬部分的反向設(shè)計服務(wù)。在時間方面,普通的逆向設(shè)計往往需要3-5個月,而小于10萬門的數(shù)字電路逆向設(shè)計一般需要2-3個月。
目前在國內(nèi),芯愿景公司、臺灣宜碩也提供逆向設(shè)計服務(wù);國際上著名的逆向設(shè)計企業(yè)主要有Chipworks和Semiconducto Insights(SI)公司。
網(wǎng)友有話說
知乎網(wǎng)友spike old dog:
其實我覺得很多人對反向有誤解,這里只針對模擬和數(shù)?;旌系男酒鋵嵨掖^的,了解的analog幾個大廠,都會有人專門反向芯片,你以為都是自己白手起家做設(shè)計嗎。反向的目的不是為了抄襲,很多時候是為了學習,避免自己走彎路。另外一大原因也是有時看別人有沒有抄襲自己東西。
其實模擬集成電路那些基本的東西有什么好抄的,大家都一樣,主要是看看系統(tǒng)構(gòu)架,信號鏈路的處理過程什么的。牛的芯片有兩種,一種是每個模塊都極其經(jīng)典,整個系統(tǒng)性能卓越。另外一種是充分發(fā)揮自己process潛力,反正你沒同樣工藝,抄了也不會比我好。估計你們能看出來,前者是fabless的套路,后者是idm的套路。
就我自己感覺,芯片重頭做起是個非常困難的事,如果你們有別人芯片參考就舒服多了。這根本不能算抄襲,因為細節(jié)的東西肯定不一樣。
當然也有過分的,全版圖copy,你還別說,有不少海龜干這個,這就有點不地道了。這種芯片一上量就會被別人告,不過呢,這些人該有的名利也都有了,這就是中國政府的尿性,不尊重知識產(chǎn)權(quán),留下的是老外對中國工程師的惡劣印象,越是這樣,核心的東西就越不能讓中國人知道。
知乎網(wǎng)友fight shan:
數(shù)字電路的反向是非常困難的,因為一般來說大規(guī)模的數(shù)字處理單元是通過程序綜合成晶體管級電路,自動出layout,模擬電路部分相對容易,因為規(guī)模也很小,模擬電路的layout都是手工設(shè)計的,管子數(shù)量有限,電路層次化之后有經(jīng)驗的人很容易看出其功能,另外一點需要注意的是,反向別人的芯片,工藝的選擇是一個重點,因為你選擇的foundry可能和人家芯片的foundry不是一家,甚至工藝都不一樣,你能學來的是別人的電路結(jié)構(gòu),完全照抄別人的電路(包括管子尺寸的大小,電容的大小,電阻的寬長等等)可能造成電路根本不能正常工作。
知乎網(wǎng)友王天祺:
理論上所有芯片都能反向,但這僅僅是理論上。當芯片規(guī)模大到一定程度的時候,這招就不合算了。比如題主所說的這種視頻處理芯片,邏輯規(guī)模都很大,而且產(chǎn)品更新?lián)Q代快,綜合考慮成本以及時間開銷,反向是不合算的,很有可能反向的預算都足夠把那個公司買了。