4affirma analog artist design flow -...

27
CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process Page 1 4Affirma Analog Artist Design Flow Getting Started 1. 登入工作站: Username : trainaXX Password : train0XX 其中 XX 代表工作站名字的號碼,例如工作站名字叫做 traina01 的話,XX 就是 012. 先確定是否進入 Solaris 作業系統的 Common Desktop EnvironmentCDE)的視窗環 境,如果沒有進入的話,請和 CIC 人員聯絡。 3. 清除工作站上所有目錄與設定 CIC 工作站環境: unix% \rm -rf * unix% /user/local/bin/cicsetup 4. 離開並重新登入工作站。 5. 將本實驗課程目錄解開至目前的帳號中: unix% cp /cad2/lab/MSS/MSS_lab.tgz ~/ unix% cd ~ unix% gzip –cd MSS_lab.tgz | tar xvf - Starting Design Framework II Environment 1. 首先檢查 license 的設定,在 UNIX 環境下執行: unix% source /usr/cadence/cic_setup/ldv.cshrc unix% source /usr/cadence/cic_setup/ic.cshrc unix% env | grep LM_LICENSE_FILE 檢查是否有類似LM_LICENSE_FILE=5280@<license_server_name> 其中 license_server_name license server 工作站的名字。 2. 設定 Editor 的設定,在 UNIX 環境下執行: unix% setenv EDITOR textedit 3. 進入 icfb 目錄下鍵入 icfb 來啟動 Cadence 軟體。 unix% cd ~/MSS_Lab/icfb unix% icfb&

Upload: others

Post on 27-Oct-2019

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 1

4Affirma Analog Artist Design Flow Getting Started

1. 登入工作站:

Username : trainaXX

Password : train0XX

其中 XX 代表工作站名字的號碼,例如工作站名字叫做 traina01 的話,XX 就是 01。

2. 先確定是否進入 Solaris 作業系統的 Common Desktop Environment(CDE)的視窗環

境,如果沒有進入的話,請和 CIC 人員聯絡。

3. 清除工作站上所有目錄與設定 CIC 工作站環境:

unix% \rm -rf *

unix% /user/local/bin/cicsetup

4. 離開並重新登入工作站。

5. 將本實驗課程目錄解開至目前的帳號中:

unix% cp /cad2/lab/MSS/MSS_lab.tgz ~/

unix% cd ~

unix% gzip –cd MSS_lab.tgz | tar xvf -

Starting Design Framework II Environment 1. 首先檢查 license 的設定,在 UNIX 環境下執行:

unix% source /usr/cadence/cic_setup/ldv.cshrc

unix% source /usr/cadence/cic_setup/ic.cshrc

unix% env | grep LM_LICENSE_FILE

檢查是否有類似LM_LICENSE_FILE=5280@<license_server_name>, 其中 license_server_name 是 license server 工作站的名字。

2. 設定 Editor 的設定,在 UNIX 環境下執行:

unix% setenv EDITOR textedit

3. 進入 icfb 目錄下鍵入 icfb 來啟動 Cadence 軟體。

unix% cd ~/MSS_Lab/icfb

unix% icfb&

Page 2: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 2

Building the CHIP Design 本實驗課程採用 6Bits DAC 設計來介紹 Mixed-Signal IC 設計流程。

Building the Supply Circuit 簡化模擬電路時所需要之電壓源。

1. 在 Library Manager 中,執行 File New Cellview…,依下列設定 Create New File視窗,完成後按 OK:

Library Name Training Cell Name Supply View Name Schematic Tool Composer – Schematic

2. 加入元件建立如下所示的 supply schematic,完成後 Check and Save。

Library Name Cell Name PROPERTIES/COMMENTS analogLib vdc For V0: DC voltage = 3.3 V analogLib vdc For V1: DC voltage = 0 V analogLib gnd

Creating the Supply Symbol 1. 在 supply schematic 視窗中,選擇 Design Create Cellview Form Cellview 後,在

Cellview From Cellview 視窗中,按 OK。 2. 修改 symbol 視窗內容如下所示,即可存檔離開:

Page 3: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 3

Verilog In 利用 Verilog In 建立 6Bits DAC 的設計。

1. 在 CIW 中,執行 File Import Verilog 讀入 Verilog netlist,在 Verilog In form 中做

以下設定後按 OK:

Target Library Name Training Reference Library tcb773p tpz773pn tpz773pn_analog_100a analog Verilog Files To Import CHIP.v DACtop.v -f Option vlogIn.f Power Net Name vdd! Ground Net Name gnd!

2. 幾分鐘後執行完畢,在跳出的對話盒按 Yes,觀看 Verilog In 的結果,是否所有的 module都可以在 library 上找到對應。

3. 離開 Log window。

Creating the Behavioral View of Digital Block IMatrix8x8 為類比部分,其餘均為數位部分。

1. 在 Library Manager 中,執行 File New Cell View…,在 Create New File 視窗做

以下設定後按 OK: Library Name Training Cell Name mux2 View Name behavioral Tool Verilog – Editor

