新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 【E課堂】芯片反向設(shè)計(jì)流程

【E課堂】芯片反向設(shè)計(jì)流程

作者: 時(shí)間:2017-07-04 來(lái)源:微電子世界 收藏

  電路整理

本文引用地址:http://butianyuan.cn/article/201707/361304.htm

  在版圖提取完畢之后,下一個(gè)步驟就是電路整理。提取完的電路圖是混亂的,沒(méi)有層次關(guān)系。那么如何將其整理成具有層次關(guān)系,讓人一看就懂呢?

  1、這就涉及到有關(guān)的一些常識(shí)了。分為數(shù)字和模擬芯片,但是數(shù)字芯片必定會(huì)包含模擬電路,而模擬芯片卻可以不包含數(shù)字電路。它們有如下一般特征:

  A、數(shù)字芯片,必有時(shí)鐘振蕩電路、復(fù)位電路這些模擬電路。必有寄存器,而且整個(gè)數(shù)字部分最耗面積的部分往往都是寄存器。寄存器的使用量是很大的,因此,在版圖上呈現(xiàn)的就是有大數(shù)量的圖像一模一樣的電路,這種電路往往都是寄存器。

  B、模擬芯片,有帶隙基準(zhǔn)電路。

  2、說(shuō)完了芯片版圖常識(shí),另外一個(gè)重要的有助于理解所提取的電路的工具就是待反向的芯片的數(shù)據(jù)手冊(cè)!這是最重要的,我們所有有關(guān)于芯片的信息都是從數(shù)據(jù)手冊(cè)上得來(lái)的。所以一定要善用DATASHEET!在芯片數(shù)據(jù)手冊(cè)上,一般會(huì)對(duì)芯片的功能進(jìn)行說(shuō)明,對(duì)芯片如何運(yùn)行進(jìn)行說(shuō)明,這些說(shuō)明將有助于我們對(duì)于電路的整理。

  比如說(shuō),芯片手冊(cè)上說(shuō)道用了I2C,那么電路中肯定有一大塊電路是屬于I2C的。一般來(lái)說(shuō),版圖的布局都是將同屬于一種功能的管子會(huì)集中放置在一起。I2C電路的特征,從I2C協(xié)議的原理上可以知道,它就兩根信號(hào)線,一根時(shí)鐘,另一根數(shù)據(jù)線。數(shù)據(jù)在芯片內(nèi)部一般是并行傳輸比較方便,所以,I2C電路一定會(huì)有串并轉(zhuǎn)換電路,而串并轉(zhuǎn)換電路一般是寄存器,而且一般是8位。根據(jù)這個(gè)推斷結(jié)果,就在提取的電路中去尋找8個(gè)在一起的寄存器,它們其中一組就是I2C電路的一部分,再根據(jù)芯片版圖的I2C PAD位去尋找,看連接到了那一組寄存器上,那么整個(gè)I2C的電路就被識(shí)別出來(lái)了。因此:

  a、靠著芯片手冊(cè)對(duì)芯片功能的說(shuō)明,

  b、加上芯片的一些常識(shí)性知識(shí),

  c、加個(gè)人的這種對(duì)電路原理的推理,就可以相對(duì)較快的將電路分層次的整理出來(lái)。

  逐步的理解整個(gè)芯片的原理。當(dāng)然,由于芯片電路的龐大的關(guān)系,有時(shí)候電路并不是需要完全理清楚,對(duì)于不那么重要的電路可以不理會(huì)。只要保證連接關(guān)系沒(méi)連接錯(cuò)就行。這階段,只會(huì)用到cadence ic5141的virtuoso schematic軟件。

  

【干貨】芯片反向設(shè)計(jì)流程

  芯片電路整理

  電路仿真及修改

  電路整理好了,下一步就是進(jìn)行電路的仿真及修改了,根據(jù)工藝選擇步驟選擇的工藝來(lái)進(jìn)行。先說(shuō)明一下這階段所使用的工具:

  1、cadence spectre,一般集成在cadence ic5141里面,是模擬電路仿真工具(ps:最原始的版本是集成在IC5141內(nèi)部,但功能不全,所以需要單獨(dú)安裝新版本,軟件名為MMSIM61,隨著版本的升級(jí),它的名字也在修改),當(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)點(diǎn)是Windows易于操作。另外說(shuō)明一下spectre和hspice的一項(xiàng)區(qū)別。spectre仿真的時(shí)候會(huì)保存所有電路節(jié)點(diǎn)的數(shù)據(jù),這樣做優(yōu)點(diǎn)是方便查看各個(gè)節(jié)點(diǎn)的數(shù)據(jù),缺點(diǎn)是仿真消耗的時(shí)間太長(zhǎng),保存的數(shù)據(jù)文件太大,這一點(diǎn)在遇到大型電路的時(shí)候會(huì)很耗時(shí)(不知道最新版本改進(jìn)這一點(diǎn)沒(méi)有,鄙人沒(méi)有用過(guò)最新版的spectre)。hspice仿真之前可以自己選定所要查看的節(jié)點(diǎn),這樣做就可以減少仿真時(shí)間和減小數(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仿真,最重要的是寫(xiě)好testbench(貌似這句是廢話)。

  關(guān)于電路的修改,這部分其實(shí)不好總結(jié),因?yàn)槊恳豢钚酒加胁煌膮?shù),所要修改的地方都不太一樣,我所知道的是,必定要考慮修改的地方往往都是有關(guān)模擬電路的,例如,時(shí)鐘振蕩、復(fù)位電路、開(kāi)漏輸出管、帶隙等,修改的目的是為了與當(dāng)前所選用的工藝適配,以滿足芯片datasheet的參數(shù)要求。另外,數(shù)字部分的電路其實(shí)一般來(lái)說(shuō)是不需要修改的,但有時(shí)為了節(jié)省版圖面積,會(huì)縮小寄存器管子的尺寸,畢竟縮小一個(gè),就等于縮小了幾十個(gè)。這一階段其實(shí)是一個(gè)不斷的迭代過(guò)程,它要和版圖繪制結(jié)合起來(lái),這樣才能夠保證芯片功能和性能的完整。

【干貨】芯片反向設(shè)計(jì)流程

  電路仿真

  版圖繪制

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



關(guān)鍵詞: 芯片 IC設(shè)計(jì)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