Académique Documents
Professionnel Documents
Culture Documents
1
Lab2 System Startup
8. 讀取存檔
取 addbond.enc,按 ,
2
10. 你可以分辦出那些是 IO pad, 什麼是 power ring, 什麼是 power stripe 嗎?
Floorplan View 是在 floorplan 階段時,用來規劃整體 CHIP
3
Lab3 Design Import,
, floorplan
Prepare Data
1. 在開始 APR 前, 我們須要幾個和 design 相關的檔案, 這些檔案可以在 design
的目錄找到: (目前目錄: Lab-A_t18)
unix% ls -l design
4
8. 建立 SOC Encounter 的環境,並啟動 SOC Encounter:
unix% source /usr/cad/cadence/CIC/ext.csh
unix% source /usr/cad/cadence/CIC/edi.cshrc
unix% encounter 不可跑背景模式(不加 &)
Design Import
9. 在 Encounter 中,,執行 Design Import Design…, 在 Verilog 的 Files 欄
的右邊,按
按 叫出 Files 視窗,再按
按 extend 出 file browser, 回
5
11. 在 LEF Files 欄, 按 出 Files 視窗,再按
按 extend 出 file browser,
回到上兩層的 library/lef 目錄(../../library/lef);首先先注意到 RF2SH64x16.vclef
這個檔是灰色的,這是因為底下的 Filter default 為*.lef,先把 把 Filters: 改成
Files(*),讓 RF2SH64x16.vclef 可選
All Files(*)
12. 選 tsmc18_6lm_cic.lef,按 。
14. 選 antenna.lef、RF2SH64x16_ant.lef、tsmc18_6lm_antenna_cic.lef,按 。
叫出 MMMC Browser,
加入 slow.lib、tpz973gvwc.lib
slow.lib tpz973gvwc.lib、RF2SH64x16_slow_syn.lib
tpz973gvwc.lib RF2SH64x16_slow_syn.lib,
RF2SH64x16_slow_syn.lib
6
21. SI library Files 部分同樣 用 browser 找到 ../../library/celtic 目錄,加入
slow.cdB、RF2SH64x16.cdb
slow.cdB RF2SH64x16.cdb
展開各個項目可看到設定內容,最後按 , 成 mmmc.view
上圖 Detail 的設定如下
7
Library Set:
lib_max Timing ../../library/lib/slow.lib
../../library/lib/tpz973gvwc.lib
../../library/lib/RF2SH64x16_slow_syn.lib
SI ../../library/celtic/slow.cdB
../../library/celtic/RF2SH64x16.cdb
RC Corners:
RC_corner Cap Table ../../library/soc/tsmc018.capTbl
qx tech file ../../library/fireice/icecaps_5lm.tch
Delay Corners:
Delay_Corner_max library set lib_max
rc corner RC_corner
Constraint Modes:
func_mode sdc file ../../design/CHIP_func_ideal.sdc
Analysis_Views:
av_func_mode_max constraint mode func_mode
delay corner Delay_Corner_max
8
av_scan_mode_max constraint mode scan_mode
delay corner Delay_Corner_max
25. Design Import 視窗裏,在 MMMC View Definition File 欄位裏填入 mmmc.view
mmmc.view
9
Global Net Connect
27. 接下來我們要連接所有的 global Net,把 cell 的 power/ground pin 連接到
VDD/VSS
30. 接下來改在 Pin Name 欄位填入 VSS,To Global Net 欄位填入 VSS,然後按
因為這個 cell library 有 tie high 及 tie low cell,所以在這裏不處理 1’b0 及 1’b1
等 net,到後面再以加入 tiehi 及 tielo cell 方式連接
若你不使用 tie high cell 或 tie low cell,則必須執行下面兩步,但現
現
在我們不做 2727a 27b
a 及 27b
10
31. 到目前為止,左邊的 Connection List 裏有兩份資料,按 ,然後按
11
Scan Trace Summary 顯示 scan train 共有多少 scan bits ?
scan1: 14
scan2: 896
scan3: 895
Floorplan
四個欄位裏都填入 80 , 填完後按
12
39. 按 Z(大寫,shift+z)或 , 你會看到右邊有一個大 Cell,那是一顆 ram,屬
於 hardmacro, 左邊有個粉紅色的矩形,那是 design 的 sub module
-- floorplan--
的 ,把 Ram 抓到左上角。
42. 點選 Ram,接下來我們要為這個 ram 加上 18um 的 block hole. 執行
Floorplan Edit Floorplan Edit Halos…, 在 Edit Halos 視窗裏, 選擇
Selectd Blocks/Pads (現在這個 ram 應該在是選到的狀態) , 現在要加的是
Placement Halo, 在 Top/Bottom/Left/Right 四個欄位都填入 18, 按
在 Path Category 區域分出 path group。 在 Path List 區 double clock 任一條
path,跳出 Timing Path Analyzer 視窗,研究一下這條 path timing 的狀況,為什
麼它會有 violation。
47. 關閉 Timing Path Analyzer 視窗和 Timing Debug 視窗,回到 encounter 視窗
13
按
14
Lab4 Powerplan,
,Placement
1. 進入 Lab4
unix% cd Lab4
2. 進入 SOC Encounter
unix% source /usr/cad/cadence/CIC/ext.csh
unix% source /usr/cad/cadence/CIC/edi.cshrc
unix% encounter
3. 讀取存檔
取 init.enc,按 ,
Powerplan
-- Create power ring --
4. 執行 Power Power Planning Add Ring…,在 Net(s)的欄位輸入 VDD VSS
15
-- 連接 power pad --
7. 把 color control 裏的 Instance Pin 設為 Visibe, 以方便觀察 power pin 連接.
8. 執行 Route Special Route…, 在 Net(s)欄位輸入 VDD VSS, SRoute 部分
只留下 Pad pins,其它 Block pins/Pad rings/Follow Pin/Secondary Power
都設成不選取,
Pins 都設成不選取
9. 切換 Advanced Page, 選 Pad Pins, 並把 Number of Connections to Multiple
設成 All,按
Geometries:設成 ,應該可看到 power line 從 power pad 連到
power ring 上
16
-- Create power stripe --
11. 執行 Power Power Planning Add Stripes…, Net(s)輸入 VDD VSS, Layer
選 METAL4, Width 設成 4, Spacing 設成 0.28, 選擇 Sets-to-set distance,
並把 Set-to-set distance 設成 50, 底下在 First/Last Stripe 處 X from left 設
成 30, X form right 設成 50.
17
15. 接下來再加上橫的 power stripe, 在 Add Stripes 視窗, 切換到 Basic page,
這次 Layer 選 METAL5, , 你會看到 Direction 自動換到 Horizontal, Width
設成 4, Spacing 設成 0.28 , 選擇 Sets-to-set distance,並設成 50, Y from
top 設成 30, Y from bottom 設成 50.
16. Advanced page 不變, 和剛才的設定一樣.
17. Via Generation page 也不變
-- Add IO Filler--
21. 觀看 addIoFiller.cmd 內容
unix% more addIoFiller.cmd
22. 在 encounter terminal 輸入:
encounter> source addIoFiller.cmd
由於本 IO library 是 CUP (circuit under pad) pad, IO pad 上方沒有 Metal 5
blockage, 保留給 bump pad 使用, 為了避免 routing 時將繞線繞到 IO pad
上方, 所以我們要先在上方加入 routing blockage
18
27. 回到 encounter 的 terminal, 執行
encounter> source addRouteBlk.cmd
IO pad 上方加入一些 blockage, 你可以選其中一個 blockage,然後按 q 看其
詳細內容
28. 把 color control 裏的 routing Blkg 設回 unvisibe
—Verify Geometry—
是否有任何的錯誤.
. —Verify Connectivity—
執行 Verify Connectivity… , Net Type 選 Special Only, 在 Nets 選
修改成:
19
LAYOUT PATH “../CHIP.gds”
LAYOUT PRIMARY “CHIP”
35. 存檔並離開。
36. 執行 calibre drc
-- placement--
38. 接下來要做 placement ,執行 Place Place Standard Cells…,選 Run Full
Placement, 選取 Include Pre-Place Optimization,及 Include In-Place
20
41. 切換到 Amoeba view 看一看現在 module 的排列, 看完後切回 Physical
view
是否有任何 violation?
*info: Placed = 6374
*info: Unplaced = 0
-- timing analysis --
-- Optimization --
46. 如果 slack 是負的, 則必須做 optimization 解決 timing violation, 執行
Optimize Optimize Design…, Design Stage 是 Pre-CTS,Optimization Type
21
Lab5 clock tree synthesis
1. 進入 Lab5
unix% cd Lab5
2. 進入 SOC Encounter
unix% source /usr/cad/cadence/CIC/ext.csh
unix% source /usr/cad/cadence/CIC/edi.cshrc
unix% encounter
3. 讀取存檔
取 place.enc, ,
入 ../../design/CHIP_func_prop.sdcc, 。
入 ../../design/CHIP_scan_prop.sdcc, 。
8. 回到 MMMC Browser,
22
-- Clock tree synthess--
12. CTS 開始執行, 結束後, 在 log 可以找到 CTS 做完的 clock timing 結果, 或
是你也可以在 clock_report/clock.report 裏到同樣的結果, 各項數值為何? 是
否符何我們的 constraint?
Nr. of Sinks: 1825
Nr. of Buffer: 101
Nr. of Level : 10
Rise Phase Delay: 2278~3059(ps)
Fall Phase Delay: 1590~2264 (ps)
Trig. Edge Skew: 223.8 (ps)
Rise Skew: 780 (ps)
Fall Skew: 673 (ps)
23
13. 執行 Clock Display Display Clock Tree…
在 Display Clock Tree 視窗裏,Display Selection 部分選擇 Display Clock
14. 切換到 physical view, 把 net display disable, 你看到整個 clock tree 的分
18. 執行 Clock Browse Clock Treer…, 在 Clock Tree Browser 視窗裏選 CLK ,
-- Timing Analysis--
,timing 結果為何?
Post-CTS, 結果 timing 如何
24
25. slack 還是負的,執行 Timing Debug 研究一下原因,Timing Debug Timing…,
26. 在 Timing Debug 視窗底下 Path List 裏,double click 任一條 slack 為負的
PATH,研究一下這條 PATH 的問題,然後關閉 Timing Path Analyzer 和 Timing
Debug 視窗
25
27. 接下來做 hold time analysis,執行一次 Timing Report Timing…,Design Stage
果如何?
Setup Mode
All reg2reg in2reg reg2out in2out clkgate
-0.278 0.000 0.000 -0.278 86.592 1.713
Hold Mode
All reg2reg in2reg reg2out in2out clkgate
0.182 0.182 1.64 4.873 8.763 0.245
26
31. 在 encounter terminal 執行 checkDesign –tieHiLo
encounter> checkDesign -tieHiLo
27
Lab6 Power Analysis
1 進入 Lab6
unix% cd Lab6
2 進入 SOC Encounter
unix% source /usr/cad/cadence/CIC/ext.csh
unix% source /usr/cad/cadence/CIC/edi.cshrc
unix% encounter
3 讀取存檔
取 cts.enc, ,
simulation
4 把 color control 的 Routing Blkg 的 Visible 及 Selectable 關閉
28
9 開一個新的 terminal, 並進入到 Lab6(或是你的工作目錄)目錄裏 (若你在其
它的 Lab 目錄, 則把 Lab6 裏的 post_sim 目錄 copy 過來)
10 進入 post_sim 目錄
unix% cd post_sim
11 執行 verilog
unix% source /usr/cad/cadence/CIC/incisiv.cshrc
unix% ncverilog –f vlog.f
12 執行完後應該會產生一個 vcd 檔, CHIP.vcd ,這個檔要拿來當做 power 分
析的根據
13 把這個檔搬回上層目錄
unix% mv CHIP.vcd ..
Power Analysis
--static power analysis --
16 輸入好後按 ,
17 結束後 power consumption 是多少?
Total Internal Power: 24.18 75.71%
Total Switching Power: 7.734 24.22%
Total Leakage Power: 0.02196 0.06876%
Total Power: 31.93
18 若想知道每一個 cell 的 power 資訊,可看 CHIP.rpt
unix% more CHIP.rpt
--power graph --
19 執行 Power Report Power & Rail Result…, State 選 power Database, 並
輸入 power.db , 這檔是剛才做 power analysis 所產生出來的 data.
29
21 在 Action 選 Clear Display, 按 ,關閉 power graph
30
27 執行 Power Power Analysis Setup…, ,Analysis Method 選 Dynamic,
Dynamic Power Method 仍選 Vectorbased,勾選 Analysis View ,並選
av_func_mode_min,PowerGrid
av_func_mode_min Library 輸入 fast_allcells.cl
31
Rail Analysis
--static power graph --
av_func_mode_min,
av_func_mode_min
輸入 VDD,按
38 開始執行。
32
--rail result --
39 執行 Power Report Power&Rail Resultt,跳出 Power&Rail Result 視窗
33
--dynamic rail analysis --
Resolution 輸入 500ps,
--power movie --
48 執行 Power Report Dynamic Movie,Movie Directory 選
PD_25C_dynamic_1/VDD/movie_analysis,
沒有 ir drop, 所以沒什麼好看的。 跳出
34
Lab7 Route,
,SI Analysis,
, Stream
out
1. 進入 Lab7
unix% cd Lab7
2. 進入 SOC Encounter
unix% source /usr/cad/cadence/CIC/ext.csh
^^ (這個 lab 會用到,請記得 source ext.csh)
unix% source /usr/cad/cadence/CIC/edi.cshrc
unix% encounter
3. 讀取存檔
cts.enc, ,
Route
4. 把 color control 的 Routing Blkg 的 Visible 及 Selectable 關閉
5. 執行 Route NanoRoute Route…, ,在 Routing Phase 區域的 Post Route
Optimization 加選 Optimize Via 及 Optimize Wire
6. 在 Concurrent Routing Feature 區域, 點選 Insert Diodes, Diode Cell Name
輸入 ANTENNA , 勾選 Timing Driven, SI Driven 和 Post Route SI
7. , NanoRoute 開始執行
35
all reg2reg in2reg reg2out in2out clkgate
-0.276 0 -0.007 -0.276 86.534 1.25
10. 若 slack 是負的, 則需做 Optimize
11. 執行 Optimize Optimize Design,Design Stage 選 Post-Route, Include
SII ,
Type 加選 Hold,
36
-- Sign-Off Timing Analysis --
20. 設定 Stand along QRC extraction 時所需的 layer map
encounter> setExtractRCMode –lefTechFileMap ../../library/fireice/lefdef.layermap2
21. 執行 Timing Report Timing, Design Stage 選 Sign-Off, Analysis Type 選
timing 如何
all reg2reg in2reg reg2out in2out clkgate
-0.727 0.000 0.000 -0.727 86.257 1.696
22. 執行 Place Physical Cells Add Filler …,在 Add Filler 視窗裏, 按
27. 執行 Route Metal Fill Add…, 取消 Tie High/Low to net(s), Timing Aware
處選 Critical netfrom Timing Analysis, ,並輸入 0.4,
37
29. 存檔, ,存成 metalfill.enc ,
-- finish --
38
-- stream out gds --
39
Lab8 Stream In GDS
1. 進入 Lab8
unix% cd Lab8
Lab8 目錄裏目前已有一個 CHIP.gds, 以及 Laker 的 technology file:
Laker_MM_18S_1.8+3.3_1P6M_20K_2.7c.tf
2. 進入 icfb
unix% source /usr/cad/spring_soft/CIC/laker.cshrc
unix% laker&
-- Stream In Design --
40
5. 先把 layer table 裏的 dummy metal 設成不顯示: 在 Layer table 底下有個輸入欄
位,在裏面輸入 *METAL* ,按 Enterr,Layer table 現在只剩 METAL*的 layer
7. 同樣方式, 把
都設成不顯示.
41
Lab9 DRC LVS
1. 進入 Lab9
unix% cd Lab9
我們必須先複製須要的檔案進來
2. 複製 calibre 的 drc 及 lvs 相關檔案
unix% cp –r ../../library/calibre/drc . 不要忘了最後這個點( . )
unix% cp –r ../../library/calibre/lvs .
DRC
4. 進入 drc 目錄
unix% cd drc
5. 編輯 CLM18_LM16_LM152_6M.210a_m.drc
修改以下幾個項目 (搜尋 PRIMARY,找到下面兩行):
LAYOUT PATH “GDSFILENAME”
LAYOUT PRIMARY “TOPCELLNAME”
修改成:
LAYOUT PATH “../CHIP.gds”
LAYOUT PRIMARY “CHIP”
6. 存檔並離開。
7. 執行 calibre drc
42
9. 尋找最後的 RULECHECK RESULT STATISTICS 的部分:
RULECHECK HRI.WARN ........................... TOTAL Result Count = 0
RULECHECK NW.W.1 ........................... TOTAL Result Count = 0
RULECHECK NW.W.2………................. TOTAL Result Count = 0
...
RULECHECK SBD.R.5………………... TOTAL Result Count = 0
10. 是否有 Result Count 不是 0 的部分?
11. 應該會看到幾個 DRC error,
NO.IND.OD.R.1
NO.IND.PO.R.3
NO.IND.M1.R.1
NO.IND.M2.R.1
NO.IND.M3.R.1
NO.IND.M4.R.1
UTM20K.R.1
OD.R.1
DRM.R.1
這幾個 DRC 指的是 metal 及 poly 的 density 不足,可以不必理會,
LVS
1. 回到 Lab9 目錄
unix% cd ..
2. 進入 lvs 目錄
unix% cd lvs
3. 有兩個和 RAM 相關的檔案已經在這個目錄裏:
RF2SH64x16.spi
RF2SH64x16.v
若是自己在做設計,且有使用到 RAM,則必須參照這兩個檔編輯所用到的
43
RAM 的相關檔案
-- v2lvs --
4. 首先我們必須先把 CHIP.v 轉換成 SPICE 格式,輸入:
unix% source /usr/cad/mentor/CIC/calibre.cshrc
unix% v2lvs –v ../CHIP_pr.v
–l tsmc18_lvs.v
-l tpz973gv_lvs.v
–l RF2SH64x16.v
–s tsmc18_lvs.spi
-s tpz973gv_lvs.spi
–s RF2SH64x16.spi
–o source.spi
–s1 VDD –s0 VSS
以上 7 行為同一行指令, 請勿斷行
確定 source 的 output 檔:source.spi 有產生出來
5. 編輯 Calibre.lvs
5.1 須要修改的地方有(第 406 行):
LAYOUT PRIMARY “ts_allcelllvs”
LAYOUT PATH “ts_allcelllvs.gds”
LAYOUT SYSTEM GDSII
改成:
LAYOUT PRIMARY “CHIP”
LAYOUT PATH “../CHIP.gds”
LAYOUT SYSTEM GDSII
LAYOUT CASE YES 新加入行
44
上面新增兩個 case sensitivity 的選項, 表示 layout netlist 和 source netlist
都是 case sensitivity.
5.4 在檔案最後新增一行:
LVS BOX RF2SH64x16
加入這行是因為我們要把這顆 ram 當成 blackbox
5.5 在 LVS BOX 處, 確定 power pad, corner pad, bonding pad, filler 都
已移除
45
//LVS BOX PVSS1DGZ
//LVS BOX PVSS2ANA
//LVS BOX PVSS2DGZ
//LVS BOX PVSS3DGZ
-- Calibre LVS --
6 執行 Calibre LVS
unix% calibre –lvs –spice layout.spi –hier –auto Calibre.lvs
46
Lab10 Post-layout Timing
Analysis
應該可以找到你的帳號名稱及你的工作執行狀態,是正在執行還是在排隊?
6. 若 LPE 順利結束,你應該可以得到下面幾個檔:
47
TOP_CELL.NAME 在 layout 裏的 top cell name
spice.header 執行 nanosim 時所須要的 header file
nanosim.run 程式提供的執行 nanosim 的範例
*.log 一些 stream in, stream out 或是
memory generator 產生的 log
-- Nanosim simulation --
8. 使用 Qentry 做 nanosim。輸入
unix% Qentry -M VCS_NS -v vlog.f –l
compile.log –ad=vcsAD.init
同樣的你也可以看看工作狀況:
unix% showq
執行結束後可得到 CHIP.fsdb 及 nanosim.log。
48
Labfda Encounter Foundation Flow
Prepare Data
3. 在 Design data 部分,已準備好幾個設定檔。
floorplan.enc Encounter 存檔
CHIP-scanDEF scan def,合成時寫出的檔案
49
-- 建立 script 環境 -
9. 在 encounter terminal 輸入:
encounter> writeFlowTemplate
這個指令有 GUI menu,在 Flows Create Foundation Flow Templates Save,
擇一使用即可
執行後在目前目錄產生出 SCRIPTS 等目錄
15. 修改 setup.tcl,以下是要修改的部分
原文 修改成
set vars(fp_file) set vars(fp_file) CHIP.fp
#set vars(cts_spec) "<cts_spec>" set vars(cts_spec) Clock.ctstch
set vars(def_files) <<def_files> set vars(def_files) "CHIP-scanDEF"
set vars(max_route_payer) 15 set vars(max_route_payer) 8
set vars(func_mode,pre_cts_sdc) … 新增一行
set vars(func_mode, post_cts_sdc) \
“../../design/CHIP_func_prop.sdc”
set vars(scan_mode,pre_cts_sdc) … 新增一行
set vars(scan_mode, post_cts_sdc) \
“../../design/CHIP_scan_prop.sdc”
set vars(gds_files) set vars(gds_files)
" ../../library/gds/tsmc090nvt_macros.gds \
../../library/gds/tsmc090hvt_macros.gds \
../../library/gds/tpzn90gv3_9lm.gds \
../../library/gds/tpbn90gv_9lm.gds \
../../library/gds/RF_2P_ADV64_16.gds”
#set vars(gds_layer_map) set vars(gds_layer_map) \
50
"../../library/soc/streamOut.map"
#set vars(qrc_layer_map)set vars(qrc_layer_map) \
"../../library/fireice/lefdef.layermap2"
(行尾的反斜線 ”\” 表示換行,如果直接寫在一行則不須要加 \ )
改好的版本在 backup/setup.tcl,把它 copy 出來即可
16. 修改 edi_config.tcl,以下是要修改的部分
#set vars(in_place_opt) true set vars(in_place_opt) true
#set vars(tie_cells) <tie_cells> set vars(tie_cells) “TIELOTH
TIEHITH”
#set vars(filler_cells) <filler_cells> set vars(filler_cells) “FILL64TH
FILL32TH FILL16TH FILL8TH FILL4TH
FILL2TH FILL1TH FILL64 FILL32
FILL16 FILL8 FILL4 FILL2 FILL1
FILLCAP64TH FILLCAP32TH
FILLCAP16TH FILLCAP3TH
FILLCAP8TH FILLCAP4TH FILLCAP64
FILLCAP32 FILLCAP16 FILLCAP8
FILLCAP3 FILLCAP4”
#set vars(high_timing_effort) set vars(high_timing_effort) true
#set vars(clock_gate_aware) set vars(clock_gate_aware) true
#set vars(antenna_diode) set vars(antenna_diode) ANTENNA
set vars(multi_cut_effort) low set vars(multi_cut_effort) high
#set vars(postroute_extraction_effort) set vars(postroute_extraction_effort) high
#set vars(signoff_extraction_effort) set vars(signoff_extraction_effort) signoff
(行尾的反斜線 ”\” 表示換行,如果直接寫在一行則不須要加 \ )
改好的版本在 backup/edi_config.tcl,把它 copy 出來即可
-- 建立 Makefile 環境 --
17. 將 SCRIPT 內的 Makefile link 出來
unix% ln -s SCRIPTS/Makefile.edi.flat Makefile
-- 開始進行 Foundation Flow --
18. 觀察 make 選項
unix% make help
===================================================
Makefile Targets
===================================================
setup : Setup Run Directory
init : Create Initial Database
place : Cell Placement
prects : PreCTS Optimization
51
cts : Clock Tree Synthesis
postcts : PostCTS Optimization
postcts_hold : PostCTS Oold Fixing
route : Global/Detail Route
postroute : PostRoute Optimization
postroute_hold : PostRoute Hold Fixing
postroute_si_hold : SI Hold Fixing
postroute_si : SI Optimization
signoff : Signoff Timing / Verify
------------------------------------------------------------------------------------
single : Single Script (all steps)
===================================================
Makefile Options
===================================================
VPATH : Make directory (default make)
TOOL : EDI executable (default encounter)
ARGS : EDI arguments (default -nowin -64)
SCRIPTS : Script directory (default SCRIPTS)
LOG : Logfile directory (default LOGS)
21. 執行 placement
unix% make place
preplace 的 timing 在 RPT/preplace.summary
place 後的存檔在 DBS/place.enc
place 所使用的指令 log 在 LOG/place.log.cmdlog
52
unix% more RPT/prects.summary
prects 後的存檔在 DBS/prects.enc
prects 所使用的指令 log 在 LOG/prects.log.cmdlog
23. 執行 cts
unix% make cts
看看 clock tree synthesis 的結果:
unix% more RPT/clock.report
cts 後的存檔在 DBS/cts.enc
cts 所使用的指令 log 在 LOG/cts.log.cmdlog
53
D. 全部完成後順便寫出 gds,netlist,sdf,def
28. 這些步驟已經寫在 PLUG._bak 目錄的檔案裏,把這些檔案複製到 PLUG
unix% cp -r backup/PLUG/EDI PLUG/
29. 重新執行全部流程
unix% make -B signoff
-B 參數表示,不管前面步驟有沒有執行過,全部都重新執行。
30. 檢查 signoff 的 setup time 結果
unix% more RPT/signoff.summary
是否 timing 有 meet?
31. 檢查 signoff 的 hold time 結果
unix% more RPT/signoff_hold.summary
是否 timing 有 meet?
32. 檢查 geomentic verify 結果
unix% more CHIP.geom.rpt
是否有 gemoetry violation?
33. 檢查 connectivity verify 結果
unix% more CHIP.conn.rpt
是否 connectivity violation?
34. 檢查 antenna verify 結果
unix% more CHIP.antenna.rpt
是否 antenna violation?
54