2. 出現一 Text Editor 視窗,複製 DAC.v 中 mux2 module 的 verilog code 到此 Text Editor視窗,儲存後關閉此視窗。

3. 檢視 CIW 中有無錯誤訊息,若 CIW 中有錯誤訊息,在 HDL Parser Error 視窗中,按

Yes 來修正 verilog 語法,直到 CIW 中無錯誤訊息為止。 4. 重複 1-3 步驟,完成 BintoTherm、count6、latch1x6 與 latch1x7 電路的 behavioral view。

Creating the Schematic View of Analog Block 提供類比部分的 Library 為 analog。

1. 在 Library Manager 中,複製 analog 中 IMatrix8x8 的 schematic view 至 Training 中

IMatrix8x8 的 schematic view。 2. 在 Library Manager 中,複製 analog 中 IMatrix8x8 的 symbol view 至 Training 中

IMatrix8x8 的 symbol view。

Page 4: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 4

Building the CHIPTest Circuit 1. 在 Library Manager 中,執行 File New Cellview. 2. 依下列設定 Create New File 視窗,完成後按 OK:

Library Name Training Cell Name CHIPTest View Name schematic Tool Composer – Schematic

3. 加入元件建立如下所示的 CHIPTest schematic,完成後 Check and Save。

Library Name Cell Name PROPERTIES/COMMENTS Training DACtop Training supply analog signal PER=8n analogLib vpulse For V0: Voltage1=3.3v; Voltage2=0v; Delay time=1.5ns;

Rise time=10ps; Fall time=10ps; Pulse width=1.99ns; Period=4nsanalogLib vdc For V1: DC voltage = SEL analogLib vpwl For V2: DC voltage = 0; Time1=10ns Voltage1=0v; Time2=10.1ns

Voltage2=3.3v analogLib res Resistance=75Ohms

Page 5: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 5

analogLib cap Capacitance=5pF analogLib vdd analogLib vss analogLib gnd

Creating a Configuration File with the Hierarchy Editor 1. 在 Library Manager 中,執行 File New Cell View…,在 Create New File 視窗做

以下設定後按 OK: Library Name Training Cell Name CHIPTest View Name config Tool Hierarchy – Editor

2. 在 New Configuration 視窗中,選擇 Use Template…後,出現 Use Template 視窗,選

擇 Name:spectreVerilog 後按 OK,回到 New Configuration 視窗,在 View:內填入

schematic 後,按 OK。 3. 在 hierarchy editor 視窗中,詳列出 CHIPTest 所使用到 Cell 的 View Found,檢查 View

Found 是否全部顯示黑色。 4. 在 hierarchy editor 視窗中,將 BintoTherm、mux2、count6、latch1x6 與 latch1x7 的

View Found 用滑鼠右鍵選擇 View 為 behavioral 後,在 View to Use 內出現 behavioral。 5. 在 hierarchy editor 視窗中,執行 View Update(Needed)後,再執行 File Save 來完

成 config 設定。

Running a Simulation 1. Open Design:

在 hierarchy editor 視窗中,按 Open 來開啟 Top Cell 的 schematic view,並且不要關閉

hierarchy editor 視窗。

2. Starting the Simulation Environment:

在 CHIPTest 的 schematic 視窗中,執行 Tools Analog Environment,出現 Affirma Analog Circuit Design Environment(簡稱 Artist)視窗。

3. Choosing a Simulator: 在 Artist 視 窗 中 , 執 行 Setup Simulator/Directory/Host… 後 , 在 Choosing Simulator/Directory/Host 中,選擇 Simulator 為 spectreVerilog 後,按 OK。

4. Setting the Model Libraries: 在 Artist 視窗中,執行 Setup Model Libraries…後,在 Model Library Setup 中,填入

Page 6: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 6

後,按 Add 以加入於 Model Library File 欄中,在填入

後,按 Add 以加入於 Model Library File 欄中,再按 OK,完成設定。

5. Choosing Analyses: 在 Artist 視窗中,執行 Analyses Choose…,在 Choosing Analyses 中,選取 tran 分析,

Stop Time 設定 300n 並選取 Enabled 後,按 OK。 6. Setting Design Variables:

在 Artist 視窗中,執行 Variables Copy From Cellview 後,會在 Design Variables 出現

SEL 與 PER 兩個變數,用滑鼠連兩次點選 SEL 後,設定值為 0 後,按 OK。相同設定

PER 值為 8n。 7. Saving Simulation Data:

在 Artist視窗中,執行 Output Save All…後,出現 Save Options 視窗,確定 Select signals to output (save)為 allpub 後,按 OK。

8. Saving Outputs for Plotting: 在 Artist 視窗中,執行 Output To Be Plotted Select On Schematic,點選 Tclk、Tsel、Treset、TBin<5:0>與 TY 後,按 ESC 跳出 schematic 視窗。

9. Viewing the Netlist: 在 Artist 視窗中,執行 Simulation Netlist Recreate,顯示階層的 Netlist,請檢視內

容有無錯誤,若無,將 Netlist 視窗關閉。 10. Running the Simulation:

在 Artist 視窗中,執行 Simulation Netlist and Run,開始模擬,完成後會顯示模擬過

