当前位置:首页 >> 信息与通信 >>

IC设计入门


使用手冊

Edited by 黄子龙、赵建胜、林庆钧(2002)

1

Outline
Introduction 工作站使用初级入门 事前准备 Cadence A. Layout B. Schematic C. Symbol D. PDRACULA 5. Spice A. Hspice B. Awaves

1. 2. 3. 4.

Introduction
完整的 Full-Custom 设计系统环境 1. 设计数据库-Cadence Design Framework II 2. 电路编辑环境-Text editor / schematic editor 3. 电路仿真软件-spice 4. 布局编辑软件-Candence virtuoso 5. 布局验证软件-diva, Dracula/Inquery, Hercules 系统环境 1. 工作站 2. unix-based 操作系统

2

工作站使用初级入门
基本指令简介: 1. ls:检视目录下所有档案。 2. clear:清除屏幕。 3. pwd:显示目前工作的目录。 4. cd:改变目录。 5. rm:删除档案。 6. cp:复制档案。 7. mv:移动档案。 8. mkdir:建立目录。 9. rmdir:删除目录。 10. find:寻找档案。 11. passwd:改变密码。 12. chfn:改变全名。 13. finger:显示使用者信息。 14. rusers:显示所有使用者。 指令再介绍: 1.登录步骤 login :___________(输入 username) password:___________(输入密码) 2.注销步骤 logout 或

exit

3.在线指令说明 执行格式: man [command-name] 4.改变工作目录位置 执行格式: cd [name] Example: cd dir1 改变目录位置,至 dir1 之目录位置下。 5.复制档案 执行格式: cp [-r] source destination Example: cp file1 file2 将档案 file1 复制成 file2。 cp –r dir1 dir2 复制整个目录。
3

6.搬移或更改档案、目录名称。 执行格式: mv source destination Example: mv file1 file2 将档案 file1,更改档名为 file2。 mv file1 dir1 将档案 file1,移到目录 dir1 下,文件名仍为 file1。 mv dir1 dir2 改目录名称 dir1 为 dir2。 7.建立新目录 执行格式: mkdir directory-name Example: mkdir dir1 建立一新目录 dir1。 8.删除目录 执行格式: rmdir directory-name Example: rmdir dir1 rm –r dir1



rm directory-name

删除目录 dir1,但 dir1 下必须没有档案存在,否则无法删除。 删除目录 dir1,及其下所有档案及子目录。

9.删除档案 执行格式: rm filename (filename 可为档名,或文件名缩写符号。) Example: rm file1 删除档名为 file1 之档案。 rm file? 删除文件名中有五个字符,前四个字符为 file 之所有档案。 rm f* 删除文件名中,以 f 为前缀之所有档案。

PC怎么连工作站?
1. 桌面改为 1024*768*256 色 2. 执行 xwin 程序 3. Netterm telnet 140.116.164.112~141 (CIC 计算机教室) 4. e2486***@eesol08:~> who e2486*** pts/2 Dec 28 11:43 (eepc00.ee.ncku.edu.tw) 5. e2486***@eesol08:~> setenv DISPLAY eepc00.ee.ncku.edu.tw:0.0 6. 完成上述五个步骤后,Start Cadence 的方法,请参阅使用手册第六页。

4

事前准备
所需档案: cds.lib 025_v1.tf display.drf drc lvs lpe divaDRC.rul mix025_1.l 用途 Library definition Technology file for design rule layer display information Design rule check Layout v.s. Schematic Post layout extraction on-line DRC check(DIVA) Models library for 0.25um(tsmc)

档案来源: 可以从/home3/user/MS92/n2690181 复制 tsmc_025c 目录到自己的目录 指令:cp -rf /home3/user/MS92/n2690181/tsmc_025c /自己的目录路径/ (其中自己的目录路径可以打指令 pwd 得知) 档案安放:

e24xxxxx (Home directiory) models techfile mix025_1.l 025_v1.tf divaDRC.rul

simulation

check

drc lvs lpe

work

cds.lib display.drf

5

Start Cadence
一.在 Terminal 窗口
→ source ~n2690181/ic.cshrc.cad445 → cd work(进去有放 cds.lib 的目录) → icfb& 二.出现画面 1.?字應該是 4.4.5 2.??是 4.4.5,代表使用到舊版 的 cadence ?,請從第一點重新 開始

CIW(command Interpreter window)

