2020年12月17日 星期四

Allegro - 快速複製相同的線路與Via

 1. 使用"滑鼠左鍵"點選"Copy"。


2. 在"Find"欄位中,只有勾選"Vias"、"Clines"。


3. 使用"滑鼠左鍵"框選欲複製的線路與Via。


4. 使用"滑鼠左鍵"點選"步驟3"所框選線路中,其中一條的尾端,當做複製的定位點。


5. 移動滑鼠時可以看到複製的線路跟著游標移動,移動到欲複製相同線路的位置,點選"滑鼠左鍵"貼上線路,如果要繼續貼上就重覆此步驟,如要結束按"F6"。




2020年12月3日 星期四

C#加入Excel物件

 1. 點選"專案名稱" > "Add" > References。


2. 按下"Browse...",選擇Excel執行檔路徑,一都安裝在"C:\Program Files (x86)\Microsoft Office\Office14\EXXEL.EXE"。

3. 最後程式中加入"using Microsoft.Office.Interop.Excel;",就可以使用Excel物件。



2020年11月30日 星期一

使用MakeFile執行NC-Verilog

  使用 NCLaunch編譯時在操作滑鼠點選要編譯的Verilog檔案與選取Testbench檔案比較花時間,改用MakeFile會比較節省時間。

1. 在Verilog與Testbench檔案的下增加一個MakeFile檔案。


2. 開啟並輸入。
VLOG =ncvlog
ELAB =ncelab
SIM =ncsim -gui

SRC =Test.v testbench.v
TP =testbench

VLOG_CONF =-update -linedebug -status
ELAB_CONF =-access +wc -status
SIM_CONF =-status

RM =-rm -rf
TMPFILE =*.log *.key INCA_libs waves.shm

all ::clean compile elab sim 

compile:
<TAB>$(VLOG) $(SRC) $(VLOG_CONF)

elab:
<TAB>$(ELAB) $(TP) $(ELAB_CONF)

sim:
<TAB>$(SIM) $(TP) $(SIM_CONF)

clean:
<TAB>$(RM) $(TMPFILE)


3. 開啟Terminal,在MakeFile路徑中輸入"make all",按"Enter"鍵後,就會自動編譯並開啟模擬視窗。

4. 開啟模擬視窗,其它操作與之前相同。

2020年11月23日 星期一

IC EDA 流程設計軟體工具

 IC設計的流程複雜,使用到的工具眾多,整套採購下來要近百萬至千萬台幣。

IC EDA 使用工具:

數位設計前段
1. 硬體描述語言: Verilog、VHDL。
2. RTL simulation: Cadence NCLaunch(NC Verilog + NC VHDL + NC simulators)、Synopsys VCS(simulation) + Verdi(debug)、Mentor Modelsim
3. Logic Synthesis(Verilog or VHDL code to Gate-Level Netlist ): Cadence Genus、Synopsys Design complier(DC) and Library complier(LC)。

數位設計後段
1. APR(Automatic Placement & Routing): Cadence Innovus、Synopsys IC complier(ICC)。

Design for testability(DFT)
1. BSCAN: Mentor BSDArchit、Sysnopsy BSD Compiler。
2. MBIST: Mentor Tessent Memory BIST。 
3. ATPG: Mentor TestKompress、Synopsys TetraMAX 。
4. Scan chain: Synopsys DFT compiler。

Design Signoff
1. Timing: Synopsys PrimeTime、Cadence Tempus。
2. Physical: Mentor Calibre、Synopsys IC Validator、Cadence Physical Verification System(PVS)。

類比設計
1. CMOS circuit design and simulation: Synopsys Laker ADP(circuit design)、Synopsys Hspice(simulation)、Cadence Virtuoso、Mentor Tanner S-Edit、Mentor Caliber(DRC/LVS)。
2. Layout: Synopsys Laker、Cadence Virtuoso、Mentor Tanner L-Edit。