程紀錄文字檔與 AWD 波形圖。AWD 視窗中會出現如下所示波形。

Page 7: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 7

Prepare Analog Block Data for SE Prepare Layout

1. 利用 Virtuoso 完成 analog 中 IMatrix8x8 的 Layout view 後,在需要產生輸入輸出 pin 腳

(包含 analog power pin 腳)處,打上 Metal pin 的 Label (請注意:2P4M 的 Label 是用

各個 Metal 之 pin layer,而不是 Text drawing layer,與 1P4M 不同)。

2. 進入 abstract 目錄。

unix% cd ~/MSS_Lab/abstract

3. 複製 tech352P4M.dpux 為 tech.dpux。

unix% cp tech352P4M.dpux tech.dpux

4. 建立一個目錄 (T352P4M) 為 Abstract Generator 之 library。

unix% mkdir T352P4M

5. 利用 vi 或 texteditor 修改 tech.dpux 裡頭的 Library path,如下:

(DEFLIBPATH

(LIBPATH T352P4M ~/MSS_Lab/abstract/T352P4M )

ENDDEFLIBPATH)

(建議在定義 Library path 時,使用絕對路徑)

6. 在 UNIX 環境下執行 abstract 來啟動 Abstract Generator。

unix% abstractor –tech . &

7. 在 Abstract Generator 程式中,執行 File Library,注意:此時 Layout 和 Logical 按鍵

被 enable。

Page 8: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 8

8. 在 Abstract Generator 程式中,執行 File Import Stream(GDSII),在 GDSII Filenames中,填入

後,按 OK,以 import analog block file (IMatrix8x8.gds)。 9. 在 Abstract Generator 程式中,選擇 Bin Menu 之 Core 再選擇 Cell Menu 之 IMatrix8x8,

此時在 Cell Menu 中,IMatrix8x8 的 Layout 欄打勾表示成功 import analog block (如出

現驚嘆號!代表有 warning 訊息);執行 Cells Move,選擇 Block 然後按 OK。

此時 IMatrix8x8 將在 Bin Menu 中,從 Core 移到 Block。

10. 在 Abstract Generator 程式中,執行 Flow Pins,填入

Page 9: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 9

按 Run。

11. 在 Abstract Generator 程式中,執行 Flow Extract,直接按 Run。

12. 在 Abstract Generator 程式中,執行 Flow Abstract,直接按 Run。

Page 10: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 10

13. 在 Abstract Generator 程式中,執行 Flow Verify,直接按 Run。

Page 11: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 11

14. 在 Abstract Generator 程式中,執行 Flow Export LEF,在 Export LEF 中填入

後,按 OK 以 Output LEF 檔案(SE P&R needed)。在 abstract 目錄下會得到一

IMatrix8x8.lef 檔案,修改此檔案只留下 MACRO 以後文字部分。

Using Silicon Ensemble

Starting the Silicon Ensemble Ultra 1. 進入 Silicon Ensemble 目錄

unix% cd ~/MSS_Lab/se 2. 在 UNIX 環境下執行 seultra 來啟動 Silicon Ensemble Ultra 程式。

unix% seultra –m=800 &

Imorpt LEF Files 1. 在 Silicon Ensemble 程式中,執行 File Import LEF,在 Import LEF form 中的 Directory

and File List 欄位中在 LEF 上連點兩下,並選擇 tcb773p_4lm-cic.lef 這一個檔案,然後按

OK。

2. 當程式執行完畢之後,在 UNIX terminal 中利用 vi 或 text editor 察看 importlef.rpt 檔案的最

後面部分,是否有 error message?

3. 用步驟 1 的方式把 tpz773pn_4lm-cic.lef、tpz773pn_analog_4lm.lef、IMatrix8x8.lef 檔案

Import 到 SE 中,如果 SE 詢問要不要覆蓋 importlef.rpt,回答 Yes。

Generate Verilog In Reference Libraries 1. 由於在 APR 結束之後需要把最後的 verilog 寫出 (不管有沒有做 CTGen 或 timing

Page 12: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 12

place&route),而 export verilog 必須要有 timing library (包含 standard cell, IO pad, analog block),所以 APR 一開始的 import timing library(environment.gcf)變成必要的步驟;先利用

tlfEncrypt 指令 compile IMatrix8x8.tlf。

unix% cd ~/MSS_Lab/se/tlf

unix% /usr/cadence/DSMSE/cur/tools/tlfUtil/bin/tlfEncrypt

IMatrix8x8.tlf IMatrix8x8.ctlf

2. 執行 File Import Timing Library,選擇 environment.gcf,然後按 OK。檢查是否有使

用到的 Cell、IO Pad、Analog Block 等未被 import timing library。

3. 在 Silicon Ensemble 程式中,執行 File Import Verilog,首先注意在 Import Verilog form中的 Power Nets 以及 Ground Nets 欄位中,有那些 net name?Logic 1 Net 以及 Logic 0 Net是那些?Special Nets 有那些?

