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