IC開發流程:

1.      邏輯模擬:ModelSimMentor Graphics

*使用Linuxvi編輯器編寫Verilog

*使用ModelSim軟體的基本功能與操作。


2.      邏輯合成:Design CompilerSynopsys

*使用邏輯合成工具Design Compiler的圖形使用者方式與命令(腳本)操作方式。

*編寫邏輯合成約束指令檔,並應用指令檔控制合成過程。

*進行合成結果分析:綜合最壞路徑延時、功耗估計等。

*可測性設計的邏輯合成

 

3.      靜態時序分析:Prime TimeSynopsys

*使用靜態時序分析工具Prime Time的操作方式。

*理解輸入延時、輸出延時、時序弧等概念。

*對邏輯合成後的電路設計進行靜態時序分析,分析關鍵路徑。

 

4.      版圖合成:SOC EncounterCadence

*瞭解並輸入應用SOC Encounter進行版圖合成的各類庫檔及邏輯合成檔。

*進行版圖規劃設計。

*進行電源網路合成

*進行自動佈局。

*進行時鐘樹合成

*進行自動佈線,完成版圖合成

*版圖驗證:

**將版圖合成的結果導入模擬IC設計工具IC5141

**應用版圖驗證工具Assura對版圖進行DRC驗證、LVS驗證。

 

5.      自動測試向量生成:TetraMAXSynopsys

*熟悉測試向量合成工具TetraMAX的操作。

*對電路的DFT合成網表構造ATPG模型。

*進行設計規則檢查。

*外部輸入測試圖形的故障類比。

 

6.      形式驗證:FormalitySynopsys

*使用形式驗證工具Formality的基本概念與軟體操作流程。

*讀入設計、設置資訊、匹配比較點與驗證。

*結果分析與除錯。

 

7.       版圖驗證工具:IC5141Assura Cadence



IC設計流程與使用工具:




2020年5月20日 星期三

Allegro - 導出SMT元件位置座標

1. 選擇"File" > "Export" > "Placement..."。 

2. 點選"Placement Origin"後按"Export"。

3.顯示結果如下所示。

2020年3月5日 星期四

Allegro - 產生鑽孔表

(1). 選擇"Manufacture" > "NC" > "Drill Legend..."。

(2). 直接點選"OK"。

(3). 在"Options"視窗中,
Active Class and Subclass:
Manufacturing
Ncdrill_Legend
將鑽孔表擺放至電路板旁。


(4). 在轉出Gerber時,增加"MANUFACTURING/NCLEGEND-1-2",這樣才可以將鑽孔表增加到Gerber file中。


Allegro - 儲存設定好的Gerber檔案文件與載入

(1). 設定完成Gerber檔案文件後,使用"滑鼠左鍵"點選任一個文件夾,按"滑鼠右鍵"點選"Save All Checked",可以在狀態欄中看見存檔的檔名。

(2). 之後如果需要重新產生Gerber,可以按"Add...",選擇""FILM_SETUP.txt"檔,載入之前設定好的Gerber檔案文件。

2020年3月4日 星期三

Allegro - DRC錯誤碼

單一字元碼 相關物件 意義
L Line 走線
P Pin 元件腳位
V Via 貫穿孔
K Keep in/out 允許區域/禁止區域
C Component 元件層級
E Electrical Constraint 電氣約束
J T-Junction 呈現T形的走線
I Island Form 被Pin或Via圍成的負片孤銅

錯誤碼前置碼 相關物件 意義
W Wire 與走線相關的錯誤
D Design 與整個電路板相關的錯誤
M Soldemask 與防焊層相關的錯誤

錯誤碼後置碼 相關物件 意義
S Shape/Stub 與走線層的Shape或分支相關的錯誤
N Not  Allowed 與不允許的設置相關的錯誤
W Width 與寬度相關的錯誤

