日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于ChipSmith的逆向(反向)模拟IC设计流程

發(fā)布時(shí)間:2023/12/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于ChipSmith的逆向(反向)模拟IC设计流程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

概述

工具本實(shí)驗(yàn)指定下載來源
PDKCSMC 工藝庫一套(本流程中采用st02)eetop
反向提取工具Chipsmith百度上有
系統(tǒng)

①Windows系統(tǒng),運(yùn)行Chipsmith

②Linux系統(tǒng),運(yùn)行Cadence

仿真工具Cadence ic5141eetop



學(xué)習(xí)本流程的前提
需要能夠掌握cadence環(huán)境的啟動(dòng)和新建原理圖這兩項(xiàng)基本操作。

反向提取的目標(biāo):一個(gè)D觸發(fā)器的物理實(shí)物版圖照片


流程總框圖


一、提圖準(zhǔn)備
我們使用上華的csmc PDK其中的st02庫(可以不按照官方說明安裝PDK,直接在library manager里面導(dǎo)入st02即可)
1、將st02的所有元件的symbol放入一個(gè)新建的schematic(這里取名叫edif)中,如下:

放完后,點(diǎn)擊左邊的check and save(或者用快捷鍵shift+x)然后上圖中各個(gè)器件的引腳的邊框都會(huì)變黃,同時(shí),會(huì)有警告(warning)窗口出現(xiàn),因?yàn)槲覀冎恍枰骷姆?hào)圖,所以對(duì)警告不予理會(huì)。
2、依次點(diǎn)擊Design=>Creat Cellview => From Cellview后出現(xiàn)如下對(duì)話框:


3、不予理會(huì),什么都別動(dòng),直接選擇OK,然后出現(xiàn)下面的對(duì)話框:


4、還是什么都不做,直接選擇OK,出現(xiàn)如下對(duì)話框:

保存后并關(guān)閉即可。
5、

檢查上圖中edif是否在右邊多了一種View:symbol
如果還是只有schematic一種view,請(qǐng)返回到前續(xù)步驟檢查是否有操作遺漏。

6、接下來依次選擇Cadence啟動(dòng)界面中的File => Export =>EDIF200

點(diǎn)擊Browse ,


選擇剛才生成的edif文件的View:symbol,用回車鍵Enter確定。
然后下面取個(gè)自己喜歡的名字

我想說的是,上面的Technology File最好指定一下,如果沒有,就自己制作一個(gè),放到Cadence啟動(dòng)路徑下,然后指定明確的自己制作的tf,否則,使用這個(gè)default.tf文件,在后期可能會(huì)有莫名其妙的問題如下填寫效果最佳:

之后便可在Cadence的啟動(dòng)目錄路徑下找到chongming.out
注意,此步結(jié)束不代表就真的結(jié)束了,必須查看Cadence啟動(dòng)路徑下的edifout.log,如果log不報(bào)錯(cuò),顯示類似如下:

則表示導(dǎo)出EDIF文件順利。

7.回到Windows,打開Chipsmith軟件(軟件在網(wǎng)上有下載)
我們依次選擇“文件=>新建工程”
然后取名為Chongming_Dff_learn

單擊上、下兩個(gè)“確定“即可。

8、還記得我們從Cadence里面導(dǎo)出的EDIF 200文件嗎?
現(xiàn)在立刻就要用到了
依次選擇“工具=>導(dǎo)入EDIF符號(hào)圖庫”


然后點(diǎn)擊下方的箭頭處

選擇我們的勞動(dòng)果實(shí):chongming.out(即之前提到的EDIF文件)

單擊打開。
然后選定庫,再選擇確定,就會(huì)出現(xiàn)如下提示:

操作完st02后,也要對(duì)basic庫選中后,繼續(xù)重復(fù)如上步驟,操作一遍(不可偷懶省略),直到出來上方的成功導(dǎo)入的提示為止。?
然后點(diǎn)擊右上方的“X”,關(guān)掉整個(gè)大對(duì)話框即可。

9、單擊版圖編輯


?
這里解釋下,實(shí)際工作中是不會(huì)出現(xiàn)這個(gè)的,因?yàn)闀?huì)有芯片照片作為背景,此處我們由于沒有芯片照片,故采用書上的版圖照片來代替,以方便學(xué)習(xí)逆向流程。