三.点选在 CIW 窗口的上面工具列 Tools→Library Manager, 会出现 LM 窗口 LM(Library Manager)

6

四.建立新的 Library 1. 点选 LM 窗口上面的工具列 File→New→Library 2. 会产生 New Library 画面

1. 在 name 填上 Library 名稱 2. 點選下面的 OK

3. 出现下列画面

7

1. 選擇 Compile a new techfile 2. 點選上面的 OK

4. 出现 Load Technology File 窗口 1. 鍵入 ~/techfile/025_v1.tf 2. 點選 OK 3. 即建?以 025_v1.tf 為 technology file 的 new library “hw1” 五.建立 Cell View 1. 第四点成功之后,会在 LM 窗口的 Library 列表出现第四点建立的 new library 名称 2. 点选该名称,比如 hw1,再选 LM 窗口上工具列 File→New→Cell View 1. 在 tool 改選擇 Virtuso,會在 view name 出現 layout 2. 在 cell name 填上名稱 3. 按 OK 之後,會開啟 layout editor 的畫面 ?要產生 Schematic view, Tool ? 要選取 Composer-Schematic. ?要產生 Symbol view, Tool ?要 選取 Composer-Symbol.

8

Start Layout
一. 在 LM 窗口用鼠标左键点选 Library 的 hw1→再点选 cell 的 inv→再连续点选 view 的 layout 两次,或是用右键 open,即可开启 layout 窗口 二. Layout Editor LSW(Layout selection window)

常 用 功 能 鍵

指?顯示 因为是采用 0.25um 5 metal & 1 poly,所以 LSW 应该是看到以上的画面。如果不 是的话,则有可能是 create library 时 technology file 没有设对。 三.Layout 的基本操作 1. 设定窗口的点距(Grid), 点选 Layout 窗口上面的指令选项 Option→Display

設定 grid 的顯示方式,通常是 dots 設定 minor grid 的間距,通常是 0.05 設定 major grid 的間距, 通常是 0.1 設定 X 軸移動的最小間距,0.01 設定 Y 軸移動的最小間距,0.01

9

2.设定是否有 Gravity 的功能,点选 Layout 窗口的指令列 Options→Layout Editor,依照个人使用习惯与需要来选择是否 Gravity On Gravity On:当鼠标指针靠近对象时即被吸到该对象的边缘

3.用 ruler 把长度量好, 用右键点选 LSW 中所要用的 layer, 再点选常用功 能栏中的 rectangular 或 polygon 来画. 4.如果边长要纠正的话, 可使用 stretch 来达成, 或者是用 reshape 这功能. 5. 若要取消指令重选新指令,最好先按 Esc 键 6. Layout 时要注意 layers 之间的距离(参考 design rule) 7. 偶而可以点选 Layout 上面的指令 Design→Save 做储存动作,免得夜长梦 多,天有不测风云,人有旦夕祸福 8. 用 label 来定义端点名称,每当打上 label 时,记得要点选该 label,然后 按 q ,改变该 label 的 layer 成 text2

10

四.当在画的途中,可以使用 on-line drc(DIVA)来检查是否违反 design rule 1. 点选 Layout 窗口上面的指令 Verify→DRC 2. 出现 DRC 窗口

?無法?取 divaDRC.rul, 1.取消選取 Rules Library, 2.給全?徑. ~/techfile/divaDRC.rul 或直接將 divaDRC.rul copy 到所使用的 library 中(ex: hw1).

3. 4. 按 OK 之后,会开始跑 DRC,若有错误,CIW 对话盒会秀出错误并且在 Layout 窗口也会有 marker 闪烁

5. 可以点选 Layout 窗口上面的指令 Verify→Makers→Explain,然后选择 Layout 窗口中闪动线条,即可知所犯的错误 6. 若要消除在 Layout 窗口闪烁的 marker, 点选 Layout 窗口上面的指令 Verify →Markers→delete all,出现下面窗口,再点选 OK 即可。

7.当全部画完时,务必要 on-line DRC 成功才行 五.以上是大致的使用方法,若要更详细可 reference CIC 的 Full-Custom IC Design KIT (basic) Training Manual.
11

以下是 NMOS 和 PMOS 的 Layout 图 NMOS layout view

p+ implant

Thin oxide contact

Metal1 poly

n+ implant

PMOS layout view

n-well p+ implant

n+ implant