雙字元錯誤碼 相關物件 意義
BB Bondpad to Bondpad Bondpad之間的錯誤
BL Bondpad to Line Bondpad與Line之間的錯誤
BS Bondpad to Shape Bondpad與Shape 之間的錯誤
CC Package to Package Package之間的 Spacing 錯誤
CC Symbol Soldermask to Symbol Soldermask零件防焊層之間的Spacing 錯誤
DF Differential Pair Length Tolerance 差動訊號走線的長度誤差過長
DF Differential Pair Primary Max Separation 差動訊號走線的主要距離太大
DF Differential Pair Secondary Max Separation 差動訊號走線的次要距離太大
DF Differential Pair Secondary Max Length 差動訊號走線的次要距離長度過長
DI Design Constraint Negative Plane Island 負片孤銅的錯誤
ED Propagation-Delay 走線的長度錯誤
ED Relative-Propagation-Delay 走線的等長錯誤
EL Max Exposed Length 走線在外層(TOP&BOTTOM)的長度過長
EP Max Net Parallelism Length-Distance Pair 已超過Net之間的平行長度
ES Max Stub Length 走線的分支過長
ET Electrical Topology 走線連接方式的錯誤
EV Max Via Count 已超過走線使用的VIA的最大數目
EX Max Crosstalk 已超過Crosstalk值
EX Max Peak Crosstalk 已超過Peak Crosstalk值
HH Hold to Hold Spacing 鑽孔之間的距離太近
HW Diagonal Wire to Hold Spacing 斜線與鑽孔之間的距離太近
HW Hold to Orthogonal Wire Spacing 鑽孔與垂直/水平線之間的距離太近
IM Impedance Constraint 走線的阻抗值錯誤
JN T Junction Not Allowed 走線呈T形的錯誤
KB Route Keepin  to Bondpad Bondpad在Keepin之外
KB Route keepout  to Bondpad Bondpad在keepout之內
KB Via Keepout  to  Bondpad Bondpad在Via Keepout之內
KC Package to Place Keepin Spacing 元件在Place Keepin之外
KC Package to Place Keepout Spacing 元件在Place Keepout之內
KL Line to Route Keepin Spacing 走線在Route Keepin之外
KL Line to Route Keepout Spacing 走線在Route Keepout之內
KS Shape to Route Keepin Spacing Shape在Route Keepin之外
KS Shape to Route Keepout Spacing Shape在Route Keepout之內
KV BBVia to Route Keepin Spacing BBVia在Route Keepin之外
KV BBVia to Route Keepout Spacing BBVia在Route Keepout之內
KV BBVia to Via Keepout Spacing BBVia在Via Keepout之內
KV Test Via to Route Keepin Spacing Test Via在Route Keepin之外
KV Test Via to Route Keepout Spacing Test Via在Route Keepout之內
KV Test Via to Via Keepout Spacing Test Via在Via Keepout之內
KV Through Via to Route Keepin Spacing Through Via在Route Keepin之外
KV Through Via to Route Keepout Spacing Through Via在Route Keepout之內
KV Through Via to Via Keepout Spacing Through Via在Via Keepout之內
LB Min Self Crossing Loopback Length
LL Line to Line Spacing 走線之間太近
LS Line to Shape Spacing 走線與Shape 太近
LW Min Line Width 走線的寬度太細
LW Min Neck Width 走線變細的寬度太細
MA  Soldermask Alignment Error Pad Soldermask Tolerance太小
MC Pin/Via Soldermask to Symbol Soldermask Pad與Symbol Soldermask之間的錯誤
MM Pin/Via Soldermask to Pin/Via Soldermask Pad  Soldermask之間的錯誤
PB Pin to Bondpad Pin與Bondpad之間的錯誤
PL Line to SMD Pin Spacing 走線與SMD元件腳太近
PL Line to Test Pin Spacing 走線與Test元件腳太近
PL Line to Through Pin Spacing 走線與Through元件腳太近
PP SMD Pin to SMD Pin Spacing SMD元件腳與SMD元件腳太近
PP SMD Pin to Test Pin Spacing SMD元件腳與Test元件腳太近
PP Test Pin to Test Pin Spacing Test元件腳與Test元件腳太近
PP Test Pin to Through Pin Spacing Test元件腳與Through元件腳太近
PP Through Pin to SMD Pin Spacing Through元件腳與SMD元件腳太近
PP Through Pin to Through Pin Spacing Through元件腳與Through元件腳太近
PS Shape to SMD Pin Spacing Shape與SMD元件腳太近
PS Shape to Test Pin Spacing Shape與Test元件腳太近
PS Through Pin to Shape Spacing Through元件腳與Shape太近
PV BBVia to SMD Pin Spacing BBVia與SMD元件腳太近
PV BBVia to Test Pin Spacing BBVia與Test元件腳太近
PV BBVia to Through Pin Spacing BBVia 與Through元件腳太近
PV SMD Pin to Test Via Spacing SMD Pin與Test Via太近
PV SMD Pin to Through Via Spacing SMD Pin與Through Via太近
PV Test Pin to Test Via Spacing Test Pin與Test Via太近
PV Test Pin to Through Via Spacing Test Pin與Through Via太近
PV Test Via to Through Pin Spacing Test Via與Through Pin太近
PV Through Pin to Through Via Spacing Through Pin與Through Via太近
RC Package to Hard Room 元件在其他的Room之內
RE Min Length Route End Segment at 135Degree
RE Min Length Route End Segment at 45/90Degree
SB 135Degree Turn to Adjacent Crossing Distance
SB 90Degree Turn to Adjacent Crossing Distance
SL Min Length Wire Segment
SL Min Length Single Segment Wire
SN Allow on Etch Subclass 允許在走線層上
SO Segment Orientaion
BB Bondpad to Bondpad Bondpad之間的錯誤
SS Shape to Shape Shape之間的錯誤
TA Max Turn Angle
VB Via to Bondpad Via 與Bondpad之間的錯誤
VG Max BB Via Stagger Distance 同一段線的BB Via之間的距離太長
VG Min BB Via Gap BB Via之間太近
VG Min BB Via Stagger Distance 同一段線的BB Via之間的距離太近
VG Pad/Pad Direct Connect Pad 在另一個Pad 之上
VL BB Via to Line Spacing BB Via與走線太近
VL Line to Through Via Spacing 走線與Through Via太近
VL Line to Test Via Spacing 走線與Test Via太近
VS BB Via to Shape Spacing BB Via與Shape太近
VS Shape to Test Via Spacing Shape 與Test Via太近
VS Shape to Through Via Spacing Shape與Through Via太近
VV BB Via to BB Via  Spacing BB Via之間太近
VV BB Via to Test Via Spacing BB Via與Test Via太近
VV BB Via to Through Via Spacing BB Via與Through Via太近
VV Test Via to Test Via Spacing Test Via之間太近
VV Test Via to Through Via Spacing Test Via與Through Via太近
VV Through Via to Through Via Spacing Through Via之間太近
WA Min Bonding Wire Length Bonding Wire 長度太短
WE Min End Segment Length
WE Min Length Wire End Segment at 135Degree
WE Min Length Wire End Segment at 45/90Degree
WI Max Bonding Wire Length Bonding Wire 長度太長
WW Diagonal Wire to Diagonal Wire Spacing 斜線之間太近
WW Diagonal Wire to Orthogonal Wire Spacing 斜線與垂直/水平線之間的距離太近
WW Orthogonal Wire to Orthogonal Wire Spacing 垂直/水平線之間的距離太近
WX Max Number of Crossing
WX Min Distance between Crossing
XB 135 Degree Turn to Adjacent Crossing Distance
XB 90 Degree Turn to Adjacent Crossing Distance
XD Externally Determined Violation
XS Crossing to Adjacent Segment Distances