10、下面以觸發(fā)器為例子,進(jìn)行提圖練習(xí):
好,進(jìn)入chipsmith的“版圖編輯”后,我們開始對(duì)下面的這個(gè)版圖進(jìn)行提圖,

說明下:實(shí)際工作中,背景是實(shí)際的芯片照片,不會(huì)像現(xiàn)在這樣漆黑一片的。我們的核心任務(wù)就是:依葫蘆畫瓢。
11、以下是METAL2、METAL1、POLY和Subtrate(襯底以及肼)的位置,務(wù)必精確記憶,層與層之間的接觸孔的叫法都是行業(yè)規(guī)矩,不得肆意更改叫法,平時(shí)就要養(yǎng)成習(xí)慣。

12、制作符號(hào)器件(這是為了后續(xù)操作讓Cadence可以識(shí)別)
首先設(shè)置好右邊的控制面板(右邊的許多黑色橢圓,自己如果理解不透徹的話,請(qǐng)先按照我說的設(shè)置),如下,可用鼠標(biāo)改變控制面板的大小,方便觀看。

我們選擇BLACKBOX這一層來制作器件,首先回顧和復(fù)習(xí)常用操作:
Ctrl+Z放大
Shift+Z縮小
P 畫長條矩形(常用來畫連線)
R 用來畫矩形
U 撤銷上一步操作
C復(fù)制對(duì)象(可以是chipsmith里面的任何東西)
F 使視圖大小適中
Ctrl+D取消選定
Ctrl+S選定對(duì)象
Shift+L根據(jù)名字搜索器件
Shift+N創(chuàng)建新器件
Shift+D擺放器件
關(guān)于快捷鍵編輯:

選擇工具=>編輯=>熱鍵設(shè)置

上圖中自己設(shè)置時(shí),是可以直接全部小寫輸入的。
好,下面我們開始制作MOS管,按R鍵,畫好四個(gè)方塊(因?yàn)閙os有四個(gè)電極,對(duì)于其余器件也是一樣,有幾個(gè)電極就做幾個(gè)方塊)

按下R,之后一起按下Shift+N,此時(shí)

在左上方的A點(diǎn)鼠標(biāo)左鍵單擊一下,然后松手就會(huì)發(fā)現(xiàn)有邊框隨著鼠標(biāo)的移動(dòng)而變化,把鼠標(biāo)移動(dòng)到右下方,記住把4個(gè)小框框都圈住,(此步操作的含義是表示這四個(gè)小方框,也就是四個(gè)電極都屬于整個(gè)器件。灰色的大方框代表器件的有效范圍。)然后再在B處再鼠標(biāo)左鍵單擊一下,出現(xiàn):

選擇導(dǎo)入,選擇要做的器件的名字:

如果我要做電阻就選rhr1k.1或者rhr2k.1,然后選擇打開,這時(shí),下圖的右上方就會(huì)出現(xiàn)圖形,圖形有時(shí)候會(huì)很奇怪,比如少了電極之類的,此時(shí)要檢查前面的步驟是否誤操作。


然后在庫單元輸入與符號(hào)圖名稱完全一致的名字mn,注意不要偷懶粘貼復(fù)制符號(hào)圖名稱中的東西,最好手動(dòng)輸入,否則可能會(huì)導(dǎo)致莫名其妙的錯(cuò)誤。然后選好左邊每個(gè)小方框(也就是電極)對(duì)應(yīng)的名稱,這個(gè)自己想怎么選就怎么選,別重復(fù)就好,無論何種電路,引腳類型一律Bidir,最后選擇確定。

不小心做得有點(diǎn)拉風(fēng)了。。。。其實(shí)我在公司里做得是很好看的。。。


然后重復(fù)上述步驟做出pmos。
由于我們提取反相器只需要mos管,所以不再做更多的器件。

也許讀者會(huì)問,既然只用兩種管子,讓讀者當(dāng)初把所有的元器件放到一個(gè)schematic里面,然后導(dǎo)出EDIF文件,那么麻煩干什么?既然我們提圖只用兩種mos,為什么不只放兩種器件,然后直接導(dǎo)出EDIF就了事了呢?
來日方長嘛,以后讀者說不定就會(huì)提取別的電路,要用到除了mos管以外的器件,第一次就把EDIF文件做大做全,以后就不需要再次導(dǎo)出EDIF文件了,進(jìn)入chipsmith就可以果斷開始提圖,不需要切換到linux系統(tǒng)了,省時(shí)省力。
?