12

Start schematic
一. 建立 Schematc view: 跟建立 layout view 方法一样 (请参考 Start Cadence 的第 五大点的第二小点) ,先点选要 LM 窗口预定的 library,再点选 LM 窗口的 File→New→Cell view,按 OK 之后,即可建立 Schematic View

二.若 Schematic View 已存在,在 LM 窗口用鼠标左键点选 Library 的 hw1→再点 选 cell 的 inv→再连续点选 view 的 schematic 两次,或是用右键 open,即可开 启 schematic 窗口

三.点选 Schematic 窗口上面的指令集 Add→Instance,出现 Add Instance 窗口

13

再点选 Add Instance 窗口的 Browser,选择 analoglib 中常用的组件 analoglib 常用组件 PMOS pmos4 NMOS nmos4 Vdd 正电压 Gnd 接地 1. 选完所需的组件之后, 利用 narrow wire 将之线路接起来. 2. 加 pin , 给 pin name 且要指示 input , output ,inout , 若有做 layout 的话, 要标示相同. 3. 点选 nmos 再选 properties (按 q 键 ) , 标明 model name ,width ,length, 同理 for pmos. Model name 是以 width,length 来决定用那一个 model , 可由 models 目录下的 README 中得知,比如 L=1um W=1um for nmos 和 pmos 经查阅可用 (nch.1,pch.1) 等等. (也可以只用 nch , pch , 因为 run hspice 时会自动帮你判断.)

4. 最后 Design Check and Save , 若有 error 则 schematic view 上有闪动 , 此时可选 Check Find Marker 来看 error 的原因.

14

Start symbol
一. 由 Schematic 产生 symbol 1. 打开 Schematic view 2. 点选 Schematic 窗口上面指令集的 Design→Create cellview→From cellview

按 OK

按 OK

15

3. 点选 [@partName] 按 q 键 出现 properties 的对话盒把[@partName] 依电路的特性改成所要的 name 比如 inv 等.

4.可用 ADD shape 内的各种形状来修饰这 symbol 的外观. 5.完成之后, Check--Cross View check, 然后 Design save 6. 按照以上步骤来产生的 symbol 必须注意的若更改 schematic 的 input,output label, 且必须更改其 symbol 的 input,output label, 不然会发生闪动的 error

16

Start PDRACULA
当芯片设计在 Opus 中完成后, 必须将 Opus layout view 转成 GDSII-format data , 经局验证器验证无误后, 再交光罩或制程公司, 其接收的 format 包括 GDSII , CIF , Applicon, 其中 CIF 为可读的 ASCII format , 但只有学校使用它, GDSII 及 Applicon 为不可读的 binary format, 而 GDSII 使用率最高, 是 IC 工业界布局数据交换的标准格式. Dracula 则被公认是布局验证的标准,几乎全世界所有 IC 公司都拿它来作 sign-off 的凭据.

How to DRC (1) Stream out for drc ( 产生 GDSII file -- *.db )

点选 CIW 对话盒的 File Export stream 出现以下的窗体, 接着按 Library Browser 这 button 点选要 stream out 的 layout.

要填 Run Directory 和 Output File

17

若成功的话,会在~/check/inv 的目录出现 inv.db 和 PIPO.log 另外还会出现成功的窗口

(2) 修改 drc
修改以下部分:

PRIMARY = * INDISK = *.db OUTDISK = *.out PRINTFILE = *

然后 save 在之前 *.db 所放的目录.

(3) Run PDRACULA
到放 *.db 和 drc 的目录下 (ex: ~/check/inv) PDRACULA : /g drc n : /f ( 说明会跑几个 stages) ls ( 看其中是否产生 jxrun.com ) jxrun.com & 若所有 stages 都完, 就会产生 *.sum ( 不顺利的话, 就要重 run , 而如果是打 jxrun.com >drc.log & , 目的是要将 run 期间出现的 message save 到 drc.log 这 file 中.)

(4) Debug layout view
Open *.sum 找以下这一段

?有 error,則會出現文字告訴是?麼 樣的 error ?沒有 error,則?會出現文字

18

成功的话, 要把 *.sum copy 多一份到其它的目录, 不然 run lvs 时会被 cover 掉. 如果失败 的话, 把该 layout view 打开 Tools InQuery ;命令列会多出 3 个选项(DRC, LVS, LPE). DRC Setup ..

DRC