4. 在 Import Verilog form 的 Verilog Source Files 欄 位中填入 tcb773p.v tpz773pn-cic.v tpz773pn_analog-cic.v IMatrix8x8.v filler.v,Compiled Verilog Output Library 欄位中填入

cds_vbin,Verilog Top Module 欄位與 Compiled Verilog Reference Libraries 欄位保持空白,

在 Options form 的 Power Nets 欄位中新增 TAVDD,在 Ground Nets 欄位中新增 TAVSS,在

Special Nets 欄位中新增 TAVDD TAVSS,然後按 OK。當程式執行完畢之後,觀察 se 目錄

下是否多了一個名為 cds_vbin 的子目錄?另外觀察新增的檔案 cds.lib 的內容。

Import a Verilog Design 1. 觀察 CHIP.v 檔案內容:

unix% more CHIP.v

須修改檔案內容包含了所有的 IO pad 與 4 個 CORNER pad。

2. 在 Silicon Ensemble 程式中,執行 File Import Verilog,用滑鼠按一下 Verilog Source Files 欄位旁邊的 Browse 按鈕來叫出 Import Verilog File form,首先在 Filter 欄位中填入*.v,再按 Enter,接下來檢查 Selected Files 欄位是不是空的,如果不是的話,用滑鼠將 Selected Files 欄位中的檔案全部選起來,再按 Del 鍵來移除檔案;然後在 Directory and File List 欄

位中用滑鼠選擇 CHIP.v 以及 DACtop.v 等兩個檔案後,再按 Add 按鈕來加入檔案。接著檢

查 Selected Files 欄位,確認其中只有 CHIP.v 以及 DACtop.v 兩個檔案。最後按 OK。

3. 在 Import Verilog form 中,在 Verilog Top Module 欄位填入 CHIP,在 Compiled Verilog Reference Libraries 欄位中填入 cds_vbin,在 Compiled Verilog Output Library 欄位中填入

CHIP_v,在 Options form 的 Power Nets 欄位中新增 TAVDD,在 Ground Nets 欄位中新增

TAVSS,在 Special Nets 欄位中新增 TAVDD TAVSS,最後按 OK。

Page 13: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 13

Initialize Floorplan 1. 在 Silicon Ensemble 程式中,執行 Floorplan Initialize Floorplan…,在 Initialize Floorplan

form 中的 Design Statistics window 中,先觀察 design 中包含多少 cell、IO pad、以及多少個

block,另外也觀察 design 中,cell area、block area、IO pad area 分別是多少。

2. 在 Initialize Floorplan form 中的 I/O To Core Distance 部分,設定 Left/Right distance 以及

Top/Bottom distance 為 100 microns。這是數位電路 power ring 的空間。

3. 在 Initialize Floorplan form 中的 Core Area Parameters 部分,設定 Row Spacing 為 1 track。

4. 在 Initialize Floorplan form 中的 Core Area Parameters 部分,設定 Block Halo Per Side 為 100 microns。這是類比電路與數位電路間的空間。需注意此實驗課程中類比電路已包含類比的

power ring。

5. 用滑鼠點一下 Calculate 按鈕,然後觀察 Expected Results window 中所預測出來下面的參數

是多少?

晶片寬度 晶片高度 Core row utilization Number of standard cell row Design 是 core limited 還是 IO limited?

6. 將 Die Size Constraint 欄位中的 AspectRatio 設定為 1.05,更改 Core Area Parameters 中的

Row Utilization (%)為 90,設定 Row Spacing 為 0 track,選取 Flip Every Other Row 與 Abut Rows,然後再按 Calculate 按鈕,這次預測出來的餐數值有何改變?

晶片寬度 晶片高度 Core row utilization Number of standard cell row Design 是 core limited 還是 IO limited?

7. 按 OK 後,觀察 art work window 中的 layout(如 Figure 1),找出 Figure 1 中相對應之 core row、IO row、corner row、以及 IMatrix8x8 block。

Page 14: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 14

Figure 1. Initialize Floorplan

Place IMatrix8x8 Blocks 1. 首先確定 Object Selection Window 中,選項 Cell 是可以被選擇的。

2. 執行 Edit Move,試著將 IMatrix8x8 block 移入 core area。

3. 在 Silicon Ensemble window 中執行 Floorplan Update Core Rows…,在 Update Core Rows form 中,設定 Global Block Halo 的值為 100;另外觀察 Per Block Halo field 中記錄

了那些 block 的 instance name?最後按 OK 來 Update Core Row 之後,原來和 IMatrix8x8 block 重疊的 core row 會被 Silicon Ensemble 程式移除。

4. 在 Figure 1 中,可以很明顯的看出 IO Row 位置放相反,先執行 File Export DEF,

在 DEF File Name 欄位中填入 io_block_placed.def,然後按 OK。在 SE 的目錄下可以看到

io_placed_block.def 檔案,利用 vi 或是 text editor 修改此檔案,找到以下 4 行並修改為

ROW ROW_37 pad 346692 -313389 W DO 1 BY 626 STEP 0 1000 ;

ROW ROW_36 pad -712308 -313389 E DO 1 BY 626 STEP 0 1000 ;

ROW ROW_35 pad -347308 -678389 N DO 694 BY 1 STEP 1000 0 ;