打開曾慶貴老師的《集成電路版圖設(shè)計(jì)》246頁圖9-13

這里有人會(huì)有疑問,我為啥要照著書本畫版圖???

因?yàn)槲覀儧]有實(shí)際的芯片(當(dāng)前其實(shí)我是有的,不方便放出來,會(huì)被起訴的)

所以下面的插圖中你會(huì)看到背景都是黑色的(實(shí)際中都是芯片剖面),實(shí)際情況中,你是按照芯片剖面來放置器件和連接的,這個(gè)過程就稱為"提圖"。

完全手動(dòng)操作,因此不適用于大規(guī)模數(shù)字集成電路。

接下來就有點(diǎn)馬拉松了。。。。耐心畫。
好了,先設(shè)置下步進(jìn)距離。這個(gè)是對(duì)于使用rl+Z和Shift+Z的大、縮小倍數(shù)感到不舒適時(shí)所需要調(diào)節(jié)的。
方法如下,選擇上方的“選項(xiàng)=>顯示=>設(shè)置窗口步進(jìn)距離”
然后記得設(shè)置好想用的快捷鍵,翻轉(zhuǎn)器件之類的,這個(gè)在chipsmith的用戶手冊(cè)中第20頁有詳細(xì)記載,這里不再贅述。
提圖時(shí),由于這里我們只有一張紙,我們看不見襯底,為了方便,我們假定所有MOS的S、B短接,而在實(shí)際中,對(duì)于Power類IC在(本流程的第11步驟中有詳細(xì)框圖),注意,實(shí)際中要看得很仔細(xì),是不能輕易認(rèn)為S、B短接的,要仔細(xì)判定。這里是由于條件所限,所以我們才做如此假定。


二、開始提圖


明確概念:多晶硅跨越有源區(qū)形成MOS管。(哪怕是寄生的,也是MOS管)
由于我們沒有實(shí)際的芯片照片,只好一邊看書一邊提圖了,大概說些提圖的重點(diǎn):
我們知道,MOS的器件制作中,有四個(gè)小方塊,表示四個(gè)電極,當(dāng)金屬條或者多晶硅連到這些方塊時(shí),
即表示該電極被金屬條連接。對(duì)于不同的金屬條之間的連接,要用不同的接觸孔,比如M2和M1的接觸孔是VIA1,M1和POLY的接觸孔為CONTACT,如果M2和POLY連接,那么就只能設(shè)法先和M1連接,M1再和POLY連接了,也就是說此時(shí)需要兩個(gè)接觸孔和多添加一個(gè)M1,才能讓M2和POLY連接了。
如果M1和M1粗心交叉,即使初衷并不認(rèn)為他們是短接的,軟件也會(huì)認(rèn)為他們短接。所以畫交叉的兩個(gè)金屬條時(shí)要小心。
下圖中,深灰色的為POLY,黑色方框的為金屬條,方塊為接觸孔,灰色方框的為有源區(qū)。
請(qǐng)仔細(xì)提圖,否則會(huì)導(dǎo)致后續(xù)整理線路時(shí)的混亂。
可以先放置器件再連線,或者先連線后放置器件,也可以一邊放器件,一邊連線。
提圖時(shí),器件種類的判斷不要搞錯(cuò)。
另外,由于我們練習(xí)條件有限,提圖中的管子的寬、長不做測(cè)量要求。

對(duì)著上面的圖(假設(shè)這個(gè)是真實(shí)芯片版圖,因?yàn)槲抑皇菍憘€(gè)流程,不可能真的把芯片版圖照片放出來,會(huì)有法律問題),在前序步驟已經(jīng)做好器件的條件下,一邊對(duì)著版圖(實(shí)際中是芯片的照片),一邊在chipsmith中提圖(在實(shí)際中,芯片照片將會(huì)代替chipsmith黑色的背景)

提完后,我們選擇后邊的控制板中的WORKUNIT


按R,然后對(duì)整個(gè)提圖畫一個(gè)大方框(必須包含所有自己的成果),即比原來多了一個(gè)很大的黃色方框

然后同時(shí)按Ctrl+D,然后同時(shí)按下Ctrl+S,進(jìn)行如下操作選中黃色框:

如上操作,即可選中框圖(這個(gè)操作代表選中了所有東西),然后同時(shí)按下Ctrl+E(這個(gè)需要在快捷鍵中提前設(shè)置好,本流程的前面有詳細(xì)說明)

然后仔細(xì)填寫如下:

然后在上圖的E:\Chongming_Dff_learn處我們得到y(tǒng).edf

三、回到Cadence


由于windows系統(tǒng)中得到的y.edf中包含有回車鍵(行末結(jié)束符)

而Linux下面的回車鍵的行末結(jié)束符的ASCII編碼與windows下面的不同,所以導(dǎo)入y.edf后,在linux中打開會(huì)發(fā)現(xiàn)一大堆^M,需要進(jìn)行清理,
所以,我們把y.edf在終端中進(jìn)行轉(zhuǎn)化:
dos2unix y.edf
然后把它放入Cadence ic5141的啟動(dòng)路徑下(此步驟必做),將我們的提圖成果導(dǎo)入Cadence,在Cadence的啟動(dòng)界面中,選擇File=>Import=> EDIF 200
出現(xiàn)如下界面

填寫如上,然后點(diǎn)擊OK,如果導(dǎo)入失敗,查看edifin.log
注意,本流程的前序步驟里也有個(gè)與EDIF文件相關(guān)的操作,請(qǐng)進(jìn)行比較:
前面是:File=>Export=>EDIF 200
現(xiàn)在是:File=>Import=>EDIF 200
還記得我們?cè)谙旅娴奶顚憜?#xff1f;

我們?cè)谏厦嬷袑懥薬,那么到Cadence下的library就叫a,我們?cè)谏厦鎸懥藋,那么到了Cadence中的原理圖就叫y了。
然后我們復(fù)制y的東西到另外一個(gè)原理圖(如下),可以看到它是零散的一堆器件。
但是其實(shí)它是有連接關(guān)系的(仔細(xì)點(diǎn)看可以發(fā)現(xiàn)下面圖中每個(gè)引腳都有一條短線)

四、獲取電路功能


請(qǐng)?jiān)O(shè)置好Cadence快捷鍵,令大鍵盤的數(shù)字9高亮同名線網(wǎng),0取消同名線網(wǎng)。
之后需要憑借我們的電路知識(shí)、高亮網(wǎng)絡(luò)標(biāo)號(hào)相同的連線(也就是前面提過的,利用大鍵盤上的數(shù)字0和數(shù)字9),將整理線路圖為合理的形式,如下:

最后,不斷對(duì)電路進(jìn)行分析、仿真和參數(shù)的調(diào)整,我們可以得到:
這是一個(gè)CP上升沿有效觸發(fā)的主從D觸發(fā)器;
R=1時(shí),清零;
CP下降沿時(shí),主觸發(fā)器讀取數(shù)據(jù),而從觸發(fā)器進(jìn)行數(shù)據(jù)鎖存
至此,IC逆向工程的前端工作已經(jīng)全部完成。

總結(jié)下流程:

1.一個(gè)芯片賣的很好,我想反向它,我交給第三方機(jī)構(gòu)把照片(這里我們是純黑背景)拍出來,導(dǎo)入ChipSmith.

2.工藝庫的器件從cadence導(dǎo)入到Chipsmith

3.照著chipsmith背景中的照片放置器件,連接所有器件之間的連線(教程中是以D觸發(fā)器為例)

4.Chipsmith的文件導(dǎo)入到Cadence,此時(shí)導(dǎo)入的文件已經(jīng)包含了芯片中的所有器件和連接關(guān)系,這些連接關(guān)係都是你在上一步驟中的chipmisth連接完成的.

5.猜測(cè)和整理哪些晶體管會(huì)組成哪些模塊,根據(jù)用戶手冊(cè)給你的信息,調(diào)試各個(gè)模塊。

例如,NPN/PNP出現(xiàn)的地方,極有可能是帶隙基準(zhǔn)模塊BandGap。

整理電路圖遵循的原則:

從VDD開始整理到GND,一定是從上往下原則,而不是從左往右原則。

整理電路需要最基本的數(shù)電模電知識(shí),如果連數(shù)模電都沒學(xué)習(xí)過,基本的電路模塊都不認(rèn)識(shí),是不可能整理線路圖的.