Select Error Files ..

(以上假设有很多 error 的话 , 任一点选其一) Ok 之后, error 就会在 layout view 上显示出来 ,然后可用 DRC Explain ,然后点选任一 error 就会告知 error 的原因, 完成修改之后,由 Tools layout Verify DRC, 确定没问题 之后存盘回到第 3 步骤 重 run.

19

How to LVS
[ 确定 DRC 要成功才进行 ].

(1) CDL out for lvs
在 CIW 下选 File Export CDL 出现以下的窗体 接着按 Library Browser 这 button 找要 CDL out 的 schematic.

一定要填

之后会在 Run Directionary 产生 netlist 檔 (2) 修改 netlist,把 CDL 产生的 netlist

1..EQUIV 前再加*號 2.將所有的 NM 改成→N PM 改成→P

20

(3) run LOGLVS
在 *.sum , *.db 的目录下 run LOGLVS : htv : cir netlist : con inv :x 结果会产生 LVSLOGIC.DAT

cir *** 是根據 cdl out form 中 Output File 所填的 name . con *** 是根據 cdl out form 中 Top Cell Name 所填的 name .

(4) 修改 lvs
open lvs 这档案, 修改的地方参照 drc 的第 2 步骤

(5) run PDRACULA
参照 drc 的第 3 步骤 , 不同的只是 : /g lvs n 而巳 ( jxrun.com>lvs.log & ;若 abort, 则可 check 此 lvs.log 的内容.) 结果会产生 *.lvs

(6) Debug LVS
Open *.lvs 找以下这一段 (这是有 layout 和 schematic 中晶体管的 width 和 length 不 match 的情形)

這是 inverter 的?子,電晶體的? ?有 match.

指電晶體在 layout view 中 的接法,其中 X ,Y 為其所 在的位置. 指電晶體在 schematic view 中的接 法,如上? VI (Gate) ,GND!(Source),VO(Drain)
21

若固定 schematic 中晶体管的 width 和 length 来对 layout 做修正: 首先把该 layout view 打开 Tools InQuery LVS Setup View Lvs

ok

输入选项(Select Error, Show Net or Device …等等)之后, 此时 layout view 中就会显示 error 出来, 便可做修改了. 然后重做 DRC 全套.

22

How to LPE
[ 确定 LVS 要成功才进行 ,因为 LPE 除了做 post layout extraction 之后, 还重做 LVS ]

(1) 修改 lpe
open lpe 这档案, 修改的地方参照 drc 的第 2 步骤

(2) LVSLOGIC.DAT ?
查看要 run lpe 的目录, 如果没有的话, 重 run lvs 的第 2 步骤.

(3) run PDRACULA
参照 drc 的第 3 步骤,不同的只是 : /g 结果会在该目录产生 SPICE.DAT 檔。 lpe n 而巳

(4) 修改 SPICE.DAT
open 此檔,依以下的方式做修改:

(1) 把 .GLOBAL 之前的 * 去除. (2) 修改電晶體 model ( N nch.2 ; P 或 ( N NCH ; P

pch.2 ). PCH )

.
23

自己加的部份:

依上圖的 subckt 的宣告

(1) 加 model library 及其完整?徑. (2) 加 spice circuit netlist ( 可查閱 Hspice 的書本 ) 改完之后, save 成 *.sp 存在 simulation 相对目录里面

(5)修改 model 目录里面的 mix025_1.l 檔
开启之后,找到**2.5V NOMINAL Vt DEVICES LIB*** 以下分别有五个区段( .LIB TT, .LIB SS, .LIB FF, .LIB SF, .LIB FS)

.lib '/mix025_1.l' MOS 改為 .lib '/自己的?徑/models/mix025_1.l' MOS 而自己的?徑可打指? pwd ?得知.

24

(6)Run Hspice
依 Hspice 的第 (7) 步骤进行. (下一个 section )

Start Hspice
hspice file ( *.sp ) 的来源有三种方式: (一) 自己写 (二) 由 lpe 产生 SPICE.DAT (三) 由 schematic 经 start to Hspice 的步骤得到 (? post-layout simulation) (? pre-layout simulation)

以下是介绍第三种方式: (1) 在自己的 lib 依照 Start Cadence 中, create new cell. (2) Create schematic view & open ( 以 inverter 为例 ) 选 component , 用 browser 选自己先前所建的 inverter symbol, 再由 analoglib 中选 vdc ( DC source ) , vdd , gnd , vpulse (square wave source) 如下图所示:

利用 properties 点选 source 将参数设定好, 如下图所示:

25

完成之后, Design

Check & Save , 然后进行 start to Hspice.

Start to Hspice

(1)在 Schematic View 中选 Tools (2) Setup

Analog Environment , 以下图示:

Simulator/Directory/Host

(3) Setup

Model Path
Check model library path 是否正確. OK OK OK (Saving state)

26

Change Simulator and Project Directory.

(4) Analysis

Choose

選擇分析?別
ex:tran 是用?分析 time domain 的波 形。

輸入要看的範圍

(5) Simulation

Netlist

Create Final

(产生 schematic view 的 netlist "hspiceFinal") 选择 file save as , 打存放的路径加文件名.(存成 *.sp)

(5) Open *.sp

補加 Lib path 和 post

27

(注):
.lib ‘/user2/class/vlsi22/models/mix025_1.l’ TT // path of file “mix025_1.l” VDC VDD! GND! DC 2.5 //voltage of vdd! X1 A C CBAR Z SPICE //induce I/O of the schematic VS1 A GND! PULSE 2.5 0.0 10E-10 10E-10 10E-10 20E-9 40E-9

// Input_name:A; Input_type:PULSE: ;V1:2.5; V2:0.0; Delay_time:10E-10; //Rise_time:10E-10;Fall_time:10E-10;Pulse_width: 20E-9;Period: 40E-9

.TRAN 1.00000E-09 1.00000E-07 START= 1.00000E-10 .TEMP 25.0000 //T=25℃

//range of analysis

(6) Run Hspice
要 run hspice 之前 source /home3/user/MS92/n2690181/cshrc.meta 在*.sp 的工作目录下打入 hspice *.sp 正常会出现 …. Concluded , 且产生 graph data file (常用) 如下表 Transient *. tr0 DC *.sw0 AC *.ac0 不正常会出现 …. Abort, 重 run hspice *.sp > out open out 看看是什么 error message

可能的发生的问题
1. library path 设错 2. 忘记加 post 3. 使用 voltage or current source 的设定错误.

(7) Run awaves , view graph data file
awaves &

Design

Open

(選模擬的電?檔)

28

選模擬的電?檔

OK

選定要看的 圖形資?檔

選看電壓或 電?資?

这是以 inverter 为例:

選 node 再按 Del 鍵可移除 波形 Double click 欲看波形的節點 右鍵設 scale

29

Awaves 常用的功能:
1. 要产生多个 panel 可选 Panels 中的选项(如:Panels Add ; 可增加 panel 数.) 2. Tools Print 把结果印出来(建议用 XV tool 抓图,改颜色打印以节省碳粉) 3. 先 Measurement Anchor cursor , 此时可看到垂直线, 用右键定位其中一 条线, 再利用另一条线定范围, 此时按下右键选 Zoom X Zoom in , 然后用左键在范围画一横线, 就可达成放大所要选择的范围. (注) 抓图法:在命令列下打入 xv 再以 inverter 为例: 将 pre-layout 与 post-layout simulation 一起列出比较.

Pre_layout simulation

Post_layout simulation

Inverter transfer curve

30

Hspice Menu
A. Specifying Simulation Input and Controls
1. Input Netlist File(<design>.sp) Guidelines The basic structure of an input netlist file consists of one main program and one or more optional submodules. The submodule can be used to easily alter and resimulate an input netlist file with different options, netlist, analysis statements, and test vectors. Several high level call statements can be used to restructure the input netlist file modules.The basic elements of an input netlist file are:
First line is Input Netlist File Title Commands to describe the circuit Set Conditions for Simulation Statements to Set Sweep Variables Save and load operating point info Set analysis temperature Set Print, Plot, and Graph Variables Sets Initial State Sets Input Stimuli Circuit Description In first Column ,+, is Continuation Sets/Ends Subcircuit Description Call Library or General Include Files Turns off output printback Restore output printback Library Element Model Descriptions Required Statement to Terminate Simulation

TITLE *or $ .OPTIONS Analysis(.AC, .DC, .TRAN..) .SAVE/.LOAD .TEMP .PRINT/.PLOT/.GRAPH .IC or .NODESET Sources (I or V) Netlist + Char. .SUBCKT/.ENDS .LIB or .INCLUDE .PROTECT .UNPROTECT .MODEL .END