ROW ROW_34 pad -347308 312611 S DO 694 BY 1 STEP 1000 0 ;

5. 執行 File Import DEF,選擇 io_block_placed.def,然後按 OK。執行 View Redraw,

在 art work window 中的 layout,可以很清楚的看出 IO Row 位置已經被改正。

Page 15: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 15

Place I/O Pads 1. 利用 vi 或 text editor 觀察 se 目錄下的 placeIO.ioc 中,INT_VDD_0 這一個 component 是

計畫放在晶片的哪一邊?把 Internal power pad 放在晶片的上下兩邊,可以減少發生 DRC error 的機會。

2. 執行 Place IOs…,在 Place IO form 中的 Placement Mode field 中,選擇 I/O Constraint File,接下來在用滑鼠點一下…這個按鈕,然後在 Place IO File form 中選擇 placeIO.ioc這個檔案,並 turn on Evently 選項,最後按 OK。

3. 當 IO pad 擺放好之後,確定 Object Selection Window 中,選項 Cell 是可以被選擇的。利

用 Edit Move 將右邊的 Analog IO Pads 相連在一起,並將目前的結果儲存起來。執行 File Save As…,在 Save As form 中,Design Name field 填入 io_block_placed,然後按 OK。

觀察 art work window 中的 layout。

Page 16: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 16

Add prdiode Filler 分隔 IO Ring 上 Digital Pad 與 Analog Pad。

1. 執行 Place Filler Cell Add Cells…,在 Model 部分填入 PRDIODE,Prefix 填入

PRDIODE,然後按 Area,在 CHIP 的右邊 IOPAD 部分,用滑鼠拖曳出一區域,此區域

包含 IO Ring 上 Digital Pad 與 Analog Pad 相連空 IO row 的兩端端,然後按 OK。

2. 當 Add PRDIODE Filler 指令執行完畢之後,首先仔細觀察 message window,剛剛加入了

多少個 PRDIODE 的 filler cell?____,再觀察 art window,在 Digital Pad 與 Analog Pad 之

間有沒有增加 PRDIODE cell?

3. 須注意的是,filler cell 被加入後,就無法移除,所以最好保留一個 Add PRDIODE Filler之前的存檔,以免重做時需要從 import verilog 開始。完成 Add PRDIODE Filler 須在作

Add IO Filler 之前即可。

4. 首先確定 Object Selection Window 中,選項 Cell 是可以被選擇的。

5. 執行 Edit Move,試著將右邊最下面剛加入的 PRDIODE 與 IOPAD 相連,避免中間插

入 digital filler。

Page 17: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 17

Add IO Filler 連接 IO Ring。

1. 執行 Place Filler Cell Add Cells…,在 Model 部分填入 PFEED20Z,Prefix 填入

PFEED20Z,然後按 OK。

2. 當 Add IO Filler 指令執行完畢之後,首先仔細觀察 message window,剛剛加入了多少個

PFEED20Z 的 filler cell?____,再觀察 art window,在 IO pad 之間有沒有增加 io cell?

3. 在執行一次 Add Cells…,這次在 Model 填入 PFEED10Z,Prefix 填入 PFEED10Z,按

OK。這次又加入多少 filler cell?____

4. 重複上面的步驟,分別加入 PFEED8Z、PFEED5Z、PFEED4Z、PFEED2Z、PFEED1Z五種 filler。

5. 全部加完後,filler 應該將所有 IO pad 間的空隙填滿,連接完整個 IO pad ring,接下來利

用 zoom in 來觀察 IO pad 之間,是否有將每一個 IO pad 以及 CORNER pad 連接起來。。

6. 將目前的結果儲存起來。執行 File Save As…,Design Name field 填入 ioplaced,然後按

OK。

7. 須注意的是,filler cell 被加入後,就無法移除,所以最好保留一個 Add IO Filler 之前的存

檔,以免重做時需要從 import verilog 開始。完成 Add IO Filler 須在作 Wroute 之前即可。

Page 18: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 18

Plan Power 規劃晶片中的 power routing。

1. 在 Silicon Ensemble window 中執行 Route Plan Power…,Silicon Ensemble 程式會開啟

plan power tool box,內容包括 Add Rings、Add Stripes、Delete Stripes 等等工具。

2. 觀察 art work window 中,IMatrix8x8 block 周圍、core area 周圍、IO pad 與 IMatrix8x8/core area、之間、以及 IMatrix8x8 block 與 core area 之間是否有黃色虛線的標示?這些黃色虛

線是 plan power tool 預先找出來的 power routing path,可以利用 Plan Power Tool Box 中的

Query Pwr Path 來檢查 Silicon Ensemble 規劃的 power path。

3. 在這個範例中,IMatrix8x8 block 已包含 power ring,故需利用 Plan Power Tool Box 中的

Delete Pwr Path 來消除掉 Silicon Ensemble 規劃的 power routing path,完成後在 PP Delete Power Path 中,按 Close。

4. 用滑鼠按下 Plan Power tool box 中的 Add Ring 按鈕,在 PP Add Rings form 中的 Primary Ring 部分做下列設定:

Nets “VDD” “VSS” Horizontal Ring Layer METAL3 Horizontal Core Ring Width 40 Horizontal Core Ring Spacing Center Horizontal Block Ring Width 40 Vertical Ring Layer METAL2 Vertical Core Ring Width 40 Vertical Core Ring Spacing Center

Page 19: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 19

Vertical Block Ring Width 40

填完之後按 OK。當 Silicon Ensemble 完成 power ring routing 之後,仔細地檢查 art work window 中的 layout,確定每一條 power path 中都含有 vdd!和 gnd!的 power ring。

5. 如果步驟 3 和步驟 4 的結果沒有問題的話,按 Close 把 Plan Power Tool Box 關掉,將目前

的結果儲存起來。執行 File Save As…,在 Save As form 中,Design Name field 填入

plan_power,然後按 OK。

Placement 練習使用 Qplace 來做 placement。

1. 在 Silicon Ensemble 程式中執行 Place Cells…,在 Place Cells form 中,將 Generate Congestion Map 選項打開,並用滑鼠按一下 Variable 按鈕;在 Environment Variables form中設定 QPLACE.CUT.RATIO 的值為 -1,然後按 OK。

2. 觀察 Silicon Ensemble 程式的 message window,是否能找出 Silicon Ensemble 在執行

placement 時,實際上分為下面幾個程序:

1st pass global placement 2nd pass global placement 3rd pass global placement 4th pass global placement 5th pass global placement detail placement annealing refinement routability analysis

3. 當程式執行完畢之後,利用滑鼠捲動 message window,尋找下列的訊息,並記錄 message window 中的值:

Maximum net crossings across horizontal cuts (HMAX) = _____ Maximum net crossings across vertical cuts (VMAX) = _____ Total wire length = _____ 另外觀察 art work window 中是否有紅色、黃色、藍色等等的線段?這些就是 congestion map,用來顯示 placement 之後,Silicon Ensemble 程式預估將來繞線壅塞的程度。依據觀

察,將來晶片在水平方向還是垂直方向的繞線比較壅塞?

4. 搜尋 message window 中:

(from default) cutRatio set to _____

在 Silicon Ensemble 中,cut ratio 的定義是 HMAX / VMAX。如果希望 Silicon Ensemble能夠花更多力氣來最佳化晶片中水平方向的繞線(降低 VMAX 的值,也就是減少水平方

向的繞線),可以將 cut ratio 的值設定的大一些。

Page 20: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 20

5. 將目前的結果儲存起來。執行 File Save As…,在 Save As form 中,Design Name field填入 placed,然後按 OK。

Route Power Stripe 1. 在 Silicon Ensemble 程式中執行 Route Connect Ring…,首先在 Connect Ring form 中做

下列設定,然後按 Apply:

Nets “VDD” “VSS” Stripe On Block Off IO Pad Off IO Ring Off Follow pins Off

當 connect ring 指令執行完畢之後,首先仔細觀察 message window,找尋下列訊息:

End routing with 0 open.

接下來利用 zoom in 來觀察 power stripe 與 power ring 之間,是否已經連接起來。

Connect Block Power 如果數位電路中有 Ram 或 Rom Block 時,依下列步驟執行,否則跳過,直接進行下一步驟。

1. 接上面步驟,在 Connect Ring form 中做下列設定,然後按 Apply:

Nets “vdd!” “gnd!” Stripe Off Block On All Ports On Maximum Width Off Selected Blocks Off IO Pad Off IO Ring Off Follow pins Off

當 connect ring 指令執行完畢之後,首先仔細觀察 message window,找尋下列訊息:

End routing with 0 open.

接下來利用 zoom in 來觀察 Ram 或 Rom block 的 power pin 與 power ring 之間,是否已經

連接起來。

Connect Power Pad 1. 接上面步驟,在 Connect Ring form 中做下列設定,然後按 Apply:

Page 21: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 21

Nets “VDD” “VSS” Stripe Off Block Off IO Pad On All Ports On Maximum width Off Layer Off IO Ring Off Follow pins Off

當 connect ring 指令執行完畢之後,首先仔細觀察 message window,找尋下列訊息:

End routing with 0 open.

接下來利用 zoom in 來觀察左右兩個 internal power pad 的 power pin 與 power ring 之間,是

否已經連接起來。

Connect Standard Cell Power 1. 接上面步驟,在 Connect Ring form 中做下列設定,然後按 OK:

Nets “VDD” “VSS” Stripe Off Block Off IO Pad Off IO Ring Off Follow pins On Pin Width Off Layer Off

當 connect ring 指令執行完畢之後,首先仔細觀察 message window,找尋下列訊息:

End routing with 0 open.

接下來利用 zoom in 來觀察 standard cell rows 左右兩側 standard cell 的 power pin 與 power ring 之間,是否已經連接起來。

Use Ultra Router 1. 繼續 connect_ring design,在 Silicon Ensemble 程式中執行 Route WRoute…,在 Wroute

form 中做下列設定,然後按 OK:

Global Route Only Off Global and Final Route On Auto Search And Repair On Incremental Final Route Off Timing Driven Routing Off

