【E課堂】芯片反向設(shè)計流程
電路整理
本文引用地址:http://www.ex-cimer.com/article/201707/361304.htm在版圖提取完畢之后,下一個步驟就是電路整理。提取完的電路圖是混亂的,沒有層次關(guān)系。那么如何將其整理成具有層次關(guān)系,讓人一看就懂呢?
1、這就涉及到有關(guān)芯片的一些常識了。芯片分為數(shù)字芯片和模擬芯片,但是數(shù)字芯片必定會包含模擬電路,而模擬芯片卻可以不包含數(shù)字電路。它們有如下一般特征:
A、數(shù)字芯片,必有時鐘振蕩電路、復(fù)位電路這些模擬電路。必有寄存器,而且整個數(shù)字部分最耗面積的部分往往都是寄存器。寄存器的使用量是很大的,因此,在版圖上呈現(xiàn)的就是有大數(shù)量的圖像一模一樣的電路,這種電路往往都是寄存器。
B、模擬芯片,有帶隙基準(zhǔn)電路。
2、說完了芯片版圖常識,另外一個重要的有助于理解所提取的電路的工具就是待反向的芯片的數(shù)據(jù)手冊!這是最重要的,我們所有有關(guān)于芯片的信息都是從數(shù)據(jù)手冊上得來的。所以一定要善用DATASHEET!在芯片數(shù)據(jù)手冊上,一般會對芯片的功能進(jìn)行說明,對芯片如何運行進(jìn)行說明,這些說明將有助于我們對于電路的整理。
比如說,芯片手冊上說道用了I2C,那么電路中肯定有一大塊電路是屬于I2C的。一般來說,版圖的布局都是將同屬于一種功能的管子會集中放置在一起。I2C電路的特征,從I2C協(xié)議的原理上可以知道,它就兩根信號線,一根時鐘,另一根數(shù)據(jù)線。數(shù)據(jù)在芯片內(nèi)部一般是并行傳輸比較方便,所以,I2C電路一定會有串并轉(zhuǎn)換電路,而串并轉(zhuǎn)換電路一般是寄存器,而且一般是8位。根據(jù)這個推斷結(jié)果,就在提取的電路中去尋找8個在一起的寄存器,它們其中一組就是I2C電路的一部分,再根據(jù)芯片版圖的I2C PAD位去尋找,看連接到了那一組寄存器上,那么整個I2C的電路就被識別出來了。因此:
a、靠著芯片手冊對芯片功能的說明,
b、加上芯片的一些常識性知識,
c、加個人的這種對電路原理的推理,就可以相對較快的將電路分層次的整理出來。
逐步的理解整個芯片的原理。當(dāng)然,由于芯片電路的龐大的關(guān)系,有時候電路并不是需要完全理清楚,對于不那么重要的電路可以不理會。只要保證連接關(guān)系沒連接錯就行。這階段,只會用到cadence ic5141的virtuoso schematic軟件。
芯片電路整理
電路仿真及修改
電路整理好了,下一步就是進(jìn)行電路的仿真及修改了,根據(jù)工藝選擇步驟選擇的工藝來進(jìn)行。先說明一下這階段所使用的工具:
1、cadence spectre,一般集成在cadence ic5141里面,是模擬電路仿真工具(ps:最原始的版本是集成在IC5141內(nèi)部,但功能不全,所以需要單獨安裝新版本,軟件名為MMSIM61,隨著版本的升級,它的名字也在修改),當(dāng)然,數(shù)字電路也可以進(jìn)行仿真,數(shù)字電路的本質(zhì)還是模擬電路;
2、synopsys公司的 Hspice,與spectre一樣的仿真工具,另有些差別。
3、Mentor公司的 Modelsim,主要在windows上使用,用于verilog網(wǎng)表的仿真。
模擬電路仿真工作流程:在cadence中搭建好仿真環(huán)境,設(shè)置好仿真參數(shù),選用spectre或者h(yuǎn)spice,然后就可以進(jìn)行仿真的。另外,也可以將電路導(dǎo)出成CDL網(wǎng)表,拷貝到Windows上,用Windows版本的Hspice進(jìn)行仿真,這樣做的優(yōu)點是Windows易于操作。另外說明一下spectre和hspice的一項區(qū)別。spectre仿真的時候會保存所有電路節(jié)點的數(shù)據(jù),這樣做優(yōu)點是方便查看各個節(jié)點的數(shù)據(jù),缺點是仿真消耗的時間太長,保存的數(shù)據(jù)文件太大,這一點在遇到大型電路的時候會很耗時(不知道最新版本改進(jìn)這一點沒有,鄙人沒有用過最新版的spectre)。hspice仿真之前可以自己選定所要查看的節(jié)點,這樣做就可以減少仿真時間和減小數(shù)據(jù)文件的大小。
數(shù)字電路仿真工作流程:在virtuoso schematic中將整理好的電路路中數(shù)字電路部分導(dǎo)出成網(wǎng)表文件,再拷貝到windows系統(tǒng)上進(jìn)行仿真。windows系統(tǒng)上數(shù)字電路網(wǎng)表的仿真采用Modelsim。(這么做的原因是linux系統(tǒng)不太方便)使用Modelsim仿真,最重要的是寫好testbench(貌似這句是廢話)。
關(guān)于電路的修改,這部分其實不好總結(jié),因為每一款芯片都有不同的參數(shù),所要修改的地方都不太一樣,我所知道的是,必定要考慮修改的地方往往都是有關(guān)模擬電路的,例如,時鐘振蕩、復(fù)位電路、開漏輸出管、帶隙等,修改的目的是為了與當(dāng)前所選用的工藝適配,以滿足芯片datasheet的參數(shù)要求。另外,數(shù)字部分的電路其實一般來說是不需要修改的,但有時為了節(jié)省版圖面積,會縮小寄存器管子的尺寸,畢竟縮小一個,就等于縮小了幾十個。這一階段其實是一個不斷的迭代過程,它要和版圖繪制結(jié)合起來,這樣才能夠保證芯片功能和性能的完整。
電路仿真
版圖繪制
這部分在電路整理完之后就可以開始進(jìn)行了,并配合電路仿真與修改,逐步晚上版圖的繪制。該階段所使用的主要工具有 1、cadence ic5141的版圖繪制軟件;2、cadence Dracula Diva或者Calibre,這兩個用于版圖DRC(設(shè)計規(guī)則檢查)、LVS(版圖一致性檢查);一般而言,calibre會更加常用一些,畢竟這可是Mentor公司的招牌軟件之一。在版圖繪制好并進(jìn)行各種檢查無誤之后,就可以tapeout,準(zhǔn)備流片了。
評論