2.

Input Line Format
The Star-Hspice input reader can accept an input token, such as a statement name, a node name, or a parameter name or value. Upper and lower case are ignored.
31

Comments are added at any place in the file. Line beginning with an asterisk (*) are comments. A statement may be continued on the next line by entering a plus (+) sign as the first nonnumeric, nonblank character in the next line. 3.

Nodes
Node identifiers can be up to 1024 characters long, including periods and extensions. Trailing Alphabetic Character are ignored in Node Number, (e.g. 5A=5B=5) Numerical node names are valid. Nodes are made global across all subcircuits by a .GLOBAL statement. Node 0, GND, GND!, and GROUND all refer to the global Star-Hspice ground.

4.

Instance Names
The names of element instances begin with the element key letter(for example, M for a MOSFET element, D for a diode, R for a resistor, and so on), except in subcircuits. Subcircuit instance name begin with “X”.(Subcircuits are sometimes called macros or modules.)

5.

Numbers
Numbers are entered as integer or real. Numbers can use exponential format or engineering key letter format, but not both(1e-12 or 1p, but not 1e-6u). Exponents are designated by D or E. Exponent size is limited by .OPTION EXPMAX. Units comments are not checked.. .OPTIONS INGOLD controls the format of numbers in printouts. .OPTIONS NUMDGT=x controls the listing printout accuracy.

6.

Instance and Element Names:
C D E,F,G,H I J Capacitor Diode Dependent Current and Voltage Controlled Sources Current JFET or MESFET
32

K L M Q R O,T,U V X

Mutual Inductor Inductor MOSFET BJT Resistor Transmission Line Voltage Source Subcircuit Call

7.

Units and Scale Factors Units:
R C L Ohm (e.g. R1 n1 n2 1k) Farad (e.g. C2 n3 n4 1e-12) Henry (e.g. L3 n5 n6 1e-9)

Scale Factors:
F P N U M 1e-15 1e-12 1e-19 1e-6 1e-3 K Meg G T DB 1e3 1e6 1e9 1e12 20log10 Examples: 1pF 1nH 10Meg Hz vdb(v3)

Technology Scaling : All Length and Widths are in Meters
Using W=100 (means that L=2um、W=100um) .options scale=1e-6 L=2

8.

Netlist Structure (SPICE Preferred)
Title Controls Title statement – Ignored during simulation .option nomod nopage .tran 1 10 .print v(5) i(r1) .plot v(3) v(in) * voltage sources v3 3 0 dc 0 ac 0 0 pulse 0 1 0 0.1 0.1 vin in 0 sin(0 2 10k 0.5 0)
33

Sources 4

Components

*Components c2 2 0 2pf r1 1 0 1k m1 1 2 3 4 mod L=10u W=30u x3 2 3 INV *Model & Subcircuit .model… or .LIB or .Subckt .end

Models & Subckts End file

9.

Library Input Statement: Place commonly used commands, device models, subcircuit analysis and statements in library file by using the .LIB call statement. As each .LIB call name is encountered in the main data file, the corresponding entry is read in from the designated library file. Syntax .LIB ‘<filepath> filename’ entryname Example
.LIB ‘/user2/class/vlsi22/models/mix025 1.l’ TT Corner name

PROTECT Prevent the listing of included contents .LIB ‘/user2/class/vlsi22/models/mix025_1.l’ TT .UNPROTECT

10. Hierarchical Circuits .SUBCKT Definition A circuit block that appears more than once in the overall circuit and consists of SPICE primitives can be defined as a subcircuit. The block can then be referenced as a single component, the subcircuit instance, and connected throughout circuit. The element that from the subcircuit block are preceded by the following control statement: .SUBCKT SUBname node1<node2…> circuit description .ENDS <SUBname>
34

Subcircuit Instance A subcircuit block is placed in the circuit by an X-element call, or subcircuit call, defined by the following line: Xname xnode1<xnode2…>SUBname

SUBCKT Statement: Examples
.GLOBAL VDD VDDA VDD 0 VALUE .PARAM VALUE=5V .TRAN 1n 100n * .SUBCKT INV IN OUT M1 OUT IN VDD VDD P L=0.5u M2 OUT IN 0 0 N L=0.5u R1 OUT 4 1K R2 4 5 10K .ENDS INV * X1 1 2 INV X2 2 3 INV *.PRINT TRAN V(2) V(X1.4) I(X2.M1)