Page 22: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 22

2. 當 ultra router 執行完畢之後,利用滑鼠捲動 message window,並搜尋下面的訊息:

Total wire length = __________ Total number of vias = __________ Total number of violations = __________ Total number of over capacity gcells = __________

3. 如果 routing 完畢的結果有任何 violation 的話,可以使用 incremental Wroute 來消除這些

violation:在 Silicon Ensemble 程式中執行 Route WRoute …,在 Wroute form 中做下列

設定,然後按 OK:

Global Route Only Off Global and Final Route Off Incremental Final Route On Redo Global Route for violations On Timing Driven Routing Off

觀察 message window,Silicon Ensemble 會報告原本 violation 的數目,以及重新繞線後

violation 的數目。修復後 violation 的數目應該為 0。

4. 將目前的結果儲存起來。執行 File Save As…,在 Save As form 中,Design Name field填入 autoRouted,然後按 OK。

Page 23: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 23

Prepare for Layout Verification 到目前這個階段,晶片基本上已經完成,但是在 tape out 之前仍須做 DRC、ERC、LVS 等等

驗證的動作。

Export GDSII and Verilog Files for Your Design 1. 繼續 autoRouted design,在 Silicon Ensemble 程式中執行 File Export GDS II…,在

Export GDSII form 中,GDS-II File 設定為 autoRouted.gds2,Map File 選擇 gds2.map,點

選 Variables,在 OUTPUT.ORIGIN.X 欄位中填入-712280,在 OUTPUT.ORIGIN.Y 欄位中

填入-678360,然後按 OK。當程式執行完畢之後,應該可以在 se 目錄下看到一新檔案

autoRouted.gds2。

2. 在 Silicon Ensemble 程式中執行 File Export Verilog…,在 Output Verilog Filename 欄

位中填入 autoRouted.v,選項 Output Power & Ground Ports turn off,然後按 OK。在 se目錄下可看到一新檔案 autoRouted.v。

3. 將 autoRouted.v 檔案拷貝至 ~/MSS_Lab/Calibre/LVS/run 目錄下;將 autoRouted.gds2 檔案

拷貝至 ~/MSS_Lab/icfb。 unix% cp autoRouted.v ~/MSS_Lab/Calibre/LVS/run

unix% cp autoRouted.gds2 ~/MSS_Lab/icfb

4. 執行 File Exit,不要懷疑,已經不需要 SE 了。

Read into DFII Library SE 所產生的 GDSII 檔必須讀入 reference library,所以必須先要 stream in 再做 stream out 產生

GDSII 檔,才能繼續完成 DRC, LVS, tape out。

1. 從現在起所使用軟體為 icfb,所以需要換個目錄執行 icfb。

unix% cd ~/MSS_Lab/icfb

2. 在 icfb 目錄下執行 icfb:

unix% icfb &

當 icfb 程式的 CIW 視窗出現後,注意 CIW 中的程式版本必須至少為 4.4.5 版(如下):

icfb.exe version 4.4.5 11/16/1999

3. 在 CIW 中執行 File Import Stream…,在 Stream In form 中,先進入 options 選項,將

Case Sensitivity ”preserve” 和 Retain Reference Library (No Merge) turn on,在 Reference Library Order 欄位中填入 tcb773p tpz773pn tpz773pn_analog_100a analog,然後按

OK;回到 Stream In form,在 Input File 欄位中填入 autoRouted.gds2,在 Library Name 欄

位中填入 Training,然後按 OK。此時在 Training Library 中,CHIP Cell 多出一個 layout

Page 24: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 24

view,打開 layout view 檢查是否正確。

Modify IMatrix8x8 Power & IO Analog Block Power & IO 需要用手動修改連線,例如加大 Metal 寬度。

1. 利用 Metal4 將 PRDIODE 的 ESD VDD 和 VSS 與其他 Pad 相連接。

2. 先 delete TAVDD, TAVSS, Y 等 analog 訊號線。

3. 利用 Metal2 和 Metal1(寬度可為 20um)將 Analog Block 中右上方的 TAVDD Pin 連接至

Analog Power Pad 的 TAVDD Pin 上。

4. 利用 Metal2 和 Metal1(寬度可為 20um)將 Analog Block 中右下方的 TAVSS Pin 連接至

Analog Power Pad 的 TAVSS Pin 上。

利用 Metal4 連接

Page 25: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 25

5. 例用 Metal3、Metal2 和 Metal1(寬度可為 28um)將 Analog Block 右方中間的 Y Pin 連接至

Analog IO Pad 上。

Stream out GDSII 1. 在 CIW 中執行 File Export Stream…,在 Stream Out form 中,先進入 options 選項,

將 Case Sensitivity “preserve” turn on (請注意:Retain Reference Library (No Merge) 必須

turn off),然後按 OK;回到 Stream In form,在 Output File 欄位中填入 CHIP.gds,然後按

OK。此時在 icfb 目錄中,多出一個 CHIP.gds。

2. 將 CHIP.gds 檔案拷貝至~/MSS_Lab/Calibre/DRC/run、~/MSS_Lab/Calibre/LVS/run 等目錄

