【E課堂】芯片反向設計流程
電路整理
本文引用地址:http://dyxdggzs.com/article/201707/361304.htm在版圖提取完畢之后,下一個(gè)步驟就是電路整理。提取完的電路圖是混亂的,沒(méi)有層次關(guān)系。那么如何將其整理成具有層次關(guān)系,讓人一看就懂呢?
1、這就涉及到有關(guān)芯片的一些常識了。芯片分為數字芯片和模擬芯片,但是數字芯片必定會(huì )包含模擬電路,而模擬芯片卻可以不包含數字電路。它們有如下一般特征:
A、數字芯片,必有時(shí)鐘振蕩電路、復位電路這些模擬電路。必有寄存器,而且整個(gè)數字部分最耗面積的部分往往都是寄存器。寄存器的使用量是很大的,因此,在版圖上呈現的就是有大數量的圖像一模一樣的電路,這種電路往往都是寄存器。
B、模擬芯片,有帶隙基準電路。
2、說(shuō)完了芯片版圖常識,另外一個(gè)重要的有助于理解所提取的電路的工具就是待反向的芯片的數據手冊!這是最重要的,我們所有有關(guān)于芯片的信息都是從數據手冊上得來(lái)的。所以一定要善用DATASHEET!在芯片數據手冊上,一般會(huì )對芯片的功能進(jìn)行說(shuō)明,對芯片如何運行進(jìn)行說(shuō)明,這些說(shuō)明將有助于我們對于電路的整理。
比如說(shuō),芯片手冊上說(shuō)道用了I2C,那么電路中肯定有一大塊電路是屬于I2C的。一般來(lái)說(shuō),版圖的布局都是將同屬于一種功能的管子會(huì )集中放置在一起。I2C電路的特征,從I2C協(xié)議的原理上可以知道,它就兩根信號線(xiàn),一根時(shí)鐘,另一根數據線(xiàn)。數據在芯片內部一般是并行傳輸比較方便,所以,I2C電路一定會(huì )有串并轉換電路,而串并轉換電路一般是寄存器,而且一般是8位。根據這個(gè)推斷結果,就在提取的電路中去尋找8個(gè)在一起的寄存器,它們其中一組就是I2C電路的一部分,再根據芯片版圖的I2C PAD位去尋找,看連接到了那一組寄存器上,那么整個(gè)I2C的電路就被識別出來(lái)了。因此:
a、靠著(zhù)芯片手冊對芯片功能的說(shuō)明,
b、加上芯片的一些常識性知識,
c、加個(gè)人的這種對電路原理的推理,就可以相對較快的將電路分層次的整理出來(lái)。
逐步的理解整個(gè)芯片的原理。當然,由于芯片電路的龐大的關(guān)系,有時(shí)候電路并不是需要完全理清楚,對于不那么重要的電路可以不理會(huì )。只要保證連接關(guān)系沒(méi)連接錯就行。這階段,只會(huì )用到cadence ic5141的virtuoso schematic軟件。

芯片電路整理
電路仿真及修改
電路整理好了,下一步就是進(jìn)行電路的仿真及修改了,根據工藝選擇步驟選擇的工藝來(lái)進(jìn)行。先說(shuō)明一下這階段所使用的工具:
1、cadence spectre,一般集成在cadence ic5141里面,是模擬電路仿真工具(ps:最原始的版本是集成在IC5141內部,但功能不全,所以需要單獨安裝新版本,軟件名為MMSIM61,隨著(zhù)版本的升級,它的名字也在修改),當然,數字電路也可以進(jìn)行仿真,數字電路的本質(zhì)還是模擬電路;
2、synopsys公司的 Hspice,與spectre一樣的仿真工具,另有些差別。
3、Mentor公司的 Modelsim,主要在windows上使用,用于verilog網(wǎng)表的仿真。
模擬電路仿真工作流程:在cadence中搭建好仿真環(huán)境,設置好仿真參數,選用spectre或者hspice,然后就可以進(jìn)行仿真的。另外,也可以將電路導出成CDL網(wǎng)表,拷貝到Windows上,用Windows版本的Hspice進(jìn)行仿真,這樣做的優(yōu)點(diǎn)是Windows易于操作。另外說(shuō)明一下spectre和hspice的一項區別。spectre仿真的時(shí)候會(huì )保存所有電路節點(diǎn)的數據,這樣做優(yōu)點(diǎn)是方便查看各個(gè)節點(diǎn)的數據,缺點(diǎn)是仿真消耗的時(shí)間太長(cháng),保存的數據文件太大,這一點(diǎn)在遇到大型電路的時(shí)候會(huì )很耗時(shí)(不知道最新版本改進(jìn)這一點(diǎn)沒(méi)有,鄙人沒(méi)有用過(guò)最新版的spectre)。hspice仿真之前可以自己選定所要查看的節點(diǎn),這樣做就可以減少仿真時(shí)間和減小數據文件的大小。
數字電路仿真工作流程:在virtuoso schematic中將整理好的電路路中數字電路部分導出成網(wǎng)表文件,再拷貝到windows系統上進(jìn)行仿真。windows系統上數字電路網(wǎng)表的仿真采用Modelsim。(這么做的原因是linux系統不太方便)使用Modelsim仿真,最重要的是寫(xiě)好testbench(貌似這句是廢話(huà))。
關(guān)于電路的修改,這部分其實(shí)不好總結,因為每一款芯片都有不同的參數,所要修改的地方都不太一樣,我所知道的是,必定要考慮修改的地方往往都是有關(guān)模擬電路的,例如,時(shí)鐘振蕩、復位電路、開(kāi)漏輸出管、帶隙等,修改的目的是為了與當前所選用的工藝適配,以滿(mǎn)足芯片datasheet的參數要求。另外,數字部分的電路其實(shí)一般來(lái)說(shuō)是不需要修改的,但有時(shí)為了節省版圖面積,會(huì )縮小寄存器管子的尺寸,畢竟縮小一個(gè),就等于縮小了幾十個(gè)。這一階段其實(shí)是一個(gè)不斷的迭代過(guò)程,它要和版圖繪制結合起來(lái),這樣才能夠保證芯片功能和性能的完整。

電路仿真
版圖繪制
這部分在電路整理完之后就可以開(kāi)始進(jìn)行了,并配合電路仿真與修改,逐步晚上版圖的繪制。該階段所使用的主要工具有 1、cadence ic5141的版圖繪制軟件;2、cadence Dracula Diva或者Calibre,這兩個(gè)用于版圖DRC(設計規則檢查)、LVS(版圖一致性檢查);一般而言,calibre會(huì )更加常用一些,畢竟這可是Mentor公司的招牌軟件之一。在版圖繪制好并進(jìn)行各種檢查無(wú)誤之后,就可以tapeout,準備流片了。
評論