.GLOBAL Statement The .GLOBAL statement globally assigns a node name. This means that all references to a global node name used at any level of the hierarchy in the circuit, will be connected to the same node. The .GLOBAL statement is most often used when subcircuits are included in a netlist file. This statement assigns a common node name to subcircuit nodes.

35

B. Sources and Stimuli
1. Independent Source Elements: AC, DC Source
Source Element Statement:

Syntax :
Vxxx n+ n- < <DC=>dcval> <tranfun> <AC=acmag, <acphase>> Iyyy n+ n- < Examples of<tranfun> <AC=acmag, <acphase> <M=val> <DC=>dcval> DC & AC Sources : V1 V2 I3 1 2 3 0 0 0 DC=5V 5V 5mA

V4 4 0 AC=10V, 90 V5 5 0 AC 1.0 180 *AC or Freq. Response Provide Impulse Response

Examples of Mixed Sources :
V6 V7 6 7 0 0 5V AC=1V, 90 0.5V AC 1.0 SIN (0 1 1Meg)

2.

Independent Source Functions: Transient Sources Transient Sources Statement Types of Independent Source Functions:
Pulse (PULSE Function) Sinusoidal (SIN Function) Exponential (EXP Function) Piecewise Linear (PWL Function) Single-Frequency FM (SFFM Function) Single-Frequency AM (AM Function)

Pulse Source Function: PULSE Syntax :
PULSE ( V1 V2 < Tdelay Trise Tfall Pwidth Period > )

36

Example:
Vin 1 0 PULSE ( 0V 5V 10ns 10ns 10ns 40ns 100ns )

