數(shù)字到模擬---我的華麗轉(zhuǎn)身
在2002年的時代,雖然和現(xiàn)在過去不過6年,但是我卻是用時代來形容.也許論壇有許多工作超過10年的老設(shè)計師,也許會笑話我的無知,但是,我還是想說我想說的話.在2001年終統(tǒng)計時,全國IC設(shè)計銷售額超過1億人民幣的公司,只有4家,而現(xiàn)在,我想這個數(shù)字超過20家,也許更多,我沒也去研究.在IC設(shè)計界,xx公司是一家大型公司了,當(dāng)時200人的規(guī)模,80名設(shè)計師的技術(shù)實力,雖然真正有2年以上經(jīng)驗的設(shè)計師不超過30人.在進(jìn)入公司后,首先接觸到了逆向照片,提到這個,論壇的大蝦也許會笑話,我從不認(rèn)識一個觸發(fā)器的版圖照片開始,經(jīng)過1年多的照片提取,照葫蘆畫瓢般的畫版圖.工作快1年的時候,我雖然很自信,自我以為自己有一定的實力了,事實是我的設(shè)計還沒入門,對IC設(shè)計的理解還很淺顯,只是當(dāng)時的我是不知道的.在一年做工作總結(jié)的時候,真的發(fā)現(xiàn)自己沒有什么拿的出受的產(chǎn)品或者技術(shù)能力.
在進(jìn)入公司的第二年,我有機(jī)會參加了一個8位MCU的逆向設(shè)計,這對我來說,是個很有吸引力的項目,第一年我熟悉了觸發(fā)器,而MCU中就有很多觸發(fā)器,同時我對MCU的指令分析非常著迷,借助verilog-xl仿真工具,對整個MCU的指令程序進(jìn)行了仿真分析,對程序的每一步跳轉(zhuǎn)都從電路內(nèi)部找出翻轉(zhuǎn)點,記錄PC值,并且關(guān)注指令譯碼器的工作時序.在該項目完成后,我又參加了下一個項目,也是一個8位MCU的逆向設(shè)計,不同的是,第一個MCU是精簡指令集,而這個是復(fù)雜指令集,兩個MCU的逆向設(shè)計,深入分析指令執(zhí)行過程,讓我這一年我很充實,也很享受分析的過程.
作為做逆向的公司,解剖芯片是正常的事情,作為剛工作的新人,開始的兩年中,我有數(shù)十次的機(jī)會去腐蝕芯片,去看著芯片的封裝在氫氟酸中化去,看著上層金屬在濃硫酸中不見了,然后看見了多晶和有源區(qū).我想這樣的體會,現(xiàn)在剛工作的工程師很難體會了.在我享受分析MCU樂趣的時候,設(shè)計總監(jiān)找我談話,問我是否喜歡挑戰(zhàn),我告訴他,我喜歡挑戰(zhàn),喜歡有創(chuàng)意的工作.
在工作的第三年,我被調(diào)到別的小組,開始了EEPROM和智能卡方面的攻關(guān)設(shè)計,對于當(dāng)時的公司來說,這兩方面都沒有任何積累的.EEPROM設(shè)計的主體在工藝設(shè)計,與foundry的溝通很重要,在2004年底的時候,我首先逆向了一個深圳公司的EEPROM電路,邏輯電路的分析肯定沒問題,I2C接口的實現(xiàn),對當(dāng)時的我也沒太大困難,既然是逆向的電路,邏輯仿真通過是容易的.當(dāng)時的難點是chargepump與vhh的穩(wěn)壓,開始考慮在csmc點6工藝流片,其實用發(fā)展眼光看,存儲器用如此大的工藝做,是不合適的,但是我是小職員,沒權(quán)發(fā)表什么意見,不過公司的上層還是很有眼光的,很快考慮轉(zhuǎn)到hhnec點35的工藝進(jìn)行了.
在做EEPROM項目的同時,我們又逆向了兩個智能卡芯片,包括ultra light與mifare s50.這兩款智能卡芯片的數(shù)字電路都是由我來分析仿真,智能卡邏輯電路分析仿真的難點在于其中的加密算法.ultra light里面相對簡單,只要找到序列號中的鎖死位,就好分析了,不過,對一個對智能卡一無所知的設(shè)計師來說,尋找這樣的鎖死位花了4個月,在我要放棄的時候,找到了這個關(guān)鍵點,所以,我們工作中不要輕易放棄,有時候成功就在你眼前.
在做智能卡設(shè)計的時候,我們還發(fā)生了一個笑話,我有同時來上海宜碩做試驗,讓他買點上海單程票回去給我們解剖看看,他認(rèn)為票價3元,4元,5元的單程票芯片可能不同,所以,三種票額的卡片,他各買了10張回去,有意思吧?在設(shè)計的摸索階段,彎路是很難避免的,所以,設(shè)計初期的準(zhǔn)備工作,很有必要!!!在ultra light從hhnec流片回來的時候,在測試前,我們設(shè)計小組居然都對芯片有功能沒信心,但是事實是芯片成功了,我們小組那個下午,笑了好久都沒能停下來,那是因為從心底感到開心.可惜,我們的芯片面積太大了,為同類公司芯片的2倍左右大小,所以,沒能夠成為產(chǎn)品.同樣的,在2006年10月流片的s50逆向芯片,測試模式進(jìn)入正常,但是有少數(shù)關(guān)于值操作的指令有問題,也沒能成為產(chǎn)品,這是設(shè)計的遺憾.
在這里我補(bǔ)充點EEPROM設(shè)計的思想,現(xiàn)在許多芯片會用到EEPROM,有些公司直接使用foundry提供的IP,而規(guī)模大些的公司會考慮節(jié)約芯片面積,而考慮自己設(shè)計EEPROM,EEPROM的設(shè)計是很困難的,特別是想提高讀寫速度,降低讀寫功耗,并且想有更多次的讀寫次數(shù).在公司技術(shù)能力欠缺的時候,可以考慮先使用foundry的IP,在芯片流片回來后做解剖,看看foundry的EEPROM是怎么做的!也許有人會說,EEPROM的設(shè)計和工藝關(guān)聯(lián)太大,解剖逆向也無法判斷EEPROM的特殊結(jié)構(gòu)與層次,但是,你在使用foundry的EEPROM的IP進(jìn)行設(shè)計時候,有一個版圖檢查的機(jī)會,術(shù)語為JDV,你可以借助這個機(jī)會來看看EEPROM的IP的版圖層次的特別之處.將foundry好的設(shè)計應(yīng)用到自己的設(shè)計中,要知道,大的foundry會有一個龐大的EEPROM設(shè)計團(tuán)隊的.以上EEPROM的設(shè)計方法我曾經(jīng)用過,而且設(shè)計出來的芯片功能很OK,在現(xiàn)在依然在市場有穩(wěn)定的銷售.
在2006年底,我因為一些個人原因來到了上海,雖然看到老總眼中的無奈與不舍,但是,當(dāng)你開口離開的時候,男人就不會回頭吧.在開始找工作的時候,我也曾經(jīng)迷茫,想找邏輯設(shè)計的工作,上海都是正向設(shè)計的公司,雖然會verilog,會寫些基本的function,但是規(guī)范性很差,而且長期的逆向設(shè)計,給我的邏輯設(shè)計思想,套上了框框,無法自由馳騁.只好在模擬上下點功夫,去尋一個模擬設(shè)計的工作吧!其中有機(jī)會去外企做EEPROM方面的設(shè)計,笨笨的我拒絕了,說我只做模擬設(shè)計,當(dāng)時的我,剛到上海,還是有點傻氣吧!后來,我找到份做模擬設(shè)計的工作,因為在無錫做過智能卡方面的設(shè)計,雖然開始連調(diào)制深度與調(diào)制百分比這樣的概念都不懂,但是還是開始了智能卡射頻端口的設(shè)計.匆匆兩年,在公司也算站穩(wěn)了腳跟,雖然別人不說,但是大家都明白,我在小組做的事情還是蠻多的,手頭的項目還是蠻多的,而且設(shè)計出來的產(chǎn)品,還都不錯.我在這里自夸了,大家可以拍磚!:)
回首過去6年,初看下來,三年邏輯,三年模擬設(shè)計吧!我想,以后我只能做模擬了,慢慢快把那時候喜歡的verilog忘記吧!慢慢會把喜歡的MCU忘記吧!工作的過程就是一個從寬泛到專業(yè)的過程,社會分工也是如此.
對于那些剛工作1-2年的IC設(shè)計師,我真心建議你們看看IC設(shè)計的各方面,不要拘泥于自己的那部分,希望做數(shù)字設(shè)計的也懂點模擬,做模擬設(shè)計的也懂點數(shù)字.我說的懂得不是去書店買兩本書看看,就可以認(rèn)為懂得那種,而是能夠真正參與得那種懂得.IC設(shè)計成為高手,我想要個8-10年吧,所以,我還有許多需要提高得地方,讓我們大家一起努力吧!