消耗時(shí)間:

5000數(shù)量晶體管左右的PowerIC一般單人提圖需要耗時(shí)一到兩周。

實(shí)際提圖中采用兩到三人提取線路圖,然后各自網(wǎng)表導(dǎo)出,利用Calibre的LVS功能進(jìn)行SVS功能的校對(duì)。

SVS的意思就是原本是LVS的功能,把版圖網(wǎng)表替換為電路網(wǎng)表,這樣就能對(duì)照兩個(gè)人提取線路圖的差異了。

違法問題:

主要是版圖不能完全按照原來的畫,如果完全按照原來的畫,是會(huì)有訴訟的。

但是powerIC因?yàn)闆]有太多市場(chǎng)價(jià)值,所以自己畫得隨意些,也不會(huì)對(duì)量產(chǎn)成品率有太大影響。

如果是RFIC,那盡量還是照著原來的畫.

工藝辨別問題:

你最終用的是自己 的pdk,

對(duì)方使用的是自己選擇的pdk.

你可以在chipsmith用軟件中自帶的尺子去量多晶硅的寬度是多少,

例如是0.5um,那么就是0.5um工藝.

但是即便如此,0.5um的半導(dǎo)體工藝多了去了,不同的工藝摻雜不同, IV曲線也就不同,需要你自己調(diào)試.

該流程適用范圍

①RFIC

②模擬IC

③數(shù)模混合信號(hào)IC

0.18um以上比較適合.

該流程不適用

純數(shù)字電路,這種一般需要HDL去電路綜合,超過一萬晶體管的電路不要自己瞎搞.提取出來的電路的時(shí)序極大概率是錯(cuò)誤的.

注意事項(xiàng)

不要迷戀所謂的芯愿景公司去給你的數(shù)字芯片提圖,花一大筆錢,提圖效果不保證的.

這里的效果特指數(shù)字電路的時(shí)序.

如果你經(jīng)驗(yàn)豐富,你會(huì)知道有些數(shù)字電路的信號(hào)就是窄脈沖,控制的非常好,

這些窄脈沖在你提取線路圖以后很可能因?yàn)檠訒r(shí)問題而消失,你查都查不出來.

(因?yàn)槟阌玫膒dk和生產(chǎn)該芯片所用的pdk不是一個(gè)pdk,每個(gè)器件的延時(shí)都會(huì)不一樣,直接導(dǎo)致整個(gè)時(shí)序電路失效.)

反向一個(gè)芯片前一定要找有經(jīng)驗(yàn)的老手做好最基本的最起碼的判斷再下手.


后記


完成前端工作后,需要配合工藝工程師討論電路是否有可能在需要采用的工藝中實(shí)現(xiàn),如果可能,將線路交給版圖工程師,并且指導(dǎo)版圖工程師關(guān)于版圖的布局等操作,版圖工程師完成版圖后,需要對(duì)版圖和線路圖進(jìn)行后端驗(yàn)證工作,必做的有LVS、DRC和ERC。同時(shí)根據(jù)實(shí)際需要決定是否對(duì)芯片提取PEX寄生參數(shù)、進(jìn)行后版圖仿真。
? ? 上述工作完成后,版圖工程師生成芯片版圖的GDSII格式的數(shù)據(jù)文件,并將數(shù)據(jù)發(fā)送給晶圓代工廠進(jìn)行流片,流片完成后,將所得裸片,根據(jù)線路工程師設(shè)計(jì)的打線圖,交由封裝廠進(jìn)行封裝,并將封裝完成后的芯片交回原IC設(shè)計(jì)公司的測(cè)試部門進(jìn)行測(cè)試,良品率較高后,賣給芯片代理商,如果良率不夠,那么需要檢查工藝角仿真(SS,TT,TS,ST,NN等工藝角,不同PDK的工藝角會(huì)略有區(qū)別)。而芯片代理商則把芯片賣給PCB級(jí)別的應(yīng)用工程師,應(yīng)用工程師利用芯片,設(shè)計(jì)合適的外圍電路,再配合機(jī)械工程師設(shè)計(jì)合適的塑料外罩模具,最終做成家電、軍工等產(chǎn)品,最終賣給老百姓、軍隊(duì)等。

總結(jié)

以上是生活随笔為你收集整理的基于ChipSmith的逆向(反向)模拟IC设计流程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。