Sinusoidal Source Function: SIN Syntax:
SIN ( Voffset Vacmag < Freq Tdelay Dfactor

Example:
Vin 3 0 SIN ( 0V 1V 100Meg 2ns 5e7 )

Piecewise Linear Source Function: PWL or PL Syntax:
PWL ( <t1 v1 t2 v2 ......> <R<=repeat>> <Tdelay=delay> ) $ R=repeat_from_what_time TD=time_delay_before_PWL_start

Example:
V1 1 0 V2 2 0 PWL 60n 0v, 120n 0v, 130n 5v, 170n 5v, 180n 0v, R 0 PL 0v 60n, 0v 120n, 5v 130n, 5v 170n , 0v 180n , R 60n
37

C. Analysis Types: Transient Analysis
Transient Analysis Statements:
.TRAN: Calculate Time-Domain Response

.TRAN Analysis: Syntax
.TRAN tincr1 tstop1 < tincr2 tstop2 ..... > < START=val> .TRAN tincr1 tstop1 < tincr2 tstop2 ..... > < START=val> UIC <SWEEP..>

Examples:
.TRAN .TRAN 1NS 100NS 10NS 1US UIC

D. Simulation Output and Controls
1. Output Statements: Output Commands:
.PRINT Statement : Print Numeric Analysis Results .PLOT Statement : Generates Low Resolution Plot in .lis file .PROBE Statement : Allows Save Output Variables Only into the Graph Date Files .MEASURE Statement : Print Numeric Results of Measured Specifications
38

Output Variables:
DC and Transient Analysis: Displays Individual Voltage, Current, & Power AC Analysis: Display Real & Imag. Components of Voltage & Current..... Element Template Analysis: Display Element-Specific Voltage, Current.....

2.

Output Variable Examples: Parametric Statements Algebraic Expressions for Output Statements:
.PRINT DC V(IN) V(OUT) PAR(‘V(OUT)/V(IN)’) .PROBE AC Gain=PAR(‘VDB(5)-VDB(2)’) Phase=PAR(‘VP(5)-VP(2)’)

Other Algebraic Expressions :
Parameterization: .PARAM WN=5u LN=10u VDD=5.0V Algebra: .PARAM X=‘Y+5’ Function: .PARAM Gain(IN, OUT)=‘V(OUT)/V(IN)’ Algebra in Element: R1 1 0 r=‘ABS(V(1)/I(M1))+10’

Built-In Functions :
sin(x) cos(x) tan(x) asin(x) acos(x) atan(x) sinh(x) tanh(x) abs(x) sqrt(x) log(x) log10(x) exp(x) db(x) min(x,y) max(x,y) power(x,y)...

3.

Displaying Simulation Results: .PRINT & .PLOT Syntax:

.PRINT anatype ov1 <ov2 ...> Note : .PLOT with same Syntax as .PRINT, Except Adding <pol1, phi1>to set

Examples:
.PRINT .PRINT .PRINT .PRINT .PLOT .PLOT .PLOT TRAN V(4) V(X3.3) P(M1) P(VIN) POWER PAR(‘V(OUT)/V(IN)’) AC VM(4,2) VP(6) VDB(3) AC INOISE ONOISE VM(OUT) HD3 DISTO HD3 HD3(R) SIM2 DC V(2) I(VSRC) V(37,29) I1(M7) BETA=PAR(‘I1(Q1)/I2(Q1)’) AC ZIN YOUT(P) S11(DB) S12(M) Z11(R) 39 TRAN V(5,3) (2,5) V(8) I(VIN)

4.

Displaying Simulation Results: .PROBE & .GRAPH .PROBE Statement:
.PROBE Syntax : .PROBE anatype ov1 <ov2 ...> Note 1 : .PROBE Statement Saves Output Variables into the Interface & Graph Data Files Note 2 : Set .OPTION PROBE to Save Output Variables Only, Otherwise HSPICE Usually Save All Voltages & Supply Currents in Addition to Output Variables

Reference:
1. CIC "Full-Custom IC Design Training Manual" July.- 2000ed. 2. CIC "Dracula Training Manual" Jan-2001 ed. 3. CIC "SPICE Training Manual" Jan.-1999 ed.

40


相关文章:
初级数字IC设计工程师实战培训课程
招生对象 (1) 有一定电子类基础的在校研究生和应届生, 在学校没有实战数字 IC 设计的机会, 毕业又向往 IC 设 计的高薪资,希望从事数字 IC 设计行业。我们给...
工程师IC设计基础以作答
工程师IC设计基础以作答_电子/电路_工程科技_专业资料。本人以对所有题作答,今天应聘刚好用上了IC 设计基础(流程、工艺、版图、器件) 笔试集锦 1、 我们公司的...
IC设计流程之实现篇——全定制设计
O 芯片、CPU 芯片在 EDA 工具上的区别都不明显,并且涉及某些应用领域的特定的知 识,需要读者具备一定的背景知识,不适合用来作为介绍 IC设计流程的入门级题材...
初学者如何学习FPGA
初学者如何学习FPGA_理学_高等教育_教育专区。FPGA初学者必看初学者如何学习 FPGA...由此可见 IC 设计也是未来发展的一个重点方向, 将会是国家大力扶持的产业之一,...
IC基础知识
IC 设计基础(流程、工艺、版图、器件) 1、我们公司的产品是集成电路,请描述一下你对集成电路的认识,列举一些与集成电路 相关的内容(如讲清楚模拟、数字、双极型...
PCB新手初学必备50个经典应用电路实例分析
市电正常时,非 IC1A 输出高电平,IC1B、IC1C 输出低电平,LED1 、LED2 均...PCB印制电路板设计入门 30页 免费 电路板维修入门 26页 免费 印刷电路PCB板入门...
集成电路设计基础
集成电路设计基础_工学_高等教育_教育专区。IC设计基础 集成电路 期末考试复习提纲集成电路设计基础复习提纲 一 EDA 常用命令 ls 显示当前目录下的文件和路径。 Pwd...
IC设计的前端和后端
当然还要重视同后端和加工线的交流,IC 设计者还应该主动地同设计环节的上 下游, 如后端设计服务或加工服务的工程师, 工艺工程师进行主动沟通和学 习。 对于初学...
微电子器件与IC设计基础第二版第1章习题
微电子器件与IC设计基础第二版第1章习题_工学_高等教育_教育专区。第一章思考题: 1.1 简单解释原子能级和晶体能带之间的联系和区别。 答:在孤立原子中,原子核...
机器人制作入门教程
机器人制作入门教程_工程科技_专业资料。根据我的经验...从失败中吸取教 训重新设计你的第一个机器人然后...“你的公司”提供传感器和 IC 的样品,用我们的机器...
更多相关标签:
服装设计入门学习 | 服装设计入门 | java程序设计入门教程 | 工业设计入门 | c语言程序设计入门 | 珠宝设计绘图入门 | 网页设计入门教程 | 配色设计从入门到精通 |