下。 unix% cp CHIP.gds ~/MSS_Lab/Calibre/DRC/run

unix% cp CHIP.gds ~/MSS_Lab/Calibre/LVS/run

Design Rule Check 1. 設定 Calibre DRC rule 環境:

A. 設定 Mentor license:

unix% source /usr/mentor/cic_setup/calibre.csh

B. 進入 Calibre DRC rule 目錄。

unix% cd ~/MSS_Lab/Calibre/DRC

C. 將 CM35P5_3M.ant.22b、CM35S5_4M.22b、tsmc35DRC.cal 檔案拷貝至

~/MSS_Lab/Calibre/DRC/run 目錄。

unix% cp CM35P5_3M.ant.22b ~/MSS_Lab/Calibre/DRC/run

unix% cp CM35S5_4M.22b ~/MSS_Lab/Calibre/DRC/run

unix% cp tsmc35DRC.cal ~/MSS_Lab/Calibre/DRC/run

D. 進入 ~/MSS_Lab/Calibre/DRC/run 目錄,並指定 Calibre-drc-cur 至 CM35S5_4M.22b

unix% cd ~/MSS_Lab/Calibre/DRC/run

unix% ln –s CM35S5_4M.22b Calibre-drc-cur

2. 編輯 tsmc35DRC.cal 檔案

A. 修改檔案中 LAYOUT PATH 的 Layout 檔案名稱為 CHIP.gds

B. 修改檔案中 LAYOUT PRIMARY 的 Primary Cell 名稱為 CHIP C. 修改檔案中 INCLUDE 以指定使用 Calibre-drc-cur 為最新版本之 0.35um TSMC

Calibre DRC rule。

3. 執行 Calibre 程式。

Page 26: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 26

unix% calibre –drc –hier tsmc35DRC.cal

4. 檢視結果(CHIP.drc.summary / CHIP.drc.results )

Layout versus Schematic (LVS) 1. 設定 Calibre LVS rule 環境:

A. 進入 Calibre LVS rule 目錄。

unix% cd ~/MSS_Lab/Calibre/LVS

B. 將 ~/MSS_Lab/Calibre/LVS 目錄下所有檔案拷貝至 ~/MSS_Lab/Calibre/LVS/run 目

錄下。

unix% cp *.* ~/MSS_Lab/Calibre/LVS/run

C. 進入 ~/MSS_Lab/Calibre/LVS/run 目錄,並指定 Calibre-lvs-cur 至 cali035pMM5V_2P4M.lvs

unix% cd ~/MSS_Lab/Calibre/LVS/run

unix% ln –s cali035pMM5V_2P4M.lvs Calibre-lvs-cur

2. 利用 vi 或是 textedit 編輯器打開 tsmc35_lvs_ms.v,將 Analog Block 之 Verilog module 填寫

進去,如下:

module IMatrix8x8 ( J, T, Y );

input [6:0] J;

input [6:0] T;

output Y;

endmodule

3. 利用 vi 或是 textedit 編輯器打開 tsmc35_lvs_ms.spi,將 Analog Block 之 subckt 填寫進去,

如下:

.SUBCKT IMatrix8x8 J[6] J[5] J[4] J[3] J[2] J[1] J[0] T[6] T[5] T[4]

+T[3] T[2] T[1] T[0] Y

.ENDS

4. 將 Gate Level Verilog Netlist (autoRouted.v) 轉成 Spice Netlist(autoRouted.spi)。

unix% v2lvs -v autoRouted.v -l tsmc35_lvs_ms.v -o

CHIP.spi -s tsmc35_lvs_ms.spi -c cic_ -n

5. 編輯 tsmc35LVS.cal A. 修改檔案中 LAYOUT PATH 的 Layout 檔案名稱為 CHIP.gds B. 修改檔案中 LAYOUT PRIMARY 的 Primary Cell 名稱為 CHIP

Page 27: 4Affirma Analog Artist Design Flow - jupiter.math.nctu.edu.twjupiter.math.nctu.edu.tw/~weng/courses/IC_2007/PROJECT_NCTU_MATH/CELL... · Verilog In 利用Verilog In建立6Bits DAC的設計。

CIC Mixed-Signal IC Design Kit 2.0 for TSMC 0.35um 2P4M Mixed Process

Page 27

C. 修改檔案中 SOURCE PATH 的 SPICE 檔案名稱為 CHIP.spi D. 修改檔案中 SOURCE PRIMARY 的 Primary Cell 名稱為 CHIP

E. 修改檔案中 INCLUDE 以指定使用 Calibre-lvs-cur 為最新版本之 0.35um TSMC Calibre LVS rule 位置。

6. 利用 vi 或是 textedit 編輯器打開 cali035pMM5V_2P4M.lvs,將 Analog Block 設為 LVS BOX,如下:

LVS BOX IMatrix8x8

7. 執行 Calibre 程式。

unix% calibre –lvs –spice layout.spi –hier –auto tsmc35LVS.cal

8. 檢視結果(CHIP.lvs.report / CHIP.lvs.report.ext )。